Конструкция прогнозирующего контроллера модели обычно требует некоторой настройки весов функции затрат. В этом разделе приведены советы по настройке. Дополнительные сведения о уравнениях функций затрат см. в разделе Проблема оптимизации.
Перед настройкой весов функции затрат укажите масштабные коэффициенты для каждой входной и выходной переменной завода. Удерживайте эти масштабные коэффициенты постоянными при настройке контроллера. Дополнительные сведения см. в разделе Определение масштабных коэффициентов.
Во время настройки используйте sensitivity и review команды получения диагностической обратной связи. sensitivity команда предназначена для облегчения выбора веса функции затрат.
Измените вес, установив соответствующее свойство контроллера следующим образом:
| Чтобы изменить этот вес | Установить это свойство контроллера | Размер массива |
|---|---|---|
| Отслеживание ссылок на OV (wy) | Weights.OV | p-by-ny |
| Контрольное отслеживание среднего напряжения (wu) | Weights.MV | p-by-nu |
| Подавление приращения среднего напряжения (wΔu) | Weights.MVRate | p-by-nu |
Здесь MV - переменная, управляемая растением, а nu - количество MV. OV - выходная переменная установки, ny - количество OV. Наконец, p - количество шагов в горизонте прогнозирования.
Если весовой массив содержит n < p строк, контроллер дублирует последнюю строку, чтобы получить полный массив p строк. Значение по умолчанию (n = 1) минимизирует количество настраиваемых параметров и поэтому рекомендуется. Альтернативный вариант см. в разделе Изменяющиеся во времени веса и ограничения.
Принимая во внимание ny OV, предположим, что nyc должен удерживаться на или вблизи опорного значения (уставки). Если i-ый OV отсутствует в этой группе, установите Weights.OV(:,i) = 0.
Если nu ≥ nyc, обычно можно достичь нулевой ошибки отслеживания OV в установившемся состоянии, если по меньшей мере nyc MV не ограничены. Дефолт Weights.OV = ones(1,ny) является хорошей отправной точкой в данном случае.
Однако если nu > nyc, у вас есть избыточные степени свободы. Таким образом, если не принять превентивные меры, MV могут дрейфовать, даже когда OV близки к своим контрольным значениям.
Наиболее распространенной профилактической мерой является определение эталонных значений (целей) для количества избыточных MV, которые у вас есть, nu-nyc. Такие целевые показатели могут представлять экономически или технически желательные стационарные значения.
Альтернативной мерой является установка w∆u > 0 для по крайней мере nu-nyc MV, чтобы предотвратить их изменение контроллером.
Если nu < nyc, то у вас недостаточно степеней свободы, чтобы сохранить все требуемые OV на заданном уровне. В этом случае рассмотрите возможность определения приоритетов отслеживания ссылок. Для этого установите Weights.OV(:,i) > 0 для определения приоритета i-го OV. Приблизительные руководящие принципы для этого следующие:
0,05 - Низкий приоритет: допустима большая ошибка отслеживания
0.2 - Приоритет ниже среднего
1 - Средний приоритет - значение по умолчанию. Используйте это значение, если nyc = 1.
5 - Выше среднего приоритета
20 - Высокий приоритет: требуется небольшая ошибка отслеживания
По умолчанию Weights.MV = zeros(1,nu). Если некоторые MV имеют цели, соответствующие опорные веса сопровождения MV должны быть ненулевыми. В противном случае целевые объекты игнорируются. Если количество целей СН меньше (nu-nyc), попробуйте использовать один и тот же вес для каждого. Предлагаемое значение равно 0,2, что соответствует отслеживанию OV ниже среднего. Это значение позволяет MV временно удаляться от своих целей для улучшения отслеживания OV.
В противном случае контрольные цели отслеживания MV и OV, вероятно, будут конфликтовать. Установить приоритет, установив Weights.MV(:,i) значения способом, аналогичным предложенному для Weights.OV (см. выше). Типичная практика устанавливает средний приоритет отслеживания MV ниже среднего приоритета отслеживания OV (например, 0,2 < 1).
Если i-й СН не имеет цели, установите Weights.MV(:,i) = 0 (по умолчанию).
По умолчанию Weights.MVRate = 0.1*ones(1,nu). Причины этого значения по умолчанию:
Если установка устойчива с разомкнутым контуром, большие приращения являются ненужными и, вероятно, нежелательными. Например, когда прогнозы модели несовершенны, как это всегда бывает на практике, более консервативные приращения обычно обеспечивают более надежную производительность контроллера, но более плохое отслеживание ссылок.
Эти значения заставляют матрицу Гессена QP быть позитивно определенной, так что QP имеет уникальное решение, если нет активных ограничений.
Чтобы стимулировать контроллер использовать еще меньшие приращения для i-го СН, увеличьте Weights.MVRate(:,i) значение.
Если завод является нестабильным с разомкнутым контуром, может потребоваться уменьшить среднее значение Weight.MVRate значение для обеспечения достаточно быстрого реагирования на нарушения.
Советы о смягчении ограничений см. в разделе Смягчение ограничений. Weights.ECR собственность.
Чтобы сосредоточиться на настройке веса отдельных функций затрат, выполните тесты моделирования с замкнутым контуром при следующих условиях:
Никаких ограничений.
Ошибка прогнозирования отсутствует. Модель прогнозирования контроллера должна быть идентична модели завода. Как приложение MPC Designer, так и sim функция предоставляет возможность моделирования в этих условиях.
Используйте изменения в опорных и измеренных сигналах возмущения (если таковые имеются) для принудительного динамического отклика. На основе результатов каждого теста рассмотрите возможность изменения величин выбранных весов.
Одним из предложенных подходов является использование константы Weights.OV(:,i) = 1 для обозначения «среднего приоритета отслеживания OV» и настройки всех остальных весов относительно этого значения. Используйте sensitivity команда для наведения. Используйте review для проверки типичных проблем настройки, таких как отсутствие стабильности по замкнутому контуру.
См. раздел Настройка моделей возмущения и шума для тестов, посвященных способности контроллера отбрасывать помехи.
Как только у вас есть веса, которые хорошо работают в вышеуказанных условиях, проверьте чувствительность к ошибке прогнозирования. Для этого существует несколько способов:
Если система имеет нелинейную модель установки, например модель Simulink ®, смоделируйте производительность замкнутого цикла в рабочих точках, отличных от тех, для которых применяется модель прогнозирования LTI.
В качестве альтернативы, выполните моделирование с замкнутым циклом, в котором модель LTI, представляющая растение, отличается (например, по структуре или значениям параметров) от модели, используемой в модели прогнозирования MPC. Как приложение MPC Designer, так и sim функция предоставляет возможность моделирования в этих условиях. Пример см. в разделе Надежность контроллера тестирования.
Если производительность контроллера, по-видимому, значительно снижается по сравнению с тестами без ошибки прогнозирования, для установки с открытым контуром рекомендуется сделать контроллер менее агрессивным.
В MPC Designer на вкладке Настройка можно сделать это с помощью ползунка Производительность замкнутого цикла.

Движение к более надежному управлению уменьшает веса OV/MV и увеличивает веса MV Rate, что приводит к ослаблению управления выходами и более консервативным движениям управления.
В командной строке можно внести следующие изменения для снижения агрессивности контроллера:
Увеличить все Weight.MVRate значения на множитель порядка 2.
Уменьшить все Weight.OV и Weight.MV значения делением на один и тот же коэффициент.
После корректировки весов следует повторно оценить производительность как с ошибкой прогнозирования, так и без нее.
Если оба варианта теперь приемлемы, прекратите настройку весов.
Если есть улучшение, но все еще слишком большое ухудшение с ошибкой модели, еще больше увеличить надежность контроллера.
Если изменение не заметно улучшает производительность, восстановите исходные веса и сосредоточьтесь на настройке оценщика состояния (см. Настройка моделей возмущений и шума).
Наконец, если изменения настройки не обеспечивают достаточной надежности, рассмотрим один из следующих вариантов: