ШБН 2079-3316 ПРОГРАММНЫЕ СИСТЕМЫ: ТЕОРИЯ И ПРИЛОЖЕНИЯ № 4(4), 2010, с. 85-104
УДК 517.977
В. И. Гурман, Е. А. Трушкова
Приближенные методы оптимизации управляемых
процессов
Аннотация. Статья посвящена новым приближенным методам оптимального управления на основе достаточных условий оптимальности, улучшения и принципа расширения и их реализации в программно-алгоритмическом комплексе параллельных вычислений для решения задач улучшения и приближенно-оптимального синтеза управления. Приводятся примеры, демонстрирующие эффективность предлагаемых методов при параллельной реализации.
Ключевые слова и фразы: оптимальное управление, приближенные методы, приближенный оптимальный синтез, параллельные вычисления.
1. Введение
Приближенные и вычислительные методы—обширная и ставшая самостоятельной область исследований и разработок в теории оптимального управления, нацеленных на эффективное решение практических задач. Исторически развитие этих методов началось одновременно с созданием современной теории оптимального управления.
Одно из направлений в этой области базируется на достаточных условиях оптимальности Кротова и принципе расширения [1—8], отличающимися значительным многообразием подходов и результатов. В основном это — различные итерационные процедуры улучшения управляемых процессов, как и в других школах. Спецификой является априорно приближенный подход, возможность оценивания получаемых приближенных решений и использование характерного свойства вырожденности прикладных задач и соответствующих специальных методов для поиска начальных приближений, что, как известно, является критическим моментом при использовании итерационных улучшающих алгоритмов.
Работа выполнена при финансовой поддержке РФФИ (проекты №№ 08-01-00274^, 09-01-00170-а.)
© В. И. Гурман, Е. А. Трушкова, 2010 © Программные системы: теория и приложения, 2010
В последнее время интенсивно развиваются новые методы, ориентированные на параллельные вычисления с учетом высокой степени возможного параллелизма, обусловленного самой природой рассматриваемого класса задач как задач систематического сравнения вариантов с параметрами, распределенными в пространстве состояний.
Систематически применяются различные приближенные преобразования модели объекта, аппроксимация в среднем моделей и функции Кротова с целью упрощения для эффективного поиска приближенных решений и их оценок. В частности, улучшение рассматривается как оптимизация в окрестности текущего приближения на упрощенной аппроксимации модели объекта. На этапе вычислений производится дискретизация непрерывных моделей управляемых систем, и задачи рассматриваются в дискретной постановке.
Помимо прямого назначения—решения широкого круга прикладных задач оптимального управления, разрабатываемые алгоритмы и программы могут быть использованы для исследования свойств управляемых систем, оценки их интегральных характеристик, таких как множества достижимости и управляемости, для решения сложных систем уравнений вариационными методами и т. п.
Цель данной статьи—представить недавние результаты, полученные в этом направлении, в связи с созданием, развитием программноалгоритмического комплекса улучшения и приближенно оптимального синтеза управления (ПК ISCON) на суперкомпьютерах кластерного типа [9].
2. Общие задачи оптимизации и улучшения. Принципы расширения и локализации
Пусть на некотором множестве M с элементами m задан функционал I : M ^ R. С помощью дополнительных условий и ограничений задано множество D с м, называемое допустимым множеством.
Задача оптимизации состоит в следующем. Требуется найти такой элемент m* из D, на котором функционал I достигает наибольшего или наименьшего значения: m* G D : I(m*) = max I, т. е.
D
I(m*) > I(m) для всех m G D, или I(m*) = min I, т. е. I(m*) < I(m) для всех m G D. Задача о максимуме сводится к задаче о минимуме заменой знака фукционала, поэтому далее будем рассматривать только задачу о минимуме.
Решение в такой постановке задачи в общем случае может не существовать. Поэтому рассматривается более общая постановка задачи в которой решение заведомо существует: найти минимизирующую последовательность {ms} С D: I(ms) ^ inf I .
Задача улучшения состоит в следующем. Пусть задан элемент m1 G D. Требуется найти элемент m11 G D, на котором I меньше: I(m11) < I(m1). Решая эту задачу итерационно, можно получить улучшающую, в частности, минимизирующую последовательность {ms}.
Для решения этих взаимосвязанных задач применяются принципы расширения и локализации. Принцип расширения состоит в том, чтобы заменить исходную задачу оптимизации со сложными ограничениями, другой, более простой задачей, где исключены те или иные связи, но такой чтобы ее решение удовлетворяло отброшенным связям и совпадало с решением исходной задачи [5]. Более точно, вводится множество E, содержащее D, D С E. Вводится новый функционал L(m), который определен на множестве E, L : E ^ R, такой что на множестве D L(m) < I(m), в частности, L совпадает с I.
Лемма 1. Пусть имеется последовательность расширений |(E, L)^j, удовлетворяющая условиям
Ee D D, Le (m) < I (m), m G D,
последовательность нижних границ {Ip}, Ip < Lp (m) на E^, и последовательность {ms} С D, такие что
(1) lim I(ms) = lim Ip.
s—то p—— ^o
Тогда последовательность {ms} — минимизирующая в задаче (D,1), и любая (D,1 )-минимизирующая последовательность удовлетворяет условию (1).
Принцип локализации [2] состоит в том чтобы сводить задачу улучшения к задаче оптимизации в окрестности известного элемента m1. Для того чтобы решение не вышло из заданной окрестности, надо локализовать задачу добавив с определенным весом к I функционал J типа нормы, такой что
J(mI,mI)=0, J(mI,m) > 0, m = m1.
Получается вспомогательный функционал
Ia(m) = (1 — a)/ (m) + aJ(m1, m), 0 < a < 1,
При а = 1 получаем Ia(m) = J(m1, m). Очевидно, m1 = arg min Ia(m).
Лемма 2. (Принцип локализации) Пусть при 0 < а < 1 3 ma = m1 такое, что Ia(ma) = min Ia(m). Тогда I(ma) < I(m1).
Таким образом, минимизация вспомогательного функционала Ia( m) приводит к локальному улучшению исходного функционала I в сколь угодно малой окрестности m1. В этой окрестности функционал Ia(m) можно аппроксимировать упрощенной моделью, допускающей простое, возможно аналитическое, решение задачи минимизации (например, линейно-квадратической), которое также будет улучшать исходный функционал. Очевидно, меняя параметр а, можно добиться наиболее эффективного улучшения, т. е. его можно рассматривать как регулятор.
3. Улучшение управления. Дискретные процессы
Рассмотрим постановку задачи улучшения как следующую конкретизацию общей задачи. За множество M примем совокупность всевозможных пар функций m = (x(t), u(t)), x G К”, u G Kp. Множество D выделяется из M следующими связями и ограничениями:
( x(t + 1) = f (t, x(t), u), t G {ti, tI + 1, .. ., tF},
\ x(tI) = xI, x(tF) G Г, x(t) G X(t),u G U (t,x(t)),
Функционал задается как функция конечного состояния I = F (x(tp)).
Из принципа расширения, где L = I на D, вытекает факт: если имеется два элемента m1, m11 G D, то
L(m!) > L(mn) ^ I(m1) > I(m11).
Множество E получается исключением дискретной цепочки. Функционал L строится как обобщенный лагранжиан с помощью вспомогательной неопределенной функции ^ (t, x) следующим образом:
t F — 1
L = G(x(tF)) + R(t, x(t), u(t)),
ti
где
R(t, x, u) = ^ (t + 1, f (t, x, u)) — (t, x),
G(x) = F(x) + <^(tf, x) — ^(ti, xi).
Задача улучшения L проще исходной, потому что она рассматривается без рекуррентной связи (дискретной цепочки).
Пусть Х(4) = Г = М” . Если задача дана с другими ограничениями, то избавиться от дополнительных ограничений можно известным методом штрафов [10].
3.1. Улучшение по принципу локализации
Вводится новое уравнение
х°(4 + 1) = х°(*) + (м — м1^))2,
где м1^) соответствует нашему заданному элементу ш1 = (ж1 (¿^м1^)). Функционал 1а будет записан так
1а = (1 — а)Д (х(£^)) + ах°(^).
Функцию ^ будем задавать линейной,
у>(£, х) = 0т(4)х + ^(¿),
и минимизировать (приближенно) соответствующий 1а функционал Ь, тогда дело сводится к минизации отдельно О и максимизации отдельно Д, где
О(х, х°) = (1 — а)Д(х) + 0Тх(£_р) + V(^) + ах° + -0°(£_р)х°,
Д = 0Т(4 + 1)/(4, х, м) — 0т(4)х + V(4 + 1) =
= 0°(4 + 1)(х° + (м — мт(4))2) — 0°(4)х — v(t). Рассмотрим разность
ДД = Д(4, х°, х, м) — Д(4,0, х1(4), м1).
Линеаризуем ее и заменим моделью:
дд = ддХу + ддХо у° + дд^ + 0°(* +1)(«)2,
где у = х — х1(4), V = м — м1(4), у° = х°(4), (ДДХ, ДД^0, ДД«) — вектор частных производных, которые берутся на элементе ш1. Дальше будем максимизировать эту конструкцию по у, V.
Введем в рассмотрение функции
Н(4, 0, х, м) = 0Т/(4, х, м),
На = Н + 0°(4 + 1)(х° + (м — м1)2).
Тогда ДД запишется так:
ДД = Н (0(4 + 1),х1(4),м1(4))хУ + 0°(4 + 1)у° + Н« v+
+0°(4 + 1)Ы2 — 0Т(4)у — 0°(4)у°.
Будем максимизировать ДД при различных вариантах ограничений на U.
Вариант 1. Нет никаких ограничений, т. е. U = Др. Решаем задачу аналитически. Предположим, что ^°(t + 1) < 0, тогда максимум этого выражения по v достигается из условия
+ 2^0(t + 1)v = 0 ^ v = -^ H + 1).
Осталось взять максимум по у. Так как это линейная функция, то максимум достигается тогда, когда эта функция — константа. Отсюда следует, что
H - v>(t) = 0, ^°(t + 1) - ^°(t) = о.
Обратимся к функции G и поступим также. Рассматриваем ДС: ДС = G - G1 « ДС,у + ДС,о y° ^ min ^
y,y о
^ ДС, = (1 - а)^1 = (1 - а)Дж(x1(tp))v + ^(tF) = 0,
ДС^, о = а + ^°(tF) = 0.
Из этих условий следует:
^°(t) = const = -а < 0, ^(tF) = -(1 - a)Fl,
^(t) = H,(t, ^(t + 1),xI(t),uI(t)),
где v = 2a .
Если эти условия выполнены, то они обеспечивают
tl
Т. е. ДЬ < 0, если Н« = 0.
Но нам нужно теперь обеспечить наименьшее Д/ < 0, для этого просчитать нашу систему
х(4 + 1) = / ^, х(4), м1 + 2“Ни^)
при заданном х(4/) = х/ и различных а, и подсчитать жа(£) и значение функционала /а = Д(ха(£_р)).
Перебирая а из промежутка а € (0,1) можем построить /а как функцию одной переменной, и найти точку ее минимума а*. В качестве улучшенного элемента ш11 берется
ш11 = (ха„ (¿),ма„ (¿)) = (хп(4),ип(4)),
где
мп(4) = м1(4) + vat (4) = = м1(4) + 12 а* Ни (<>0а, (4 + 1),х1 (4),м1(4)).
2а*
Цепочка
0(4) = Н (4,0(4 + 1),х1(4),м1(4)), 0(4р) = —(1 — а)^
однородна. Поэтому достаточно просчитать ее справа налево при а = 0 получить результат 0°(4), тогда
0а (4) = (1 — а)0°(4).
При а = 0 0(4) получается умножением на (1 — а).
Вариант 2. Выше приращения ДД и ДО мы линеаризовали по х, м и х соответственно. Оставим аппроксимацию ДО такой же, т. е. ДО « О хДх, а ДД представим так:
ДД « ДХ Дх + Д«Д, Д«Д = Д(4, х1(4), м + Дм) — Д(4, х1(4), м1(4)).
Будем аппроксимировать Д«Д до малых второго порядка, т. е.
Д«Д « Д«V + 1 vTДииv = Н«V + 2vT(HU« — аЕ^ ^ тах
(при условии, что м неограниченно), Е — единичная матрица). Считаем, что (Н«и — аЕ) отрицательно определенная матрица, а этого всегда можно добиться при большом а. Тогда максимум этого выражения достигается в стационарной точке:
Н« + (Н«« — аE)v = 0, откуда v = —(Н«„ — аЕ)-1Н«.
Если считаем 0(4) при а = 0, то тогда
v = —((1 — а)Н«и — аЕ) 1(1 — а)Н«.
Легко видеть, что эта формула является обобщением предыдущей. Если Нии = 0, то у нас остается одно слагаемое (в прежней формуле v имело направление антиградиента (—Н«), а этот более сложный множитель «заставляет» v поворачиваться к истинной точке минимума Д«Д в той мере, в которой эта зависимость аппроксимируется линейно-квадратической).
Например, если эта функция имеет овражистую структуру в окрестности и1, то тогда собственные числа матрицы Huu могут сильно различаться. Следующая итерация в квадратическом случае начнется с точки более близкой к точке максимума, чем в линейном случае, однако при этом каждая итерация требует больше вычислений.
Вариант 3. Полагая попрежнему ДД « Д^Дж + Ди Д, будем выбирать v = Ди так, чтобы v было достаточно малым (|v| < а), (uI(t) + v(t)) е U (U считается для простоты постоянным множеством).
Иначе говоря, v будем подбирать так, чтобы
(uI(t) + v(t)) е Ua = {и е U| |v| < а}.
При достаточно малом а отклонение от соответствующего приращения Дх будет малым. Модификация состоит в том, чтобы вместо аналитического представления для v получается значение v, которое находится в множестве Ua. В процессе вычислений дело сводится к численному перебору на этом множестве а. Это дает возможность учесть ограничения на и непосредственно без использования штрафных функций.
Функционал ДЬ тогда будет представлен так
ij-i
ДЬ = - ^ ДиД
tj
(если приращение ДиД > 0, то ДЬ < 0).
Процедура улучшения в целом состоит из следующих шагов.
1. Просчитывается цепочка
^(t) = -H*(t,^(t + 1),Х (t),^(t)) при начальном условии на правом конце
0(tp ) = -Fx(xI(tF )).
2. Находится va одним из трех способов: градиентный; второй порядок по и; непосредственный поиск в окрестности и1.
3. Делается прямой счет
x(t + 1) = f (t, x(t), ^(t) + va(t)) ,
для различных а, вычисляется F(xa(tp)), и это минимизируется по а, т. е.
F(xa(tF)) ^ min =^ а*.
Вычисляется
и11 (t) = и1 (t) + va„ = и1 (t) .
4. Управление ип^) принимается за новое и1^) и начинается новая итерация.
Критерий остановки — функционал перестает улучшаться.
Рассмотренные три варианта — конкурирующие: надо применять тот или иной, исходя из поставленной задачи, либо поочередно: вначале линейный, а при его замедлении — второй или третий.
3.2. Нелокальное улучшение для дискретных систем
В рамках теории В.Ф. Кротова [6, 11, 12], также был сформулирован подход к нелокальному улучшению на основе достаточных условий оптимальности и улучшения с таким заданием функции у>, при котором функционал L на заданном элементе m1 имеет максимум на E. Тем самым получается бесчисленное множество элементов, улучшающих L на E, из которого затем выбирается нужный элемент
mII
е D. Для некоторых классов задач он был реализован посредством линейной или линейно-квадратической у>. Впоследствии в работах [13], были разработаны родственные методы улучшения для линейных, линейно-квадратических и полиномиальных по состоянию систем с использованием специальных сопряженных систем.
Здесь предлагаются конструктивные методы задания у>, реализующие упомянутый общий подход Кротова для произвольных систем посредством линейных рекуррентных соотношений и их непрерывных аналогов —уравнений в частных производных.
Рассмотрим дискретную задачу оптимального управления
x(t + 1) = f (t, x(t), и^)), t е T = {t/,..., tF},
x(t/) = X/,
F (x(tF)) ^ min .
Алгоритм:
0) Имеем начальный допустимый процесс (^(t), и1^)).
1) Ищем <£>0(t,x) из соотношений:
(2) Д(^ xI(t), и1^)) = min Д(^ x(t), и1^)), t е {t/, ...,tF — 1},
x(t)
G(xI(tF)) = max G(x).
X
2) Строим синтез:
(4) м(і, ж) = а^шах Д(і, ж, и; у>°).
и
3) Решая систему
ж (і + 1) = / (і, ж(і), м(і, ж(і))), ж(і/) = ж/, находим улучшенный допустимый процесс (жп(і), ип(і)).
Покажем, что Д (жІ(і^)) — Д (жп(іґ)) > 0.
Имеем
Д (жІ(і^)) — Д (жп(^)) = Ь (жІ(і), иІ(і); ^>°) — Ь (жІІ(і), иІІ(і); у>°) =
Ьр — 1
= С(жІ(і^)) — С(жп(іґ)) + (Д(і, жІІ(і), иІІ(і); ^°) —
Ьі
—Д(і, жІ(і), иІ(і); <^°)) ¿і = С(жІ(і^)) — С(жп(іґ))+
Ьр — 1
+ (Д(і, жп(і), иІІ(і); ^°) — Д(і, жІІ(і), иІ(і); ^°)) ¿і+
Ьі Ьр — 1
+ (Д(і, жІІ(і), иІ(і); у>°) — Д(і, жІ(і), иІ(і); у>°)) ¿і =
Ьі
= Ді + Д2 + Дз,
где
Д1 = С(жІ(і^)) — С(жп(іґ)) > 0 в силу (3),
Ьр — 1
Д2 = ^2 (Д(і, жІІ(і), иІІ(і); ^>°) — Д(і, жІІ(і), иІ(і); у>°)) ¿і > 0 в
Ьі
силу (4),
Ьр — 1
Д3 = ^ (Д(і, жІІ(і), иІ(і); ^>°) — Д(і, жІ(і), иІ(і); у>°)) ¿і > 0 в силу (2).
Что и требовалось показать.
Будем искать функцию у>°(і, ж) из условий
Д(і, ж(і), иІ(і)) =0, і Є (і/,..., — 1},
С(ж) = —у>(і/, ж/).
Которые сводятся к следующим:
(5) ^(і,ж) = ^ (і + 1,/ (і,ж,иІ(і))) , і Є (і/,...,іґ — 1},
(6) у>(^ ,ж) = —Д (ж).
Отсюда получается следующий алгоритм улучшения.
0) Имеем начальный допустимый процесс (xI(t),uI(t^.
1) Ищем y>°(t, x) из соотношений (5), (6).
2) Строим синтез:
(7) w(t, x) = arg max y>°(t + 1, f (t, x, u)) — <^°(t, x))
u
(предполагается, что функция w(t, x) существует).
3) Решая систему
x(t + 1) = f (t, x(t), w(t, x(t))), x(t/) = x/,
находим улучшенный допустимый процесс (xn(t), un(t)).
Пример 1. Рассмотрим дискретную задачу оптимального управления
x(t + 1) = 2x(t) + x2(t) + 2x(t)u(t) + u2(t), t € {0, 1, 2},
x(o) = —1,
F = x(2) ^ min .
Решим задачу с помощью алгоритма (см. выше), задав некоторый начальный допустимый процесс.
0) Имеем начальный допустимый процесс uI(0) = 0, uI(1) = 0, xI(0) = —1, xI(1) = —1, xI(2) = —1, F(xI(2)) = —1.
1) Ищем <£>°(t,x) из соотношений (5), (6):
¥>°(2, x) = —x,
^°(1, x) = <^° (2, f (1,x, uI(1))) = —2x — x2, y>°(0, x) = ^° (1, f (0, x, uI(0))) = —2(2x + x2) — (2x + x2)2.
2) Строим синтез:
w(1, x) = arg max {—2xu — u2} = —x,
u
w(0,x) = arg max {—4xu — 4xu3 — 8x2u — 6x2u2 — 4x3u — 6u2 — u4}.
u
3) Находим улучшенный допустимый процесс (xn(t), un(t)):
xn(0) = —1, uII(0) = argmax{ —12u2 + 4u3 — u4} = 0,
u
xII(1) = —1, uII(1) = 1, xII(2) = —2, F(xII(2)) = —2.
4) Найденный улучшенный допустимый процесс принимаем за начальный допустимый процесс и повторяем все шаги алгоритма, и т.д.
После второй итерации получается решение, совпадающее с оптимальным и*(0) = 1, и*(1) = 2, ^* = -4.
4. Улучшение управления. Непрерывные процессы
Непрерывную задачу улучшения будем рассматривать как следующую конкретизацию общей задачи. За множество М примем совокупность всевозможных пар функций т = (х(£),и(£)), £ € [£/], х € К”, и € Кр. Множество О выделяется из М следующими связями и ограничениями:
X = / (£, х, и), х(£/) = х/, х(£_р) € Г, х(£) € Х(£), и € и (£, х(£)),
Функционал задается как функция конечного состояния I = ^ (х(£_р)).
По принципу расширения, множество Е получается исключением дифференциальной связи. Функционал Ь (обобщенный лагранжиан) строится с помощью неопределенной непрерывной и гладкой функции (£, х):
Задачу улучшения будем рассматривать при предположениях Х(і) = Г = М”, предполагая, что дополнительные ограничения снимаются по методу штрафов.
Заметим, что Ь(ж, и; у>) = I(ж, и) на любой допустимой паре (ж, и).
Алгоритмы улучшения по принципу локализации строятся совершенно аналогично соответствующим алгоритмам для дискретных систем, и на них здесь останавливаться не будем. Рассмотрим подробнее алгоритмы нелокального улучшения с учетом возникающих здесь особенностей и теоретико-функциональных ограничений.
Общий алгоритм состоит из следующих шагов.
0) Имеем начальный допустимый процесс (жІ(і),иІ(і^.
1) Ищем <£>°(і,ж) из соотношений:
Ьі
Д(і, ж(і), и(і)),
где
Д(і, ж, и) = <£>£/(і,ж,и) — ^ь, С(ж) = Д(ж) + ^(і^, ж) — ^(і/, ж/).
(8)
Д(і, жІ(і), иІ(і)) = шіп Д(і, ж(і), иІ(і)),
х(Ь)
С(жІ(іґ)) = шах С(ж).
X
2) Строим синтез:
(10) м(£, х) = а^шах Д(£, х, и; ^0).
и
3) Решая задачу Коши
х(£) = / (£, х(£), м(£, х(£))) , х(£/) = х/, находим улучшенный допустимый процесс (хп(£), ип(£)).
Покажем, что 7 (х1 (¿),и!(£)) — 7 (хп(£), ип(£)) > 0.
Имеем
7 (хт(£), ит(£)) — 7 (хп(£), ип(£)) = Ь (хт(£), ит(£); ^>0) —
—Ь (хп(£), ип(£); ^0) = С(х!(^)) — С(хп(^))+
+ 1 (Д(£, хп(£), ип(£); ^>°) — Д(£, хт(£), ит(£); ^>0)) А =
= С(х!(^)) — С(хп(^))+
tF
+ I (Д(£, хп(£), ип(£); ^0) — Д(£, хп(£), и*(£); <^0)) ¿¿+ t^ tF
+ 1 (Д(£, хп(£), ит(£); ^>0) — Д(£, хт(£), ит(£); ^>0)) Л = t^
= Дх + Д2 + Дэ,
где
Дх = С(х!(^)) — С(хп(^)) > 0 в силу (9),
£р
Д2 = / (Д(£, хп(£), ип(£); ^>0) — Д(£, хп(£), ит(£); ^>0)) А > 0 в силу
tI
(10),
tF
Дэ = / (Д(£, хп(£), ит(£); ^>0) — Д(£, хт(£), ит(£); ^>0)) Л > 0 в силу
tI
Что и требовалось показать.
Будем искать функцию ^>0(£,х) в предположении, что Д(£, х(£), и!(£)) = 0, £ € [£/, ^),
С(х) = — у>(£/, х/).
Тогда соотношения (8), (9) перепишутся в виде
(11) дх (£,х)/(£,х,и!(£)) + ^(£,х)=0,
(12) Д (х) + х(^^ ,х) = 0.
Алгоритм:
0) Имеем начальный допустимый процесс (х*(£), и!(Ь)).
1) Ищем х0(£,х) из соотношений (11), (12).
2) Строим синтез:
(д 0 т д 0 \
м(£, х) = а^шах —— (£, х)/(£, х, и) +—— (£, х) .
и \ дх дЬ I
3) Решая задачу Коши
х(Ь) = / (£, х(£), м(Ь, х(Ь))) , х(Ь/) = х/,
находим улучшенный допустимый процесс (хп(£), ип(£)).
Опишем процесс решения задачи Коши для уравнения в частных производных (11), (12) относительно неизвестной функции х(Ь,х).
Сопоставим уравнению (11) систему обыкновенных дифференциальных уравнений, называемую уравнением характеристик
¿хх ¿х2 ¿хп
/1(Ь,х,и!(Ь)) /2(Ь,х,и!(Ь)) ... /”(Ь,х,и!(Ь)) 1 .
Для этой системы существует п независимых первых интегралов. Обозначим их через
(13) 01(^,х) = Сх,д2(Ь,х) = С2,... ,дп(Ь,х) = С”,
где С1,..., С” — произвольные постоянные.
Рассмострим теперь параметрическое задание характеристики как решения системы
¿хх ¿хп
/1(Ь,х,и!(Ь)) ... /”(Ь,х,и!(Ь)) 1 T,
представляя, что изменение переменной т перемещает точку с координатами (£, х) по характеристике. Тогда из уравнения ^ = ¿т получим т = £ + С, где произвольную постоянную С можно найти из начальных условий £ = , т = 0 (начальное условие можно взять
в виде £ = , т = а, где а — произвольное действительное число).
Окончательно получим
(14) т = £ — .
Если из соотношений (13) можно выразить
х = Л,(£, Сь..., С”),
то, с учетом соотношения (14), задача Коши (11), (12) перейдет в задачу Коши для системы обыкновенных дифференциальных уравнений вида
¿V
(15) =0, -|т=0 = —Д (^ ,СЬ...,С„)).
ат
Решение задачи Коши (15) обозначим через «(Сх,..., С”). Тогда решение задачи Коши (11), (12) можно записать в виде
Х0(£,х) = £(дх(£,х),... ,д„(£,х)).
Укажем частные случаи постановки исходной задачи оптимального управления, когда задача Коши (11), (12) уже сама является задачей Коши для системы обыкновенных дифференциальных уравнений.
Случай 1. Если в постановке задачи
/(£, х, и) = А(£, и)х + В(£, и), Д(х) = пТх,
то решение задачи Коши (11), (12) можно найти в виде х0(£, х) = V(£) + (£)х, где V(£), ^(£) являются решением задачи Коши для
системы п + 1 обыкновенных дифференциальных уравнений
^(¿) = —Ат (£,и1(£))^(£), ^(^ ) = —п,
г>(£) = —Вт(£, и!(£))^(£), V(£^) = 0.
Случай 2. Если в постановке задачи
/(£, х, и) = А(£, и)х + В(£, и), Д(х) = пТх + хтрх,
то решение задачи Коши (11), (12) можно найти в виде х0(£, х) = V(£) + (£)х + хт<т(£)х, где v(t), ^(£), <г(£) являются решением зада-
чи Коши для системы п + п2 + 1 обыкновенных дифференциальных уравнений
^¿(£) = —Ат(£, и!(£))^(£) — 2а(£)В(£, ит(£)), ^(£^) = —п
<г(£) = —2а(£)А(£, и1 (£)), <г(£) = —р,
г>(£) = —Вт(£, и!(£))^(£), V(£_р) = 0.
Вышеописанный алгоритм реализован на языке программирования C+—+ с использованием аппроксимации по МНК функции y>°(t, x) при каждом фиксированном t полиномами. А именно, расчет по формулам (5)-(7) с аппроксимацией функции y>°(t, x) на каждом шаге полиномом. При расчетах с непрерывными динамическими системами предусмотрена дискретизация с приближенным решением исходной системы по методу Рунге-Кутта четвертого порядка на каждом отрезке дискретизации.
4.1. Случай неограниченных линейных управлений
Пусть исходная динамическая система имеет вид:
(16) x = g(t, x, ui) + h(t, x)u2, ui Є Ui(t,x), U2 Є ,
где h(t, x) — n x k-матрица ранга k, Ui(t, x) —компактное множество.
Поскольку управление U2 неограниченно, то функции w(t, x) не существует, и требуется определенная регуляризация. Здесь возможны, по крайней мере, два подхода. Первый состоит в том, чтобы ограничить U2 по норме, |u21 < s, и строить последовательность ms до установления соответствующей последовательности значений функционала I(ms). В этом случае будем иметь
Í д і I д 0 T
w2s (t,x) = arg max I —— h(t, x)u2 I = uI(t)+s I -r— h
|«2-«1(‘)|<П dx j \ дх
д ^0± h aX h
Второй — задать функцию p предварительно по методу кратных максимумов (МКМ) [2,3,5], так чтобы функция R не зависела от U2, т. е. как решение следующей системы линейных уравнений в частных производных
PTh(t,x)=0, p(t,x)= ^(t,n(t,x)), где y = n(t, —), (n — к)-мерный интеграл вспомогательной системы
(17) —— = h(t, —)w, w € Rk
—т
так что ^п(^(т^ = 0 (предполагается, что он существует), а $(t, y) — произвольна.
Функции R и G преобразуются к следующим:
Ry = ^T(n®g(t,—,«i) + nt) + $t, — € Q(t, y) = {—: y = n(t, —)},
Gy = min F (—) + ^(tF ,y) +const,
x£Q(iF ,y)
1
Функция задается так чтобы результат минимизации Ду и максимизации —на т1 (как это предусмотрено общим принципом нело-
кального улучшения Кротова) удовлетворял системе порядка п — к
(18) у = Пж£(£,х, их) + пе, У = п(£, х).
Эти операции последовательно повторяются и тем самым строится итерационный процесс улучшения до установления с заданной точностью на некотором элементе т*, которому соответствует набор (у*(£), х*(£), их*(£)). Тогда решена и исходная задача в форме последовательности, аппроксимирующей этот набор, которая строится следующим образом (для простоты при предположении, что кадратная подматрица Л2(£, х) из последних строк матрицы Л(£, х) невырожден-на в точках (£, х*(£)) . Исходная система преобразуется к системе из уравнения (18) и уравнения
г = (£, х, их) + Л2(£, х)и2,
Функция х*(£) преобразуется к паре (у*(£), г*(£)), где г*(£) — кусочнонепрерывна. Последняя аппроксимируется стандартной последовательностью кусочно-гладких {г8(£)} с большим ростом в окрестностях точек разрыва, и далее находится последовательность {и2Я(£)}:
и28(г) = (Л2 (г))-1(г8 — (£,х8 (£),и1*(£))).
Искомая последовательность {тя} получается решением исходной системы (16) при их = их*, и2 = и28(£).
Замечание. Рассмотренные преобразования можно трактовать как переход от исходной задачи к производной задаче улучшения меньшего порядка (п — к) для системы (18) с функционалом
11 = д1(У(^ )) = тт Д (х).
,у(4р))
Множество решений системы (18) шире множества решений исходной системы: каждое решение исходной системы х(£) удовлетворяет производной системе. В самом деле, дифференцируя тождество у(£) = п(£, х(£)), получим равенство (18). Обратное утверждение в общем случае неверно, тем более что системе (18) могут удовлетворять даже разрывные функции х(£), недопустимые для системы (16). Поэтому решение производной задачи итерационного улучшения (которую можно решать любым методом) доставляет нижнюю границу 1* на для улучшающей последовательности функционала в исходной задаче. Но поскольку, как было показано, существует допустимая последовательность хя(£), аппроксимирующая с любой точностью х*(£),
то на этой последовательности Is ^ /*, то тем самым решается исходная задача итерационного улучшения.
При построении конструктивного алгоритма улучшения по этому методу возникает проблема представления производной системы, поскольку интеграл нелинейной в общем случае предельной системы
(17) выражается в явном виде далеко не всегда. В [2,3] предложены некоторые методы неявного представления, апробированные в других методах улучшения [14].
Рассмотрим как частный случай билинейную систему
ж = A(t)x + B(t)ux, u Є Rk, x(t/)= x/, I = cTx(tF).
При первом подходе условиям R(t, ж, u1) = 0, G(x) = const удовлетворяет линейная функция = /T(t)x:
/T(t)(A(t) + B (t)u!)x + / T(t)x = 0, cTx + /T(tF )x + const = const. Отсюда
/ = — (A(t) + B (t)u!)T/, /(tF) = —c.
Из этой задачи Коши с начальным условием на правом конце находится конкретная функция /(t). Из условия
R(t,x,u) = /T(t)B(t)x(u — u!(t)) ^ min ,
|M-M:(i)|<s
получается
/T(t)B(t)x
ä(t, ж) = u*(t) + St
|^T(t)B(t)x| и далее xs(t) как решение задачи Коши
x = A(t)x + B(t)xus(t, x), x(t/) = x/.
При втором подходе функция х предварительно частично определяется по МКМ как решение следующей системы линеных уравнений
X TB(t)x = 0, х = ^(¿, n(t,x), y(t) = n(t, x(t)) —набор n — k первых интегралов линейной по x предельной системы dfx = B(t)xw, которая интегрируется в общем случае почти в явном виде.
Рассмотрим для иллюстрации следующий пример.
Пример 2.
x1 = ux2, x2 = —ux1 — 1, I = x2(10) ^ inf, t e [0, 10], x1(0) = 0, x2(0) = 0, u1 = 1.
Запишем производную задачу, соответствующую исходной системе
y = —2x2, t € [0, 10],
y = (x1)2 + (x2)2, x1^) = 0, x2(0) = 0, y(0) = 0,
—Vy < x2 < ^y, 7 = —Vy(10) ^ inf .
Следовательно, исходная задача улучшения управления uI заменяется задачей улучшения управления х21 = sin t для производной задачи.
Функцию x°(t, y) найдем как решение задачи Коши для уравнения в частных производных вида
Xy (-2x2I(t)) + Xt = 0, X(10,y) = У(у).
I í 1°
Аименно, x°(t,y) = * y + 2j x2I(£)d£ — 2 J x2 I(^)d^. Находим управ°°
ление в форме синтеза x2(t,y) = —^y, а также соответствующую улучшенную пару yII(t) = t2, x2II(t) = —t и управление x1II(t) = 0. Из уравнений исходной системы находим uII(t) = 0.
Заключение
В целом на основании проведенных исследований можно заключить, что реализация разнообразных приближенных методов на суперкомпьютерах кластерного типа открывает новые перспективы их эффективного применения для решения сложных прикладных задач, немыслимые ранее при использовании обычных компьютеров. Это послужило серьезным стимулом и для разработки представленных в данной статье новых высокоэффективных методов улучшения и оптимизации управления, основанных на систематическом использовании уравнений в частных производных для задания функции Кротова, численное решение которых при достаточно большой размерности задачи «под силу» лишь суперкомпьютерам.
Список литературы
[1] Батурин В. А., Урбанович Д. Е. Приближенные методы оптимального управления, основанные на принципе расширения. Новосибирск : Наука, 1997.— 175 с. |1
[2] Гурман В. И. Принцип расширения в задачах управления. М. : Наука. Физ-матлит, 1985. |2, 4.1, 4.1
[3] Гурман В. И. Принцип расширения в задачах управления. 2-е изд. М. : Наука. Физматлит, 1997.— 288 с. |4.1, 4.1
[4] Гурман В. И., Батурин В. А., Расина И. В. Приближенные методы оптимального управления. Иркутск : Изд-во Иркутского ун-та, 1983.— 180 c. f
[5] Кротов В. Ф., Гурман В. И. Методы и задачи оптимального управления. М. : Наука, 1973.— 448 c. f2, 4.1
[6] Krotov V. F. Global methods in optimal control theory. New York : Marcel Dekker, 1996. — 385 p. f3.2
[7] Ухин М. Ю. Приближенный синтез оптимального управления. Москва : Физ-матлит, 2006. f
[8] Квоков В. Н., Трушкова Е. А., Ухин М. Ю. Метод улучшения управления на имитационной модели объекта и его приложение к задаче оптимизации маневров нештатной посадки вертолета // Вестник Самарского государственного аэрокосмического университета имени академика С.П. Королева, 2009, № 1, 161-169. f1
[9] Блинов А. О., Гурман В. И., Трушкова Е. А., Фраленко В. П. Программный комплекс оптимизации законов управления // Программные продукты и системы, 2009, № 2(86), 95-100. f 1
[10] Васильев Ф. П. Методы оптимизации. М. : Факториал-Пресс, 2002.— 824 c. f3
[11] Кротов В. Ф. Вычислительные алгоритмы решения и оптимизации управляемых систем уравнений. I; II // Изв. АН СССР. Техн. киберн., 1975, № 5; 6, 3-15; 3-13. f3.2
[12] Кротов В. Ф., Фельдман Н. Н. Итерационный метод решения задач оптимального управления // Изв. АН СССР. Техн. киберн., 1983, № 2, 160—168. f3.2
[13] Срочко В. А. Итерационные методы решения задач оптимального управления. М. : Физматлит, 2000.— 160 c. f3.2
[14] Гурман В. И., Батурин В. А., Данилина Е. В. ИД. Новые методы улучшения управляемых процессов. Новосибирск : Наука, 1987. f4.1
V. I. Gurman, E. A. Trushkova. Approximate methods of control processes optimization.
Abstract. The article is devoted to new approximate methods of optimal control on the base of sufficient optimality conditions and extension principle and their realization in the set of algorithms and software of parallel computations for the problems of improvement and approximate optimal synthesis. Examples are given to demonstrate the efficiency of the methods proposed when realized in parallel computations.
Key Words and Phrases: optimal control, approximate methods, approximate optimal synthesis, parallel computations.
Поступила в редакцию 29.09.2010. Образец ссылки на статью:
В. И. Гурман, Е. А. Трушкова. Приближенные методы оптимизации управляемых процессов // Программные системы: теория и приложения : электрон. научн. журн. 2010. № 4(4), с. 85-104. URL: http://psta.psiras. ru/read/psta2010_4_85-104.pdf (дата обращения: 13.10.2010)