ИЗВЕСТИЯ РАИ. ТЕОРИЯ И СИСТЕМЫ УПРАВЛЕНИЯ, 2008, № 2, с. 50-56
ДИСКРЕТНЫЕ СИСТЕМЫ
УДК 517.977.54
ЧИСЛЕННЫЕ МЕТОДЫ СИНТЕЗА ИМПУЛЬСНЫХ УПРАВЛЕНИЙ
ДЛЯ ЛИНЕЙНЫХ СИСТЕМ*
© 2008 г. А. Н. Дарьин, А. Ю. Малакаева
Москва, МГУ Поступила в редакцию 18.04.07 г.
Описываются численные алгоритмы синтеза импульсных управлений для линейной системы, основанные на аппроксимации многогранниками множеств достижимости и полярных множеств. Показывается связь последних с функцией цены в методе динамического программирования. Приводятся результаты численного моделирования.
Введение. Задачи минимизации вариации управления на траекториях линейной управляемой системы [1-3] возникают при управлении мгновенными коррекциями движения в пространстве, в системах с коммуникационными ограничениями, в гибридных системах. Соответствующие оптимальные управления имеют импульсный характер, т.е. являются обобщенными функциями.
Решения задач импульсного управления искались в основном в классе программных управлений [4-6]. Применение методов динамического программирования [7, 8] дает возможность представить оптимальное значение вариации в виде решения квазивариационного неравенства типа Гамильтона-Якоби-Беллмана (Г-Я-Б) [9] и исходя из этого указать множество состояний, в которых совершается скачок, и величины этих скачков, т.е. найти синтез импульсных управлений. Такой подход также позволяет решать задачи, допускающие управления в виде производных обобщенных функций (см. [2]).
В данной работе описываются численные алгоритмы построения синтеза импульсных управлений для линейной системы, основанные на аппроксимации многогранниками множеств достижимости и полярных множеств. Показывается связь последних с функцией цены, приводятся результаты численного моделирования.
1. Постановка задачи. Рассмотрим задачу импульсного управления
J( и(•)) = Уаг и(•) — М, (1.1)
йх( г) = А (г) х (г) йг + В( г) йи( г), х(г0) = х0, х(гх + 0) = 0.
* Работа выполнена при финансовой поддержке РФФИ (грант < 06-01-00332), программы государственной поддержки ведущих научных школ РФ (грант < НШ-5344.2006.1) и научной программы "Развитие научного потенциала высшей школы" (проект < РНП 2.1.1.1714).
Здесь x(t) е Rn - фазовый вектор - функция ограниченной вариации, непрерывная слева и справа имеющая предел, U(0 е BV([t0, tj; Rm) - обобщенное управление, Var U( ■ ) - полная вариация
[t0, ti]
управления на отрезке [t0, tj, BV([t0, tj; Rm) - пространство функций ограниченной вариации со значениями в Rm. Матричные функции A(t) е Rn х n, B(t) е Rn х m непрерывны. Будем считать, что функция x(t), являющаяся решением (1.2), непрерывна слева при всех t. Конечный момент времени t1 фиксирован. Задача с правым концом, отличным от нуля (x(t1 + 0) = x1) может быть сведена к (1.1) - (1.2) заменой переменных.
Задача 1. Найти синтез управлений в задаче (1.1) - (1.2), т.е. указать множество J ç [t0, t1] х Rn состояний (t, x), в которых управление имеет импульс, и значение этого импульса в зависимости от состояния, т.е. функцию v(t, x) : J —»- Rm {0}. Предположим, что синтез управлений не допускает последовательных скачков в один момент времени: если (t, x) е J, то для точки x' = x + Bv(t, x) верно (t, x') е J. После изложения численных алгоритмов для задачи 1 будет указано, каким образом они могут быть применены к минимизации функционала типа Майера-Больца и к задаче с производными обобщенных функций (далее задачи 2 и 3 соответственно).
Задача 2. Найти синтез управлений (множество J и функцию v) для задачи минимизации функционала
J(и(■ )) = Var U(■ ) + ф(x(ti + 0))— inf,
[ t0. ti]
где заданная терминальная функция 9(x) - собственная, замкнутая, выпуклая [10].
Подробная постановка задачи для системы с производными обобщенных функций приводится в [2]. Считаем, что матричные функции A(t), B(t)
являются k раз непрерывно дифференцируемыми на интервале (а, в) з [г0,
Задача 3. Найти синтез управления - множество состояний X в которых происходят скачки, и значения импульсов каждого порядка v0(t, x), v1(t, x), ..., vк(t, x) в этих состояниях для задачи минимизации функционала
^ <U <■ )> = n * (§
inf
при условии (1.2). Здесь N* - сопряженная норма
N(y( t)) =
i
2„2
= тах (||¥(t)||2 + |'(t)|| + ... + 1 1Ук)(t)|| )
г е [г0, г1]
на пространстве Окт[г0, к раз дифференцируемых функций со значениями в Кт. При этом если (?, X) е Х то в окрестности момента ? управление имеет вид
dU< t) = ^ V ;< t, X )5< i)< t -?)
(1.3)
i = 0
2. Метод динамического программирования.
Напомним необходимые факты из [7, 8]. Функцией цены У(г0, г1) задачи 1 называется оптимальное значение вариации управления
У(г0, х0) = {3(и(■ ))| при условии (1.2)}.
и (■)
Она может быть представлена как [4]
<р, X(г 1, г)х>
V< t, X) = sup
-Г»'1
p е R
\\B < ■)< ti, ■)p||c[to, ti]
(2.1)
где X(t, т) - фундаментальная матрица, т.е. решение задачи Коши для матричного дифференциального уравнения дХ(/' т ) = A(t)X(t, т), Х(т, т) = I.
at
Функция цены V(t, x) является вязкостным решением квазивариационного неравенства типа Га-мильтона-Якоби-Беллмана
min{И(t' X' V„ Vx)' Я2(t' X' Vt' Vx)} = 0,
И (t' x) = Иj (t' X' Vt' Vx) = Vt + < Vx' A(t)x>,
H2 < t, X ) = H2 < t, X, Vt, Vx ) =
= min < Vx, B < t) u) + 1 = 1-|\bt < t) Vx
u е ^i
с начальным условием
(2.2)
V(ti, x) =
IB < t1)XI, x е imB; +^ иначе.
Здесь - единичная сфера в пространстве Кт с центром в нуле, символ © означает псевдооб-
ратную матрицу. В соответствии с (2.2) в любой позиции (t*, x*) имеем одну из двух возможностей: либо И1 = 0, и тогда можно выбрать dU(t*) = 0; либо И1 > 0, тогда обязательно И2 = 0, и управление должно совершить скачок в направлении -BT(t*)Vx, т.е. управление в окрестности этой точки имеет вид dU(t) = -aBT(t*) Vx5(t - t*). При этом величина скачка а определяется из условий
И2(t*' x*' -вBT(t*) Vx(t*' x*)) = 0, в e [0' a];
И1(t*' x*' -aBT(t*) Vx(t*' x*)) = 0.
3. Численные алгоритмы. Функция цены (2.1) является положительно однородной по аргументу x. Следовательно, ее можно представить в виде калибровочной функции
V(t, x) = min{a > 0 | a-1x e X1[t]}, (3.1)
где X1[t] - непустой выпуклый компакт. Поскольку X1[t] = {x|V(t, x) < 1}, то X1[t] - множество достижимости системы (1.2) в обратном времени из
точки x(t1 + 0) = 0 при условии VarU (■) < 1
[ t' tj]
Xj[t] = Xj(t; tj' 0) = = { x (t; tj + 0' 0| U )| Var (U( s ))< J},
s e [t' tJ]
здесь x = x(t; t1 + 0, 0 | U) - решение системы при управлении U с начальным условием x(t1 + 0) = 0. В силу положительной однородности функцию цены также можно представить в виде опорной функции непустого выпуклого компакта Z[t]
V(t' x) = p(x|Z[t]) = sup <x' p>.
p e Z[t]
Множество Z[t] будем называть полярным множеством. Описываемые численные методы основаны на аппроксимации множеств Xx[t] и Z[t] выпуклыми многогранниками.
3.1. Множество достижимости. Множество достижимости Xx[t] может быть представлено в виде выпуклой оболочки точек, достижимых одним импульсом единичной амплитуды [3]
XJ[t] = conv О О {X(t' т)B(т)u}. (3.2)
т e [t' tj] ||u|| = J
Внутреннюю аппроксимацию множества достижимости Xx[t] выпуклым многогранником можно получить, заменив в (3.2) отрезок [t, tj на конечное множество точек t = т0 < т < ... < % = tx и единичную сферу {||u|| = 1} на конечное множество единичных векторов uj, ..., uM (в случае m = 1 выбираем M = 2, u1 = -1, u2 = 1). Таким образом, сформируем множество
Xj [ t] =
= conv О О {Х( итЩт) u }с XJ [t].
te {т,... %} u e {^...um }
k
Применив к нему алгоритм построения выпуклой оболочки [11], получим набор из N граней. Каждая грань описывается п вершинами - линейно независимыми векторами х{, ..., х'п, у = 1, ..., N.
Опишем, каким образом можно вычислить верхнюю оценку для функции цены
у(г, х) = шт{а> 0|а-1 хе г]}. (3.3) Составим для каждой грани у выпуклой оболочки множества XX1 [ г ] матрицу
М: = (х{, ..., х}п) е Кпхп.
жен но базису x[, ..., xJn, при этом коэффициенты множество Z[i] может быть представлено в виде (см. [8])
Произвольный вектор х е Кп может быть разложен по базису х{, ..., х}п, при этом коэффициенты разложения вычисляются с помощью матрицы Му
п
х = ^к^, к = М- Ь
Замечание 1. В целях решения задачи синтеза необходимо вычислить множество Х1 [ г] для заданного набора моментов времени т0 < т < < ... < тК. При этом соответствующие выпуклые оболочки можно вычислять последовательно, воспользовавшись представлением
Х1 [т,--1 ] = еопу] (Х(т,--1,т)Х1 [т,-])и
u( U { B u )})k
u e {ui, ..., uM} J
3.2. Полярное множество. Полярное
x.
i = 1
Найдем номер j, для которого x е cone {х{, ..., xJn} -конусу. Последнее эквивалентно условию X, > 0, i = 1, ..., n. Рассмотрим точку y = Л-1х, Л = = У? =1 X, = <1, X), 1 = (1, ..., 1)Т. Поскольку
У?_ 1 (M-1 y= <1, M-1 y) = 1, то точка y лежит на
грани j. Следовательно, V(t, y) = 1. Воспользовавшись положительной однородностью функции цены, получаем
V(t, х) _ <(Mj1 )Т 1, х), Mj1 х > 0.
г[г] = п {Р\\\вт(т)хт(г,т)р\\ < 1}.
те [г,г!]
Зададим К + 1 моментов времени г = т0 < т < ... < < тк = г1 и М единичных векторов и1, ..., иМ е К™ (в случае т = 1 выбираем М = 2, щ = 1, и2 = -1), тогда
z [ t ]с z [ t ] =
П П {p| <p, X(t,T)B(t)u>< 1}.
те {т0...тх} u e {u0^uM}
(3.4)
Множество г [ г] - внешняя оценка полярного множества г[г], поэтому функция
У(t, x) = sup < x, p>
P e Z [ t]
(3.5)
Отсюда можно найти и градиент функции у (в тех является верхней оценкой для функции цены У(г, х).
точках, где он существует)
Vx(t, x) = (Mj1)T1, Mj1 x > 0.
В позиции (t, x) управление может иметь импульс, если выполнено условие (см. [8])
||bt(t)vj| > 1 ^ \\ßT(t)(M-1 )T i|| > 1,
при этом направление импульса u = -BT(t)( M-1 )T1. Найдем амплитуду импульса а, такую что импульс в момент t равен u = а u. Для этого потребуем, чтобы после скачка траектория системы пришла на границу грани j
а = max{a|M-1(x + aB(t)u > 0)}.
Значение а можно определить следующим образом. Пусть X = M-1 x, ц = M-1 B(t) u, тогда
а = min { -X; ц-1 |ц; < 0 }.
i = 1, ..., n
Мы использовали то же обозначение (V), что и в предыдущем разделе, поскольку при од
Для дальнейшего прочтения статьи необходимо приобрести полный текст. Статьи высылаются в формате PDF на указанную при оплате почту. Время доставки составляет менее 10 минут. Стоимость одной статьи — 150 рублей.