
Власов_Методы оптимизации и оптимального управления_2013
.pdf
лучим, что необходимым условием для достижения экстремума требуется выполнение соотношения Fy1 − dxd Fy1′ = 0 .
Рассматривая подобным способом вариации аргумента специального вида такие, что ηj (x) = 0 при j ≠i и ηi (x) является произ-
вольной, получим необходимое условие экстремума функционала в виде системы уравнений Эйлера Fyi − dxd Fyii′ = 0,i =1,2,..., n .
Полученная система связывает все составляющие аргумента функционала, т.е. отдельные уравнения не являются автономными.
4.8. Неопределенные множители Лагранжа в вариационном исчислении
В вариационном исчислении решаются задачи на условный экстремум. Постановка задачи следующая. Имеется функционал вида
J = x∫2 F[x, y1 (x),..., yn (x), y1′(x),..., yn′(x)]dx . Каждая из функций про-
x1
ходит через заданные для нее две точки. На функции наложены ограничения:
Φi ( y1 ,..., yn , y1′,..., yn′) = 0, i =1,2,..., k. |
(4.8.1) |
Требуется найти экстремум функционала.
Задача решается с помощью введения множителей Лагранжа λ1 (x),..., λk (x) следующим способом:
• образуется новый функционал J * = x∫2 |
F*dx , где |
x1 |
|
k
F* = F + ∑λiΦi ;
i=1
•находится экстремум функционала J * ;
•опускаются из рассмотрения функции λ1 (x),..., λk (x) и
выделяются только те функции y j (x), j =1,..., n , при которых достигался экстремум функционала J * ;
51
•условный экстремум исходного функционала вычисля-
ется с использованием выделенных функций y j (x), j =1,..., n .
В теории управления ограничениями обычно являются дифференциальные уравнения, описывающие динамический объект в форме Коши.
Пример 4.8.1. Пусть имеется динамический объект, который
описывается дифференциальным уравнением |
dx |
+ x =u(t) , где |
|
dt |
|||
|
|
u(t) – управляющее воздействие. Требуется перевести объект за время T из состояния x1 в состояние x2 так, чтобы функционал
J = T∫(x 2 +u2 )dt имел минимальное значение.
0
Образуем новый функционал J * = T∫[(x2 +u2 ) + λ(x′+ x −u)]dt .
0
Система уравнений Эйлера имеет вид x′+ x −u = 0,
2u + λ = 0,
2x −λ+ λ′ =0.
Исключая λ(t), u(t) , получим дифференциальное уравнение для функции x(t) в виде x′′−2x =0 . После нахождения x(t) определя-
ем оптимальное управление с помощью уравнения, описывающего объект управления.
Контрольные вопросы
1.Как формулируется принцип суперпозиции?
2.Что такое вариация функционала?
3.Какими средствами задается требование оптимальности управления?
4.Для чего используются множители Лагранжа при поиске оптимальных управлений?
5.С какой целью рассматривается уравнение ЭйлераПуассона?
52
ГЛАВА 5. ВАРИАЦИОННЫЕ ЗАДАЧИ С ПОДВИЖНЫМИ ГРАНИЦАМИ
5.1.Основные виды задач с подвижными границами
Наиболее простой постановкой вариационной задачи является случай, когда на концы траектории не накладываютсяx2 никакие ограничения и задан функционал вида J = ∫F(x, y, y′)dx . Если поставленная задача является корректной, тоx1 можно было бы предложить следующий алгоритм ее решения: задать произвольные граничные точки траектории, т.е. определить значения x1, y1, x2 , y2 в качестве неизвестных параметров. Далее решить задачу Эйлера,
получив зависимость оптимального |
значения функционала |
J (x1, y1, x2 , y2 ) от параметров x1, y1, x2 , y2 |
и произвести оптимиза- |
цию полученной зависимости по значениям параметров, используя
равенство нулю соответствующих частных производных. Понятно, что этот путь является достаточно громоздким. Кроме того, вряд ли удается получить аналитическую зависимость оптимального значения функционала от введенных параметров.
Однако чаще попадаются задачи с дополнительными ограничениями. Обычно это следующие задачи: либо заданы уравнения траекторий y1 = Φ1 (x1 ) , y2 = Φ2 (x2 ) , по которым движутся граничные точки искомой функции, либо имеется запретная область, в которую не может заходить оптимальная функция. Реальный путь решения таких задач заключается в выделении главной линейной части приращения функционала, использования тезиса о том, что либо вся оптимальная траектория (функция), либо отдельные ее части являются экстремалями, имеются условия вхождения экстремали в границу (условия трансверсальности)[11]. Экстремаль – это функция, удовлетворяющая дифференциальному уравнению Эйлера.
5.2. Скольжение граничных точек по заданным траекториям
Одним из простых примеров задачи со скольжением граничных точек является поиск минимального расстояния между двумя непересекающимися окружностями. Из геометрических соображений
53

ясно, что задача корректна и имеет простое решение. Оптимальная траектория – это часть прямой линии, соединяющей центры двух окружностей. Рассмотрим другую простую задачу. Найти линию минимальной длины, соединяющую две вертикальные прямые, описываемые уравнениями: x = a и x =b , где a,b – константы.
Эта задача приведена в книге: Г.Е. Шилова «Математический анализ (специальный курс)» (М.: Гос. изд-во физ.-мат. лит-ры, 1961). Длина линии, описываемой функцией y(x) , вычисляется согласно
выражению
x2 |
|
|
|
L = ∫ |
′ |
2 |
dx . |
1+( y ) |
|
||
x1 |
|
|
|
Прежде всего, следует воспользоваться тем, что оптимальная траектория является экстремалью и описывается уравнением ye = kx +c , где k, c – константы. Условие экстремума функционала получается путем приравнивания нулю выражения (4.4.1) и, поскольку оптимальная траектория – экстремаль (последнее слагаемое в нем равно нулю), записывается в более простом виде: учитывая аналитический вид функции F, получим два (в данном случае одинаковых) условия: Fy′ (a) = 0, Fy′(b) = 0 . Поэтому оптимальные траектории описываются уравнениями x = c (их много в силу одинаковости двух полученных условий экстремума).
Рассмотрим еще один пример поиска оптимальной траектории при наличии запретной области. Найти оптимальную траекторию, соединяющую две точки с координатами: x1 = 0, y1 = 0 и x2 = 2, y2 =9 , причем траектория должна удовлетворять неравенст-
ву y ≥ f (x) , где f (x) =9 −(x −5)2 . |
|
|
|
x2 |
|
|
|
Функционал имеет вид L = ∫ |
′ |
2 |
dx , и экстремалями явля- |
1+( y ) |
|
ются прямые линии. |
x1 |
|
Запишем все неизвестные в данной задаче: k,b, xp , yp ( xp , yp – координаты точки входа экстремали ye (x) в границу y = f (x) ).
Запишем необходимые уравнения для определения неизвестных:
54
ye (x1 ) = y1, ye (xp ) = yp , f (xp ) = yp ,
ye′(xp ) = f ′(xp ).
Последнее уравнение и есть условие вхождения экстремали в границу.
Подставляя имеющиеся данные и учитывая, что k >0 и
f ′ = −2(x −5) , получим c = 0, xp = 4, k = 4, yp =8 .
Значение k = −4 понадобилось бы, если конечная точка искомой траектории имела бы координаты x2 = 0, y2 = 0 . В этом случае в силу симметрии задачи было бы две точки вхождения экстремали в границу и две части оптимальной траектории, являющихся экстремалями.
Уместно заметить, что если бы в функционале была использована любая функция F(x, y, y′) , зависящая только от аргумента y′ (например, характеризующая длину линии) – решение осталось бы прежним. Это связано с необходимостью использования при поиске решения уравнений экстремалей.
Контрольные вопросы
1.Какой смысл имеют условия трансверсальности?
2.Что такое экстремаль?
3.Каков порядок использования понятия экстремали в задачах с подвижными границами?
4.Используется ли равенство нулю вариации в задачах с подвижными границами?
55

ГЛАВА 6. ПРИНЦИП МАКСИМУМА
ИДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
6.1.Постановка задачи поиска оптимального управления
Динамический объект описывается системой дифференциальных уравнений в форме Коши:
dxdti = fi (x1,..., xn ,u),i =1,2,..., n .
Требуется перевести объект за время T из одного состояния в дру-
гое так, чтобы функционал J = T∫G(x1,..., xn ,u)dt принял наимень-
0
шее (или наибольшее) значение при соблюдении ограничений
| u(t) |≤ uM .
Порядок получения принципа максимума состоит из следующих этапов [14]:
•вводится для упрощения рассуждений дополнительная
переменная |
|
x0 (t) |
|
|
такая, |
|
что |
|||||
|
dx0 |
=G(x |
,..., x |
,u) = f |
0 |
(x |
,..., x |
,u) |
и |
x (0) = 0, x |
0 |
(T ) = J ; |
|
|
|||||||||||
|
dt |
1 |
n |
1 |
n |
|
0 |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
•определяется понятие игольчатой вариации δ(t) как уз-
кого прямоугольного импульса (длительностью ε ) с малой площадью, большей нуля;
• управляющему воздействию u(t) |
в момент времени |
t =τ −ε дается приращение δ(t) , |
изменяющее незначи- |
тельно начальные условия к моменту времени τ ;
•рассматривается приращение функционала δJ = δx0 (T ) (выделяется линейная часть приращения), для чего производится линеаризация дифференциальных уравнений;
•вводится вспомогательный числовой вектор ψ с коор-
динатами ψ0 = −1, ψ1 = ψ2 =... = ψn = 0 , так что вариация δJ равна скалярному произведению < ψ, x(T ) > векторов ψ и x(T ) с составляющими x0 , x1 ,..., xn ;
56
•предлагается рассмотреть вектор ψ(t) такой, чтобы скалярное произведение < ψ(t), x(t) > было постоянным во времени на интервале [0;T ] и равно < ψ, x(T ) > , что
приводит к появлению сопряженных дифференциальных уравнений для составляющих вектора ψ(t) ;
•используется условие одинакового знака приращения функционала при достижении наименьшего (или наибольшего значения);
•в итоге получается главный вывод, который и называется принципом максимума, заключающийся в том, что оптимальное управление для любого достигнутого состояния должно искаться из условия максимума по аргументу u функции H =< f0 ,ψ(t) > , где f0 – вектор с составляющими fi (x1 ,..., xn ,u), i = 0,1, 2,..., n .
6.2.Пояснения к получению принципа максимума
1. Изменение начальных условий. |
|
|
|
||||||||
δx = x |
(τ) − x(τ) = ε( |
dxн |
− |
dx |
) |
|
при t =τ , x |
н |
– движение при |
||
|
|
|
|||||||||
н |
|
dt |
|
dt |
|
|
|
|
|||
|
|
|
|
|
|
|
|
||||
uн (t) = u(t) + δ(t) , |
|
|
|
|
|
|
|
|
|||
|
δx = ε{ f [(x |
(τ),u |
н |
(τ)] − f [x |
(τ),u(τ)]} ≈ |
||||||
|
|
|
н |
|
|
|
|
|
|
|
≈ε{ f [x(τ),uн (τ)] − f [x(τ),u(τ)]}.
2.Линеаризация уравнений.
|
|
d[δxj ] |
n |
|
|
|
|
|
|
|||
|
|
= ∑δxi (t) |
∂f j |
(x0 , x1,..., xn ,u) . |
|
|
||||||
|
|
|
dt |
|
|
|
|
|
||||
|
|
|
i=0 |
∂xi |
|
|
|
|
||||
3. Сопряженные уравнения. |
|
|
|
|||||||||
|
d |
|
< δx(t), ψ(t) >=< |
d |
δx |
, ψ(t) > + < δx |
(t), |
d |
ψ(t) >= 0 . |
|||
|
dt |
|
|
dt |
||||||||
|
|
|
|
|
dt |
|
|
|
С учетом линеаризации и смены порядка суммирования:
57
|
n |
|
n |
|
∂f j |
|
dψ |
|
||
∑δxi (t)[∑ψj (t) |
|
|
+ |
i |
] = 0 . Откуда |
|
||||
∂xi |
|
|
||||||||
|
i=0 |
|
j=0 |
|
|
dt |
|
|||
|
dψ |
|
n |
∂f j |
|
|
|
|
|
|
|
|
i |
= −∑ψj (t) |
|
|
, |
i = 0,1,..., n . Это сопряженные уравнения. |
|||
|
dt |
|
∂xi |
|||||||
|
|
j=0 |
|
|
|
|
|
|||
4. Введение функции H. |
|
|||||||||
|
|
|
|
|
|
|
H =< f (x,u), ψ(t) >. |
|
||
5. Получение принципа максимума. |
|
|||||||||
δx(τ) = ε[ f (x,uн ) − f (x,u)], ε > 0, < δx(τ),ψ(τ) >= −δJ ≤ 0 . |
По- |
этому
<[ f (x,uн ) − f (x,u)], ψ(τ) > не положительно, что означает вы-
полнение неравенства: < f (x,uн ), ψ(τ) >≤< f (x,u),ψ(τ) > . Поскольку τ произвольно, то для выполнения условия опти-
мальности функция H =< f (x,u), ψ(t) > должна достигать в любой момент времени наибольшего значения.
6.3. Динамическое программирование
1. Принцип оптимальности.
Каждый конечный участок оптимальной траектории есть оптимальная траектория. Это следствие аддитивности критерия опти-
мальности. |
|
2. Уравнение Беллмана. |
|
Пусть S(x,t) есть наименьшее значение |
функционала |
J = T∫G(x1,..., xn ,u,τ)dτ , если в момент времени t |
динамический |
t |
|
объект находится в состоянии x . Для функции S(x,t) можно полу-
чить дифференциальное уравнение, называемое уравнением Беллмана. Это уравнение в частных производных, оно имеет вид
−∂∂St = min{G(x,u,t)+ < grad S, f >}, где наименьшее значение
рассматривается по аргументу u , градиент вычисляется по аргументам x1 ,..., xn .
58

3. Получение уравнения Беллмана.
Запишем для малого значения t очевидное равенство:
S(x,t) = min[G(x,u,t) t + T∫G(x,u,t)dτ] + 0( t) ,
t′
где 0( t) – бесконечно малая величина достаточно высокого по-
рядка, минимальное значение правой части рассматривается по аргументу u .
За |
интервал |
времени |
t система перейдет в |
состояние |
x′= x + |
x , где |
x = f (x,u,t) |
t . Начиная с состояния |
x′будем оп- |
тимально управлять системой, тогда будет выполняться соотношение
|
S(x,t) = min[G(x,u,t) |
′ ′ |
t) . |
|
||
|
t + S (x ,t )] + 0( |
|
||||
Разложим |
функцию |
|
|
′ ′ |
в |
ряд |
|
|
S(x ,t ) |
||||
′ ′ |
|
t + |
∂S |
t и подставим это в послед- |
||
S(x ,t ) ≈ S(x,t)+ < grad S, f > |
∂t |
нее соотношение. После чего разделим обе части полученного равенства на t и перейдем к пределу при t →0 . В итоге получим уравнение Беллмана
−∂∂St = min[G(x,u,t)+< grad S, f >] .
6.4.Примеры применения динамического программирования
Пример 6.4.1. Пусть имеется динамическая система первого порядка, описываемая дифференциальным уравнением
10 dxdt + x =u , (6.4.1)
и задан критерий оптимальности
J = T∫x2 (t)dt . |
(6.4.2) |
0 |
|
Требуется оптимально перевести систему за время T =3 с. из начального состояния x0 =1 в конечное состояние xT =10 .
59

Будем решать задачу приближенно с применением дискретного варианта метода динамического программирования. Для этого введем дискретный шаг времени t =1 и запишем разностное уравне-
ние xk +1 =101
2
же заменим выражение (6.4.2) интегральной суммой Jd = ∑xk2 .
k =0
Решение ведется шагами и начинается с предпоследнего значения x2 переменной x . На первом шаге записываем разностное
уравнение x3 =101 (9x2 +u2 ) и выражение для значения критерия
оптимальности на первом шаге Jd1 = x22 . Считаем неизвестное значение x2 параметром и для каждого значения x2 находим опти-
мальное u2 из условия xT =101 (9x2 +u2 ) =10 . Поскольку последнее
уравнение является линейным, то существует его единственное решение:
u2 =10x3 −9x2 = Φ2 (x2 ) . |
|
|
|
|
|
(6.4.3) |
|||
Минимальное значение J M критерия J |
d1 |
равно J M = x2 |
= ψ(x ) . |
||||||
1 |
|
|
|
1 |
2 |
2 |
|||
После того, как получены функции u |
2 |
= Φ |
2 |
(x ) |
и J M = ψ |
2 |
(x ) пер- |
||
|
|
|
2 |
1 |
|
2 |
вый шаг считаем законченным.
На втором шаге задача состоит в том, чтобы получить зависи-
мости J M = ψ (x ) и |
u |
= Φ |
(x ) от переменной состояния |
x . Для |
|||||||
2 |
1 |
1 |
1 |
|
1 |
|
1 |
|
|
|
1 |
этого записываем разностное уравнение |
|
||||||||||
|
|
|
|
|
x |
= |
1 |
(9x +u ) |
(6.4.4) |
||
|
|
|
|
|
|
||||||
|
|
|
|
|
|
2 |
10 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
||
и значение критерия |
J |
d2 |
= x2 |
+ x2 |
, соответствующее двум послед- |
||||||
|
|
|
|
|
1 |
2 |
|
|
|
||
ним шагам, и считаем переменную x1 |
параметром. |
|
|||||||||
Для каждого значения x1 |
будем искать оптимальное u1 , предпо- |
лагая, что, начиная со следующего шага, движение является опти-
мальным, т.е. Jd2 = x12 + x22 = x12 + J1M .
Воспользуемся разностным уравнением (6.4.4) и получим
60