Сер. 10. 2009. Вып. 3
ВЕСТНИК САНКТ-ПЕТЕРБУРГСКОГО УНИВЕРСИТЕТА
УДК 517.977 + 519.71
Н. В. Смирнов, И. В. Соловьева
ПРИМЕНЕНИЕ МЕТОДА ПОЗИЦИОННОЙ ОПТИМИЗАЦИИ ДЛЯ МНОГОПРОГРАММНОЙ СТАБИЛИЗАЦИИ БИЛИНЕЙНЫХ СИСТЕМ
1. Введение. Постановка задачи. Задача стабилизации программных движений управляемых динамических систем является одной из основных в современной математической теории управления. Наиболее распространенный подход при ее решении состоит в построении управлений вида обратной связи различных типов: непрерывного, дискретного, релейного [1, 2]. Задача многопрограммной стабилизации была впервые сформулирована В. И. Зубовым в работах [3, 4]. В них рассмотрены проблема представления правых частей систем дифференциальных уравнений, имеющих наперед заданное конечное семейство решений, а также задача синтеза управлений, которые реализуют заданную совокупность программных движений и обеспечивают их асимптотическую устойчивость по Ляпунову. В [4] особое внимание уделяется представлению таких управлений в линейных стационарных управляемых системах. При этом полученные результаты иллюстрируются на задаче управления механическими системами, описываемыми уравнениями Лагранжа второго рода, и задаче управления движением заряженных частиц в электромагнитном поле.
В дальнейшем результаты В. И. Зубова были распространены на класс билинейных систем [5, 6]. Следуя этим работам, рассмотрим билинейную нестационарную управляемую систему вида
где x - n-мерный вектор фазового состояния; ui,... ,ur - скалярные управления; A(t), Bj(t), i = 1,... ,r, - вещественные, непрерывные (n х п)-матрицы с ограниченными при t ^ 0 элементами; F(t) - вещественная, непрерывная вектор-функция, заданная при t € [0, +го).
Введем в рассмотрение вектор управлений u = (ui,...,ur)T. Предположим,
что для системы (1) построены программные управления ui(t),...,UN(t) в классе непрерывных и ограниченных при t ^ 0 функций, а также соответствующие им программные движения xi (t),... ,xn(t). Число программных движений N не связано с размерностью системы (1) и размерностью пространства управлений. В данной работе
Смирнов Николай Васильевич — доктор физико-математических наук, профессор кафедры моделирования экономических систем факультета прикладной математики—процессов управления Санкт-Петербургского государственного университета. Количество опубликованных работ: 75. Научные направления: теория устойчивости, математическая теория управления, управление макроэкономическими системами. E-mail: [email protected].
Соловьева Инна Владимировна — аспирант кафедры моделирования экономических систем факультета прикладной математики—процессов управления Санкт-Петербургского государственного университета. Научный руководитель: проф. Н. В. Смирнов. Количество опубликованных работ: 4. Научное направление: математическая теория управления. E-mail: [email protected].
© Н. В. Смирнов, И. В. Соловьева, 2009
(1)
не изучаются методы построения таких управлений. Для определенности будем полагать, что каждое программное управление и; (і) и программное движение х; (і) строятся как решение задачи по переводу системы (1) из заданного начального состояния в заданное конечное состояние. Таким образом, если систему (1) покомпонентно замкнуть программным управлением и; (і) = (п;і (і),...,п;г(і))т, то она будет иметь соответствующее частное решение х;(і), отвечающее выбранным начальным и конечным данным. Другими словами, для каждой пары и; (і), х; (і) имеет место тождество по і на интервале, где эти функции определены:
Задача многопрограммной стабилизации состоит в том, чтобы для системы (1) построить управление и = и(х,Ь), которое реализует заданные программные движения х^(Ь),...,х^(Ь) и обеспечивает их асимптотическую устойчивость по Ляпунову. В [6] такое управление построено в виде
В выражениях (2), (3) и далее по тексту, где это не мешает восприятию смысла, мы не будем указывать зависимость функций х, х^, хя и т. д. от времени Ь, чтобы не загромождать формулы.
Для управления (2) и скалярных функций (3) выполнены следующие очевидные тождества:
В силу этих свойств, система (1), замкнутая управлением (2), (3), имеет заданные программные движения хі(і),... (і), т. е. будет двигаться по одному из них в случае
точной установки соответствующих начальных данных.
Указанные свойства имеют место, поскольку многопрограммное управление (2), (3) построено в виде интерполяционного полинома Лагранжа-Сильвестра. При этом матрицы коэффициентов обратных связей С;(і) должны быть построены в результате решения задач стабилизации вспомогательных линейных нестационарных систем [6] по методу, предложенному в [7].
Здесь следует особо отметить, что решение задач стабилизации в нестационарных системах затруднительно в плане практической реализации, потому в настоящей работе предлагается модифицировать метод построения многопрограммных управлений. Основная задача состоит в том, чтобы, отказавшись от интерполяционного полинома Лагранжа-Сильвестра как инструмента синтеза управления (2), (3), заменить явную обратную связь с коэффициентами С;(і) на технологию стабилизации объекта в режиме реального времени на основе метода позиционной оптимизации. Теоретические основы данного метода изложены в [8]; при этом он хорошо зарекомендовал себя даже при решении задач стабилизации нелинейных систем [9].
Г
х (і) = Р; (і)Х (і) + F(і), Р;(і) = А(і)+^ В4 (і)Щі(і).
і=1
где
(хз -Х8)(х-хд-)
(Ху-Х,)2
^Р; (x,і), (2)
(3)
и(х; (і),і) = и; (і); р; (хе(і),і) = 0,в = Р; (х; (і),і) = 1.
2. Представление многопрограммного управления. Для решения поставленной задачи будем строить многопрограммное управление в следующем виде:
к К (х(і) — х (і))2 14
ит(х(і),і) = д-(*) Л * = д(фд(х(*),*), (4)
;=і а=1,а=;-(х;(і) х(і)) ;=1
где, как и прежде, и (Ь), х^ (Ь) - пары программных управлений и соответствующих программных движений. Индекс т означает «многопрограммное» и введен, чтобы в дальнейшем различать управления (2) и (4).
Управление ит(х,Ь) вида (4), как и многопрограммное стабилизирующее управление (2), (3), обладает свойством ит(х^ (Ь), Ь) = и (Ь), т. е. обеспечивает замкнутой системе (1), (4) заданные программные движения х^(£), j = 1, Ж, но в отличие от него не гарантирует их асимптотическую устойчивость. При этом следует отметить, что представление (4) гораздо проще, чем (2), (3), и не требует построения матриц коэффициентов усиления обратных связей Cj(Ь).
Рассмотрим произвольное хк(Ь) из исходного семейства х\(Ь),... ,хN(Ь) и построим для него систему в отклонениях. Для этого в системе (1) введем новые переменные
Ук(Ь) = х - хк(г), (5)
Мг ^т*(^(^)з ^ (6)
где птъ(х(Ь),Ь) - компоненты вектора ит(х,Ь). Из формул (5), (6) следует
х = Ук (Ь)+хк (г), (7)
щ=щ^) + итг{ ук(г)+ хк(г),г), *=1,г. (8)
Для вектора отклонения ук (Ь) получим У/к = ^А^^^ В^^и^+Пт^ук +хк,Ь)^(ук +хк )^ А(Ь)+^ хк. (9)
' г=1 ' ' г=1 '
Для выделения в правой части системы (9) линейных и нелинейных слагаемых относительно вектора ук проанализируем свойства функций pj (ук + хк, Ь), которые участвуют в представлении управлений итг(ук + хк,Ь) согласно (4). Отсюда
N
(ук + хк - Хs)2
, . Т Г \У к і Лк -
РіІУк+Хк,і)= И
о 1 о —А о ' • ^ '
і = • \х; ~ хэ)2
в = 1,в=;
При і = к функции р; (у к + хк,і) нелинейны по компонентам вектора у к. Если і = к, то имеет место представление [5]
Рк(Ук+хк) = 1 + 2 ^2 (хй + (10)
і (хк хв)
8=1,э = к
в котором Нк (ук) - скалярная функция, являющаяся суммой слагаемых, порядок которых по компонентам вектора у к не меньше двух.
С учетом (4), (10) получаем
( N Хк - X )ук \ N
итг{ук + хй,г) = икА 1 + 2 ^2 к _ 3 к + ьк(ук) ] + 53 из^)Рз{Ук + хк^).
' я = 1,я = к (Хк Х ) ' з = 1,3 = к
Используя данное представление, систему (9) можно записать в следующем виде:
ук = Рк&)ук + Як&)ч + в*(г)^(г)^ ук + нк (у к ,£)■ (11)
4=1 '
Здесь
Г
Рк (Ь) = А(Ь) + Е Вг(г)иЫ + Вк (Ь),
1=1
при этом столбцы (п х п)-матрицы 1Вк(Ь)
г N
ь?(» = 2^2в^)хкиы ^2 ^Ы_ Х31\2' г=1^'
- 1 1 /7 (Хк хв)
г=1 э=1 ,э = к
V - вектор управлений с компонентами ^1,...,^г , а (п х г)-матрица С^к (Ь) имеет вид ^к(Ь) = (В1(Ь)хк, ■■■, Вг (Ь)хк); наконец, нелинейные слагаемые в (11) можно представить так:
н*(у*,*) = £в4(*)(им(2 Е {Т _Ха)? +МуО) +
„•-1 V У (Хк Ха) 7
+ Е изг(г)Рз (у к + Хк,г)\ у к+
3 = 1,3 = к
г ( N А
+ В )( иЫНк (ук)+ ^2 и3г(Ь)рз (ук + Хк ,г)\ Хк■
1 = 1' 3 — 1 3 = к '
(12)
Явное представление нелинейных слагаемых (12) позволяет перейти ко второму этапу решения задачи.
3. Метод позиционной оптимизации в задаче многопрограммного управления. Для многопрограммной стабилизации билинейной системы (1) будем использовать метод позиционной оптимизации [9, 10]. Он позволяет находить текущее значение оптимального управления (позиционного решения специальной оптимизационной задачи) в режиме реального времени.
Зададим интервал времени, на котором решается задача многопрограммного управления Т = [Ь*,Ь*], Ь* < Ь* < +го, и шаг дискретности Н = (Ь* — Ь*)/К, где К - целое число. Определим функцию у(Ь), Ь € Т, как дискретное управление у(Ь) = у(Ь* + кН) при Ь € [£* + кк, + (к + 1)/г), к = 1,К — 1. В этом классе дискретных управлений рассмотрим задачу оптимального управления для системы в отклонениях (11), (12):
г
" Ь*
Г Ь
Бт(г) = шт ^2 [ I Щ(Ь) I *,
Ук = Рк(Ь)Ук + 0,к(Ь)^ + Ві(ЬУиі(Ь)\Уи + Нк (Ук ,Ь), (13)
4=1 '
Ук (І*) = ъ, Ук (Ь* ) = (0,...,0)т,
|гл;(і)|<ь, * = і,г, г ет = [и,г*].
Будем обозначать через
«*(г,2) = «* (г І г,2), і=1,г, (14)
оптимальное программное управление в задаче (13) для позиции (т, ъ), где \к(т) - множество возможных начальных значений ъ, если эта задача имеет решение при фиксированном т, ъ = Ук(т), Ук(т) Є Ук(т), Ь Є Т(т) = [т,Ь*]. Функцию (14) назовем [9, 10] оптимальным управлением с обратной связью или позиционным решением задачи (13).
Отметим, что задача (13) нелинейна, как и система в отклонениях (11), (12). Потому нужно построить вспомогательную линейную задачу, используя аппроксимацию нелинейного слагаемого системы (11), (12). Для этого разобьем фазовое пространство на подпространства 0.^ в зависимости от знаков координат фазового вектора у^, 3 = 1 ,п- В данном случае любая граница для двух областей описывает-
ся одним из условий укз =0, j = 1, п.
Кусочно-линейная аппроксимация должна проходить через точку у к = (0,...,0). Для обеспечения такого условия в каждом 0^ будем приближать нелинейное слагаемое системы (13) функцией 5^1=і сд*"У®(^) + к{ґ), где неизвестные векторы с^, г = 1, г,
и (п х п)-матрицы = (Ід,...,1зп) подлежат определению. Учитывая, что
для внутренней границы двух областей 0^, 0Я, на которой некоторая компонента фазового вектора становится равной нулю укт = 0, условие равенства двух линейных аппроксимирующих функций можно записать в виде
г п г п
'^2СзіУі(Ь) + Е ізіУка(ї) =
щ () + £
ІзіУкі(ь).
і=1 1=1,1=т і=1 1=1,1=т
Неизвестные коэффициенты искомых функций с^,, определяем по методу наимень-
ших квадратов
Еі / (н(Ук ,Ь) + Г Е Ві (Ь)щ(Ь)\ У к - £ СзіУі(г) - І У к (г)^ 3 й, Кі=1 ' і=1
шт.
Суммирование здесь ведется по числу областей разбиения.
Вспомогательная линейная задача в классе дискретных управлений имеет вид
г 1
ВТ (ъ) = ШІП £ / І уі(г) I ЗЬ,
У к = (Рк (г) + )ук + Як(Ь)ч + 22 ЧіЩ, (15)
і=1
3 = {3 \Ук(т) Є О,}, у к{т)=ъ, ук{Ь*) = (0, ...,0)5 \уі(і)\ < Ь, і=1,г, і Є [т,Ґ].
Функцией
vi(т, ъ) = Уі(т 1 т ъ)
обозначим дискретное оптимальное программное управление в задаче (15). Будем последовательно находить компоненты вектора у*(Ь). К моменту т + Н = Ь* + кН определены первые к компонент вектора 'о*(Ь): 'и*(Ь*),'и* (Ь* + Н),... ,у* (Ь* + (к — 1)Н). Текущим положением системы (13), в котором она оказалась под действием этих управлений в момент т + Н, является у^ (т + Н). Чтобы получить следующую компоненту
V* (І) = у*(т + Н) в момент т + Н = Ь* + кН, снова решим вспомогательную задачу, но с новыми начальными условиями, и из нее найдем vi(т + Н, у^ (т + Н)). Имеем
На следующем интервале [т + Н,т + 2Н) в задачу (13) подставим первую компоненту vi(т + Н, у^(т + Н )). Реальная позиция, в которой оказалась система (13) в момент т + Н ук (т + Н) отличается от оптимальной позиции, в которой оказалась бы система
состояние системы, в котором она находилась в предыдущий момент времени, поэтому чтобы скорректировать значения остальных компонент го0(т + Н, у* (т + Н )) аналогично решается вспомогательная задача (16) с новыми начальными условиями.
В заключение отметим, что проведенные в п. 2, 3 рассуждения являются, по сути, конструктивным доказательством следующей теоремы.
Теорема 1. Если заданные программные движения х\(1),...,х^(^ системы (1) различимы при £ ^ £0 ^ 0, т. е.
то существует реализующее их многопрограммное управление (4), при этом управление (8) обеспечивает стабилизацию каждого из них в режиме реального времени.
4. Пример. Для иллюстрации предложенного подхода рассмотрим задачу синтеза многопрограммного управления для двух пар программных управлений и программных движений и^), хх^) и и2(£), Х2(£), т. е. при N = 2. Управление (4) будет иметь вид
Далее для первого программного движения х\(1) построим систему в отклонениях, т. е. в формулах (5)—(12) будем полагать к = 1. Получим
г
(16)
і=1
З = {з ІУй(г + Ь) Є О,}, Ук{т + Ъ) =у*к{т + Ъ), ук(Ґ) = (0,...,0)т, < Ь, і=1 , г, іє[т + к, і*}.
(16) в момент т + Н у10(т + Н). На каждой следующей итерации учитывается реальное
ІПІ IIX(Ь) — X (Ь)|| > ° і = з-,
пт(х(Ь),Ь) = П1(Ь)р1 (х(Ь),Ь) + П2(Ь)р2(х(Ь),Ь),
где
Р1 (у 1 + Х1) = 1 + 2
(хі-х2)уі у\
__ \9 ' _
(Х1 — Х2)2 (Х1 — Х2)2’
(Х1 — Х2 )2 (Х1 — Х2 )2
В результате система (11), (12) для к = 1 примет вид
У1 = Р1 (Ь)У1 + Ql(Ь+ ( £ Ві(Ь^і(Ь)\ У1 + Н1 (У1 ,Ь).
;=1
Здесь
Р1 (Ь) = А(Ь)+£ Ві (Ь)пи (Ь) + В1 (Ь), і=1
при этом столбцы матрицы В1 (Ь)
ьіт = 2^в,тт^і>(МІ)_хМ)2
і=1
V - вектор управлений с компонентами ,...,уг , а (п х г)-матрица (£) имеет вид Q1 (£) = (Вх (£)хх,..., Вг (Ь)х^. Наконец, нелинейные слагаемые можно записать в следующей форме:
Н
г /
1 (У1,Ь) = £Ві(ЬА П1і(Ь){2
і=1
(Х1 — Х2 )уі У2
+
(Х1 — Х2 )2 (Х1 — Х2)
+ п2і (Ь)
У12
(Х2 — Х1 )2
У1 +
і=1
(Х1 — Х2 )2
(Х2 — Х1 )2
Х1.
Численная реализация. Для проверки работоспособности предложенного метода синтеза многопрограммных управлений в среде МаНаЪ была написана программа. Приведем результаты тестового примера для системы (1) второго порядка с постоянными коэффициентами при N = п = г = 2. Коэффициенты системы
А=
5 4
12
В1 =
2 0 2 2
В
2
4 4 0 4
Г
—8
3
(17)
Рис. 1. Аппроксимация нелинейной части системы в отклонениях
0.5
0-
0
*>12
0.4 0.8 1.2
б
1.6
Рис. 3. Дискретные стабилизирующие управления уц (а) и у\2 (б)
В качестве пар программных управлений и программных движений были выбраны наперед заданные положения равновесия системы
Х1 =
-32
-1
Х2 =
-4
1
которые обеспечиваются программными управлениями
( -1, 84 \ ( -0, 67
U1 Д -0, 37 ) , U2 Д -1, 09
Для аппроксимации нелинейных слагаемых системы в отклонениях разобьем пространство на области Qj, j = 1,4, в зависимости от знаков уи^ i = 1,2. Результаты аппроксимации приведены на рис. 1.
Для перевода системы (1), (17) из начальной точки хо = (-1, 2) в положение равновесия xi за время T =2 построено дискретное стабилизирующее управление vi с компонентами \vu | ^ 1. Движение системы под действием этого управления изображено на рис. 2. На рис. 3, а, б приведены графики дискретных стабилизирующих управлений vii и vi2 соответственно.
5. Заключение. Следует отметить, что предложенный в настоящей работе подход достаточно универсален. Он может применяться для решения аналогичных задач
в разных классах управляемых систем. Например, в [11] предложены методы построе-
ния программных управлений в квазилинейных системах, а в статье [12] рассмотрена исключительно актуальная задача стабилизации плазмы. В обоих случаях представляет интерес задача многопрограммного управления, поскольку для систем управления, функционирующих в реальных условиях эксплуатации, свойство многопрограмм-ности является дополнительным преимуществом.
Литература
1. Зубов В. И. Лекции по теории управления. М.: Наука, 1975. 496 с.
2. Зубов В. И. Математические методы исследования систем автоматического регулирования. Л.: Изд-во Ленингр. ун-та, 1974. 336 с.
3. Зубов В. И. Интерполяция систем дифференциальных уравнений // Докл. АН СССР. 1991. Т. 318, № 1. С. 28-31.
4. Зубов В. И. Синтез многопрограммных устойчивых управлений // Докл. АН СССР. 1991. Т. 318, № 2. С. 274-277.
5. Smirnov N. V., Smirnova T. E. Stabilization of programmed motions family of the bilinear system in the case of r-dimensional control // Proc. of the fifth Intern. workshop “Beam Dynamics and Optimization (BDO’98)”. St. Petersburg, Russia, June 29 - July 3, 1998. St. Petersburg, 2002. P. 131-134.
6. Смирнов Н. В., Смирнова Т. Е. Синтез многопрограммных управлений в билинейных системах // Прикл. математика и механика. 2000. Т. 64, № 6. С. 929-932.
7. Смирнов Е. Я. Стабилизация программных движений. СПб.: Изд-во С.-Петерб. ун-та, 1997. 307 с.
8. Альсевич В. В., Габасов Р., Глушенков В. С. Оптимизация линейных экономических моделей. Статические задачи. Минск: Изд-во Белорус. гос. ун-та, 2000. 210 с.
9. Габасов Р., Кириллова Ф. М., Ружицкая Е. А. Демпфирование и стабилизация маятника при больших начальных возмущениях // Изв. АН. Сер. Теория и системы управления. 2001. № 1. С. 29-38.
10. Балашевич Н. В., Габасов Р., Кириллова Ф. М. Численные методы программной и позиционной оптимизации для линейных систем // Журн. вычисл. математики и мат. физики. 2000. Вып. 40, № 6.
С. 838-859.
11. Демидова А. М., Квитко А. Н. Решение граничной задачи для квазилинейных управляемых систем // Вестн. С.-Петерб. ун-та. Сер. 10: Прикладная математика, информатика, процессы управления. 2006. Вып. 1. С. 140-147.
12. Макеев И. В. Синтез систем стабилизации плазмы с учетом требований к их динамическим и робастным свойствам // Вестн. С.-Петерб. ун-та. Сер. 10: Прикладная математика, информатика, процессы управления. 2008. Вып. 3. С. 63-70.
Статья рекомендована к печати проф. А. П. Жабко. Статья принята к печати 5 марта 2009 г.