exponenta event banner

Проблема оптимизации

Обзор

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

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

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

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

  • Решение - корректировки MV, которые минимизируют функцию затрат при удовлетворении ограничений.

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

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

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

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

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

Отслеживание ссылки на вывод

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

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

Здесь,

  • k - Интервал текущего управления.

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

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

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

    zkT = [u (k 'k) Ту (k + 1 | k) T⋯u (k + p − 1 | k) Т.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=1nu∑i=0p−1{wi,jusju[uj (k + i | k) uj, мишень (k + i | k)]} 2.

Здесь,

  • k - Интервал текущего управления.

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

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

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

    zkT = [u (k 'k) Ту (k + 1 | k) T⋯u (k + p − 1 | k) Т.k].

  • uj, цель (k + i 'k) - целевое значение для j-го СН на i-ом шаге горизонта прогнозирования, в инженерных единицах.

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

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

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

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

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

JΔu (zk) =∑j=1nu ∑i=0p−1{wi,jΔusju[uj (k + i | k) uj (k + i − 1 | k)]} 2.

Здесь,

  • k - Интервал текущего управления.

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

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

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

    zkT = [u (k 'k) Ту (k + 1 | k) T⋯u (k + p − 1 | k) Т.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 (или блокировка СН) ограничивает определенные перемещения СН до нуля.

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

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

Дже (зк) = αεk2.

Здесь,

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

    zkT = [u (k 'k) Ту (k + 1 | k) T⋯u (k + p − 1 | k) Т.k].

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

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

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

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

J (zk) =∑i=0p−1 {[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) = Sy 1 [r (k + i + 1 | k) y (k + i + 1 | k)] eu (i + k) = Su 1 [utarget (k + i 'k) u (k + i' k)] Δu (k + i) = Su − 1 [u (k + i 'k) − u (k + i − 1 |

Также,

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

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

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

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

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

    zkT = [u (k 'k) Ту (k + 1 | k) T⋯u (k + p − 1 | k) Т.k].

  • utarget (k + i 'k) - целевые значения nu MV, соответствующие 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, минута (i) sjy−εkVj, miny (i) ≤yj (k+i'k) sjy≤yj, макс. (i) sjy +εkVj,  maxy (i),    i=1:p, j=1:nyuj, минута (i) sju−εkVj, minu (i) ≤uj (k+i−1|k) sju≤uj, макс. (i)   sju +εkVj, maxu    (i), i=1:p, j=1:nuΔuj, минута (i) sju−εkVj, minΔu (i) Δuj (k+i−1|k) sju ≤Δuj, макс. (i)   sju +εkVj,    maxΔu (i), i=1:p, j=1:nu.

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

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

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

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

  • yj, min (i), yj, max (i) - нижняя и верхняя границы для выхода j-ой установки на i-ом шаге горизонта прогнозирования, в инженерных единицах.

  • uj, min (i), uj, max (i) - нижние и верхние границы для j-го СН на i-ом шаге горизонта прогнозирования, в инженерных установках.

  • Δuj, мин (i), Δuj, макс (i) - нижняя и верхняя границы для приращения j-го СН на i-м шаге горизонта прогнозирования, в инженерных единицах.

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

Матрицы QP

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

Прогноз

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

x [xxd], ←[ABdC¯0A¯], Бу  [Bu0], Bv  [Bv0], BD  [BdDюBю], C  [CDdCю]

Затем модель прогнозирования представляет собой:

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

y (k) = Cx (k) + Dvv (k) + Ddnd (k)

Далее рассмотрим задачу прогнозирования будущих траекторий модели, выполняемых в момент времени k = 0. Установить nd (i) = 0 для всех моментов прогнозирования i и получить

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

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

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

где

Sx = [CACA2CAp]  pny×nx, Su1=[CBuCBu+CABu⋯∑h=0p−1CAhBu]∈ℜpny×nuSu=[CBu0⋯0CBu+CABuCBu⋯0⋯⋯⋯⋯∑h=0p−1CAhBu∑h=0p−2CAhBu⋯CBu]∈ℜpny×pnuHv=[CBvDv0⋯0CABvCBvDv⋯0⋯⋯⋯⋯⋯CAp−1BvCAp−2BvCAp−3Bv⋯Dv]∈ℜpny× (p+1) nv.

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

Пусть m - число перемещений свободного управления, и пусть z = [z0;...; zm-1]. Затем,

[Δu (0) ⋯Δu (p 1)] =JM[z0⋯zm−1]

где JM зависит от выбора блокирующих ходов. Вместе с переменной слабости ɛ векторы z0,..., zm-1 составляют свободные переменные оптимизации задачи оптимизации. В случае систем с одной манипулируемой переменной, z0,..., zm-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 (p−1)] [utarget (0) ⋯utarget (p−1)]) TWu2 ([u (0) ⋯u (p−1)] [utarget (0) ⋯utarget (p−1)]) + [Δu (0) Δu     (p−1)  ]     TWΔu2 [Δu (0) Δu (p−1)] + ([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,..., wp 1,1u, wp 1,2u,..., wp − 1, nuu) WΔu = diag (w0,1Δu, w0,2Δu,..., w0, nuΔu,..., wp 1,1Δu,(1)

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

J (z, start) = αα2 + zTKΔuz + 2 ([r (1) ⋯r (p)] TKr + [v (0) ⋯v (p)] TKv + u (1) TKu + [utarget (0)         ⋯utarget  ( p 1)] TKut + x (0) TKx)(2)

где

cy = Sxx (0) + Su1u (1) + Hv [v (0) ⋯v (p)] [r (1) ⋯r (p)] cu=[I1⋯Ip]u (1) [utarget (0) ⋯utarget (p − 1)]

Здесь I1 =... = Ip - это единичные матрицы размера nu.

Примечание

Возможно, проблема QP останется строго выпуклой. Если номер условия гессенской матрицы KΔU больше 1012, добавьте количество 10*sqrt(eps) на каждом диагональном члене. Это решение можно использовать только в том случае, если все входные скорости не enalized (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 (p−1) −εVminu (p−1) Δumin (0) −εVminΔu (0) Δumin (p−1) −εVminΔu (p−1)] [y (1) ⋯y (p) u (0) ⋯u (p−1) Δu (0) Δu (p−1)] [ymax (1) + εVmaxy (1) ⋯ymax (p) + εVmaxy (p) umax (0) + εVmaxu (0) ⋯umax (p−1) + εVmaxu (p−1) Δumax (0) + εVmaxΔu (0) ⋯ Δumax (p−1) + εVmaxΔu (p−1)]

Примечание

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

Аналогично тому, что вы сделали для функции затрат, вы можете заменить u (k), Δu (k), y (k) и получить

Mzz+Mεε≤Mlim+Mv[v (0) ⋯v (p)] + Муу (1) + Mxx (0)(4)

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

Неограниченный предиктивный контроль модели

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

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

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

Связанные темы