69
Методы оптимизации - II Проф. В.П. Кривошеев

Методы оптимизации - II

  • Upload
    oistin

  • View
    92

  • Download
    1

Embed Size (px)

DESCRIPTION

Методы оптимизации - II. Проф. В.П. Кривошеев. Динамическое программирование в дискретной форме. - PowerPoint PPT Presentation

Citation preview

Page 1: Методы оптимизации -  II

Методы оптимизации - II

Проф. В.П. Кривошеев

Page 2: Методы оптимизации -  II

Динамическое программирование в дискретной форме

В дискретной форме динамическое программирование является декомпозиционным методом решения задач статической оптимизации. Особенность динамического программирования в дискретной форме позволяет свести задачу большой размерности к ряду подзадач меньшой размерности.

В динамическом программировании критерий оптимальности Q = Q(u1,…,ur) должен быть функцией Марковского типа, т.е. он может быть представлен в виде функции от состояния S = S (u1,…,ur-1), в которое приходит последний объект в результате воздействия (r-1) управлений, и от оставшегося управления ur, т.е. Q = Q(S, ur).

Предполагается, что процесс протекающий в исследуемом объекте, можно рассматривать как многостадийный (N-стадийный, см. рисунок ниже).

Page 3: Методы оптимизации -  II

Динамическое программирование в дискретной форме

Многостадийный процесс Здесь: 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

Page 4: Методы оптимизации -  II

Динамическое программирование в дискретной форме

Рассматривается критерий оптимальности в виде .

В основе динамического программирования лежит принцип оптимальности: оптимальная стратегия обладает таким свойством, что для любых значений управлений u1,…,uk, при которых система пришла в состояние

Sk = Sk (S0, u1,…,uk), оставшиеся управления uk+1,…,ur должны принимать такие значения, при которых критерий оптимальности принимает наилучшее значения относительно состояния Sk.

N

iiii uSqQ

11 ),(

Page 5: Методы оптимизации -  II

Динамическое программирование в дискретной форме

Алгоритм решения задачи оптимизации методом динамического программирования.

Принцип оптимальности реализуется по шагам следующим образом:

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).

Page 6: Методы оптимизации -  II

Динамическое программирование в дискретной форме

Алгоритм решения задачи оптимизации методом динамического программирования (продолжение):

На втором шаге оптимизируется совместное функционирование 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.

Page 7: Методы оптимизации -  II

Динамическое программирование в дискретной форме

Алгоритм решения задачи оптимизации методом динамического программирования (продолжение):

При этом получается 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, следующим образом:

Page 8: Методы оптимизации -  II

Динамическое программирование в дискретной форме

Алгоритм решения задачи оптимизации методом динамического программирования (окончание):

Для заданного состояния 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.

Page 9: Методы оптимизации -  II

Постановка задачи динамической оптимизации

где 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

Page 10: Методы оптимизации -  II

Методы решения задач динамической оптимизации

–Классическое вариационное исчисление.

–Принцип максимума.

–Динамическое программирование в непрерывной форме (уравнение Беллмана).

Page 11: Методы оптимизации -  II

Классическое вариационное исчисление Уравнение Эйлера для простейшего

функционала Рассматривается класс непрерывных функций y(х), имеющих непрерывные первые производные (класс функций C1). Здесь х может быть пространственной координатой (длина e, радиус R) или временем t.Ставится задача

где y(х) = d y(х)/dx, y(a) = A, y(b) = B.

(min),max)),(),(()(xy

b

a

dxxxyxyFJ

Page 12: Методы оптимизации -  II

Классическое вариационное исчисление Уравнение Эйлера для простейшего

функционала Пусть в рассматриваемом классе функций,

приведенных на рисунке ниже, экстремум функционалу доставляет функция y(х). Необходимые условия экстремума функционала можно получить при вариации функции ỹ(х) относительно функции y(х) в обе стороны. Заметим, что сравниваемые функции в точках a и b имеют одно и тоже значение.

Вариация функции а в x

y(х)ỹ2(х)

y(х)ỹ(х)

ỹ1(х)

Page 13: Методы оптимизации -  II

Классическое вариационное исчисление Уравнение Эйлера для простейшего

функционала

Представим процедуру вариации функции y(х) однопараметрическим семейством функций y(,х) = ỹ(х)+(1-)y(х). Здесь полагаем, что экстремум достигается на функции y(х). Используя однопараметрическое семейство функций y(,х), можно записать

Введем обозначение y(х) = ỹ(х) - y(х), тогда d(y(х))/ dx = y(х) = ỹ - y (х) = y(х). Заметим, что из однопараметрического семейства функций, функции, доставляющей экстремуму функционалу, соответствует = 0.

.)),,(),,(( dxxxyxyFJb

a

Page 14: Методы оптимизации -  II

Классическое вариационное исчисление Уравнение Эйлера для простейшего

функционала

Необходимое условие экстремума функционала при однопараметрическом представлении варьируемой функции можно записать как

dJ/d = 0, или

Введем обозначения: Fy= F/y, Fy = F/y .

.0)),,(),,(( 0

dxxxyxyFd

db

a

./)),((/)),,(),,(((/)),((/)),,(),,(((

/)),,(),,(((

dxydyxxyxyFdxydyxxyxyF

dxxyxyFd

''''

'

Page 15: Методы оптимизации -  II

Классическое вариационное исчисление Уравнение Эйлера для простейшего

функционала

Теперь получим, с учетом выражения однопараметрического семейства функций,

Подставим его в функционал

Из полученного выражения выделим вторую составляющую

)).()),,(),,((

)()),,(),,(())()(~)(),,(),,((

))()(~)(),,(),,((/)),,(),,(((

xyxxyxyF

xyxxyxyFxyxyxxyxyF

xyxyxxyxyFxxyxyF

y

yy

y

'

''

''

.0))()),,(),,(()()),,(),,((( dxxyxxyxyFxyxxyxyF y

b

ay

b

ay

b

ay xydxxyxyFdxxyxxyxyF ))(()),(),(()()),(),((

Page 16: Методы оптимизации -  II

Классическое вариационное исчисление Уравнение Эйлера для простейшего

функционалаи возьмем интеграл по частям

Учитывая тот факт, что сравниваемые функции имеют одинаковые значения в граничных точках, т.е. (y(a)) = y(b)) = 0, имеем

.)())(),((

)()),(),(())(),(()(

)()),(),(())(()),(),((

dxxydx

xxyxyydF

xyxxyxyFxxyxyydFxy

xyxxyxyFxydxxyxyF

b

a

bay

b

a

bay

b

ay

.0)()),(),(( bay xyxxyxyF

Page 17: Методы оптимизации -  II

Классическое вариационное исчисление Уравнение Эйлера для простейшего

функционала

Оставшуюся часть

подставим в функционал и получим

Приведем подобные члены

dxxydx

xxyxyydFb

a

)())(),((

.0))()),(),(()()),(),((( dxxyxxyxyFdx

dxyxxyxyF y

b

ay

.0))()),(),(()),(),((( dxxyxxyxyFdx

dxxyxyF y

b

ay

Page 18: Методы оптимизации -  II

Классическое вариационное исчисление Уравнение Эйлера для простейшего

функционала

В соответствии с леммой вариационного исчисления:

Если имеет место

где 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

Page 19: Методы оптимизации -  II

Классическое вариационное исчисление Уравнение Эйлера для простейшего

функционалаСледовательно, можно записать

Полученное уравнение называется уравнением Эйлера для простейшего функционала.

.0)),(),(()),(),(( xxyxyFdx

dxxyxyF yy

Page 20: Методы оптимизации -  II

Классическое вариационное исчисление Уравнение Эйлера для простейшего

функционалаУсловия Лежандра: Если то

Если то

Пример. Найти экстремаль функционала:

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

Page 21: Методы оптимизации -  II

Классическое вариационное исчисление Уравнение Эйлера для простейшего

функционала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

Page 22: Методы оптимизации -  II

Классическое вариационное исчисление Необходимое условие экстремума

функционала, зависящего от n-функций и от их первых производных

Система уравнений Эйлера:

где

(min),)(

max)),(),...,(),(),...,(( 11xy

dxxxyxyxyxyFb

ann

.,...,1,)()(

niВbyAay

ii

ii

,,...,1

,0)),('),(()),('),((

ni

xxxFdx

dxxxF

ii yy

yyyy

)).(),...,(()()),(),...,(()(

1

1xyxyxxyxyx

n

n

yy

Page 23: Методы оптимизации -  II

Классическое вариационное исчисление Необходимое условие экстремума

функционала, зависящего от 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

Page 24: Методы оптимизации -  II

Классическое вариационное исчисление Необходимое условие экстремума

функционала, зависящего от функции и от ее 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

Page 25: Методы оптимизации -  II

Классическое вариационное исчисление Необходимое условие экстремума

функционала, зависящего от функции и от ее n производных

Условия Лежандра: Если то

Если то

,)(

maxxy

J

,)(

minxy

J

,0)()( nynyF

.0)()( nynyF

Page 26: Методы оптимизации -  II

Классическое вариационное исчисление Необходимое условие экстремума функционала, зависящего от 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

Page 27: Методы оптимизации -  II

Классическое вариационное исчисление Необходимое условие экстремума

функционала, зависящего от n функций и от ее m производных для каждой из n

функций

В этом случае необходимое условие экстремума функционала представляет собой систему уравнений Эйлера-Пуассона:

)).(),...,(()(,,...,1

,0)),(),...,(),((1)),(),...,(),((

1

1

)()(

xyxyxni

xxxxFdx

dxxxx

iyF

n

m

k

myk

kkm

ki

y

yyyyyy

Page 28: Методы оптимизации -  II

Классическое вариационное исчислениеРешение вариационных задач при наличии

интегральных (изопериметрических), голономных и неголономных связей

Интегральная связь:

Голономная связь:

Неголономная связь:

.,...,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

Page 29: Методы оптимизации -  II

Классическое вариационное исчислениеРешение вариационных задач при наличии

интегральных связей Составляется новое подынтегральное

выражение

Необходимое условие экстремума функционала:

Эти уравнения решаются совместно с уравнениями интегральных связей при использовании граничных условий.Здесь j, j=1,…,m, - числа.

.)),(),(()),(),((

),),(),((

1

m

jjj xxxGxxxF

xxxF

yyyy

λyy

.,...,1,0)),(),((),),(),(( nixxxiyF

dx

dxxx

iyF yyλyy

Page 30: Методы оптимизации -  II

Классическое вариационное исчислениеРешение вариационных задач при наличии

голономных и неголономных связей Составляется новое подынтегральное выражение

или

Необходимое условие экстремума функционала:

Эти уравнения решаются совместно с уравнениями голономных и неголономных связей при использовании граничных условий.Здесь 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

Page 31: Методы оптимизации -  II

Классическое вариационное исчислениеРешение вариационных задач при наличии

интегральных (изопериметрических), голономных и неголономных связей

Пример Найти экстремали для функционала:

Запишем уравнение связи в виде

Сформируем новое подынтегральное уравнение

.2)(;1)1(,3)1(;0)0(,0)0(

,)))(())((1()(),((

3

221

0

xxzyzyzy

dxxzxyxzxyJ

.02)()())(),(( 3 xxzxyxzxy

).2)()()(())(())((1)),(),(),(),((

322 xxzxyxxzxyxxzxzxyxyF

Page 32: Методы оптимизации -  II

Классическое вариационное исчислениеРешение вариационных задач при наличии

интегральных (изопериметрических), голономных и неголономных связей

Пример (продолжение): Уравнения Эйлера:

В развернутом виде имеем:

Решим эти уравнения совместно с условием связи

или

.0/)(,0/)( dxzFdzFdxyFdyF

.0/))(2()(,0/))(2()(

dxxzdxdxxydx

.02)()( 3 xxzxy

),()(2),()(2xxz

xxy

.2/)()(

,2/)()(xxy

xxy

Page 33: Методы оптимизации -  II

Классическое вариационное исчислениеРешение вариационных задач при наличии

интегральных (изопериметрических), голономных и неголономных связей

Пример (окончание): Возьмем вторую производную от условия связи

и подставим в полученное выражение 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

Page 34: Методы оптимизации -  II

Решение задачи оптимального уравнения классическим вариационным исчислением

Решается задача:

где 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

Page 35: Методы оптимизации -  II

Решение задачи оптимального уравнения классическим вариационным исчислением

В развернутом виде:

Обозначим –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

Page 36: Методы оптимизации -  II

Принцип максимума

Решается задача:

Математическое описание процесса:

Особенность принципа максимума: решение может достигаться как в классе непрерывных функций, так и в классе разрывных функций с конечными разрывами. При доказательстве необходимых условий

минимума функционала в принципе максимума используется игольчатая вариация функции управления.

.)(

min)),(),((0 t

tdtttxFJ

uuy

.,...,1),),(),((/,)(,)0( 0

nittxfdtdyt

ii

kk

uyyyyy

Page 37: Методы оптимизации -  II

Принцип максимума

Игольчатая функция

)(tU

0t1t

t

u(t)

t0 t1

t

Page 38: Методы оптимизации -  II

Принцип максимума

Содержание принципа максимума: Формируется функция Гамильтона

где 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

Page 39: Методы оптимизации -  II

Формулировка принципа максимума

Пусть найдены оптимальные уравнения, минимизирующие функционал. В этом случае система сопряженных уравнений

имеет не нулевое решение, и следующие условия при этом выполняются: 1. Функция принимает свое максимальное значение, т.е. 2. 0 = const 0. 3. H* = const.

.,...,0,/))(),(),((/,/))(),(),((/

nitttHdtdyytttHdtdii

ii

ψuy

ψuy

))(),(),(( tttH ψuy)).(),(),((max

)(

* tttHHt

ψuyu

Page 40: Методы оптимизации -  II

Общий алгоритм решения задачи оптимального уравнения с использованием

принципа максимума

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

Page 41: Методы оптимизации -  II

Общий алгоритм решения задачи оптимального уравнения с использованием

принципа максимума

Продолжение алгоритма: Однако, в силу линейности функции 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,

Page 42: Методы оптимизации -  II

Общий алгоритм решения задачи оптимального уравнения с использованием

принципа максимума

Продолжение алгоритма: 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)). В этом случае задача оптимального управления называется задачей синтеза оптимального управления.

Page 43: Методы оптимизации -  II

Общий алгоритм решения задачи оптимального уравнения с использованием

принципа максимума

Продолжение алгоритма: Запишем в развернутом виде систему уравнений: и необходимое условие максимума функции 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

Page 44: Методы оптимизации -  II

Общий алгоритм решения задачи оптимального уравнения с использованием

принципа максимума

Окончание алгоритма: Заметим, что выражение для производных di/dt соответствует уравнениям Эйлера, записанным для функций yk(t), k = 1,…,n, а условия

соответствует уравнениям Эйлера, записанным для функций uj(t), j = 1,…,r, в классическом вариационном исчислении при решении задачи оптимального управления.

0/))),(),((( jutttH uy

Page 45: Методы оптимизации -  II

Пример решения задачи оптимального уравнения с использованием принципа

максимума Пример. Найти управление 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

Page 46: Методы оптимизации -  II

Пример решения задачи оптимального уравнения с использованием принципа

максимума Продолжение примера: Примем: 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).

Page 47: Методы оптимизации -  II

Численное решение задачи оптимального уравнения с использованием принципа

максимума В тех случаях, когда система сопряженных

уравнений не может быть решена аналитически или аналитическое решение получить трудно, она решается численно. Принимается, что

Тогда для системы уравнений:

откуда

./))())1(((/)(

/))())1(((/)(

ttktktktdttd

ttkytkytktdttdy

iii

iii

,,...,1,0,/))(),(),((/)( nktktttHtktdttdy ii tψuy

.,...,1,0,/))(),(),(()())1(( nktktttHttkytky iii tψuy

Page 48: Методы оптимизации -  II

Численное решение задачи оптимального уравнения с использованием принципа

максимума Для системы уравнений:

имеем

откуда

ii ytttHtktdttd /)),(),((/)( uy

,,...,1,0,/)),(),((/))())1(((

nktktytttHttktk

ii

uy

.,...,1,0,/))(),(),(()())1((

nktktyttHttktk iii

tψuy

Page 49: Методы оптимизации -  II

Численное решение задачи оптимального уравнения с использованием принципа

максимума

Алгоритм решения задачи оптимального уравнения численным методом с использованием принципа максимума: 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)),

Page 50: Методы оптимизации -  II

Численное решение задачи оптимального уравнения с использованием принципа

максимума Продолжение алгоритма: и она максимизируется При этом получается 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

Page 51: Методы оптимизации -  II

Численное решение задачи оптимального уравнения с использованием принципа

максимума Окончание алгоритма: 6. Проверяется выполнение условий:

или

где yip - рассчитанное значение yi, а i и -

требуемая точность вычислений. Если условия пункта 6 не выполняются, то задаются новые значения (0) = (1(0),…,n(0)) и происходит переход к пункту 2 для последовательного выполнения всех пунктов алгоритма.

,,...,1,)()( nitNyty ipiki

,))()(( 2

1

N

i

piki tNyty

Page 52: Методы оптимизации -  II

Особенности решения задач на максимальное быстродействие

В задаче на максимальное быстродействие функционал имеет вид: т.е. подынтегральное выражение F(y(t),u(t),t) = 1. При этом функция Гамильтона

или

Функция называется укороченной функцией Гамильтона.Решение задачи выполняется по выше приведенному алгоритму для укороченной функции Гамильтона

,0 t dtJ

),),(),(()())(),(),((1

0 tttfttttHn

kkk uyuy

).),(),(()())(),(),(())(),(),((~

10 tttfttttHtttH

n

kkk uyuyuy

))(),(),((~

tttH uy

)).(),(),((~

tttH uy

Page 53: Методы оптимизации -  II

Особенности решения задач на максимальное быстродействие

Пример решения задачи на максимальное быстродействие. Решается задача перевода системы из состояния 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

Page 54: Методы оптимизации -  II

Особенности решения задач на максимальное быстродействие

Продолжение примера: Сопряженные уравнения

Решение этих уравнений дает 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

Page 55: Методы оптимизации -  II

Особенности решения задач на максимальное быстродействие

Продолжение примера: 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.

Page 56: Методы оптимизации -  II

Особенности решения задач на максимальное быстродействие

Окончание примера: Чтобы из произвольной точки 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)).

Page 57: Методы оптимизации -  II

Динамическое программирование в непрерывной форме. Уравнение Беллмана Решается задача оптимального управления

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

Page 58: Методы оптимизации -  II

Динамическое программирование в непрерывной форме. Уравнение Беллмана

Вариация функции

)(ty

)0(y

)(ty

0 kt

t

)(* ty

)(* ty

Page 59: Методы оптимизации -  II

Динамическое программирование в непрерывной форме. Уравнение БеллманаМатематически принцип оптимальности

реализуется через выражение:

Пусть - малая величина. Обозначим

Тогда

].)),(),(()(

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

Page 60: Методы оптимизации -  II

Динамическое программирование в непрерывной форме. Уравнение Беллмана

Разложим функцию (, 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

Page 61: Методы оптимизации -  II

Динамическое программирование в непрерывной форме. Уравнение Беллмана

Теперь 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

,,

Page 62: Методы оптимизации -  II

Динамическое программирование в непрерывной форме. Уравнение БеллманаТак как (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

Page 63: Методы оптимизации -  II

Динамическое программирование в непрерывной форме. Уравнение Беллманаможно разложить в ряд Тейлора относительно оптимального состояния системы в момент времени t = при y (t), т.е.

Полученное уравнение называется уравнением Беллмана. Оно является уравнением в частных производных. Решение этого уравнения есть функции u*(t), доставляющие экстремум функционалу. Функции состояния системы y*(t) при этом описывают оптимальную траекторию движения из исходного y0 в конечное состояние yk.

))].),(),(()/))(,(((

)),(),(([min/))(,((

1

)(

tttfytt

tttFttt

i

n

ii

t

uyy

uyyu

Page 64: Методы оптимизации -  II

Алгоритм решения задачи оптимального уравнения методом динамического

программирования в непрерывной форме

Для решения уравнения Беллмана, кроме условий 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

Page 65: Методы оптимизации -  II

Алгоритм решения задачи оптимального уравнения методом динамического

программирования в непрерывной форме

Теперь из самого уравнения Беллмана следует

Получены все условия для решения уравнения Беллмана.

Решение уравнение Беллмана выполняется известными методами решения систем дифференциальных уравнений в частных производных.

.)(

)),(),(((max)(

/))(,(

kk

kk

ttttttF

tttttt

yyuyy

uyy

Page 66: Методы оптимизации -  II

Алгоритм решения задачи оптимального уравнения методом динамического

программирования в непрерывной форме

Покажем что уравнение Беллмана при некоторых допущениях может быть приведено к уравнениям Эйлера. Запишем уравнение Беллмана в виде двух видов уравнений: Первый вид:

Второй вид: ).),(),(()/))(,((

)),(),((/))(,(*

1

*

tttfytt

tttFttt

i

n

ii uyy

uyy

.,...,1,0/)),(),((/))(,(

/)),(),((

1rjutttfytt

utttFn

ijii

j

uyy

uy

Page 67: Методы оптимизации -  II

Алгоритм решения задачи оптимального уравнения методом динамического

программирования в непрерывной форме

Управления, удовлетворяющие уравнениям второго вида, обозначим u*(t). В первом уравнении управления u*(t) удовлетворяют условиям правой части уравнения Беллмана, выраженным уравнениями второго вида. Теперь продифференцируем уравнение первого вида по переменным состояния и введем обозначения: k(t) = -(t, y(t))/yk, k = 1,…,n,

0 = -1.

Page 68: Методы оптимизации -  II

Алгоритм решения задачи оптимального уравнения методом динамического

программирования в непрерывной форме

Принимая допущения, что с учетом принятых выше обозначений, получим

.,...,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

Page 69: Методы оптимизации -  II

Алгоритм решения задачи оптимального уравнения методом динамического

программирования в непрерывной форме

Полученные уравнения являются уравнениями Эйлера в задаче оптимального управления.

Таким образом, показано, что классическое вариационное исчисление, принцип максимума и уравнение Беллмана при некоторых допущениях позволяют выразить условия экстремума функционала в задаче оптимального управления идентичными уравнениями.