Модель прогнозирующего управления решает задачу оптимизации - в частности, квадратичную программу (QP) - на каждом контрольном интервале. Решение определяет управляемые переменные (MV), которые будут использоваться на объекте до следующего контрольного интервала.
Эта задача QP включает следующие функции:
Цель, или «стоимость», функция - скаляр, неотрицательная мера эффективности контроллера, которая будет минимизирована.
Ограничения - Условия, которым должно удовлетворять решение, такие как физические ограничения на MV и выходные переменные объекта.
Решение - Корректировки СН, которые минимизируют функцию затрат и удовлетворяют ограничениям.
В следующих разделах эти функции описываются более подробно.
Функция стандартной стоимости является суммой четырех членов, каждый из которых фокусируется на конкретном аспекте эффективности контроллера, следующим образом:
Здесь zk решение QP. Как описано ниже, каждый термин включает веса, которые помогают вам сбалансировать конкурирующие цели. В то время как контроллер MPC обеспечивает веса по умолчанию, вам обычно нужно будет настроить их, чтобы настроить контроллер для вашего приложения.
В большинстве приложений контроллер должен держать выбранные выходы объекта на уровне или около заданных базовых значений. Контроллер MPC использует следующую скалярную меру эффективности для выхода отслеживания уставки:
Вот,
k - Ток контрольного интервала.
p - Горизонт предсказания (количество интервалов).
ny - Количество выходных переменных объекта.
zk - решение QP, данное:
yj (k + i | k) - Прогнозируемое значение j-го завода на i-м шаге горизонта прогнозирования, в инженерных единицах.
rj (k + i | k) - Базовое значение для j-го завода на i-м шаге горизонта прогнозирования, в инженерных единицах.
- Масштабный коэффициент для j-го объекта, в инженерных модулях.
- Вес настройки для j объекта на i шаге предсказания (безразмерный).
Значения ny, p, , и являются постоянными спецификациями контроллера. Контроллер получает опорные значения rj (k + i | k) для всего горизонта предсказания. Контроллер использует наблюдатель состояния, чтобы предсказать выходные параметры объекта, yj (k + i | k), которые зависят от манипулированных переменных корректировок (zk), измеренных возмущений (MD) и оценок состояния. Через k интервал доступны оценки состояния контроллера и значения MD. Поэтому Jy является функцией только zk.
В некоторых приложениях, таких как когда манипулируемых переменных больше, чем выходных параметров объекта выходов, контроллер должен держать выбранные манипулируемые переменные (MV) на уровне или около заданных целевых значений. Контроллер MPC использует следующий скалярный показатель эффективности для отслеживания манипулируемых переменных:
Вот,
k - Ток контрольного интервала.
p - Горизонт предсказания (количество интервалов).
nu - Количество манипулируемых переменных.
zk - решение QP, данное:
uj,target (k + i | k) - целевое значение для j-го МВ на i-м предсказания шаге горизонта, в инженерных модулях.
- Масштабный коэффициент для j-го СН, в инженерных модулях.
- Настройка веса для j-го МВ на i-м шаге предсказания (безразмерный).
Значения nu, p, , и являются постоянными спецификациями контроллера. Контроллер получает uj,target (k + i | k) значения для всего горизонта. Контроллер использует наблюдатель состояния, чтобы предсказать выходы объекта. Таким образом, Ju является функцией только zk.
Большинство приложений предпочитают небольшие регулировки СН (moves). Константа MPC использует следующее скалярное измерение эффективности для управляемого подавления перемещения:
Вот,
k - Ток контрольного интервала.
p - Горизонт предсказания (количество интервалов).
nu - Количество манипулируемых переменных.
zk - решение QP, данное:
- Масштабный коэффициент для j-го СН, в инженерных модулях.
- Настройка веса для j-го движения СН на i-м шаге предсказания (безразмерный).
Значения nu, p, , и являются постоянными спецификациями контроллера. u (k -1 | k) = u (k -1), которые являются известными MV из предыдущих контрольных интервалов. JΔu является функцией только zk.
В сложение, управляемый горизонт m < p (или блокировка MV) ограничивает определенные движения MV равными нулю.
На практике нарушения ограничений могут быть неизбежными. Мягкие ограничения допускают допустимое решение QP при таких условиях. Контроллер MPC использует переменную slack без размерности, неотрицательную εk, которая количественно определяет нарушение ограничений в худшем случае. (См. Ограничения) Соответствующий показатель эффективности:
Вот,
zk - решение QP, данное:
εk - Переменная Slack в контрольный интервал k (без размерности).
ρε - вес штрафа за нарушение ограничений (безразмерный).
Можно выбрать использование следующей альтернативы функции стандартных затрат:
Здесь Q (ny -by- ny), Ru и RΔu (nu -by- nu) являются положительно-полуопределенными матрицами веса, и:
Также,
Sy - Диагональная матрица переменных масштабных коэффициентов продукции объекта, в технических модулях.
Su - Диагональная матрица шкальных коэффициентов СН в инженерных модулях.
r (k + 1 | k) - ny исходные значения продукции завода на i-м шаге горизонта прогнозирования, в инженерных единицах.
y (k + 1 | k) - ny выходы объекта на i-м шаге горизонта прогнозирования, в инженерных единицах.
zk - решение QP, данное:
utarget (k + i | k) - nu целевые значения СН, соответствующие u (k + i | k), в инженерных единицах.
Выходные предсказания используют наблюдатель состояния, как в функции стандартных затрат.
Альтернативная функция стоимости позволяет недиагональное взвешивание, но требует, чтобы веса были идентичны на каждом шаге горизонта предсказания.
Функции альтернативных и стандартных затрат идентичны, если выполняются следующие условия:
В функциях стандартных затрат используются веса , , и которые являются постоянными относительно индекса, i = 1: p.
Матрицы Q, Ru и RΔu диагональны с квадратами этих весов как диагональные элементы.
Некоторые ограничения неявны. Например, m управляющего горизонта < p (или блокировка MV) заставляет некоторые шаги MV быть нулем, и наблюдатель состояния, используемый для предсказания выхода объекта, является набором неявных ограничений равенства. Явные ограничения, которые можно настроить, описаны ниже.
Наиболее распространенными ограничениями MPC являются ограничения, следующие.
Здесь параметры V (значения ECR) являются безразмерными константами контроллера, аналогичными весам функции затрат, но используемыми для смягчения ограничений (см. «Смягчение ограничений»). Также,
εk - скаляр QP slack (без размерности), используемая для смягчения ограничений.
- Масштабный коэффициент для j-го объекта, в инженерных модулях.
- Масштабный коэффициент для j-го СН, в инженерных модулях.
y j, мин (i), y j, макс (i) - нижняя и верхняя границы для j-го завода на i-м шаге прогнозирования горизонта, в инженерных единицах.
u j, мин (i), u j, макс (i) - нижняя и верхняя границы для j-го МВ на i-м предсказания шаге горизонта, в инженерных модулях.
Δu j, мин (i), Δu j, макс (i) - нижняя и верхняя границы для j-го шага МВ на i-м предсказания шаге горизонта, в инженерных модулях.
За исключением условия неотрицательности переменной slack, все вышеуказанные ограничения являются необязательными и по умолчанию неактивны (то есть инициализированы бесконечными ограничивающими значениями). Чтобы включить ограничение привязки, необходимо задать конечный предел при проектировании контроллера.
В этом разделе описываются матрицы, связанные с задачей оптимизации прогнозирующего управления модели, описанной в Задаче Оптимизации.
Предположим, что модели возмущения, описанные в Входе входного возмущения, являются единичными усилениями; то есть d (k) = nd (k) является белым Гауссовым шумом. Можно обозначить эту задачу как
Затем модель предсказания:
x (k +1) = <reservedrangesplaceholder11> <reservedrangesplaceholder10> (<reservedrangesplaceholder9>) + <reservedrangesplaceholder8> <reservedrangesplaceholder7> (<reservedrangesplaceholder6>) +<reservedrangesplaceholder5><reservedrangesplaceholder4>(<reservedrangesplaceholder3>)+<reservedrangesplaceholder2><reservedrangesplaceholder1>(<reservedrangesplaceholder0>)
y (<reservedrangesplaceholder9>) = <reservedrangesplaceholder8> <reservedrangesplaceholder7> (<reservedrangesplaceholder6>) + <reservedrangesplaceholder5> <reservedrangesplaceholder4> (<reservedrangesplaceholder3>) + <reservedrangesplaceholder2> <reservedrangesplaceholder1> (<reservedrangesplaceholder0>)
Далее рассмотрим задачу предсказания будущих траекторий модели, выполненных в момент времени k = 0. Установите nd (i) = 0 для всех моментов предсказания i и получите
Это уравнение дает решение
где
Предположим m - количество свободных ходов управления, и предположим z = [z0;...; zm-1]. Затем,
где J M зависит от выбора блокирующих ходов. Вместе с ɛ переменной slack, векторы z 0,..., z m -1 составляют свободные переменные оптимизации задачи оптимизации. В случае систем с одной манипулированной переменной, z 0,..., z m -1 являются скалярами.
Рассмотрим блокирующие движения, изображенные на следующем графике.
Блокирование перемещений: входы и входные шаги для перемещений = [2 3 2]
Этот график соответствует выбору moves=[2 3 2]
, или эквивалентно, u (0) = u (1), u (2) = u (3) = u (4), u (5) = u (6),
Затем соответствующая матрица JM является
Для получения дополнительной информации о манипулированных блокировках переменных смотрите Манипулированные блокировки переменных.
Стандартная форма. Функция, которая будет оптимизирована,
где
(1) |
Наконец, после замены u (k), Δu (k), y (k), J (z) может быть переписан как
(2) |
где
Здесь I 1 =... = I p являются тождествами матрицами размера nu.
Примечание
Вы можете захотеть, чтобы задача QP оставалась строго выпуклой. Если число обусловленности матрицы Гессия KИ U больше 1012, добавить количество 10*sqrt(eps)
на каждом диагональном термине. Вы можете использовать это решение только, когда все входные скорости неенализированы (WΔu= 0) (см. Weights
свойство mpc
объект).
Функция альтернативных затрат. Если вы используете альтернативную функцию стоимости, показанную в Альтернативной функции стоимости, то Уравнение 1 заменяется следующим:
(3) |
В этом случае блочно-диагональные матрицы повторяют p раз, например, один раз для каждого шага в горизонте предсказания.
У вас также есть опция использовать комбинацию стандартной и альтернативной форм. Для получения дополнительной информации смотрите Weights
свойство mpc
объект.
Затем рассмотрим пределы входных входов, входных шагов и выходов наряду с ограничением ɛ≥ 0.
Примечание
Чтобы уменьшить вычислительные усилия, контроллер автоматически устраняет посторонние ограничения, такие как бесконечные границы. Таким образом, ограничительное множество, используемый в реальном времени, может быть намного меньше, чем предложено в этом разделе.
Подобно тому, что вы сделали для функции затрат, можно заменить u (k),
(4) |
В этом случае матрицы Mz, Mɛ, Mlim, Mv, Mu и Mx получаются из верхней и нижней границ и значений ECR.
Оптимальное решение вычисляется аналитически
и моделирующий прогнозирующий контроллер устанавливает Β u (k) = z * 0, u (k) = u (k-1) + Üu (k).