Диссертация (1145289), страница 18
Текст из файла (страница 18)
Пусть r = r0 – постоянный вектор, определяемый задающимсигналом r = r0 . Обозначим через y 0 и u 0 – векторы, соответствующие положению равновесия замкнутой системы (3.1.18), (3.1.32). Тогда y 0 и u0 – соответствующие им векторы на горизонте прогноза, причем ∆ u0 = 0 . Тогда в указанномположении равновесия (достижимом при условии k → ∞ ) согласно (3.1.36)должно выполняться равенство ∆ u0 = −Q −1M T R ( y 0 − r0 ) = 0 . Отсюда, с учетомdet(Q −1M T R ) ≠ 0 , следуетε 0 = y 0 − r0 = 0 ,(3.1.37)т.е. любой постоянный задающий сигнал асимптотически (при условии k → ∞ )107воспроизводится с нулевой ошибкой.
■Отметим, что свойство астатизма можно отнести и к медленно меняющимсявозмущениям, если их изменениями на горизонте прогноза можно пренебречь.Теперь модифицируем задачу минимизации функционала (3.1.29) таким образом, чтобы поиск оптимального управления на горизонте прогноза выполнялсяс учетом имеющихся ограничений, которые отнесем к трем следующим группам:1) ограничения на величину управленияu min≤ u j [i ] ≤ u max, i = k , k + P − 1, j = 1, m ;jj(3.1.38)2) ограничения на скорость изменения управляющего сигнала∆u min≤ ∆u j [i ] ≤ ∆u max, i = k , k + P − 1, j = 1, m ;jj(3.1.39)3) ограничения на контролируемые переменныеy min≤ y j [i] ≤ y maxjj , i = k + 1, k + P, j = 1, r ,(3.1.40)maxmax, ∆u min, ∆u max, y min– заданные постоянные величины, являюгде u minj , ujjjj , yjщиеся компонентами векторов u min , u max , ∆u min , ∆u max , y min , y max соответственно.Введём следующие вспомогательные обозначенияymin = (ymin K ymin ) ∈ E rP ,Tymax = (ymax K ymax ) ∈ ErP ,T∆umin = (∆umin K ∆umin ) ∈ E mP , ∆umax = (∆umax K ∆umax ) ∈ EmP ,Tumin = (umin K umin ) T∈ E mP,Tumax = (umax K umax ) T∈ EmP,представляющие верхние и нижние границы на горизонте прогноза.Покажем, что ограничения (3.1.38) – (3.1.40) можно привести к системе линейных неравенств относительно компонент вектора v = ∆ u .
Рассмотрим первуюгруппу ограничений на величину управления. Заметим, что для управления наk-ом такте справедливо равенство u[k ] = u[k − 1] + ∆u[k ] . Аналогично имеемu[k + 1] = u[k ] + ∆u[k + 1] = u[k − 1] + ∆u[k ] + ∆u[k + 1], ...P −1u[k + P − 1] = u[k − 1] + ∑ ∆u[k + i ] ,i=0или в матричной форме108u = M 0u[k − 1] + M u ∆ u ,(3.1.41)где E m× m E m×m E m× m E m×mM0 = M=,u KL E m× m E m×m0E m× mKE m× m0 K0 .O0 K E m× m KС учётом введённых обозначений, линейной связи z = Lp[k ] + Mv и формулы (3.1.41), ограничения (3.1.38) – (3.1.40) могут быть представлены в виде системы линейных неравенствA v v ≤ A lim + A p p[k ] + A u u[k − 1] ,(3.1.42)где 0 M y max − L 0 −M − y min L ∆u 0 M 0 max., A p = , A u = A v = ∆u , A lim = − ∆ umin 0 − M ∆u 0 − M M u 0 0u max 0 −u M −M u 0 min Здесь матрица M ∆u равнаM ∆u E m× m 0=K 00E m× mK00 K0 .O0 K E m× m KТеперь поставим задачу оптимизации программного управления прогнозирующей моделью на горизонте прогноза по отношения к функционалу (3.1.35) и сучетом ограничений (3.1.42):J k = J k ( v ) = v T Hv + 2f T v + g → min mP ,v∈V ⊂ E(3.1.43)где H = M T RM + Q , f = M T RLp[k ] − M T Rr , g = const , V – допустимое множество векторов вида109V = {v ∈ E mP : A v v ≤ A lim + A p p[k ] + A u u[k − 1]}.(3.1.44)Решение задачи (3.1.43), (3.1.44) определяет оптимальную программную последовательность векторов v* = {∆u*[i ]}i = kk + P −1.
В соответствии со стратегией MPC-подхода из данной последовательности выделяется только первая компонента∆u*[k ] для реализации на текущем такте.Реализация управления по приведенной схеме обеспечивает астатизм замкнутой системы и выполнение ограничений (3.1.42), но при этом приводит к, вообще говоря, нелинейной и нестационарной обратной связи вида u[k ] = f (k , ~x[k ]) ,что затрудняет возможность анализа устойчивости замкнутой системы управления с прогнозом.3.2.
Алгоритмы управления с нелинейной прогнозирующеймоделью в режиме реального времениДля минимизации вычислительных затрат использование линейных прогнозирующих моделей предпочтительно. Но, с другой стороны, при существенной нелинейности объекта применение линейных уравнений для прогноза можетпородить значительные ошибки прогнозирования.Если для прогноза используются нелинейные уравнения, то качество прогнозирования значительно повышается по сравнению с линейным вариантом, чтопозволяет успешно решать задачи более широкого круга. Однако практическаяреализация управления с таким прогнозом требует выполнения большого числавычислительных операций, так как предполагает решение задач нелинейногопрограммирования на каждом такте.В рамках приведенной в первом параграфе схемы управления с нелинейнойпрогнозирующей моделью можно предложить следующий алгоритм формирования управления, учитывающий ограниченность времени его пересчета на каждомтакте.1.
На каждом последующем такте в качестве начального приближения бу-110дем использовать решение, полученное на предыдущем такте. Иными словами,если u * = (u*[k ] u*[k + 1] ... u*[k + P − 1] ) – оптимальное программное управление,Tполученное на такте k , то вектор u0 = (u*[k + 1]... u*[k + P − 1] u*[k + P − 1] ) – выTбирается в качестве начальной точки на такте k + 1 .2. Если решение задачи оптимизации u * получено за время, не превышающее T , то оно принимается в качестве оптимального программного управленияна текущем такте k .3.
Если в процессе решения задачи нелинейного программирования (3.1.8)оказывается, что на текущем такте множество допустимых решений пустое, то вкачестве управляющего воздействия берется вторая компонента управления спредыдущего такта, а оптимальным программным управлением для текущеготакта принимается начальное приближение u0 .4. Если, в общем случае, решение задачи оптимизации (3.1.8) не удалосьполучить с требуемой точностью за время T , то программное управление на горизонте прогноза формируется несколько иначе.
Если в процессе решения задачиоптимизации были получены допустимые точки ui ∈ Ω, i = 1,..., s , то среди нихвыбирается та (обозначим ее ul ), в которой значение минимизируемой функцииJ k (u ) наименьшее. При этом ul принимается как оптимальное программноеуправление на текущем такте u * = ul . Если же допустимых точек нет, то принимаем u * = u0 .Приведенная выше схема достаточно хорошо работает для медленно протекающих процессов.
Однако ее реализация далеко не всегда приводит к успеху длядинамических объектов с быстрой динамикой, когда период T дискретностиочень мал, а горизонт прогноза P необходимо задавать достаточно большим.В подобных ситуациях приобретает особую значимость вопрос о снижениивычислительных затрат на перерасчет управления для каждого такта. В связи сэтим возникает задача о снижении размерности конечномерной оптимизации111(3.1.8), которая существенно определяет эти затраты.Рассмотрим следующие способы понижения размерности задачи (3.1.8), позволяющие уменьшить время вычислений с сохранением требуемого качествапроцессов в замкнутой системе.1.
Выбор периода Tu дискретности управления кратного периоду T функционирования системы управления. Т. е. будем считать, что Tu = s ⋅ T , где s > 1 –целое число и управление остается постоянным на s последовательных тактах.Тогда выполняются следующие равенства:u[k ] = u[k + 1] = ... = u[k + s − 1] ,Mu[k + (ν − 1)s ] = u[k + (ν − 1)s + 1] = ...
= u[k + P − 1] ,где ν = P / s , если деление без остатка и ν = [ P / s ] + 1 , в противном случае. Приэтом для формирования программной последовательности u достаточно задатьν ⋅ m значений, следовательно, и размерность задачи (3.1.8) понижается до величины ν ⋅ m .2. Использование горизонта управления C , меньшего горизонта прогнозаP . В этом случае программное управление на горизонте прогноза определяетсяпоследовательностьювекторовu[k ], u[k + 1],..., u[k + P − 1] ,такой,чтоu[k + C − 1] = u[k + j ] , где j = C , P − 1 . При этом размерность задачи нелинейногопрограммирования уменьшается до величины C ⋅ m .3.
Одновременное использование периода Tu дискретности управления игоризонта управления C . При этом, во-первых, будем считать, что период дискретности управления равен Tu и векторы w[k + i ] ∈ E m , i = 0,...,ν − 1 задаютуправление на интервалах постоянства. Во-вторых, векторы w[k + i ] формируются с учетом выполнения равенстваw[k + C − 1] = w[k + j ] , где j = C ,ν − 1 .Здесь предполагается, что C < ν . Применение данного комбинированного подхода позволяет понизить размерность задачи оптимизации (3.1.8) наиболее сущест-112венно до величины C ⋅ m .В соответствии с приведенной выше схемой управления с прогнозом пересчет управляющего воздействия должен осуществляться на каждом такте, а полученное в результате вычислений управление реализуется только на одном следующем такте.
Однако, если, с учетом приведенных выше способов пониженияразмерности, время, необходимое на оптимизацию, превышает период T дискретности, то, в пределах допустимого ухудшения качества процессов, оно можетбыть увеличено.Обозначим ∆tu ≥ T – период пересчета управляющего воздействия или, тоже самое, время фактической реализации управления, полученного в результатеоптимизации. При этом период ∆tu кратен T , т.е. ∆tu = l ⋅ T , где l ≥ 1 – целое число. Отметим, что увеличение периода ∆tu позволяет сэкономить вычислительныересурсы, если оптимизация выполняется за меньшее время при сохранении качества процессов.Модифицируем алгоритм формирования управления с ограничением времени счета для заданных параметров Tu , C и ∆tu .
Пусть N – размерность задачиоптимизации для заданных значений параметровv[k ],..., v[k + N − 1]однозначноопределяютTuиC , а векторыпрограммноеуправлениеu[k ],..., u[k + P − 1] на горизонте прогноза на k-ом такте.Алгоритм № 1 формирования управления на такте пересчета.1. На каждом последующем такте в качестве начального приближения будем использовать решение, полученное на предыдущем такте. Иными словами,если v* = (v* [k ] v* [k + 1] ... v* [k + N − 1] ) – решение задачи оптимизации, полученTное на такте k , то вектор v 0 = v * – выбирается в качестве начальной точки наследующем такте формирования управления.2.