УДК 517.977.5 А. А. Пономарев
Вестник СПбГУ. Сер. 10. 2014. Вып. 3
ПОСТРОЕНИЕ СУБОПТИМАЛЬНОГО УПРАВЛЕНИЯ В РЕГУЛЯТОРЕ «ПРЕДИКТОР-КОРРЕКТОР»
Санкт-Петербургский государственный университет, Российская Федерация, 199034, Санкт-Петербург, Университетская наб., 7/9
Метод управления «предиктор—корректор», более известный как MPC (model predictive control), был предложен в 1978 г. В силу своей относительной вычислительной сложности, по сравнению с традиционными ПИД-регуляторами первоначально он нашел применение в областях, где процессы отличаются небольшой скоростью протекания, например в химической промышленности. В настоящее время существуют примеры использования MPC почти во всех задачах автоматического управления. Тем не менее проблема применимости алгоритма MPC в системах управления реального времени по-прежнему актуальна, поскольку для построения управления более высокого качества, как правило, требуются более ресурсоемкие — сложные и точные вычисления. Особенно это касается быстрых нелинейных процессов. Дискретный регулятор MPC работает следующим образом. В каждый текущий момент времени на основе математической модели объекта управления и при известном текущем состоянии системы и при некотором управлении можно предсказать ее поведение на несколько тактов вперед. На этих нескольких тактах строится управление, оптимальное в силу некоторого функционала. Фактически же в регуляторе используется только первый такт оптимальной последовательности, а в следующий момент времени оптимизация повторяется, но для новых начальных условий. Вычислительная сложность MPC объясняется необходимостью решения оптимизационной задачи на каждом такте работы регулятора. В данной работе предлагается построить приближенную оптимизационную задачу меньшей размерности, пригодную для достаточно точного решения в реальном времени. Используется то обстоятельство, что в силу специфики метода управления «предиктор—корректор» не требуется вычисление всей управляющей последовательности — достаточно первого такта. Это позволяет применить идею динамического программирования и приближенно решить задачу относительно последних тактов управления заранее — до начала работы регулятора. Соответствующее решение, называемое субоптимальным управлением, затем исследуется на близость к оптимальному. Результатом работы являются две теоремы. Первая доказывает выполнение условия Липшица для оптимального значения функционала как функции начального условия. В предложенном алгоритме эта функция аппроксимируется по значениям на конечной сетке, и ее липши-цевость нужна для того, чтобы сформулировать вторую теорему — о близости субоптимального управления к оптимальному. В заключение приводится пример использования алгоритма для стабилизации верхнего положения равновесия маятника. Показано, что при чрезмерном понижении размерности задачи наблюдается заметное ухудшение качества регулирования. Библиогр. 13 назв. Ил. 2.
Ключевые слова: оптимальное управление, субоптимальное управление, управление в реальном времени, предиктор—корректор, управление с прогнозом, MPC.
A. A. Ponomarev
SUBOPTIMAL CONTROL CONSTRUCTION FOR THE MODEL PREDICTIVE CONTROLLER
St. Petersburg State University, 7/9, Universitetskaya embankment, St. Petersburg, 199034, Russian Federation
Model predictive control (MPC) is a well-known and widely used control algorithm. The problem of real-time MPC implementation for complex systems is of particular practical interest
Пономарев Антон Александрович — старший преподаватель; e-mail: [email protected] Ponomarev Anton Aleksandrovich — senior teacher; e-mail: [email protected]
due to the complexity of the associated optimization problem which is generally intractable in real time. The presented paper deals with this issue making use of the famous dynamical programming idea and reducing the dimensionality of the original optimization problem. The outline of the paper is as follows. The MPC problem is considered for a nonlinear discrete-time system with state and control constraint sets and quadratic cost functional. The assumptions worth noting are, firstly, Lipschitz continuity of the right hand side of the system and, secondly, continuity in some sense of the admissible control set with respect to the current state of the system. Employing these properties we are able to prove Lipschitz continuity of the optimal cost value as a function of the initial state of the system. This result provides us with the opportunity to approximate the minimal value of the last several summands of the cost functional as a function of the intermediate system state by means of precalculating it for a set of state values before the controller is launched. The summands mentioned may be then excluded from the optimization reducing the dimensionality of the problem. The results are followed by the discussion of their limitations and an example of application. It is shown that the simpler the resulting problem, the less smooth it becomes, thus making it necessary to use more data points for the approximation. Another observation is that the smoothness of the problem is decreasing far from the set point. The theorems proven in the paper give the reasoning behind these facts but the ways to deal with them are due to further research. Bibliogr. 13. Il. 2.
Keywords: optimal control, suboptimal control, optimal cost value continuity, numerical optimization, approximate optimization, real-time control, model predictive control, MPC.
Введение. Метод управления «предиктор-корректор», более известный как MPC (model predictive control), был предложен в 1978 г. [1]. В силу относительной вычислительной сложности по сравнению с традиционными пропорционально-интегрально-дифференциальными (ПИД) регуляторами он первоначально нашел применение в областях, где процессы отличаются небольшой скоростью протекания, например в химической промышленности. В настоящее время MPC используется почти во всех задачах автоматического управления [2-4], в то время как анализ устойчивости, робастности и других свойств MPC по-прежнему представляет собой область активных теоретических исследований [5-7]. Актуальна также проблема применимости алгоритма MPC в системах управления реального времени, о которой идет речь в данной работе. Особенно это касается быстрых нелинейных процессов, поскольку для них построение более качественного управления, как правило, предполагает более сложные и точные вычисления [8].
Вычислительная сложность MPC объясняется необходимостью решения оптимизационной задачи на каждом такте работы регулятора. Для линейных систем существуют достаточно эффективные способы оптимизации, основанные, например, на решении уравнения Риккати [9] или на методах линейного программирования [10]. Эти методы отличаются хорошей надежностью в реальном времени: можно рассчитывать, что оптимальное управление будет построено за отведенное время независимо от выбора начального приближения, текущего положения системы или каких-либо других факторов.
Нелинейный случай представляет больше сложностей и на практике обычно ограничиваются поиском субоптимального управления, т. е. приближения к оптимальному. Один из распространенных методов построения такого управления - метод последовательных приближений. При этом в реальном времени итерации завершаются не при достижении нужной точности, а по истечении отведенного на оптимизацию времени. Доказано, что если последовательные приближения строятся с сохранением некоторых свойств, то регулятор MPC будет стабилизирующим, на какой бы итерации ни прервался процесс приближений [11]. Несмотря на гарантию устойчивости, недостатком данного метода является невозможность заранее предсказать, как от количества итераций зависит близость управления к оптимальному, т. е. будет
ли регулятор типа MPC достаточно эффективен при заданных ограничениях реального времени. Другой подход к нелинейной оптимизации - аппроксимация правой части системы функцией более простого вида. Эта идея используется в статье [12]. Фактически в ней рассматривается регулятор MPC с так называемым терминальным ограничением типа равенства, а правая часть системы аппроксимируется кусочно линейной функцией. Предложенный метод перспективен, однако в указанной статье разбирается лишь частный случай - стабилизация маятника. Достижение достаточной универсальности, по-видимому, требует привлечения более сложных результатов, -возможно из теории гибридных динамических систем.
В настоящей работе предлагается построить приближенную нелинейную оптимизационную задачу меньшей размерности, чем исходная, пригодную для достаточно точного решения в реальном времени каким-либо известным методом. Используется то обстоятельство, что в силу специфики MPC не требуется вычисление всей управляющей последовательности - достаточно первого такта. Это позволяет применить идею динамического программирования и приближенно решить задачу относительно последних тактов управления заранее - до начала работы регулятора.
Обозначения. Единичная матрица: E. Нулевая матрица: O. Транспонирование: MT. Скалярное произведение: a• b. Евклидова норма вектора или согласованная с ней норма матрицы: ||x||. Взвешенная норма вектора: ||x||M = xTMx. Окрестность точки: Ur (x) = {x : ||x|| ^ Д}. Граница множества S : dS. Радиус множества: p(S) =
max IIxll.
xes
Постановка задачи. Рассмотрим стационарную управляемую систему дискретного времени
x(k + 1) = f(x(k),u(k)), к = 0, 1,..., (1)
где x G M"; u G Km. Функция f определена при всех значениях аргументов и обладает следующими свойствами:
(A1) f (0, 0) = 0;
(A2) возможность выделения линейной части:
/(ж, и) = /(ж, и) + А(х, и) (ж — ж) + + В (ж, и) {и — и) + д(х,й,х — ж, w — и),
причем ||д(х,й, х — ж, и — й)|| ^ — ж||2 + ||м — м||2), где А(х,и) и В(х,и) -
некоторые матрицы, а К - константа, одинаковая для всех точек (ж, м);
(A3) условие Липшица
||/(ж,м) - /(ж,й)|| < Lf (||ж — ж|| + ||м -й||).
Выбор начального состояния x0 и управляющей последовательности u(-) однозначно определяет траекторию системы, которую обозначим x(•,x0,u(•)). Введем квадратичный функционал, характеризующий управление и соответствующую ему траекторию при заданном начальном условии:
T-1
J (x0,u(•)) = £ (\\x(k + 1,x°,u(0) fM + Uu(k)fN) + \\x(T,x0,u^))\\MT.
k=0
Здесь T - некоторое натуральное число или бесконечность, M и Mt - неотрицательно-определенные матрицы, N - положительно-определенная матрица.
Поставим оптимизационную задачу J(x°, u(•)) ^ min,
u(-)
и(к) e Du, к = 0,1,...,T — 1, (2)
x(k,x0,u(•)) e Dx, к = 1, 2,...,T — 1,
где Dx - множество допустимых состояний системы; Du - множество допустимых управлений. Будем считать, что решение этой задачи существует. Обозначим его иопт(,х0), а соответствующее значение функционала - Jопт(x0). Если минимум достигается на нескольких управляющих последовательностях, в качестве иопт(-,х°) возьмем любую из них.
Относительно допустимых множеств предполагается следующее:
(B1) Dx и Du - связные компактные множества, содержащие внутри нуль; (B2) для всех x e Dx существует такое и e Du, что f (х,и) e Dx;
(ВЗ) при любом выборе ж, ж G Dx и и G Du таких, что /(ж, и) G Dx, существует такое и G Du, что /(ж,w) G Dx и f{x,и) G Dx, причем ||м — м|| ^ ~/\\х — х\\, где 7 -некоторая постоянная.
Предположение (B3) означает, что множество управлений, допустимых с учетом ограничения на состояние системы, меняется в некотором смысле непрерывно с изменением начального условия задачи (2).
MPC [13] состоит в том, что на вход системы (1) подается в виде обратной связи управление иопт (0, x). В результате получается замкнутая система
x(k + 1) = f (x(k), иопт (0, x(k))), к = 0,1,... .
Алгоритмически этот подход означает, что на каждом такте к управление и(к) генерируется следующим образом:
• для текущего состояния x(h) строится оптимальное управление на T тактов вперед: и(к), и (к +1),..., и(к + T — 1);
• в систему подается первый элемент построенной последовательности;
• на следующем такте к +1 оптимизация повторяется при новом начальном условии.
Такая интерпретация объясняет название «предиктор-корректор», где слово «предиктор» означает предсказание поведения системы на T тактов вперед и оптимизацию этого поведения, а «корректор» - обновление прогноза на каждом шаге с учетом текущего состояния. Число T при этом называется горизонтом прогноза.
Пусть требуется использовать регулятор «предиктор-корректор» для стабилизации нулевого положения равновесия. Известно [13], что если в задаче (2) при T = ж существует оптимальное стабилизирующее управление, то при достаточно большом, но конечном T регулятор «предиктор-корректор» дает управление, близкое к указанному оптимальному. Вопрос об оптимальном стабилизирующем управлении при T = ж в данной работе не рассматривается. Вместо этого предположим, что оно есть при любых начальных условиях из области допустимых состояний системы Dx, а горизонт прогноза T выбран так, чтобы регулятор «предиктор-корректор» был приемлемым приближением к оптимальному регулятору для любых начальных условий из Dx. Тогда «предиктор-корректор» будет стабилизировать положение x = 0 с областью притяжения Dx, однако задача (2) может иметь размерность, чрезмерно большую для решения за один такт работы регулятора, потому обратимся к проблеме упрощения данной задачи.
Динамическое программирование в MPC. Введем в рассмотрение последовательность функционалов
T—s — 1
Js(x0,u(-)) = ]Т (I\<к + l,x0,u(-)) ||M + llu(k)H^) + \\x{T - s,x° ,u(-))\\MT,
k=o
где s = 0,1,..., T—1, а также, как непосредственное распространение этих выражений на случай s = T, функцию JT(x0) = ||x0||MT . Функционал J0 совпадает с J, каждый последующий получается удалением одного слагаемого, а в функции Jt остается лишь терминальное слагаемое. Для каждого из функционалов Js, s = 0,1,...,T — 1, поставим оптимизационную задачу
Js(x0,u(-)) ^ min,
u{-)
u(k) e Du, к = 0,1,...,T — s — 1, x{k, x0, u(-)) e Dx, к =1, 2,...,T — s — 1,
и минимальное значение функционала обозначим JsonT(x0). Будем считать, что минимум в этой задаче существует при любом
x0
Dx. Функция Jt не зависит от управления, потому для нее J^nT(x0) = Jt (x0).
Широко известный принцип динамического программирования состоит в том, что часть функционала Js, зависящую от u(1), u(2),..., u(T — s — 1), можно минимизировать независимо от u(0). Точнее говоря,
J°nT(x° )= min {II/ (x0 ,u(0))|M +
u(0) ^ D,, ^
u(o) e d.
f (x0,u(o)) e D,
+ ||u(0)||N + Jt+i(f(x0,u(0)))}, s = 0,1,...,T - 1. (3)
При реализации MPC такой подход особенно уместен: вычисление всей последовательности
иопт(0),иопт(1),...,иопт(Т - 1)
в задаче (2) представляется напрасным, поскольку в систему все равно подается только иопт(0). Единственная проблема - неизвестна функция J1onT(x0). Поэтому возникает задача - приблизить данную функцию каким-либо удобным выражением F (x0). Предварительно построив такую аппроксимацию, можно затем в режиме реального времени вместо (2) решать задачу существенно меньшей размерности:
\f (x0, u(0))\\2М + ||u(0)||N + F (f (x0, u(0))) ^ min,
u(0) G Du, (4)
J(x0,u(0)) G Dx.
Ее решение обозначим ucy6(0,x0) и будем называть субоптимальным управлением, отвечающим начальному условию x0.
Обоснуем возможность интерполирования функции J°nT(x) по ее значениям на конечной сетке.
О непрерывности оптимального значения функционала как функции начального условия. Оптимальное управление uonT(0,x0) не обязательно непрерывно как функция начального условия x0, но оптимальное значение функционала
ЛОпт(х°) при наложенных на систему ограничениях - функция непрерывная и лип-шицева. Докажем это.
Теорема 1. Если предположения (А3), (В2) и (В3) справедливы, то каждая из функций ЛОпт(х), где в = 1, 2,...,Т, удовлетворяет условию Липшица с константой Ьл, причем константы Ьл определяются одна через другую формулой
Ь л = (3^ + 1Ь (2\\М\\р(пх) + Ь л +1) + 67\\Ж\\р(пи),
в которой Ьт = 2\\М\\р(Вх).
Доказательство. Будем доказывать теорему по индукции для всех функций 3°пт, начиная с в = Т. Для 3ТП'Т она, очевидно, верна, причем соответствующая константа Липшица
Ьт = 2\\М\\р(Вх).
Предположим, что теорема доказана для 3 О+Т, и докажем ее для 3°пт.
Сумму, минимизируемую в выражении (3), обозначим £л(х°,и(0)). Точки минимума функций £л(х1 ,и) и £л(х2,и) обозначим и1 и и2 соответственно:
3°пт{х1) = шт 4 (х1,и) = 4 (х1,и1),
и £ Ви !(х\и) £ Вх
3°пт(х2) = шт 4 (х2,и) = 4 (х2,и2).
и £ Ви !(х2,и) £ Вх
Обратим внимание, что множество, на котором разыскивается минимум 4(х,и), зависит от х, потому, вообще говоря, управление и2 недопустимо для х1, а и1 - для х2. Тем не менее, согласно предположению (В3), эти множества близки для близких значений х в том смысле, что существуют такие значения и1, и2 € Ви, которые допустимы и для х1, и для х2, т. е. /(х1,2,и1) € Вх и /(х1,2,и2) € Вх, причем
Цй1 - и1! < ^Цх1 - х2\\ и \\й2 - и2\\ < ^Цх1 - х2\\.
В силу оптимальности
4(х1 ,и1) < 4(х1,и2), £л(х2,и2) < 4(х2,и1),
а поскольку функция 4(х,и) липшицева (предположение (А3)), можно записать еще и следующие неравенства:
14(х1,й1) - 4(х2,й1)\ < К1\х1 - х2\\, |4(х1,и2) - £л(х2,й2)\ < К1\х1 - х2\\, \4(х1,и1) - £а(х1,й1)\ < К2\\х1 - х?\\, (х2,и2) - £л(х2,й2)\ < К2\х1 - х2\\,
где К1 = Ьf (2\\М\\р(Вх) + Ь8+1); К2 = ч(К 1 + 2\\М\\р(Ви)). Из перечисленных неравенств следует, что
\£л(х1,и1) - £а(х2,и2)\ < (К1 +3К2)\\х1 - х?\\,
т. е. достаточно положить Ьл = К1 + ЗК2. Теорема 1 доказана.
Особую роль при доказательстве теоремы играет предположение (В3). Покажем, как можно на практике установить, что оно имеет место. Следующая лемма содержит
достаточные для этого условия. Фактически она описывает ситуацию, когда любое управление, которое переводит некоторую точку на границу множества Dx, всегда можно немного изменить, чтобы данная точка отображалась внутрь Dx.
Лемма. Пусть наряду с предположениями (A2), (A3) и (B1) выполнено следующее:
1. Множество Dx выпукло и имеет гладкую границу dDx, орт внешней нормали к которой в точке x равен nx (x). Множество Du также выпукло с гладкой границей dDu и ортом nu(u).
2. Существуют такие два числа а > 0 и 6 > 0, что при всех x G Dx и u G Du, для которых f (x, u) G dDx, у системы неравенств
nx(x) ■ B(x, u)v < -a\\B(x, u)v\\ — 6
есть решение v, равное по норме единице. Если при этом u G dDu, то такое решение имеет система
nx(x) ■ B(x, u)v < —a\\B(x, u)v\\ — 6, nu(u) ■ v < -a\\v\\ — 6.
Тогда выполняется и предположение (B3), причем
Lf
Доказательство. Рассмотрим значения ж G Dx и и G Du, о которых идет речь в (ВЗ): /(ж, w) G Dx. Покажем сначала, что свойство (ВЗ) выполняется локально: при каждом х G Uр(х) П Dx найдется такое и G Du, что /(ж, w) G Dx и ||м — м|| ^ 7||ж — ж||. Здесь /э и 7 могут, вообще говоря, зависеть от ж и м.
Если точка /(ж, и) лежит внутри Dx, ее можно окружить окрестностью UR(f(x,tl)) С Dx. По предположению (A3)
|/(ж,й) - f(x,u)| < L\\x-x\\,
поэтому для локального выполнения (B3) достаточно выбрать р = R/Lf, 7 = 0 и и = и.
Будем считать теперь, что /(ж, и) G dDx. Получим решение v системы неравенств
пх(х) ■ B(x,u)v < — а\\В(х, u)v\\ — S.
Если же, кроме того, и G dDu, найдем v из системы
пх(х) ■ B(x,u)v < — а\\В(х, u)v\\ — S, пи(й) ■ v < -ст|М| - S.
Согласно условию леммы, вектор v существует, причем можно принять, что \\v\\ = 1. Выберем и = й + ev, где е определяется так, что и G Du и ?7д(/(ж, и)) С Dx при некотором R. Эти требования удовлетворяются при достаточно малом е по построению вектора v.
Действительно, по предположению (А2) /(ж, и) = /(ж, и)-\-еВ{ж, u)v-\-g{ж, м, 0, ev). Зададимся сначала целью выбрать е > 0 и R > 0 так, что
UR.(f(x,u) +еВ(x,u)v) С Dx.
Иначе говоря, дан луч, выходящий из точки /(ж, и) G дВх и направленный вдоль вектора B(x,u)v, т. е. внутрь Вх, согласно выбору v. Требуется около некоторой точки луча, лежащей вблизи его начала, описать сферу, содержащуюся в Dx. Система неравенств для выбора вектора v позволяет гарантировать, что cos а > а, где а -угол между лучом и внутренней нормалью к dDx. Кривизна гладкой поверхности dDx ограниченная, поэтому худшая ситуация, которая может быть, с точки зрения выбора максимального R, - когда dDx представляет собой сферу некоторого радиуса r. Полагая, что так и есть, и используя геометрические соображения, можно показать, что достаточно выбрать
R = г — л/г2 + £2\\BV\\2 - 2rea\\Bv\\. Принимая во внимание нелинейность, R необходимо сократить:
-2|1 VI2.
R = r- л/г2+e2\\Bv\\2 -2rea\\Bv\\ - Ке2 Поскольку \\v\\ = 1, а из определения v можно заключить, что \\Bv\\ > S, возьмем
Д = г - л/г2+е2\\В\\2 - 2геа6 - Ке2.
Это значение имеет смысл (положительно) для достаточно малых е, потому что производная его по е при е = 0 равна аб > 0. Для дальнейшего достаточно приближенно положить Д = абе/2.
Заключаем, что свойство (ВЗ) выполняется в /э-окрестности точки ж при р = В)В] = 7 = и достаточно малом е. Чтобы распространить такое свойство на множество Вх, покроем его конечным набором р-окрестностей, причем е мало настолько, чтобы удовлетворять всем точкам множества Вх. Если жиж лежат в разных окрестностях, можно сформировать последовательность из примерно ||ж — х\\/р точек на расстоянии не более р одна от другой и, пользуясь локальным свойством, построить требуемое и так, чтобы
.. .. ||ж — ж|| 2В г р аб
Заметив, что вместо 2 в числителе можно было взять любое число, большее 1, получаем требуемое утверждение. Лемма доказана.
В качестве примера рассмотрим систему х(к +1) = Ах(к) + Ви(к) с ограничением Вх = {ж : ||ж|| ^ 1} и без ограничения на и. Точка ж может отображаться этой системой в любую точку линейного многообразия с базисом В, проходящего через Ах. Выделяются следующие случаи:
1) если это многообразие не пересекает множество Вх при некотором ж € Вх, в первую очередь нарушается предположение (В2) о существовании допустимого управления для любого допустимого состояния;
2) если это многообразие касается Вх при некотором ж € Вх, то нарушается условие леммы, поскольку для точек касания (пх)тВ = 0;
3) если это многообразие пересекает внутренность Вх при любом выборе ж € Вх, условие леммы выполняется. Введя матрицу В± - ортонормированный базис ортогонального дополнения к В, данную ситуацию можно описать выражением
\\ВТАх\\ < 1 при всех х € Вх, т. е. \\ВтА\\ < 1.
Реализация алгоритма. Пусть на множестве Вх выбрана сетка из конечного числа точек . Плотность сетки охарактеризуем числом г - максимальным расстоянием, на котором может оказаться от произвольно выбранной точки х € Вх ближайшая к ней точка сетки: иными словами, при всех х € Вх существует € иг (х).
Вычислим значение 30пт(С) во всех точках сетки и построим аппроксимацию Т(х) функции ЛОпт(х) на множестве Вх, не входящую в противоречие с условием Липшица для 3°пт(х). При п = 1 можно соединить точки 3°пт(£г) ломаной, при п = 2 - использовать билинейную интерполяцию по четырем соседним точкам или линейную по трем, и т. д. Очевидно, что
\Т(х) - 3°пт(х)\ < гЬ1 при всех х € Вх, (5)
где Ь1 - константа Липшица функции 3°пт(х).
Сравним решение иопт(0, х0) задачи (2) с решением исуб(0, х0) приближенной задачи (4) (будем полагать, что эти решения существуют и единственны). Равномерная оценка (5) гарантирует, что если
\\1 (х,и)\\М + \\и\& + Т ()(х, и)) > > Ш(х, и)\\2М + \\и\& + Т(I(х, и))) |и=исуб(0,х) + гЬ{Ь1
при всех допустимых и из множества \\и-ису6 (0 ,х)\\ > е,то \\иопт(0,х)-исуб(0,х)\\ ^ е.
Последнее утверждение означает, что если найденный минимум приближенной задачи «существенно глобален», то он близок к минимуму исходной задачи. Если же минимизируемая функция принимает близкие к минимуму значения вдали от точки глобального минимума, то проведенные рассуждения не позволяют гарантировать, что субоптимальное управление близко именно к точке глобального минимума. Это является безусловным недостатком замены функционала качества на приближенный, однако стоит заметить, что функционал задачи (2) должен характеризовать качество поведения системы. Потому если выбор локального минимума вместо глобального приводит к значительному ухудшению качества, хотя соответствующее значение функционала близко к глобальному минимуму, то можно говорить о неудачном выборе функционала 3, а именно - весовых матриц М, N, Мт и горизонта прогноза Т.
Обратим также внимание на величину гЬf Ь1 в последнем неравенстве. Чем она меньше, тем ближе субоптимальное управление к оптимальному. Если улучшить оценку Ь1 не удается, можно получить лучший результат, выбрав более плотную сетку. Для этого требуется больше памяти: необходимо вычислить значения 30пт(^г) в большем числе точек и затем хранить их в месте, доступном для регулятора. Еще один вариант - аппроксимировать не 3°пт(х), а х) при некотором Т1 > 1. Сформулируем соответствующий результат.
Теорема 2. Пусть управление исуб(-,х°) определяется из решения задачи
£(х0,и(-)) —> шш,
и(к) € Ви, к = 0,1,...,Т1 - 1, (6)
х(к,х0,и(-)) € Вх, к =1, 2,...,Т1,
где
Т\ 1
£(х0 ,и(■)) = £ (||х(к +1,х0,и() ||М + \\и(к)\\%) + ТтЛ4Т1,х0,и(-))),
к=0
а функция FTl (x) аппроксимирует JT°i¡m(x) по ее значениям на конечной сетке, как указано выше. Тогда, если
¿(x0, u(0) > ¿(x0, исуб(•, x0)) + rLf Lt1
для всех и() допустимых в (6) и таких, что ||и(0) — исуб(0,x0)|| > е, то Циопт(0, x0) — исуб(0, x0)|| < е.
Константа Lt1 , полученная в теореме 1, уменьшается с ростом Ti, поэтому улучшается оценка близости субоптимального управления к оптимальному в теореме 2. К сожалению, в то же время увеличивается размерность задачи (6).
Отметим, что чем меньше окрестность положения равновесия, в которой движется система, тем фактически более гладкой оказывается оптимизационная задача (4). Действительно, пусть неотрицательные функции ¡F_(x) и Т(х) ограничивают Т(х) соответственно снизу и сверху, т. е.
0 ^ £(х) ^ Т{х) ^ Т(х) при всех x G Dx,
причем эти функции всегда можно считать непрерывными и равными нулю при x = 0. Тогда очевидно, что решение исуб задачи (4) удовлетворяет неравенству
||/(х°, Мсуб)\\2М+ \\u^fN + Z(/(x°, Мсуб)) < min{ ||/(х°, и)\\2М+ \\u\\%+T(f(x°,uj)},
правая часть которого, по крайней мере, не больше K||x0||2 при некотором K > 0. Следовательно, если x0 мало, то при поиске исуб сравнению подлежат только такие
значения и, которые малы по норме и оставляют систему в малой окрестности нуля, например ( )
ЦиЦ% < K||x0|2 и ||/(x0,u)||M < K||x0||2. Таким образом, при рассмотрении системы в малой окрестности нуля можно формально сократить множества допустимых состояний и управлений, не исключая из них оптимальное управление. При этом уменьшатся значения p(Dx) и p(Du), что по теореме 1 приводит к снижению константы Липшица Li и по теореме 2 к лучшей аппроксимации оптимального управления субоптимальным.
Пример. Рассмотрим использование приближенного MPC для стабилизации верхнего положения равновесия маятника с управлением в виде горизонтально направленной силы. В непрерывном времени система описывается уравнением
ф(Ь) = ui2 sin ф(Ь) + и cos ф(Ь).
Множество допустимых состояний определим условием
)T
(5ф ф)
< 15.
Управление фактически не ограничивается: |u| ^ 1000. Для применения MPC дискре-тизируем систему с шагом Ts = 0.05, а в качестве горизонта прогноза возьмем Т = 7. Качество управления, исходя из численных экспериментов, допустимо считать приемлемым, однако сложность задачи может быть слишком велика, чтобы использовать такой регулятор на практике.
Применим MPC с приближенным функционалом качества при Ti = 1. Размерность задачи снижается до одного такта. Функция Fi(x) построена интерполяцией по ее значениям на сетке в полярных координатах с разбиением на 16 частей по значениям полярного угла и на 15 частей по радиусу. Движение замкнутой системы иллюстрирует рис. 1, а. Видно, что качество регулирования сильно понизилось,
(p{t) 3
ч \ \
\\
\ \ \ чЧ
\
ч Ч
■ч "ч X
ч ч Ч^- \
^__
0.2 0.4 0.6 0.8 0
0.2 0.4 0.6 0.8
t
Рис. 1. Движение системы, замкнутой точным MPC (пунктирная линия) и приближенным MPC (сплошная линия) при T1 = 1 (а) и T1 =3 (б) Значение ф(0) для всех начальных условий равно нулю.
■TvlO"5
Рис. 2. График функций ^г(х) (а) и Т3(х) (б)
регулятор стал неустойчивым. Это объясняется свойствами функции Т\(х), изображенной на рис. 2, а. Она имеет большое значение градиента в ряде точек, потому
достаточно точная аппроксимация ее затруднительна. Тем не менее, чем меньше рассматриваемая окрестность положения равновесия, тем лучше в ней работает регулятор, в соответствии с изложенными выше рассуждениями.
Выбор Ti = 3 приводит к увеличению вычислительной сложности по сравнению с Ti = 1, но функция F%(x) является более гладкой, чем Fi(x) (рис. 2, б), и качество регулирования сопоставимо с точным MPC (см. рис. 1, б).
Заключение. Предложенный способ упрощения оптимизационной задачи метода управления «предиктор-корректор», основанный на динамическом программировании, позволяет понизить размерность задачи, однако с ним связан ряд ограничений. Как видно из примера, со снижением размерности, вообще говоря, уменьшается гладкость задачи, и приведенные в статье теоремы отражают данный эффект. Из такой ситуации есть два выхода. Первый - ограничиться стабилизацией в меньшей окрестности положения равновесия, в которой задача остается достаточно гладкой. Второй -аппроксимировать минимизируемую функцию во всей допустимой области с лучшей точностью, используя больше памяти, или применить более экономную аппроксимацию на неравномерной сетке с учетом локальных особенностей функции. Отметим также в качестве ограничения, что минимизация сложной кусочной функции обычными градиентными методами может быть затруднена. Таким образом, существует нетривиальная и, возможно, немонотонная зависимость между размерностью задачи и ее вычислительной сложностью. Доказанные теоремы дают оценки этой зависимости, но довольно грубые.
Кроме того, безусловным ограничением изложенного подхода является его неприменимость в нестационарных системах. Тем не менее вычисление лишь первых тактов управляющей последовательности представляется достаточно эффективным в контексте MPC-регуляторов и заслуживает дальнейшего изучения.
Литература
1. Richalet J., Rault A., Testud J. L., Papon J. Model predictive heuristic control: applications to industrial processes // Automatica. 1978. Vol. 14, N 5. P. 413-428.
2. Qin S. J., Badgwell T. A. A survey of industrial model predictive control technology // Control Engineering Practice. 2003. Vol. 11, N 7. P. 733-764.
3. Веремей E. И., Сотникова M. В. Стабилизация плазмы на базе прогноза с устойчивым линейным приближением // Вестн. С.-Петерб. ун-та. Сер. 10: Прикладная математика, информатика, процессы управления. 2011. Вып. 1. С. 116-133.
4. Sotnikova M. Ship dynamics control using predictive models // Proc. of the 9th IFAC Conference on Manoeuvring and Control of Marine Craft (MCMC 2012). Arenzano, Italy. September 19-21, 2012. P. 250-255.
5. Сотникова M. В. Вопросы устойчивости движений в системах управления с прогнозирующими моделями // Вестн. Воронеж. гос. техн. ун-та. 2012. T. 8, № 1. С. 72-79.
6. Mayne D. Q., Rawlings J. B., Rao C. V., Scokaert P. O. M. Constrained model predictive control: Stability and optimality // Automatica. 2000. Vol. 36, N 6. P. 789-814.
7. Сотникова M. В. Синтез робастных алгоритмов управления с прогнозирующими моделями // Системы управления и информационные технологии. 2012. T. 50, № 4. С. 99-102.
8. Magni L., Raimondo D. M., Allgower F. (eds.) Nonlinear model predictive control: towards new challenging applications. Berlin: Springer, 2009. 572 p.
9. Зубов В. И. Лекции по теории управления. М.: Наука, 1975. 496 с.
10. Балашевич H. В., Габасов Р., Кириллова Ф. М. Численные методы программной и позиционной оптимизации линейных систем управления // Журн. вычисл. математики и матем. физики. 2000. Т. 40, № 6. С. 838-859.
11. Scokaert P. O. M., Mayne D. Q., Rawlings J. B. Suboptimal model predictive control (feasibility implies stability) // IEEE Transactions on Automatic Control. 1999. Vol. 44, N 3. P. 648-654.
12. Габасов Р., Кириллова Ф. M., Ружицкая Е. А. Демпфирование и стабилизация маятника при больших начальных возмущениях // Изв. РАН. Теория и системы управления. 2001. № 1. С. 29-38.
13. Maciejowski J. M. Predictive control with constraints. London: Prentice Hall, 2002. 331 p.
References
1. Richalet J., Rault A., Testud J. L., Papon J. Model predictive heuristic control: applications to industrial processes. Automatica, 1978, vol. 14, no. 5, pp. 413—428.
2. Qin S. J., Badgwell T. A. A survey of industrial model predictive control technology. Control Engineering Practice, 2003, vol. 11, no. 7, pp. 733—764.
3. Veremej E. I., Sotnikova M. V. Stabilizacija plazmy na baze prognoza s ustojchivym linejnym priblizheniem (Plasma stabilization on the base of model predictive control with the linear closed-loop system stability). Vestnik St. Petersburg University, ser. 10: Applied mathematics, computer science, control processes, 2011, issue 1, pp. 116—133.
4. Sotnikova M. Ship dynamics control using predictive models. Proc. of the 9th IFAC Conference on Manoeuvring and Control of Marine Craft (MCMC 2012). Arenzano, Italy. September 19—21, 2012, pp. 250-255.
5. Sotnikova M. V. Voprosy ustojchivosti dvizhenij v sistemah upravlenija s prognozirujushhimi modeljami (The problem of stability in model predictive control). Vestnik Voronezh. gos. techn. un-ta, 2012, vol. 8, no. 1, pp. 72-79.
6. Mayne D. Q., Rawlings J. B., Rao C. V., Scokaert P. O. M. Constrained model predictive control: Stability and optimality. Automatica, 2000, vol. 36, no. 6, pp. 789-814.
7. Sotnikova M. V. Sintez robastnyh algoritmov upravlenija s prognozirujushhimi modeljami (Robust model predictive control algorithm synthesis). Sistemy upravlenija i informacionnye tehnologii, 2012, vol. 50, no. 4, pp. 99-102.
8. Magni L., Raimondo D. M., Allgower F. (eds.) Nonlinear model predictive control: towards new challenging applications. Berlin: Springer, 2009, 572 p.
9. Zubov V. I. Lekcii po teorii upravlenija (Lectures on control theory). Moscow: Nauka, 1975, 496 p.
10. Balashevich N. V., Gabasov R., Kirillova F. M. Chislennye metody programmnoj i pozicionnoj optimizacii linejnyh sistem upravlenija (Numerical methods of programmed and positional optimization of linear control systems). Zhurn. vychisl. matematiki i matem. fiziki, 2000, vol. 40, no. 6, pp. 838-859.
11. Scokaert P. O. M., Mayne D. Q., Rawlings J. B. Suboptimal model predictive control (feasibility implies stability). IEEE Transactions on Automatic Control, 1999, vol. 44, no. 3, pp. 648-654.
12. Gabasov R., Kirillova F. M., Ruzhitskaya E. A. Dempfirovanie i stabilizatsiya mayatnika pri bol'shyh nachal'nyh vozmuscheniyah (Damping and stabilization of a pendulum under large initial disturbances). Izv. RAN. Teoriya i sistemy upravleniya, 2001, no. 1, pp. 29-38.
13. Maciejowski J. M. Predictive control with constraints. London: Prentice Hall, 2002, 331 p.
Статья рекомендована к печати проф. А. П. Жабко. Статья поступила в редакцию 3 апреля 2013 г.