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

Панорама

Прогнозирующее управление модели решает задачу оптимизации – а именно, квадратичная программа (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 шаг горизонта прогноза в технических модулях.

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

Матрицы 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 больше, чем 1 012, добавьте количество 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)+εVmax y(1)ymax (p)+εVmax y(p)umax (0)+εVmax u(0)umax (p1)+εVmax u(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).

Похожие темы