Методы оптимизации - ii
DESCRIPTION
Методы оптимизации - II. Проф. В.П. Кривошеев. Динамическое программирование в дискретной форме. - PowerPoint PPT PresentationTRANSCRIPT
Методы оптимизации - II
Проф. В.П. Кривошеев
Динамическое программирование в дискретной форме
В дискретной форме динамическое программирование является декомпозиционным методом решения задач статической оптимизации. Особенность динамического программирования в дискретной форме позволяет свести задачу большой размерности к ряду подзадач меньшой размерности.
В динамическом программировании критерий оптимальности Q = Q(u1,…,ur) должен быть функцией Марковского типа, т.е. он может быть представлен в виде функции от состояния S = S (u1,…,ur-1), в которое приходит последний объект в результате воздействия (r-1) управлений, и от оставшегося управления ur, т.е. Q = Q(S, ur).
Предполагается, что процесс протекающий в исследуемом объекте, можно рассматривать как многостадийный (N-стадийный, см. рисунок ниже).
Динамическое программирование в дискретной форме
Многостадийный процесс Здесь: Si-1 - состояние перед i-ой стадией; ui - управление на i-ой стадии; qi(Si-1, ui) - составляющая критерия
оптимальности, полученная на i-ой стадии. Состояния соседних стадий связаны
выражением Si = Si (Si-1, ui), i=1,…,N.
0S 1S 2S 2NS 1NS NS
1U 2U 1NU NU
),( 101 USq ),( 212 USq ),( 111 NNN USq ),( 1 NNN USq
N-11 2 N
q1(S0, u1) q2(S1, u2) qN-1(SN-2, uN-1) qN(SN-1, uN)
u1 u2 uN-1uN
Динамическое программирование в дискретной форме
Рассматривается критерий оптимальности в виде .
В основе динамического программирования лежит принцип оптимальности: оптимальная стратегия обладает таким свойством, что для любых значений управлений u1,…,uk, при которых система пришла в состояние
Sk = Sk (S0, u1,…,uk), оставшиеся управления uk+1,…,ur должны принимать такие значения, при которых критерий оптимальности принимает наилучшее значения относительно состояния Sk.
N
iiii uSqQ
11 ),(
Динамическое программирование в дискретной форме
Алгоритм решения задачи оптимизации методом динамического программирования.
Принцип оптимальности реализуется по шагам следующим образом:
1. Задаются условно значения вектора состояний Si = (S1
i,…, Sin), i=1,…,N-1. Составляющие Si
k, i=1,…,N-1; k=1,…,n, есть значения переменных состояния, выбранные в допустимом диапазоне изменения Si
kmin Si
k Sikmax.
2. На первом шаге оптимизируется N-ая составляющая критерия оптимальности. При решении задачи Q(u)max получаем FN-1,N(Sn-1)=max[qN(SN-1, uN)]. При этом получается u*N = N(SN-1). При этом получается u*N = N(sN-1).
Динамическое программирование в дискретной форме
Алгоритм решения задачи оптимизации методом динамического программирования (продолжение):
На втором шаге оптимизируется совместное функционирование N-1-ой и N-ой стадий процесса, с учетом результата оптимизации, полученного на 1-ом шаге, в виде FN-2,N(sN-2)=max[qN-1(sN-2, uN-1)+FN-1,N(sN-1)]. При этом получается u*N-1 = N-1(sN-2).
Заметим, что в состоянии sN-1 приходят в соответствии с sN-1= sN-1(sN-2, uN-1).
3. На последующих шагах оптимизируется совместное функционирование вновь вводимой стадии процесса со стадиями процесса, рассмотренными на предыдущем шаге по функциональному уравнению динамического программирования FN-k-1,N (sN-k-1) =
= max[qN-k(sN- k-1, uN- k)+FN-k,N(sN-k)], k=2,3,4,…,N.
Динамическое программирование в дискретной форме
Алгоритм решения задачи оптимизации методом динамического программирования (продолжение):
При этом получается u*N-k = N-k(sN-k-1) , а в состояние sN-k приходят в соответствии с sN-k= sN-k(sN-k-1, uN-k).
4. На последнем (N-ом) шаге имеем F0,N (s0) = = max[q1(s0, u1)+F1,N(s1)], u*1 = 1(s0), s1 = s1(s0, u1).
5. Выделяются оптимальные значения управлений u*i, i=1,…,N, следующим образом:
Динамическое программирование в дискретной форме
Алгоритм решения задачи оптимизации методом динамического программирования (окончание):
Для заданного состояния s0 после выполнения N-го шага оптимизации при u*1 = 1(s0) переходят в оптимальное состояние s*1 = s1(s0, u*1).
Далее используется выражение u*2 = 2(s*1). Оптимальные значения остальных управлений
u*i, i=3,4,…,N выделяются поочередным использованием выражений s*k = sk(s*k-1, u*k) и u*k+1 = k+1(s*k), k=2,3,…N.
Постановка задачи динамической оптимизации
где yi(t), i = 1,…,n, - функции состояния системы управления, uj(t) - функции управления; - область допустимых управлений.
Требуется найти такие функции управления uj(t), j = 1,…,r, при которых система переходит из одного состояния y0 в другое состояние yk, и при этом выполняются указанные выше условия, а критерий оптимальности принимает минимальное (максимальное) значение.
,,...,1,)(
)),(),...,(),(),...,((/,,...,1,)(,)(
min(max)))(),...,(),(),...,((
maxmin11
01
)(11
1
rjutuu
tututytyfdtdyniytyyty
dttututytyF
jjj
rnii
kikiii
t
t
trn
u
Методы решения задач динамической оптимизации
–Классическое вариационное исчисление.
–Принцип максимума.
–Динамическое программирование в непрерывной форме (уравнение Беллмана).
Классическое вариационное исчисление Уравнение Эйлера для простейшего
функционала Рассматривается класс непрерывных функций y(х), имеющих непрерывные первые производные (класс функций C1). Здесь х может быть пространственной координатой (длина e, радиус R) или временем t.Ставится задача
где y(х) = d y(х)/dx, y(a) = A, y(b) = B.
(min),max)),(),(()(xy
b
a
dxxxyxyFJ
Классическое вариационное исчисление Уравнение Эйлера для простейшего
функционала Пусть в рассматриваемом классе функций,
приведенных на рисунке ниже, экстремум функционалу доставляет функция y(х). Необходимые условия экстремума функционала можно получить при вариации функции ỹ(х) относительно функции y(х) в обе стороны. Заметим, что сравниваемые функции в точках a и b имеют одно и тоже значение.
Вариация функции а в x
y(х)ỹ2(х)
y(х)ỹ(х)
ỹ1(х)
Классическое вариационное исчисление Уравнение Эйлера для простейшего
функционала
Представим процедуру вариации функции y(х) однопараметрическим семейством функций y(,х) = ỹ(х)+(1-)y(х). Здесь полагаем, что экстремум достигается на функции y(х). Используя однопараметрическое семейство функций y(,х), можно записать
Введем обозначение y(х) = ỹ(х) - y(х), тогда d(y(х))/ dx = y(х) = ỹ - y (х) = y(х). Заметим, что из однопараметрического семейства функций, функции, доставляющей экстремуму функционалу, соответствует = 0.
.)),,(),,(( dxxxyxyFJb
a
Классическое вариационное исчисление Уравнение Эйлера для простейшего
функционала
Необходимое условие экстремума функционала при однопараметрическом представлении варьируемой функции можно записать как
dJ/d = 0, или
Введем обозначения: Fy= F/y, Fy = F/y .
.0)),,(),,(( 0
dxxxyxyFd
db
a
./)),((/)),,(),,(((/)),((/)),,(),,(((
/)),,(),,(((
dxydyxxyxyFdxydyxxyxyF
dxxyxyFd
''''
'
Классическое вариационное исчисление Уравнение Эйлера для простейшего
функционала
Теперь получим, с учетом выражения однопараметрического семейства функций,
Подставим его в функционал
Из полученного выражения выделим вторую составляющую
)).()),,(),,((
)()),,(),,(())()(~)(),,(),,((
))()(~)(),,(),,((/)),,(),,(((
xyxxyxyF
xyxxyxyFxyxyxxyxyF
xyxyxxyxyFxxyxyF
y
yy
y
'
''
''
.0))()),,(),,(()()),,(),,((( dxxyxxyxyFxyxxyxyF y
b
ay
b
ay
b
ay xydxxyxyFdxxyxxyxyF ))(()),(),(()()),(),((
Классическое вариационное исчисление Уравнение Эйлера для простейшего
функционалаи возьмем интеграл по частям
Учитывая тот факт, что сравниваемые функции имеют одинаковые значения в граничных точках, т.е. (y(a)) = y(b)) = 0, имеем
.)())(),((
)()),(),(())(),(()(
)()),(),(())(()),(),((
dxxydx
xxyxyydF
xyxxyxyFxxyxyydFxy
xyxxyxyFxydxxyxyF
b
a
bay
b
a
bay
b
ay
.0)()),(),(( bay xyxxyxyF
Классическое вариационное исчисление Уравнение Эйлера для простейшего
функционала
Оставшуюся часть
подставим в функционал и получим
Приведем подобные члены
dxxydx
xxyxyydFb
a
)())(),((
.0))()),(),(()()),(),((( dxxyxxyxyFdx
dxyxxyxyF y
b
ay
.0))()),(),(()),(),((( dxxyxxyxyFdx
dxxyxyF y
b
ay
Классическое вариационное исчисление Уравнение Эйлера для простейшего
функционала
В соответствии с леммой вариационного исчисления:
Если имеет место
где H(y(x),y(x),x) – непрерывная функция, а h(x) - непрерывная функция, на концах интервала обращающаяся в нуль, то H(y(x),y(x),x) 0.
Имеем аналогию
с H(y(x),y(x),x) и y(x) c h(x).
,0)()),(),(( ' dxxhxxyxyHb
a
)),(),(()),(),(( xxyxyFdx
dxxyxyF yy
Классическое вариационное исчисление Уравнение Эйлера для простейшего
функционалаСледовательно, можно записать
Полученное уравнение называется уравнением Эйлера для простейшего функционала.
.0)),(),(()),(),(( xxyxyFdx
dxxyxyF yy
Классическое вариационное исчисление Уравнение Эйлера для простейшего
функционалаУсловия Лежандра: Если то
Если то
Пример. Найти экстремаль функционала:
y(0) = 0, y(1) = 1. Уравнение Эйлера:
Fy = 12x, Fy = 12y(x), d(Fy)/dx = 2y.
,)(
maxxy
J .0)),(),(( xxyxyF yy
,)(
minxy
J .0)),(),(( xxyxyF yy
,]12))('[()]),('),([ 21
0
dxxyxyxxyxyJ
,0)),(),(()),(),(( xxyxyFdx
dxxyxyF yy
Классическое вариационное исчисление Уравнение Эйлера для простейшего
функционала12x - 2y(x) = 0, y(x) = 6x, y(x) = ∫6xdx+C1 = 3x2+C1,y(x) = ∫(3x2+C1) dx+C2 = x2+C1x+C2. Найдем постоянные интегрирования; используя
граничные условия: y(0) = 0+ C1·0+ C2 = 0; C2 = 0; y(1) = 12+ C1·1+ 0·= 1; C1 = 0.Экстремаль: y = x2. Условия Лежандра:
Следовательно, на функции y = x2 функционал имеет минимум.
.02)'2('
y
dy
dyF
yd
dyyF
Классическое вариационное исчисление Необходимое условие экстремума
функционала, зависящего от n-функций и от их первых производных
Система уравнений Эйлера:
где
(min),)(
max)),(),...,(),(),...,(( 11xy
dxxxyxyxyxyFb
ann
.,...,1,)()(
niВbyAay
ii
ii
,,...,1
,0)),('),(()),('),((
ni
xxxFdx
dxxxF
ii yy
yyyy
)).(),...,(()()),(),...,(()(
1
1xyxyxxyxyx
n
n
yy
Классическое вариационное исчисление Необходимое условие экстремума
функционала, зависящего от n-функций и от их первых производных
Условия Лежандра: Если то
Если то
,)(
maxxy
J
,)(
minxy
J
,0)),(),((11
xxxyyF yy
.0,...,0,
,
1
111
2212
2111
nnn
n
yyFyyF
yyFyyF
yyFyyFyyFyyF
,0)),(),((11
xxxyyF yy
.0,...,0,
,
1
111
2212
2111
nnn
n
yyFyyF
yyFyyF
yyFyyFyyFyyF
Классическое вариационное исчисление Необходимое условие экстремума
функционала, зависящего от функции и от ее n производных
Уравнение Эйлера-Пуассона:
,(min)max)),(),...,(),(()(
)( b
a xy
n dxxxyxyxyFJ
.)(,)(
;)(,)(;)(,)(
)1()1(
22
11
nn
nn BbyAay
BbyAayBbyAay
.0)),(),...,(),(()1(
)),(),...,(),((
1
)(
)(
n
k
nyk
kk
ny
xxyxyxyFdx
d
xxyxyxyF
k
Классическое вариационное исчисление Необходимое условие экстремума
функционала, зависящего от функции и от ее n производных
Условия Лежандра: Если то
Если то
,)(
maxxy
J
,)(
minxy
J
,0)()( nynyF
.0)()( nynyF
Классическое вариационное исчисление Необходимое условие экстремума функционала, зависящего от n функций и от ее m производных
для каждой из n функций
dxxxyxyxy
xyxyxyxyxyFJ
mn
mkn
b
a
knn
)),(),...,(),...,(...,
),...(),...,(),...,(),(),...,((
)()(1
)(
)(111
.)(,)(
;)(,)(
;)(,)(;;)(,)(
;)(,)(;;)(,)(;)(,)(;;)(,)(
1,)1(
1,)1(
1,1)1(
11,1)1(
1
,)(
,)(
,1)(
1,1)(
1
1,1,1,111,11
0,0,0,110,11
mnm
nmnm
n
mm
mm
knk
nknk
nkk
kk
nnnn
nnnn
BbyAay
BbyAay
BbyAayBbyAay
BbyAayBbyAayBbyAayBbyAay
Классическое вариационное исчисление Необходимое условие экстремума
функционала, зависящего от n функций и от ее m производных для каждой из n
функций
В этом случае необходимое условие экстремума функционала представляет собой систему уравнений Эйлера-Пуассона:
)).(),...,(()(,,...,1
,0)),(),...,(),((1)),(),...,(),((
1
1
)()(
xyxyxni
xxxxFdx
dxxxx
iyF
n
m
k
myk
kkm
ki
y
yyyyyy
Классическое вариационное исчислениеРешение вариационных задач при наличии
интегральных (изопериметрических), голономных и неголономных связей
Интегральная связь:
Голономная связь:
Неголономная связь:
.,...,1,
(min),max)),(),(()(
niВbyAay
dxxxxFJ
iiii
x
b
a
y
yy
.,...,1,))),(),(( mjldxxxxG j
b
aj yy
.,...,1,0)),(( mjxxj y
.,...,1,0)),(),(( mjxxxj yy
Классическое вариационное исчислениеРешение вариационных задач при наличии
интегральных связей Составляется новое подынтегральное
выражение
Необходимое условие экстремума функционала:
Эти уравнения решаются совместно с уравнениями интегральных связей при использовании граничных условий.Здесь j, j=1,…,m, - числа.
.)),(),(()),(),((
),),(),((
1
m
jjj xxxGxxxF
xxxF
yyyy
λyy
.,...,1,0)),(),((),),(),(( nixxxiyF
dx
dxxx
iyF yyλyy
Классическое вариационное исчислениеРешение вариационных задач при наличии
голономных и неголономных связей Составляется новое подынтегральное выражение
или
Необходимое условие экстремума функционала:
Эти уравнения решаются совместно с уравнениями голономных и неголономных связей при использовании граничных условий.Здесь j(x), j=1,…,m, - функции.
m
jjj xxxxxxF
xxxxF
1
)),(()()),(),((
)),(),(),((
yyy
λyy
.,...,1,0/)),(),((),),(),(( nidxxxxiyFdxxx
iyF yyλyy
.)),(),(()()),(),((
)),(),(),((
1
m
jjj xxxxxxxF
xxλxxF
yyyy
yy
Классическое вариационное исчислениеРешение вариационных задач при наличии
интегральных (изопериметрических), голономных и неголономных связей
Пример Найти экстремали для функционала:
Запишем уравнение связи в виде
Сформируем новое подынтегральное уравнение
.2)(;1)1(,3)1(;0)0(,0)0(
,)))(())((1()(),((
3
221
0
xxzyzyzy
dxxzxyxzxyJ
.02)()())(),(( 3 xxzxyxzxy
).2)()()(())(())((1)),(),(),(),((
322 xxzxyxxzxyxxzxzxyxyF
Классическое вариационное исчислениеРешение вариационных задач при наличии
интегральных (изопериметрических), голономных и неголономных связей
Пример (продолжение): Уравнения Эйлера:
В развернутом виде имеем:
Решим эти уравнения совместно с условием связи
или
.0/)(,0/)( dxzFdzFdxyFdyF
.0/))(2()(,0/))(2()(
dxxzdxdxxydx
.02)()( 3 xxzxy
),()(2),()(2xxz
xxy
.2/)()(
,2/)()(xxy
xxy
Классическое вариационное исчислениеРешение вариационных задач при наличии
интегральных (изопериметрических), голономных и неголономных связей
Пример (окончание): Возьмем вторую производную от условия связи
и подставим в полученное выражение y″(x) и z″ (x):
Теперь:
Найдем C1 - C4, используя граничные условия:
Окончательно имеем
012)()( xxzxy
.12)(,0122/)(2/)( xxxxx
.)3()(
;36)(;6)(
.)3()(
;36)(;6)(
433
232
32
3'
213
212
32
1
CxCxCdxCxxz
CxCxdxxzxxz
CxCxCdxCxxy
CxCxdxxyxxy
.2;111)1(;0;000)0(;2;113)1(;0;000)0(
3433
443
1213
221
CCCzCCCz
CCCyCCCy
.2)(;2)( 33 xxxzxxxy
Решение задачи оптимального уравнения классическим вариационным исчислением
Решается задача:
где y(t) = (y1(t),…, yn(t)), u(t) = (u1(t),…, ur(t)). Эта задача является вариационной задачей с
неголономными связями.Для функционала:
необходимые условия экстремума:
,,...,1),),(),((/,)(,)0(
,)(
max(min))),(),((
00
nittxfdtdyt
tdtttxFJ
ii
kk
t
uyyyyy
uuy
.,...,1,0/))(),(),(())(),(),((
;,...,1,0/))(),(),(())(),(),((
rjdttλttFdtλttF
nkdttλttFdtλttF
ju
ju
ky
ky
uyuy
uyuy
))),(),((/)(()),(),(())(),(),((1
n
iiii tttfdtdyttttFtλttF uyuyuy
Решение задачи оптимального уравнения классическим вариационным исчислением
В развернутом виде:
Обозначим –1 = 0, i(t) = i(t). Теперь необходимые условия в развернутом
виде:
.0/)),(),(()(/)),(),((
,0/))((/)),(),(()(/)),(),((
1
1
n
ijiij
k
n
ikiik
utttftutttF
dttdytttftytttF
uyuy
uyuy
n
ijiij
n
ikiikk
utttftutttF
ytttftytttFdttd
10
10
.0/))),(),(()((/))),(),(((
,/))),(),(()((/))),(),(((/))((
uyuy
uyuy
Принцип максимума
Решается задача:
Математическое описание процесса:
Особенность принципа максимума: решение может достигаться как в классе непрерывных функций, так и в классе разрывных функций с конечными разрывами. При доказательстве необходимых условий
минимума функционала в принципе максимума используется игольчатая вариация функции управления.
.)(
min)),(),((0 t
tdtttxFJ
uuy
.,...,1),),(),((/,)(,)0( 0
nittxfdtdyt
ii
kk
uyyyyy
Принцип максимума
Игольчатая функция
)(tU
0t1t
t
u(t)
t0 t1
t
Принцип максимума
Содержание принципа максимума: Формируется функция Гамильтона
где i, i= 0,…,n, подчиняются условиям:
Математическое описание процесса, выраженное через функцию
Обозначим критерий оптимальности
Заметим, что y0(0) = 0, тогда
,)),(),(()()),(),(())(),(),((1
00
n
iii tttfttttFtttH uyuyψuy
.,...,0,/))(),(),((/ niytttHdtd ii ψuy
:)),(),(),(( tttH ψuy
.,...,0,/))(),(),((/ nitttHdtdy ii ψuy
.)),(),(()(0
0 t
dttttFty uy
).),(),((/0 tttFdttdy uy
Формулировка принципа максимума
Пусть найдены оптимальные уравнения, минимизирующие функционал. В этом случае система сопряженных уравнений
имеет не нулевое решение, и следующие условия при этом выполняются: 1. Функция принимает свое максимальное значение, т.е. 2. 0 = const 0. 3. H* = const.
.,...,0,/))(),(),((/,/))(),(),((/
nitttHdtdyytttHdtdii
ii
ψuy
ψuy
))(),(),(( tttH ψuy)).(),(),((max
)(
* tttHHt
ψuyu
Общий алгоритм решения задачи оптимального уравнения с использованием
принципа максимума
1. Максимизируется функция H(y(t),u(t),(t)) по управлениям u(t). При этом получаются 2. Эти u*
j =u*j(y(t),(t)) подставляются в систему
сопряженных уравнений. Заметим, что для получения их решения нужно иметь 2n+2 постоянных интегрирования, определяемых 2n+2 граничными условиями. Из постановки задачи оптимального управления следуют 2n граничных условий и одно граничное условие для функции y0. Нужно еще одно граничное условие.
.,...,1)),(),((** rjttuu jj ψy
Общий алгоритм решения задачи оптимального уравнения с использованием
принципа максимума
Продолжение алгоритма: Однако, в силу линейности функции H относительно i, i = 0,…,n, при максимизации функции H(y(t),u(t),(t)) по u(t) одна из функций i(t) может быть представлена с точностью до постоянной интегрирования. Учитывая второе условие принципа максимума, можно принять само значение функции 0 неположительным числом (принимается 0 = -1). 3. Теперь решение системы сопряженных уравнений может быть найдено:
yi = yi(t), i = i(t), i = 0,…,n,
Общий алгоритм решения задачи оптимального уравнения с использованием
принципа максимума
Продолжение алгоритма: 4. Подставляются функции yi = yi(t), i = 0,…,n, и i = i(t), i = 0,…,n, в функции u*
j =u*j(y(t),(t)),
j = 1,…,r, и получаются оптимальные функции управления u*
j =u*j(t).
Эти функции управления можно получать в виде функций от переменного состояния yi(t), i = 0,…,n, т.е. как u*
j =uj(y1(t),…, yn(t)). В этом случае задача оптимального управления называется задачей синтеза оптимального управления.
Общий алгоритм решения задачи оптимального уравнения с использованием
принципа максимума
Продолжение алгоритма: Запишем в развернутом виде систему уравнений: и необходимое условие максимума функции H(y(t),u(t),(t)) как
,,...,0,/))(),(),((/ niytttHdtd ii ψuy
.,...,1,0/))(),(),(( rjutttH j ψuy
.,...,1,0/))),(),((()(
/))),(),(((/))),(),(((
,,...,1,/))),(),((()(
/))),(),(((/
1
01
0
rjutttft
utttFutttH
niytttft
ytttFdtd
n
kjkk
jj
n
kikk
ii
uy
uyuy
uy
uy
Общий алгоритм решения задачи оптимального уравнения с использованием
принципа максимума
Окончание алгоритма: Заметим, что выражение для производных di/dt соответствует уравнениям Эйлера, записанным для функций yk(t), k = 1,…,n, а условия
соответствует уравнениям Эйлера, записанным для функций uj(t), j = 1,…,r, в классическом вариационном исчислении при решении задачи оптимального управления.
0/))),(),((( jutttH uy
Пример решения задачи оптимального уравнения с использованием принципа
максимума Пример. Найти управление u(t), при котором функционал принимает минимальное значение.
y(0) = 1; y(tk) = 2. Уравнение динамики объекта dy(t)/dt = ay(t)+u(t). Путь на управление не наложено ограничений. Введем dy0/dt = (y2(t)+u2(t))/2, y0(0) = 0. Составим функцию Гамильтона H(y(t),u(t),(t)) = 0f0(y(t),u(t))+(t)f(y(t),u(t)). В развернутом видеH(y(t),u(t),(t))=0(y
2(t)+u2(t))/2+(t)(-ay1(t)+u(t)).
,)))(())((2
1)(),(( 22
0
dttutytutyJt
Пример решения задачи оптимального уравнения с использованием принципа
максимума Продолжение примера: Примем: 0 = -1. Сопряженное уравнение d/dt = -H(y(t),u(t),(t))/y(t) = - y(t)+a(t). Максимизируем функцию H(y(t),u(t),(t)). Необходимое условие экстремума функции
H(y(t),u(t),(t))/u(t) =0, u(t)-(t) = 0, т. е. u(t) = (t).
Подставим u(t) в систему сопряженных уравнений: dy(t)/dt = ay(t)+(t),
d/dt = -y(t)+a(t). Решение этих двух уравнений с использованием граничных условий дает y = y(t), = (t).
Численное решение задачи оптимального уравнения с использованием принципа
максимума В тех случаях, когда система сопряженных
уравнений не может быть решена аналитически или аналитическое решение получить трудно, она решается численно. Принимается, что
Тогда для системы уравнений:
откуда
./))())1(((/)(
/))())1(((/)(
ttktktktdttd
ttkytkytktdttdy
iii
iii
,,...,1,0,/))(),(),((/)( nktktttHtktdttdy ii tψuy
.,...,1,0,/))(),(),(()())1(( nktktttHttkytky iii tψuy
Численное решение задачи оптимального уравнения с использованием принципа
максимума Для системы уравнений:
имеем
откуда
ii ytttHtktdttd /)),(),((/)( uy
,,...,1,0,/)),(),((/))())1(((
nktktytttHttktk
ii
uy
.,...,1,0,/))(),(),(()())1((
nktktyttHttktk iii
tψuy
Численное решение задачи оптимального уравнения с использованием принципа
максимума
Алгоритм решения задачи оптимального уравнения численным методом с использованием принципа максимума: 1. Произвольно задаются i(0), i = 0,…,n, и полагается 0 = -1. 2. Из граничных условий выбираются yi(0), i = 0,…,n. 3. Подставляются выбранные 0, i(0), yi(0), i = 0,…,n, в функцию H, т.е. в H(y(0), (0), u(t)),
Численное решение задачи оптимального уравнения с использованием принципа
максимума Продолжение алгоритма: и она максимизируется При этом получается u(0) = (u1(0),…,ur(0).
4. По выше приведенным уравнениям вычисляются yi(t), i(t), i = 1,…,n, т.е. yi(t), и i(t) при k = 1. 5. Найденные yi(kt) и i(kt), i = 1,…,n, подставляются в функцию H, т.е. в H(y(t),( t),u), и она максимизируется
При этом получается u(kt) = (u1(kt),…,ur(kt) при k =1. Пункты 4 и 5 выполняются до k = N, где N соответствует условию Nt = tk.
.max)),0(),0((u
uy H
.max)),(),((u
uy tktkH
Численное решение задачи оптимального уравнения с использованием принципа
максимума Окончание алгоритма: 6. Проверяется выполнение условий:
или
где yip - рассчитанное значение yi, а i и -
требуемая точность вычислений. Если условия пункта 6 не выполняются, то задаются новые значения (0) = (1(0),…,n(0)) и происходит переход к пункту 2 для последовательного выполнения всех пунктов алгоритма.
,,...,1,)()( nitNyty ipiki
,))()(( 2
1
N
i
piki tNyty
Особенности решения задач на максимальное быстродействие
В задаче на максимальное быстродействие функционал имеет вид: т.е. подынтегральное выражение F(y(t),u(t),t) = 1. При этом функция Гамильтона
или
Функция называется укороченной функцией Гамильтона.Решение задачи выполняется по выше приведенному алгоритму для укороченной функции Гамильтона
,0 t dtJ
),),(),(()())(),(),((1
0 tttfttttHn
kkk uyuy
).),(),(()())(),(),(())(),(),((~
10 tttfttttHtttH
n
kkk uyuyuy
))(),(),((~
tttH uy
)).(),(),((~
tttH uy
Особенности решения задач на максимальное быстродействие
Пример решения задачи на максимальное быстродействие. Решается задача перевода системы из состояния y1(0) = y1
0 и y2(0) = y2
0 в состояние y1(tk) = y1k и y2(tk)
= y2k за минимальное время.
Математическое описание процесса:
Составим укороченную функцию Гамильтона:
Максимизируем функцию Гамильтона. Учитывая линейность функции H от от u(t), с учетом ограничения -1 u(t) 1, имеем u*(t) = Sign(2(t)).
.1)(1);()())(),(),(();(/)(
);()())(),(),(();(/)(22122
2121121
tututytutytyftudttdy
tytytutytyftydttdy
).()()()())(),(),(()())(),(),(()(
~
22121222111
tuttyttutytyfttutytyftH
Особенности решения задач на максимальное быстродействие
Продолжение примера: Сопряженные уравнения
Решение этих уравнений дает 1 = Const = C1; 2(t) = 1(t)dt+ C2 = C1t+ C2. Учитывая линейность функции 2(t), при оптимальном управлении возможно лишь одно переключение u(t) либо с -1 на 1, либо с 1 на -1. Решение системы уравнений математического описания рассмотрим при u = 1 и при u = -1. Пусть u = 1, тогда dy1(t)/dt = y2(t), dy2(t)/dt = 1. Поделим первое уравнение на второе dy1(t)/dy2(t) = y2(t),
).()(/))(),(),((~
/)(0)(/))(),(),((
~/)(
122
11ttytttHdttd
tytttHdttd
ψuyψuy
Особенности решения задач на максимальное быстродействие
Продолжение примера: dy1(t) = y2(t) dy2(t), y1(t) = y2(t) dy2+ C3 = y2
2(t)/2+C3. Пусть u =-1.Тогда y1(t) = y2
2(t)/2+C4. Пусть конечное состояние системы определено условиями y1(tk) = 0, y2(tk) = 0. Тогда для t = tk и u = 1 имеем y1(tk) = y2
2(t)/2+C3; C3 = 0; для u =-1 имеем y1(tk) = y2
2(t)/2+C4; C4 = 0. Следовательно, через конечную точку проходят траектории движения: при u = 1 y1(tk) = y2
2(t)/2, а при u =-1 имеем y1(tk) = -y2
2(t)/2.
Особенности решения задач на максимальное быстродействие
Окончание примера: Чтобы из произвольной точки y(t) = (y1(t), y2(t)) попасть в конечную по оптимальной траектории, нужно из этой точки пойти по траектории, выводящей систему на линию переключения y1(t) = Sign(y2(t))·y2(t)/2. При достижении этой линии знак управляющего воздействия нужно сменить на противоположный. Оптимальное управление соответствует условию u*( t) = Sign((Signy2(t)) y
22(t)/2 - y1(t)).
Динамическое программирование в непрерывной форме. Уравнение Беллмана Решается задача оптимального управления
y(0) = y0, dyi(t)/dt = fi(y(t),u(t),t), i = 1,…,n,y(tk) = yk. В основе динамического программирования
лежит принцип оптимальности в соответствии с которым нужно оптимальным образом перевести систему из состояния y()в конечное состояние y(tk) не зависимо от того, каким образом система пришла из исходного состояния y(0) в состояние y().
(max),min)),(),((
0 t
tdttttFJ
uuy
Динамическое программирование в непрерывной форме. Уравнение Беллмана
Вариация функции
)(ty
)0(y
)(ty
0 kt
t
)(* ty
)(* ty
Динамическое программирование в непрерывной форме. Уравнение БеллманаМатематически принцип оптимальности
реализуется через выражение:
Пусть - малая величина. Обозначим
Тогда
].)),(),(()(
min)),(),(([)(
min)(
min0
dttttFt
dttttFt
Jt
tuyuy
uuu
.)),(),(()(
min))0(,0(
,)),(),(()(
min))(,(
0
dttttFt
dttttFt
t
t
uyy
uyy
u
u
))].(,()),(),(([)(
min))0(,0(0
yuyyu
dttttFt
t
Динамическое программирование в непрерывной форме. Уравнение Беллмана
Разложим функцию (, y()) в ряд Тейлора относительно состояния t = 0, y(0) = y0 по степеням y(t) и t.
Примем, что t = . Заметим, что или С учетом малости можно записать
.)0(
0))(,(
)0(0
))(,())0(0())(,(
1 yyyy
yyyy
tt
tttty
tty
n
i ii
,
,/)()( tdttdyty ii .)),(),(()( ttttfty ii uy
.)),(),0(()),(),0(()),(),((0
ttFtttFdttttF uyuyuy
Динамическое программирование в непрерывной форме. Уравнение Беллмана
Теперь min(J(y(0),u(t))), с учетом выше приведенных выражений, можно записать в виде
.])0(
0/))(,((
)0(0))),(),(()/))(,(((
))0(0()),(),0(([min))0(0(
1
)(
yy
yy
u
y
uyy
yuyy
tttt
ttttfytt
ttF
i
n
ii
t
,,
Динамическое программирование в непрерывной форме. Уравнение БеллманаТак как (0, y(0)) не зависит от u(t), а
содержится во всех составляющих правой части записанного выше уравнения, то это уравнение приводится к виду
Учтем тот факт, что разложение условно оптимальной величины функционала, записанной для условного состояния в какой-то момент времени t (в приведенном случае y()),
].)0(
0))),(),(()/))(,(((
)0(0)),(),0(([min
)0(0/))(,((
1
)(
yy
yyuyy
uyy
uyy
ttttfytt
tttFtttt
i
n
ii
t
Динамическое программирование в непрерывной форме. Уравнение Беллманаможно разложить в ряд Тейлора относительно оптимального состояния системы в момент времени t = при y (t), т.е.
Полученное уравнение называется уравнением Беллмана. Оно является уравнением в частных производных. Решение этого уравнения есть функции u*(t), доставляющие экстремум функционалу. Функции состояния системы y*(t) при этом описывают оптимальную траекторию движения из исходного y0 в конечное состояние yk.
))].),(),(()/))(,(((
)),(),(([min/))(,((
1
)(
tttfytt
tttFttt
i
n
ii
t
uyy
uyyu
Алгоритм решения задачи оптимального уравнения методом динамического
программирования в непрерывной форме
Для решения уравнения Беллмана, кроме условий y(0) = y0 и y (tk) = yk, нужно иметь значение функции (t, y(t)) и значения ее производных (t, y(t))/yi, i = 1,…,n, и (t,y(t))/t в один из граничных моментов времени tн = 0 или tk.
Заметим, что (tk, y(tk)) = 0 по определению. В силу этого имеет место тождество
.,...,1,0/))(,()(
niyttk
kt
tti
yyy
Алгоритм решения задачи оптимального уравнения методом динамического
программирования в непрерывной форме
Теперь из самого уравнения Беллмана следует
Получены все условия для решения уравнения Беллмана.
Решение уравнение Беллмана выполняется известными методами решения систем дифференциальных уравнений в частных производных.
.)(
)),(),(((max)(
/))(,(
kk
kk
ttttttF
tttttt
yyuyy
uyy
Алгоритм решения задачи оптимального уравнения методом динамического
программирования в непрерывной форме
Покажем что уравнение Беллмана при некоторых допущениях может быть приведено к уравнениям Эйлера. Запишем уравнение Беллмана в виде двух видов уравнений: Первый вид:
Второй вид: ).),(),(()/))(,((
)),(),((/))(,(*
1
*
tttfytt
tttFttt
i
n
ii uyy
uyy
.,...,1,0/)),(),((/))(,(
/)),(),((
1rjutttfytt
utttFn
ijii
j
uyy
uy
Алгоритм решения задачи оптимального уравнения методом динамического
программирования в непрерывной форме
Управления, удовлетворяющие уравнениям второго вида, обозначим u*(t). В первом уравнении управления u*(t) удовлетворяют условиям правой части уравнения Беллмана, выраженным уравнениями второго вида. Теперь продифференцируем уравнение первого вида по переменным состояния и введем обозначения: k(t) = -(t, y(t))/yk, k = 1,…,n,
0 = -1.
Алгоритм решения задачи оптимального уравнения методом динамического
программирования в непрерывной форме
Принимая допущения, что с учетом принятых выше обозначений, получим
.,...,1,)/)),(),((()/))(,((
)),(),((/)/))(,((
/)),(),((/)))(,(
(
1
*
*
1
*
nkytttfytt
tttfyytt
ytttFyt
tt
n
ikii
i
n
iki
kk
uyy
uyy
uyy
,0/)/))(,(( kyttt y
.,...,1,0)/)),(),(((/)),(),(((
,,...,1,/)),(),(()((
/)),(),(((/)(
1
*0
1
*
*0
rjutttfutttF
nkytttft
ytttFdttd
n
ijiij
n
ikii
kk
uyuy
uy
uy
Алгоритм решения задачи оптимального уравнения методом динамического
программирования в непрерывной форме
Полученные уравнения являются уравнениями Эйлера в задаче оптимального управления.
Таким образом, показано, что классическое вариационное исчисление, принцип максимума и уравнение Беллмана при некоторых допущениях позволяют выразить условия экстремума функционала в задаче оптимального управления идентичными уравнениями.