ИЗВЕСТИЯ РАН. ТЕОРИЯ И СИСТЕМЫ УПРАВЛЕНИЯ, 2012, № 4, с. 14-25
= ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ =
УДК 517.977.58
МЕТОД ПОСЛЕДОВАТЕЛЬНОГО УЛУЧШЕНИЯ ВТОРОГО ПОРЯДКА ДЛЯ ДИСКРЕТНЫХ УПРАВЛЯЕМЫХ СИСТЕМ © 2012 г. С. Б. Бадмацыренова, В. А. Батурин
Иркутск, Институт динамики систем и теории управления СО РАН Поступила в редакцию 24.05.11 г., после доработки 06.12.11 г.
Рассматривается алгоритм улучшения второго порядка для дискретной по времени задачи оптимального управления со свободным правым концом. Применяется подход к решению этой задачи на основе разложения по параметру конструкций метода, предложенного в [1]. Приводится новый алгоритм для таких систем.
Введение. В настоящее время разработано достаточно большое количество методов решения задач оптимального управления, в частности, и для дискретных управляемых систем [2—14]. Один из таких методов предложен в [1] — метод улучшения второго порядка, основанный на достаточных условиях оптимальности В.Ф. Кротова [15], который включает трудоемкую процедуру решения дискретного нелинейного векторно-матричного уравнения на каждой итерации алгоритма. Предлагается подход к упрощению с вычислительной точки зрения этой процедуры с помощью разложения основных конструкций метода по параметру. Данный подход применялся для непрерывных систем и опубликован в [16].
1. Постановка задачи. Пусть математическая модель управляемого объекта описывается системой
х(1 + 1) = /(1, X (г), и(г)), х(*0) = х0, г е Т = {^ ¿0 + 1.....Ь}, (1.1)
где функция х(1) принимает значения в евклидовом пространстве Я", и(1) е Я™, ? е Т. Функцию х(1) будем называть фазовой переменной или состоянием, и(1) — управлением. Множество пар (х(0, и(0), удовлетворяющих соотношению (1.1), будем называть множеством допустимых и обозначать Б. Определим функционал
¿1 -1
1(Х, и) = Г(х(¿1)) + /0(г, X(г), и(г)). (1.2)
г0
Под задачей оптимального управления для дискретных систем будем понимать задачу о поиске последовательности {(х/0, иДО)} с Б, на которой
1(х,(г), и,(г))^ Ш7.
в
Такую последовательность будем называть минимизирующей. Если на элементе (х*(0, и*(0) е Б
функционал I = 'тП, то х*(0 — оптимальная траектория, и*(1) — оптимальное управление.
в
2. Метод второго порядка для дискретных систем. Для решения поставленной задачи используются итерационные методы, где на каждой итерации решается задача улучшения: по заданным х1(1) и и1(1) находятся хп(?) и ип(0, такие, что !(хп, и11) < Дх1, и1). Согласно [1], решение задачи улучшения обеспечивается разложением функционала
к -1
ьа(X, и) = оа(X(г1)) - £ яа(г, X(г), и(г)),
где оа (X (г 1)) = а (^)) + ф( гь x( ^)) - ф( г(ъ X (г0)),
Г(X, х(X), и(X)) = ф(X + 1,/(X, х(X), и(X))) - ф(X, X(X)) - а/°(X, х(X), и(0) - ^А"1 '
|АИ = и - и1 (X), а е [ 0, 1 ],
до слагаемых второго порядка, а функция ф(Х, х) находится из условий, доставляющих отрицательное приращение функционала Ьа. В этой процедуре функция Кротова задается в линейно-
квадратичном виде ф(Х, х) = у'(Х)Ах + 1- Ах'а(Х)Ах, где у(Х) — п-вектор, а(Х) — п х п-симметрическая
матрица, Ах = х — х*(Х) (здесь и далее штрих — операция транспонирования). На множестве допу-
1 — а
стимых Б выполняется соотношение Ьа(х, и) = а/(х, и) +---— |Аи|2 и при а = 1 Ьа = I. В результате получен метод улучшения второго порядка для дискретных задач оптимального управления вида (1.1), (1.2), состоящий из следующих основных этапов.
1. Задается управление и*(Х) и из системы (1.1) находится х*(Х), вычисляется /(х1, и1) по формуле (1.2).
2. Задается параметр а е (0, 1]. Из системы
у(X) = на - (/>(X + 1 )/и + <„)(/>(х + 1 )/и + Нии - (1 - а)Е)-1 на, (2.1)
а(0 = /Ха(Х + 1/ + НХ - (/>(? + 1)/и + H1Жа{X + 1)/и + Нии - (1 - а)Е)-1 (/>(? + 1/ + Ни)', (2.2)
у( Х1) = -а (х'( Х1)), а( ^) = -а Ехх (х1 (^)) (2.3)
вычисляются у(Х) и а(Х), где На(Х, х(Х), у(Х + 1), и(Х)) = у'(Х + 1)/(X, х, и) — а/0(X, х, и), производные функции На подсчитываются в точке (X, х*(Х), у(Х + 1), и1(Х)).
3. Из системы х(Х + 1) = /(X, х(Х), и (X, Ах)), х(Х0) = х0, где и (X, Ах) = и1(Х) + Аи(Х, Ах),
А и (X, Ах) = -(/>(? + 1/ + НИи - (1 - а) Е)-1 х X [Ни + (них + /.'а(х + 1)/х)Ах], Ах = х(X) - х1 (X),
вычисляется хп(Х) и ип(Х) = иг(Х) + Аи(Х, хп(Х) — хх(Х)).
4. Сравниваются значения функционалов /(х11, и11) и /(х1, и1), если улучшения не произошло, то параметр а уменьшается и процедура повторяется, начиная с шага 2.
Наиболее трудоемкой процедурой является решение дискретного векторно-матричного уравнения (2.1)—(2.3) на каждой итерации алгоритма. При изменении параметра а процесс повторяется, что приводит к большим вычислительным затратам. Также от значения параметра зависит улучшение функционала на каждой итерации. Рассмотрим задачу выбора параметра а на каждой итерации приведенного метода.
Согласно алгоритму, функции у, а, и зависят от а, что подчеркнем, указав их аргументы: и (X, х, у(Х + 1, а), а(Х + 1, а), а). Система уравнений и функционал для нахождения нового состояния х(Х) имеют вид
х(X + 1) = /(X, х(X), И(X, х(X), у(X + 1, а), а(X + 1, а), а)), х(Xo) =о,
X! - 1
I = Г(х(Xl)) + 0(X, х(X), И(X, х(X), у(X + 1, а), а(X + 1, а), а)).
Введем обозначения:
/(X, х(X), И(X, х(X),у(X + 1, а), а(X + 1, а), а)) = g(X, х(X), а),
/°(X, х(X), И(X, х(X), у(X + 1, а), а(X + 1, а), а)) = g0(X, х(X), а).
Тогда получаем следующую одномерную задачу минимизации вида:
х(t + 1) = g(t, x(t), а), x(t0) = Xo, (2.4)
ti -1
/(а) = F(x(t1)) + У g°(t, x(t), а) ^ min, (2.5)
а
to
где а e [0,1].
3. Вывод формул для нахождения функций ya(t, а) и oa(t, а). Поскольку параметр а скалярный, то на итерациях алгоритма можно применять процедуру одномерной минимизации. Однако эта процедура потребует значительных вычислительных ресурсов, поскольку при каждом подсчете
функции I (а) потребуется рассчитывать систему (2.1)—(2.3). Так как функции вспомогательной системы зависят от параметра а, на что указывают их аргументы у(t, а) и a(t, а), то их можно рассчитывать с помощью тейлоровской аппроксимации первого порядка по параметру а:
у( t, а) = у( t, а *) + уа( t, а* )(а - а *), ст( t, а) = ст( t, а *) + ста( t, а * )(а - а*),
избежав тем самым многократного расчета дискретных цепочек (2.1)—(2.3). Функции ya(t, а) и aa(t, а) являются производными функций y(t, а) и a(t, а) по а и находятся из системы, полученной с помощью дифференцирования системы (2.1)—(2.3) по а. Имеем
Уа(t, а) = -Г -
аа
-(/>(t + 1, а/ + Hu)](fu't + 1, а)/и + HUu - (1 - а)E)-1 H + .а а _
+ (/>( t + 1, а/ + Hu)(/>( t + 1, а/ + Huu - (1 - а) E)-1 х
х (fXt + 1, а/ + Huu - (1 - а)E)l(/>(t + 1, а/ + Huu - (1 - а)E)-1 H -_d а J
-1 jh
- (f>(t + 1, а)fu + H)(/>(t + 1, а/ + Hu - (1 - а)E)- ------,
аа
где производные функции Ha находятся в точке (t, xJ(t), y(t + 1, а), ul(t)), или
Уа(U а) = На + HVУа(t + 1, а) - (/>а(t + 1, а)/и + -Tua + HuVУа(t + 1, а)) Х
х (/>(t + 1, а/ + Huu - (1 - а)E)-1 H + + (/>(t + 1, а)fu + Hu)(/>(t + 1, а/ + Hm - (1 - а)E)-1 х Х (/Х(t + 1, а)Л + —ua + HuVУа(t + 1 а) + E) Х х (/>(t + 1, а/ + Huu - (1 - а)E)-1 H - (/>(t + 1, а/ + Hu) х х (/>(t + 1, а/ + Huu - (1 - а)E)-1 (Ha + Н¥Уа(t + 1, а)).
Обозначив H(t, x(t), ya(t + 1, а), u(t)) = у ä (t + 1, а) / (t, x, u) — /0(t, x, u), найдя производные от функции Ha и выполнив ряд преобразований, получим
Уа( t, а) = Hx( t, х( t), Уа( t + 1, а), и( t)) - (/>a( t + 1, а/ + Hxu( t, x\ t), Уа( t + 1, а), u1 (t)) х
х (/u'a(t + 1, а/ + Hm - (1 - а)E)-1 H +
+ (/«a(t + ^ + + ^ + Hu- (1 - а)E)-1 х (3.1)
х (/>a(t + 1, а/ + Huu(t, x1 (t), Уа(t + 1, а), u1 (t)) + E) х
х (/>(t + 1, а/ + Ни - ( 1 - a)E)-1H - (/>(t + 1, а/ + Ни) х х (/>(t + 1, а)/, + Ни - ( 1 - а)E)-4(t, xJ(t), Va(t + 1, а), u(t)). Аналогичным образом дифференцированием уравнения (2.2) по а находим
CTa(^ а) = f>a(t + 1,а/ + Н**(t, t), Va(t + 1, а), t)) - OXXt + 1,а)/и +
+ Hu(t, x1 (t), Va(t + 1, а), u\t)))(f'a(t + 1, а/ + Нт - ( 1 - а)E)-1 х х ОХt + 1 а)/и + НиУ + ^Xt + 1, а)/и + Ни)(/>(t + 1, а)/и + Ни -
- ( 1 - а)E)-1 (f'aa(t + 1, а/и + Ни(t, x\t), t + 1, а), и1 (t)) + E) х (3.2) х (/>(t + 1, а)/и + Hm - ( 1 - а)E)-1 (/>(t + 1, а/ + Ни)' -
- (/>(t + 1, а/ + Ни)(/>(t + 1, а/ + Ни - ( 1 - а)E)-1 х х f>a( t + 1, а/ + НХи( t, x1 ( t), Va( t + 1, а), и( t))]'. Дифференцируя граничные условия (2.3), имеем
Va( ^ а) = -Fx(x'( t1)), (33)
CTa(t1, а) = -Fxx(xI(t1 )).
Таким образом, векторно-матричная система (3.1)—(3.3) — линейна относительно функций ya(t, а) и aa(t, а), при использовании которой можно получить приближенное представление функций y(t, а) и a(t, а) без многократного расчета системы (2.1)—(2.3).
4. Алгоритм улучшения. Полученный подход позволяет создать новый алгоритм улучшения второго порядка. Преимуществами этого алгоритма являются: 1) наличие выбора значения параметра с помощью решения задачи одномерной минимизации; 2) быстрый расчет y(t, а) и a(t, а).
Шаг 1. Задаем управление uJ(t), из системы (1.1) находим xJ(t).
Шаг 2. Задаем значение параметра: а = а1.
Шаг 3. Из системы (2.1)—(2.3) при а1 вычисляем y(t, а1) и a(t, а1).
Шаг 4. Из уравнений (3.1)—(3.3) находим ya(t, а1) и aa(t, а1).
Шаг 5. Из дискретной цепочки x(t + 1) = f(t, x(t), u1 + Au(t, Ax, а)), x(t0) = x0, где
A и ( t, Ax, а) = -(/>( t + 1, а/ + Ни - ( 1 - а) E)-1 х
х [Н + (Н* + /Xt + 1, а/)Ax], Ax = x - x1,
при этом производные функции Ha находятся в точке (t, xJ(t), y(t + 1, а), uJ(t)) и
у(t, а) = у(t, а1 ) + ya(t, а1 )(а - а1 ),
ст(t, а) = ст(t, а1 ) + aa(t, а1 )(а - а1 ),
определяем xn(t, а), un(t, а) = uJ(t) + Au(t, xn(t) — xJ(t), а), параметр а выбирается из условия одномерной минимизации /(а) = I(xll(t, а), un(t, а)) по а е (0, 1].
Шаг 6. Если I(xn, u11) < I(xl, u1), то (x11, u11) принимаем за новое приближение, в противном случае величина а1 уменьшается и процесс повторяется с шага 3.
5. Алгоритм улучшения с a^art = 0. Рассмотрим случай, когда начальное(стартовое) значение параметра равно нулю. Покажем, что при а1 = 0 система (2.1)—(2.3) имеет тождественные нулю решения y(t, 0) = 0 и a(t, 0) = 0. Граничные условия на правом конце равны нулю y(t1, 0) = a(t1, 0) = 0, и слагаемые системы
Ни = />(t +
Для дальнейшего прочтения статьи необходимо приобрести полный текст. Статьи высылаются в формате PDF на указанную при оплате почту. Время доставки составляет менее 10 минут. Стоимость одной статьи — 150 рублей.