Задача оптимизации

Обзор

Модель прогнозирующего управления решает задачу оптимизации - в частности, квадратичную программу (QP) - на каждом контрольном интервале. Решение определяет управляемые переменные (MV), которые будут использоваться на объекте до следующего контрольного интервала.

Эта задача QP включает следующие функции:

  • Цель, или «стоимость», функция - скаляр, неотрицательная мера эффективности контроллера, которая будет минимизирована.

  • Ограничения - Условия, которым должно удовлетворять решение, такие как физические ограничения на MV и выходные переменные объекта.

  • Решение - Корректировки СН, которые минимизируют функцию затрат и удовлетворяют ограничениям.

В следующих разделах эти функции описываются более подробно.

Функция стандартных затрат

Функция стандартной стоимости является суммой четырех членов, каждый из которых фокусируется на конкретном аспекте эффективности контроллера, следующим образом:

J(zk)=Jy(zk)+Ju(zk)+JΔu(zk)+Jε(zk).

Здесь zk решение QP. Как описано ниже, каждый термин включает веса, которые помогают вам сбалансировать конкурирующие цели. В то время как контроллер MPC обеспечивает веса по умолчанию, вам обычно нужно будет настроить их, чтобы настроить контроллер для вашего приложения.

Выход Отслеживания уставки

В большинстве приложений контроллер должен держать выбранные выходы объекта на уровне или около заданных базовых значений. Контроллер MPC использует следующую скалярную меру эффективности для выхода отслеживания уставки:

Jy(zk)=j=1nyi=1p{wi,jysjy[rj(k+i|k)yj(k+i|k)]}2.

Вот,

  • k - Ток контрольного интервала.

  • p - Горизонт предсказания (количество интервалов).

  • ny - Количество выходных переменных объекта.

  • zk - решение QP, данное:

    zkT=[u(k|k)Tu(k+1|k)Tu(k+p1|k)Tεk].

  • yj (k + i | k) - Прогнозируемое значение j-го завода на i-м шаге горизонта прогнозирования, в инженерных единицах.

  • rj (k + i | k) - Базовое значение для j-го завода на i-м шаге горизонта прогнозирования, в инженерных единицах.

  • sjy - Масштабный коэффициент для j-го объекта, в инженерных модулях.

  • wi,jy - Вес настройки для j объекта на i шаге предсказания (безразмерный).

Значения ny, p, sjy, и wi,jy являются постоянными спецификациями контроллера. Контроллер получает опорные значения rj (k + i | k) для всего горизонта предсказания. Контроллер использует наблюдатель состояния, чтобы предсказать выходные параметры объекта, yj (k + i | k), которые зависят от манипулированных переменных корректировок (zk), измеренных возмущений (MD) и оценок состояния. Через k интервал доступны оценки состояния контроллера и значения MD. Поэтому Jy является функцией только zk.

Отслеживание манипулированных переменных

В некоторых приложениях, таких как когда манипулируемых переменных больше, чем выходных параметров объекта выходов, контроллер должен держать выбранные манипулируемые переменные (MV) на уровне или около заданных целевых значений. Контроллер MPC использует следующий скалярный показатель эффективности для отслеживания манипулируемых переменных:

Ju(zk)=j=1nui=0p1{wi,jusju[uj(k+i|k)uj,target(k+i|k)]}2.

Вот,

  • k - Ток контрольного интервала.

  • p - Горизонт предсказания (количество интервалов).

  • nu - Количество манипулируемых переменных.

  • zk - решение QP, данное:

    zkT=[u(k|k)Tu(k+1|k)Tu(k+p1|k)Tεk].

  • uj,target (k + i | k) - целевое значение для j-го МВ на i-м предсказания шаге горизонта, в инженерных модулях.

  • sju - Масштабный коэффициент для j-го СН, в инженерных модулях.

  • wi,ju - Настройка веса для j-го МВ на i-м шаге предсказания (безразмерный).

Значения nu, p, sju, и wi,ju являются постоянными спецификациями контроллера. Контроллер получает uj,target (k + i | k) значения для всего горизонта. Контроллер использует наблюдатель состояния, чтобы предсказать выходы объекта. Таким образом, Ju является функцией только zk.

Управляемая переменная Подавление Перемещения

Большинство приложений предпочитают небольшие регулировки СН (moves). Константа MPC использует следующее скалярное измерение эффективности для управляемого подавления перемещения:

JΔu(zk)=j=1nui=0p1{wi,jΔusju[uj(k+i|k)uj(k+i1|k)]}2.

Вот,

  • k - Ток контрольного интервала.

  • p - Горизонт предсказания (количество интервалов).

  • nu - Количество манипулируемых переменных.

  • zk - решение QP, данное:

    zkT=[u(k|k)Tu(k+1|k)Tu(k+p1|k)Tεk].

  • sju - Масштабный коэффициент для j-го СН, в инженерных модулях.

  • wi,jΔu - Настройка веса для j-го движения СН на i-м шаге предсказания (безразмерный).

Значения nu, p, sju, и wi,jΔu являются постоянными спецификациями контроллера. u (k -1 | k) = u (k -1), которые являются известными MV из предыдущих контрольных интервалов. JΔu является функцией только zk.

В сложение, управляемый горизонт m < p (или блокировка MV) ограничивает определенные движения MV равными нулю.

Нарушение ограничений

На практике нарушения ограничений могут быть неизбежными. Мягкие ограничения допускают допустимое решение QP при таких условиях. Контроллер MPC использует переменную slack без размерности, неотрицательную εk, которая количественно определяет нарушение ограничений в худшем случае. (См. Ограничения) Соответствующий показатель эффективности:

Jε(zk)=ρεεk2.

Вот,

  • zk - решение QP, данное:

    zkT=[u(k|k)Tu(k+1|k)Tu(k+p1|k)Tεk].

  • εk - Переменная Slack в контрольный интервал k (без размерности).

  • ρε - вес штрафа за нарушение ограничений (безразмерный).

Функция альтернативных затрат

Можно выбрать использование следующей альтернативы функции стандартных затрат:

J(zk)=i=0p1{[eyT(k+i)Qey(k+i)]+[euT(k+i)Rueu(k+i)]+[ΔuT(k+i)RΔuΔu(k+i)]}+ρϵεk2.

Здесь Q (ny -by- ny), Ru и RΔu (nu -by- nu) являются положительно-полуопределенными матрицами веса, и:

ey(i+k)=Sy1[r(k+i+1|k)y(k+i+1|k)]eu(i+k)=Su1[utarget(k+i|k)u(k+i|k)]Δu(k+i)=Su1[u(k+i|k)u(k+i1|k)].

Также,

  • Sy - Диагональная матрица переменных масштабных коэффициентов продукции объекта, в технических модулях.

  • Su - Диагональная матрица шкальных коэффициентов СН в инженерных модулях.

  • r (k + 1 | k) - ny исходные значения продукции завода на i-м шаге горизонта прогнозирования, в инженерных единицах.

  • y (k + 1 | k) - ny выходы объекта на i-м шаге горизонта прогнозирования, в инженерных единицах.

  • zk - решение QP, данное:

    zkT=[u(k|k)Tu(k+1|k)Tu(k+p1|k)Tεk].

  • utarget (k + i | k) - nu целевые значения СН, соответствующие u (k + i | k), в инженерных единицах.

Выходные предсказания используют наблюдатель состояния, как в функции стандартных затрат.

Альтернативная функция стоимости позволяет недиагональное взвешивание, но требует, чтобы веса были идентичны на каждом шаге горизонта предсказания.

Функции альтернативных и стандартных затрат идентичны, если выполняются следующие условия:

  • В функциях стандартных затрат используются веса wi,jy, wi,ju, и wi,jΔu которые являются постоянными относительно индекса, i = 1: p.

  • Матрицы Q, Ru и RΔu диагональны с квадратами этих весов как диагональные элементы.

Ограничения

Некоторые ограничения неявны. Например, m управляющего горизонта < p (или блокировка MV) заставляет некоторые шаги MV быть нулем, и наблюдатель состояния, используемый для предсказания выхода объекта, является набором неявных ограничений равенства. Явные ограничения, которые можно настроить, описаны ниже.

Ограничения на выходах объекта, MV и шагах MV

Наиболее распространенными ограничениями MPC являются ограничения, следующие.

yj,min(i)sjyεkVj,miny(i)yj(k+i|k)sjyyj,max(i)sjy+εkVj,maxy(i),  i=1:p,    j=1:nyuj,min(i)sjuεkVj,minu(i)uj(k+i1|k)sjuuj,max(i)sju+εkVj,maxu(i),  i=1:p,    j=1:nuΔuj,min(i)sjuεkVj,minΔu(i)Δuj(k+i1|k)sjuΔuj,max(i)sju+εkVj,maxΔu(i),  i=1:p,    j=1:nu.

Здесь параметры V (значения ECR) являются безразмерными константами контроллера, аналогичными весам функции затрат, но используемыми для смягчения ограничений (см. «Смягчение ограничений»). Также,

  • εk - скаляр QP slack (без размерности), используемая для смягчения ограничений.

  • sjy - Масштабный коэффициент для j-го объекта, в инженерных модулях.

  • sju - Масштабный коэффициент для 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, все вышеуказанные ограничения являются необязательными и по умолчанию неактивны (то есть инициализированы бесконечными ограничивающими значениями). Чтобы включить ограничение привязки, необходимо задать конечный предел при проектировании контроллера.

Матрицы QP

В этом разделе описываются матрицы, связанные с задачей оптимизации прогнозирующего управления модели, описанной в Задаче Оптимизации.

Предсказание

Предположим, что модели возмущения, описанные в Входе входного возмущения, являются единичными усилениями; то есть d (k) = nd (k) является белым Гауссовым шумом. Можно обозначить эту задачу как

x[xxd],A[ABdC¯0A¯],Bu[Bu0],Bv[Bv0],Bd[BdD¯B¯],C[CDdC¯]

Затем модель предсказания:

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 и получите

y(i|0)=C[Aix(0)+h=0i1Ai1(Bu(u(1)+j=0hΔu(j))+Bvv(h))]+Dvv(i)

Это уравнение дает решение

[y(1)y(p)]=Sxx(0)+Su1u(1)+Su[Δu(0)Δu(p1)]+Hv[v(0)v(p)]

где

Sx=[CACA2CAp]pny×nx,Su1=[CBuCBu+CABuh=0p1CAhBu]pny×nuSu=[CBu00CBu+CABuCBu0h=0p1CAhBuh=0p2CAhBuCBu]pny×pnuHv=[CBvDv00CABvCBvDv0CAp1BvCAp2BvCAp3BvDv]pny×(p+1)nv.

Переменные оптимизации

Предположим m - количество свободных ходов управления, и предположим z = [z0;...; zm-1]. Затем,

[Δu(0)Δu(p1)]=JM[z0zm1]

где 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 является

JM=[I000000I000000000I000]

Для получения дополнительной информации о манипулированных блокировках переменных смотрите Манипулированные блокировки переменных.

Функция затрат

Стандартная форма.  Функция, которая будет оптимизирована,

J(z,ε)=([u(0)u(p1)][utarget(0)utarget(p1)])TWu2([u(0)u(p1)][utarget(0)utarget(p1)])+[Δu(0)Δu(p1)]TWΔu2[Δu(0)Δu(p1)]           +([y(1)y(p)][r(1)r(p)])TWy2([y(1)y(p)][r(1)r(p)])+ρεε2

где

Wu=diag(w0,1u,w0,2u,...,w0,nuu,...,wp1,1u,wp1,2u,...,wp1,nuu)WΔu=diag(w0,1Δu,w0,2Δu,...,w0,nuΔu,...,wp1,1Δu,wp1,2Δu,...,wp1,nuΔu)Wy=diag(w1,1y,w1,2y,...,w1,nyy,...,wp,1y,wp,2y,...,wp,nyy)(1)

Наконец, после замены u (k), Δu (k), y (k), J (z) может быть переписан как

J(z,ε)=ρεε2+zTKΔuz+2([r(1)r(p)]TKr+[v(0)v(p)]TKv+u(1)TKu+[utarget(0)utarget(p1)]TKut+x(0)TKx)z           +cyTWycy+cuTWucu(2)

где

cy=Sxx(0)+Su1u(1)+Hv[v(0)v(p)][r(1)r(p)]cu=[I1Ip]u(1)[utarget(0)utarget(p1)]

Здесь I 1 =... = I p являются тождествами матрицами размера nu.

Примечание

Вы можете захотеть, чтобы задача QP оставалась строго выпуклой. Если число обусловленности матрицы Гессия KИ U больше 1012, добавить количество 10*sqrt(eps) на каждом диагональном термине. Вы можете использовать это решение только, когда все входные скорости неенализированы (WΔu= 0) (см. Weights свойство mpc объект).

Функция альтернативных затрат.  Если вы используете альтернативную функцию стоимости, показанную в Альтернативной функции стоимости, то Уравнение 1 заменяется следующим:

Wu=blkdiag(Ru,...,Ru)WΔu=blkdiag(RΔu,...,RΔu)Wy=blkdiag(Q,...,Q)(3)

В этом случае блочно-диагональные матрицы повторяют p раз, например, один раз для каждого шага в горизонте предсказания.

У вас также есть опция использовать комбинацию стандартной и альтернативной форм. Для получения дополнительной информации смотрите Weights свойство mpc объект.

Ограничения

Затем рассмотрим пределы входных входов, входных шагов и выходов наряду с ограничением ɛ≥ 0.

[ymin(1)εVminy(1)ymin(p)εVminy(p)umin(0)εVminu(0)umin(p1)εVminu(p1)Δumin(0)εVminΔu(0)Δumin(p1)εVminΔu(p1)][y(1)y(p)u(0)u(p1)Δu(0)Δu(p1)][ymax(1)+εVmaxy(1)ymax(p)+εVmaxy(p)umax(0)+εVmaxu(0)umax(p1)+εVmaxu(p1)Δumax(0)+εVmaxΔu(0)Δumax(p1)+εVmaxΔu(p1)]

Примечание

Чтобы уменьшить вычислительные усилия, контроллер автоматически устраняет посторонние ограничения, такие как бесконечные границы. Таким образом, ограничительное множество, используемый в реальном времени, может быть намного меньше, чем предложено в этом разделе.

Подобно тому, что вы сделали для функции затрат, можно заменить u (k),

Mzz+MεεMlim+Mv[v(0)v(p)]+Muu(1)+Mxx(0)(4)

В этом случае матрицы Mz, , Mlim, Mv, Mu и Mx получаются из верхней и нижней границ и значений ECR.

Без ограничений Модели прогнозирующее управление

Оптимальное решение вычисляется аналитически

z*=KΔu1([r(1)r(p)]TKr+[v(0)v(p)]Kv+u(1)TKu+[utarget(0)utarget(p1)]TKut+x(0)TKx)T

и моделирующий прогнозирующий контроллер устанавливает Β u (k) = z * 0, u (k) = u (k-1) + Üu (k).

Похожие темы