ENSEEIHT — 2eann´ee parcours CIRMA Contrˆole optimal
2012–2013 TP direct
TP M´ ethodes directes et semi-directes
Gergaud Joseph
1 Introduction
Les m´ethodes directes et semi-directes consistent `a transformer directement le probl`eme de contrˆole optimal en un probl`eme d’optimisation non-lin´eaire avec contraintes. Concernant les m´ethodes directes, nous n’´etudierons ici que les m´ethodes de discr´etisation. Pour les m´ethodes dites de collocation, voir [?]
On consid`ere ici que le probl`eme de contrˆole optimal est mis sous la formu- lation de Mayer.
(P)
M in J(x, u) =g(x(tf))
˙
x(t) =f(t, x(t), u(t)) pp dans [t0, tf] fix´e ´equation d’´etat
cx(x(t))≤0 contraintes sur l’´etat
cu(u(t))≤0 contraintes sur le contrˆole
h(x(t0), x(tf)) = 0 contraintes terminales,
o`u l’´etat est de dimensionnet le contrˆole de dimension m.
2 M´ ethodes semi-directes
2.1 Pr´esentation des m´ethodes semi-directes
On consid`ere une subdivision t0 < t1 < . . . < tN = tf. On param´etrise le contrˆole sur chaque intervalle [ti, ti+1[. On a donc
u(t) =u(t, αi) t∈[ti, ti+1[,
o`u αi ∈ Rq. On peut par exemple prendre le contrˆole constant sur chaque intervalleui(t) =αi (q = 1) ou lin´eaire par morceaux pour chacune de ses composantes ui(t) = αi0+αi1(t−ti) (q = 2). Si on se donne x0 =x(t0) et les (αi)i=0,N−1, on peut alors calculer x(t1, x0, α0) solution de
(IV P0)
x(t) =˙ f(t, x(t), u(t, α0)) t∈[t0, t1] x(t0) =x0,
1
Contrˆole optimal M´ethodes directes
puis par r´ecurrence x(ti+1, x0, α0, . . . , αi) solution de (IV Pi)
x(t) =˙ f(t, x(t), u(t, αi)) t∈[ti, ti+1] x(ti) =x(ti, x0, α0, . . . , αi−1).
Le probl`eme de contrˆole optimal se transforme alors en un probl`eme d’opti- misation non-lin´eaire en dimension finie
(P N L1)
M in g(x(tN, x0, α))
cx(x(ti, x0, α))≤0 i= 0, . . . , N cu(u(ti, α)≤0 i= 0, . . . , N−1 h(x0, x(tN, x0, α)) = 0.
(1)
Remarque 2.1. 1. On a pos´e x(ti, x0, α) =x(ti, x0, α0, . . . , αi−1).
2. En pratique le calcul desx(ti, x0, α) se fait par int´egration num´erique (voirhelp ode23pour le passage de param`etres deαdans l’int´egration num´erique).
2.2 Travail demand´e
On consid`ere le probl`eme simple de contrˆole optimal suivant :
(P)
M inR2
0 u(t)2dt
˙
x(t) =−x(t) +u(t)
|u(t)| ≤1 x(0) =x0 = 0 x(2) =xf = 0.5
R´esoudre le probl`eme (P) par une m´ethode semi-directe. On prendra : – le cas de contrˆoles constants par morceaux ;
– 0 sur toutes les coordonn´ees pour le point de d´epart ; – l’int´egrateurode23 pour l’int´egrateur num´erique ; – une grille uniforme etN = 5,10,30
FonctionMatlab: fmincon
3 M´ ethodes directes
3.1 Pr´esentation des m´ethodes directes
L’id´ee consiste alors tout simplement `a discr´etiser l’´equation d’´etat via un sch´ema num´erique. On se donne donc une subdivision t0 < t1 < · · · <
tN =tf et un sch´ema num´erique d’int´egration. Consid´erons par exemple un
2
Contrˆole optimal M´ethodes directes
sch´ema de Runge-Kutta `as´etages. Soit c1 a11 . . . a1s
... ... ... cs as1 . . . ass
b1 . . . bs
avec ci=
s
X
j=1
aij,
on a alors sur l’intervalle [tl, tl+1] kli=f(tl+cihl, xl+hl
s
X
j=1
klj, uli) l= 0, . . . , N−1 i= 1, . . . , s (2)
xl+1=xl+hl
s
X
j=1
bjklj (3)
o`uuli est une approximation de u(tl+cihl).
On obtient alors le probl`eme d’optimisation en dimension finie
(P N L2)
M in g(xN)
kli−f(tl+cihl, xl+hlPs
j=1aijklj, uli) = 0 l= 0, . . . , N−1 i= 1, . . . , s xl+1−xl−hlPs
j=1bjklj = 0 l= 1, . . . , N cx(xl)≤0 l= 0, . . . , N
cu(uli)≤0 l= 0, . . . , N−1 i= 1, . . . s h(x0, xN) = 0.
(4) 3.2 Travail demand´e
On consid`ere le probl`eme simple de contrˆole optimal suivant :
(P)
M inR2
0 u(t)2dt
˙
x(t) =−x(t) +u(t)
|u(t)| ≤1 x(0) =x0 = 0 x(2) =xf = 0.5
R´esoudre le probl`eme (P) par une m´ethode directe en utilisant comme sch´ema :
1. le sch´ema d’Euler :xl+1−xl−hlf(tl, xl, ul) = 0 ; 2. le sch´ema des trap`ezes :
xl+1−xl−(hl/2)(f(tl, xl, ul) +f(tl+1, xl+1, ul+1) = 0 ;
On utilisera la fonctionMatlab fmincon, on prendra comme point de d´epart 0 sur toutes les coordonn´ees etN = 5,10,30.
3