Teoria i metody optymalizacji
Oleksandr Sokolov
Wydział Fizyki, Astronomii i Informatyki Stosowanej UMK http://fizyka.umk.pl/~osokolov/TMO/
1
Optymalizacja układu dynamicznego
)], ),
( ),
( [
)
( t x t u t t
x
Opis układu dynamicznego
0 0 )
( t x
x
0
( , , ) min
tf
t
J F x x t dt
0
( , , , ) min
tf
t
J x t G x x u t dt
CEL
OGRANICZENIE
CEL ZMODYFIKOWANY
Metoda podstawienia
) ) (
(
2 2
t dt u
t x
d
), ( )
(
), ( )
(
2
2 1
t u t
x
t x t
x
x x
x x
x1 , 2 1
. ,
0
, )
( ,
) 0 (
, )
( ,
) 0 (
1 0
2 2
20 2
1 1
10 1
T t
t
x T
x x
x
x T
x x
x
T T
2 0
( ) min
T
W u t dt
. ) (
0
2
Tx t dt W
(1)
Z (1) wynika CEL
OGRANICZENIE
3
Rozwiązanie
; )
(
2 2 2
dt x x d
F 0 ; 0 ; 2 .
2 2
t x d x
F F x
F F x
F x F x x
, 0 )
1
(
( )2
2
x
nn n n
x x
x F
dt F d
dt F d
dt
F d
. 0 2
44
dt x d
. )
( )
( )
( t x t x 2 t C 1 t C 2 u
Rozwiązanie
Całkując dwa razy otrzymamy
Metoda mnożników Lagrange’a
/ x 0,
/ 0
L
L
d L
2 x ,
0 0
x x 1 , 2 , f x x 1 , 2 g x x 1 , 2
1 2
1 2
, min
, 0
f x x g x x
CEL
OGRANICZENIE
Równania algebraiczne
5
Metoda mnożników Lagrange’a (cd)
0
0
.
.
.
. . .
1 2
( ( ), ( ), )
( ( ), ( ), ) 0; 1, 2, , ( ( ), ( ), ( ), )
( ( ), ( ), ( ), ) ( ( ), ( ), ) ( ) ( ( ), ( ), ) ( ) ( ), ( ), , ( )
f
f
t t
i
t
a t
i i
i
m
J t t t dt
g t t t i m
J t t t t dt
t t t t F t t t t g t t t
t
F
t t t
x x
x x
x x λ
x x λ x x λ x x
λ
CEL
OGRANICZENIE
Układ równań Eulera-Lagrange’a
1
0
) , , ,
; , , ( )
, ,
( 1 1 1
t
t
n n
n F x x x x t dt
x x
J
. , , 1 ,
0 i n
dt F F d
i
i x
x
Układ równań Eulera-Lagrange’a
Warunki Legendre’a
. 0
, , 0 ,
0
, ,
, ,
, ,
, ,
,
1
1 1
1
2 2 1
2
2 1 1
1 1
1
n n n
n
x x x
x
x x x
x
x x x
x
x x x
x x
x
F F
F F
F F
F F
F
0 ,
0
1 2 2 1 2
2 1 1 1
1,x x ,x x ,x x ,x x ,x
x F F F F
F Przykład dla funkcji 2-ch argumentów
7
Metoda mnożników Lagrange’a
.
* *
. .
* *
0
0
i( ( ), ( ), ) 0
i i
d dt
d g t t t
dt
x x
x x
λ λ
Przykład
CEL
OGRANICZENIE
9
Metoda podstawienia
Metoda podstawienia (cd)
11
Metoda podstawienia (cd)
Rozwiazanie
Dane wejsciowe:
Funkcja podcalkowa F(x,y,y')=Dy^2 + 2*Dy*y + 2*y^2
Warunki z lewej strony: y(-1)=1 warunki z prawej strony: y(1)=2 Fy=2*Dy + 4*y
Fy'=2*Dy + 2*y
dFy'/dx=2*D2y + 2*Dy warunek Legendre a:
Fy'y'=2
Rownianie Eulera:
4*y - 2*D2y=0
Rozwiazanie ogolne rowniania Eulera :
y(x)=C2*exp(2^(1/2)*x) + C3/exp(2^(1/2)*x)
-1 -0.5 0 0.5 1
0.8 1 1.2 1.4 1.6 1.8
2 Przyklad
x y(x)
Jextr = 9.4496
Jlin = 12.8333
Metoda mnożników Lagrange’a
CEL
OGRANICZENIE
13
Metoda mnożników Lagrange’a (cd)
Metoda mnożników Lagrange’a (cd)
2 2
( ( ), ( ), ( ), ( )) x t x t u t t x t ( ) u t ( ) ( ){ ( ) t x t x t ( ) u t ( )}
15
Przykład
( ) x u t
2 2
0
1
2 u
J dt
( 0) 1, ( 2) 0
( 0) 1, ( 2) 0
x t t
x t x
x t
2 2
0
1 ( )
J 2 x dt
Metoda podstawienia
. ] ), ( ,
), ( ), (
1
[
0
)
(
tt
n
t t dt x
t x t
x F
J
, 0 )
1
(
( )2
2
x
nn n n
x x
x F
dt F d
dt F d
dt
F d
( ), ( )
0;
x n x n
F
Dostateczne warunki minimum
17
Przykład
) ) (
(
2 2
t dt u
t x
d
), ( )
(
), ( )
(
2
2 1
t u t
x
t x t
x
x x
x x
x1 , 2 1
. ,
0
, )
( ,
) 0 (
, )
( ,
) 0 (
1 0
2 2
20 2
1 1
10 1
T t
t
x T
x x
x
x T
x x
x
T T
2 0
( ) min
T
W u t dt ( ) .
0
2
Tx t dt
W
Rozwiązanie
; )
(
2 2 2
dt x x d
F 0 ; 0 ; 2 .
2 2
t x d x
F F x
F F x
F x F x x
, 0 )
1
(
( )2
2
x
nn n n
x x
x F
dt F d
dt F d
dt
F d
. 0 2
44
dt x d
. )
( )
( )
( t x t x 2 t C 1 t C 2 u
Rozwiązanie
Całkując dwa razy otrzymamy
19
Model w przestrzeni stanów
Równania Eulera Lagranga’e dla x1,x2,u
f d f 0 x dt x
2 2
0
( 0) 1, ( 2) 0
( ) 1 ( )
( 0) 1, ( 2) 0 2
t t
u t J dt
t t
1 1 2 2
1 2
( ) ( ), ( ), ( )
( ) ( ) , 0 1 , [01 ]
0 0
T T
x t t x x t x u t
x t Ax t bu t x x x A b
2 .
2 0
2 2
1 2 1 2 2
0
1 ( ) ( )[ ( ) ( ) ]
2
1 ( ) ( ) ( ) ( ) ( )
2
L u t
Tt t u t dt
u t t x t x t u t x dt
Ax b x
i
0,
2 1( ), t u t ( )
2( ) t
7 3 7 1 7
x1 x2 u
Rozwiązanie przez równanie Eulera- Poissona
2 3 2
1 2 3 1 2 3 4
x u x c t c t c x c t c t c t c
1 1
2
1 2
0 c
c t c u c t c
2 2 2
2
0
0
0
x x x
u u
u
d d
dt dt
d d
d
F F F
F F F
dt u
u
t
2 2 0
( ) 1
u t J 2 u dt
x L
02 1 2 u t
2( ) ( )[ t x u t ( )] dt
F
21
Symulacja (w2p1.mdl)
Scope2 Scope1
Scope 1
s Integrator1 1
s Integrator 3*u(1)-7/2
Fcn 2
Clock
u=0
Przykład 1. Sterowanie optymalne
x u x 0 0, x 2 1 , t 0, 2
u C
1 0 0
20
x C
11 1
2 1
2 2
x C u
Scope 1
s Integrator1 0.5
Constant1
W3p1.mdl
0.5 u
2 2 0
J x dt
Funkcja podcałkowa zależy wyłącznie od x’
2 2 0
min J u dt
1 2x t C t C
2
2 0
0.5 0.5 J dt
23
Szczególne przypadki równania Eulera
Funkcja podcałkowa zależy wyłącznie od y’:
y y
0
F d F
dx
1 2
y 0 y
d F F C y x C x C
dx
F F y
1 2
y x C x C
b( , ( ), ( ))
J y
aF x y x y x dx
Przykład 1 Sterowanie nieoptymalne
x u
1 , 0,1 x t u t t
0 0, 2 1 , 0, 2
x x t
2 , 1, 2
x t u t t
1
0.7,
20.3
u u
Nieoptymalne sterowanie
1 2
2 2
0 1
0.7 0.3 0.49 0.09 0.58
J dt dt
25
W3p2.mdl
>= 1 Switch
Scope1
Scope 1
s Integrator1
0.7 Constant2
0.3 Constant
Clock
Przykład 1. Sprawdzanie
2
2 0
0.5 0.5
J dt
1 2
2 2
0 1
0.7 0.3 0.49 0.09 0.58
J dt dt
27
Przykład 1. Metoda podstawienia
x u x 0 0, x 2 1 , t 0, 2
2
2 0
min J u dt
2 2
2 2
0 0
J u dt x dt
F d F 0 x dt x
2 d 0
dt x
, ,
2F t x x x
1 1 2
0
x x C x t C t C
0.5, 0
C C u 0.5
Przykład 1. Metoda mnożników Lagrange’a
x u x 0 0, x 2 1 , t 0, 2
2 2 0
min
J u dt
2 2
0
J u x u dt
F d F 0 x dt x
0 C
, , , ,
2
F t x x u u u x u F d F 0
u dt u
2 0
12 u u C C
1 2x t C t C
1 0.5, 2 0
C C
0.5 u
29
Zadania ze swobodnym punktem końcowym
0 0,
fmax ,
0,
fx t x x t t t t
0
( ( ), ( ), )
tf
J
tF x t x t t d t
.
( ( ), ( ), ) x 0 g x t t t
16-05
Przykład 3
x u x 0 0, x 2
2 max , t 0, 2
2 0
min J u dt
2 2
2 2 2 2 20 0 0 0
2 0
J x u dt x x dt u dt x u dt
2
2 0
J x x dt F x dt d F x 0
min
F 0 x
d F 2
dt x x
1 2
F x
x
31u 1/s x
dx/dt
Przykład 3 (cd)
1 1 2
0
x x C x t C t C
0 0, 2 max
x x
2 0, 1 ?
C C
2 2
2 2 2
1 1 1 1
0 0
2
J x x dt C C dt C C
Przykład 3 (cd)
1 0.5
C
2 2
2 2 2
1 1 1 1
0 0
2
J x x dt C C dt C C
33
Przykład 3. (cd).Sprawdzanie
2 20
2
J x u dt
t x
2 0
u=1/3 u=2/3 u=0.5
0 0, 2 max
x x
x u
0.5, 0.5
u x t t x 2 1 J 0.5
1 1
3 , 3
u x t t 2 2
x 3 2 0.5
J 9
2 2 ,
u x t t 2 4 1
x 3 J 3 9 1 3 0.5
min
2 2 0
min J
u dt Zadania ze swobodnym punktem końcowym i czasem
0 0,
fmax ,
0,
fx t x x t t t t
0
.
( ( ), ( ), ) min
tf
t
F x
J x t t t dt
.
( ( ), ( ), ) x 0 g x t t t
f
min
t
35
Zadania ze swobodnym punktem końcowym i czasem
x u x 0 0, x t
f max , t 0, t
f
2 0
min
tf
J u dt t
f min
Przykład 4 (Dalszy ciąg)
x u x 0 0, x t
f max , t 0, t
f
2 0
min
tf
J u dt
2 2
0
2 2
0 0 0 0
1 2 0
f
f f f f
t
f f
t t t t
J x t t u dt
x x dt tdt u dt x u t dt
37
f
min
t
Przykład 4 (Dalszy ciąg)
2 2
0
2 2
0 0 0 0
1 2 0
f
f f f f
t
f f
t t t t
J x t t u dt
x x dt tdt u dt x u t dt
2 0
tf
J x x t dt F d F 0 x dt x
F 0 x
d F 2
dt x x
1 2
F x
x
Przykład 4 (Dalszy ciąg)
1 1 2
0
x x C x t C t C
0 0,
fmax
x x t
* *
d 0
x dt x
2 2 2 2
1 1 1 1
0 0
1 2
f f
t t
f f
J x x t dt C C t dt t C C t
39
Przykład 4 (Dalszy ciąg)
1 0.5
f 0.25 C
t
2 2 2 2
1 1 1 1
0 0
1 2
f f
t t
f f
J x x t dt C C t dt t C C t
1
1
2 1 0
f
J t C
C
2
1 1 f
0
f
J C C t
t
x u x 0 0, x t
f max , t 0, t
f
0.5, 0.25 0.125
u x
Sprawdzanie
2 20
1 2
tf
f f
J x t t u dt
41
Zadania ze swobodnym czasem
x u x 0 0, x t
f 1, t 0, t
f
2 0
min
tf
J u dt t
f min
Rozwiązanie
43
( ) (0) 0 (1) 1
f 1
x t t x
x t
1
2 2
2
0 0
2 0
1
2 2 2
1 1 1
0
1
0
1 2
2
1
1
1
1 1 2
1
3 1 1
0 0 0
1 1
1 1
1 1
2
0
2 2 0
1 1
2 2 min
0 0
0 1 1
0 1
f
f f
f
t f
t
t
f t
f f
c
u
x t c t c
J t u dt
J tdt dt
J t x dt
F d
x c
x t c t t
c
c F
x dt x
x x
x c
J t c dt t c t c
c c c
c
dJ dc
x u
0 0,
f1, 0,
fx x t t t
2 2
0
1 m
2 in
tf
J tf
u dt f
min
t
2 0
min
tf
J u dt
Ex4.slx
2
1 2
0 0
1 1.5
1 1
2 2
tf
J t
f u dt d t
0.5
2 2
0 0
2 2
1 1
2 2 0.5 2 2.125
tf
J t
f u dt dt
Ex4.slx
45
2
2 2
0 2
0
2 0.5 0.25 2 3 1
2
tf
J tf
u dt
dt 2
4
2 2
0 0
8 0.25 8.
1 25
2
tf
J t
f u dt dt
10
2 2
0 0
2
50 0.1 50.1
1 2
tf
t
fJ u dt dt
Zagadnienie Bolzy
Wprowadzamy funkcjonał kosztu (cost functional) (lub funkcjonał wypłaty (payoff functional))
Rozpatrujemy więc zagadnienie:
z danymi początkowymi
i/lub są swobodne
Oskar Bolza
f0
t
f f
J(u(t))= S x t ,t +
tV(x(t),u(t),t)dt
Lambda
Zagadnienie Bolzy (cd.)
47
f
0
f f
0 0
f
0
f
0
t
f f t
t t
f f 0 0
t t
t
2 t
t
f f 0 0
t
J(u(t))= S x t ,t + V (x(t),u(t),t)dt dS(x(t),t)
dt = S(x(t),t) = S x t ,t - S x t ,t dt
J (u(t))= V(x(t),u(t),t)+ dS dt = dt
V (x(t),u(t),t)dt + S x t ,t - S x t ,t
d[S(x(t),t)] S S
= (t)+
dt x x
t
Nowe zagadnienie
* - optymalne
Zagadnienie Bolzy (cd.)
Funkcjonał
49
Zagadnienie Bolzy (cd.)
Lagranżjan
Zagadnienie Bolzy (cd.)
Funkcjonał przez Lagranżjan
51
f
f0 0
f f f f f
0 0 f
t t
* * * *
a t t
t + t t t + t
a t t t
J u (t) = L x (t), x (t),u (t),l(t),t dt = Ldt J (u(t))=
L dt =
L dt +
L dt
Zagadnienie Bolzy (cd.)
Zagadnienie Bolzy (cd.)
53
Zagadnienie Bolzy (cd.)
Zagadnienie Bolzy (cd.)
55
Zagadnienie Bolzy (cd.)
Zagadnienie Bolzy (cd.)
0
57
Warunek transwersalności
Funkcja Lagrange’a
Warunek transwersalności
Przykład 3. Metoda 2.
x u x 0 0, x 2 max , t 0, 2
2 2 0
min J u dt
0 t C
2 0
12 u u C C
2 2
2 2 2 2 20 0 0 0
2 0
J x u dt x x dt u dt x u dt
2
2 0
J x u x u dt
59
( ), ( )
S x t t x t
( ), 1
S x t t x
S x t t ( ), 0
t
( ), ( ), ( ),
d dx dt
S x t t S x t t S x t t
dt x dt t dt
L 0 (-1+lambda(t))
1 2
x C t C
Przykład 3 (Metoda 2. Dalszy ciąg)
1 1 2
x u x C x t C t C
0 0, 2 max
x x
0, 0.5
C C
warunek transwersalności
t 1
t2 0 2 1
0 C
1 C
2 u 0 u C
1 0.5
0.5
x t t
Zadanie (przykład 4)
x u x 0 0, x t
f max , t 0, t
f
2 0
min
tf
J u dt
Rozważmy problem na podstawie zagadnienia Bolzy
61
f
min
t
Rozwiązanie
2 20
1 2
tf
f f
J x t t u dt
,
1 2S x t t x t 2t
2 { }
L u x t x u
0
* *
L d L
- = 0
dt
x x
* .
. .
*
( ) 0
f f
f f
t t
t t
x x
x x
2 u 0 1 0
tf
t
C
t
f1
u 0.5
2
2
{ } ( 1 )
0.25 0.5 0
f
t f
u x t x u x
u t u t
tf 0.25
Przykład 5. Metoda 2.
x u x 0 0, x t
f 4 , t 0, t
f
2 0
min
tf
J u dt
0 t C
2 0
12 u u C C
2
2 0
J t u x u dt
63
( ), 1
2S x t t 2 t
( ),
0S x t t x
tS x t t ( ), t
( ), ( ), ( ),
d dx dt
S x t t S x t t S x t t
dt x dt t dt
L 0 (-1+lambda(t))
1 2
x C t C
2 2
0
1 2
tf
J t
f u dt
* *
d 0
x dt x