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

Обзор

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

Эта проблема QP включает следующие функции:

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

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

  • Решение — корректировки мВ, которые минимизируют функцию стоимости при удовлетворении ограничениям.

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

Стандартная функция стоимости

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

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 th объект выход в i th шаг горизонта предсказания, в технических модулях.

  • rj (k +i|k) — Ссылочное значение для j th объект выход в i th шаг горизонта предсказания, в технических модулях.

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

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

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

Переменное отслеживание, которым управляют,

В некоторых приложениях, такой как тогда, когда существуют переменные, которыми более управляют, чем объект выходные параметры, контроллер должен сохранить выбранные переменные, которыми управляют (MVS) в или около заданных целевых значений. Диспетчер 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 th мВ в i th шаг горизонта предсказания, в технических модулях.

  • sju — Масштабный коэффициент для j th мВ, в технических модулях.

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

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

Подавление переменной Move, которым управляют,

Большинство приложений предпочитает маленькие корректировки мВ (moves). MPC постоянные употребления следующий скалярный критерий качества работы для подавления переменной move, которым управляют:

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 th мВ, в технических модулях.

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

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

Кроме того, горизонт управления m <p (или блокирование мВ) ограничивает определенные перемещения мВ быть нулем.

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

На практике нарушения ограничений могут быть неизбежными. Мягкие ограничения позволяют выполнимое решение QP в таких условиях. Контроллер MPC использует безразмерную, неотрицательную слабую переменную, ε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 th шаг горизонта предсказания, в технических модулях.

  • y (k +1|k) — объект ny выходные параметры в i th шаг горизонта предсказания, в технических модулях.

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

Границы на объекте Выходные параметры, MVS и шаг мВ

Наиболее распространенные ограничения 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 ослабляют переменную (безразмерную) используемый для ограничительного смягчения.

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

  • sju — Масштабный коэффициент для j th мВ, в технических модулях.

  • y j, min (i), y j, макс. (i) — нижние и верхние границы для j th объект выход в i th шаг горизонта предсказания, в технических модулях.

  • u j, min (i), u j, макс. (i) — нижние и верхние границы для j th мВ в i th шаг горизонта предсказания, в технических модулях.

  • Δu j, min (i), Δu j, макс. (i) — нижние и верхние границы для j th мВ, постепенно увеличивает в i th шаг горизонта предсказания в технических модулях.

За исключением слабого переменного условия неотрицательности, все вышеупомянутые ограничения являются дополнительными и являются неактивными по умолчанию (i.e., инициализированный бесконечными предельными значениями). Чтобы включать связанное ограничение, необходимо задать конечный предел, когда вы проектируете контроллер.

Матрицы QP

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

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

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

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

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

x (k +1) = A x (k) +Buu (k) +Bvv (k) +Bdnd (k)

y (k) = C x (k) +Dvv (k) +Ddnd (k)

Затем рассмотрите задачу предсказания будущих траекторий модели, выполняемой во время k=0. Установите без обозначения даты (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 зависит от выбора блокирования перемещений. Вместе со слабой переменной ɛ, векторы 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), Δ u (0) =z0, Δ u (2) =z1, Δ u (5) =z2, Δ u (1) = Δ u (3) = Δ u (4) = Δ u (6) =0.

Затем соответствующий матричный 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), Δu (k), y (k), и получить

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

В этом случае матрицы Mz, M ɛ, Mlim, Mv, Му и 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).

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте