View
6
Download
0
Category
Preview:
Citation preview
CM08/P18Introduction aux methodes numeriques d’optimisation
S. Mottelet
Universite de Technologie de Compiegne
S. Mottelet (UTC) CM08/P18 1 / 49
1 Problemes sans contrainteMotivationsNotions fondamentalesMethodes et algorithmes
2 Problemes avec contraintesMotivations, ExemplesElements de theorieMethodes et algorithmes
3 Problemes d’optimisation en regime transitoireMotivationsExempleCas general
S. Mottelet (UTC) CM08/P18 2 / 49
1 Problemes sans contrainteMotivationsNotions fondamentalesMethodes et algorithmes
2 Problemes avec contraintesMotivations, ExemplesElements de theorieMethodes et algorithmes
3 Problemes d’optimisation en regime transitoireMotivationsExempleCas general
S. Mottelet (UTC) CM08/P18 3 / 49
1. Motivations1.1. Formulation generale des problemes d’optimisation
Forme standardminimiser
x∈Kf (x)
K = {x ∈ Rn,g(x) ≤ 0,h(x) = 0}
I f : Rn −→ R, g : Rn −→ Rm, h : Rn −→ Rp, continuesI g(x) ≤ 0 : contraintes d’inegaliteI h(x) = 0 : contraintes d’egalite
Probleme sans contrainte⇐⇒ K = Rn
S. Mottelet (UTC) CM08/P18 4 / 49
1.2. ExemplesOptimisation d’un reservoir
d
L
Le volume V etant fixe, determiner d et L tels que le cout de fabrication
f (d ,L) = c1πdL + c2πd2
2
soit minimal, ou c1, c2 sont les couts unitaires des parties cylindrique etplane.
S. Mottelet (UTC) CM08/P18 5 / 49
1.2. ExemplesIdentification de parametres
Determination de l’enthalpie et de l’entropie de reaction dans unprocessus de sorption d’hydrogene
I Apres avoir etabli une pression initiale, on fait varier la temperature parpaliers {T1, . . . ,Tn} et on observe la pression obtenue a l’equilibre{P1, . . . ,Pn}.
I Determiner ∆H et ∆S pour ajuster le modele
P = Patm exp
(∆HRT
+∆SR
)
minimiser∆H,∆S∈R
f (∆H,∆S) =n∑
i=1
(exp
(∆HRTi
+∆SR
)− Pi
Patm
)2
probleme de moindres carres
S. Mottelet (UTC) CM08/P18 6 / 49
1.2. ExemplesOptimisation de reacteurs
On considere 4 reacteurs de volume Vi , i = 1, . . . ,4,∑4
i=1 Vi = 20,parfaitement melanges et a l’etat stationnaire. L’espece dont la concentrationest notee C reagit a la vitesse r = −kCα dans chaque reacteur. Determinerles valeurs de Vi , i = 1, . . . ,4 rendant minimale la concentration C4.
minimiserV∈K
f (V ) = C4
Ici K = {V ∈ R4, Vi > 0,∑4
i=1 Vi = 20} et C est solution de
0 = q(Ci−1 − Ci )− kViCαi , i = 1 . . . 4
Presence de variables non independantes
S. Mottelet (UTC) CM08/P18 7 / 49
2. Notions fondamentales2.1. Elements de calcul differentiel
Dans Rn on note x =
x1...
xn
, x> = (x1, . . . , xn)
Produit scalaire, norme : x>y =∑n
i=1 xiyi , ‖x‖ = (x>x)1/2
g : Rn → Rm define par g(x) = (g1(x), . . . ,gm(x))> est differentiable en xs’il existe une matrice g′(x) de taille m × n telle que
g(x + h) = g(x) + g′(x)h + ‖h‖ε(h)
I [g′(x)]ij =∂gi
∂xj(x)
I Approximation de f ′(x) ?
I Cas ou m = 1, f : Rn → R, on note ∇f (x) = f ′(x)> le gradient de f .
S. Mottelet (UTC) CM08/P18 8 / 49
2.1. Elements de calcul differentielMatrice hessienne
Dans le cas ou m = 1, f : Rn → R est differentiable deux fois s’il existeune matrice n × n symetrique note ∇2f (x) telle que
f (x + h) = f (x) +∇f (x)>h +12
h>∇2f (x)h + ‖h‖2ε(h)
I On a [∇2f (x)]ij =∂2f
∂xi∂xj(x)
S. Mottelet (UTC) CM08/P18 9 / 49
2.1. Elements de calcul differentielConvexite
On dit que K ⊂ Rn est convexe si
∀x , y ∈ K , ∀λ ∈ [0,1], λx + (1− λ)y ∈ Kobjet convexe objet non convexe
x
y
x y
S. Mottelet (UTC) CM08/P18 10 / 49
2.1. Elements de calcul differentielConvexite
On dit que g ⊂ Rn → Rm est convexe sur K si
∀x , y ∈ K , ∀λ ∈ [0,1], f (λx + (1− λ)y) ≤ λf (x) + (1− λ)f (y)
et strictement convexe si
∀x , y ∈ K , x 6= y , ∀λ ∈]0,1[, f (λx + (1− λ)y) < λf (x) + (1− λ)f (y).
I Cas m = 1
x y x y
I K = {x ∈ Rn, g(x) ≤ 0, h(x) = 0} est convexe si g est convexe et h affine.
S. Mottelet (UTC) CM08/P18 11 / 49
2.1. Elements de calcul differentielConvexite, lien avec la matrice Hessienne
Une matrice symetrique A est definie positive si x>Ax > 0 pour toutx 6= 0, semi-definie positive si x>Ax ≥ 0 pour tout x 6= 0. On noterespectivement A > 0 et A ≥ 0.
A > 0⇐⇒ les valeurs propres de A sont strictement positives
A ≥ 0⇐⇒ les valeurs propres de A sont positives
f ⊂ Rn → R deux fois differentiable est convexe si et seulement si∇2f (x) ≥ 0, strictement convexe si ∇2f (x) > 0.
S. Mottelet (UTC) CM08/P18 12 / 49
2.1. Elements de calcul differentielConvexite, lien avec la matrice Hessienne
Exemple : f (x , y) = x2 + 2y2 + x + y , ∇2f (x , y) =
(2 00 4
)> 0
-1
0
1
2
1
3
1
4
5
0 0-1 -1 -1 -0.5 0 0.5 1
-1
-0.5
0
0.5
1
La convexite est une notion fondamentale pour caracteriser l’existence etl’unicite des solutions des problemes d’optimisation.
S. Mottelet (UTC) CM08/P18 13 / 49
2.2. Conditions d’optimalite (sans contrainte)Condition necessaire
Soit f : Rn → R differentiable et x tel que ∀x ∈ Rn, f (x) ≤ f (x). Alors∇f (x) = 0.
Cette condition n’est pas suffisante !
01
0.5
1
1
1.5
0
2
0
-1 -1
-21
-1.5
1
-1
-0.5
0
0
0
-1 -1
-11
-0.5
0.5
0
0.5
100.5
1
-0.5 0-0.5
-1 -1
f (x , y) = x2 + y2 f (x , y) = −x2 − y2 f (x , y) = x2 − y2
S. Mottelet (UTC) CM08/P18 14 / 49
2.2. Conditions d’optimalite (sans contrainte)Condition suffisante
Soit f : Rn → R differentiable et x tel que ∇f (x) = 0. Si f est convexealors x est un minimum global de f : ∀x ∈ Rn, f (x) ≤ f (x).Si de plus f est strictement convexe, alors x est unique.
Dans le cas general, on definit la notion de minimum local.
S. Mottelet (UTC) CM08/P18 15 / 49
2.2. Conditions d’optimalite (sans contrainte)Minimum local
On dit que x∗ est un minimum local de f s’il existe δ > 0 tel que
∀x tel que ‖x − x∗‖ < δ, f (x∗) < f (x)
Soit f deux fois differentiable. Si ∇f (x∗) = 0 et ∇2f (x∗) > 0 alors x∗ estun minimum local de f .
La plupart des algorithmes d’optimisation ont pour but de rechercher unminimum local de f !
S. Mottelet (UTC) CM08/P18 16 / 49
3. Methodes pour les problemes sans contraintes3.1. Methode du gradient
Si f : Rn −→ R est differentiable, un minimum local x∗ peut etre trouve avecune methode de descente : etant donne x0, pour tout k > 0
1 choisir une direction dk telle que ∇f (xk )>dk < 02 choisir un pas ρk , tel que
xk+1 = xk + ρk dk ,
verifie (entre autres)f (xk+1) < f (xk ).
Le choix dk = −∇f (xk ) donne la methode du gradient ou steepest descentmethod
En pratique on essaye d’empecher que ρk soit trop petit tout en assurant unedecroissance suffisante.
S. Mottelet (UTC) CM08/P18 17 / 49
3.1. Methode du gradientRecherche lineaire
Methode du gradient a pas fixe : on choisit ρ > 0 une fois pour toutes et
xk+1 = xk − ρ∇f (xk ).
Si ρ est suffisamment petit et si f possede certaines proprietes, alorsxk → x∗.
f (x) = x21 + x2
2 − x1x2 − x1 − x2
ρ = 0.2
S. Mottelet (UTC) CM08/P18 18 / 49
3.1. Methode du gradientRecherche lineaire
Methode du gradient a pas optimal : on choisit ρk > 0 tel que
∀ρ > 0, f (xk − ρk∇f (xk )) ≤ f (xk − ρ∇f (xk ))
Si f possede certaines proprietes, alors xk → x∗.
f (x) = x21 + x2
2 − x1x2 − x1 − x2
S. Mottelet (UTC) CM08/P18 19 / 49
3.1. Methode du gradientLimitations
La methode du gradient est tres lente lorsque ∇2f (x∗) est malconditionnee λn � λ1
Fonction de Rosenbrock : f (x) = (1− x1)2 + 100(x2 − x21 )2
S. Mottelet (UTC) CM08/P18 20 / 49
3.2. Methodes de Newton et de quasi-NewtonMethode de Newton
L’idee de la methode de Newton consiste a lineariser en xk le systemed’equations non-lineaires ∇f (x) = 0 :
∇f (xk + h) = ∇f (xk ) +∇2f (xk )h + ‖h‖ε(h),
puis a definir xk+1 = xk + h ou h verifie le systeme d’equations lineaires
∇2f (xk )h = −∇f (xk ).
Cette methode prend en compte la metrique locale grace a ∇2f (xk ).
S. Mottelet (UTC) CM08/P18 21 / 49
3.2. Methodes de Newton et de quasi-NewtonMethodes de quasi-Newton
xk+1 = xk −[∇2f (xk )
]−1∇f (xk ),
Si ∇2f (xk ) > 0 alorsdk = −
[∇2f (xk )
]−1∇f (xk )
est une direction de descente et le pas de la methode vaut toujours ρ = 1.
En pratique on remplace ∇2f (xk ) par une approximation Hk > 0 mise ajour a partir des valeurs successives de f (xk ) et de ∇f (xk ), qui si lamethode converge verifie
limk→∞
Hk = ∇2f (x∗)
et on ajoute une recherche du pas initialisee avec ρ0 = 1.
xk+1 = xk − ρk H−1k ∇f (xk ).
Exemple : methode BFGS (Broyden, Fletcher, Goldfarb, Shanno)
S. Mottelet (UTC) CM08/P18 22 / 49
4. LogicielsMATLAB
fminunc : methode BFGS.
Exemple pour la recherche du minimum de la fonction de Rosenbrock
options = optimoptions('fminunc','SpecifyObjectiveGradient',true,...'display','iter');
[x,fval,flag,out,g,H] = fminunc(@rosenbrock,[0;0],options);
function [f,g]=rosenbrock(x)f=[(1-x(1))ˆ2+(10*(x(2)-x(1)ˆ2))ˆ2];g=[-2*(1-x(1))+200*(-2*x(1))*(x(2)-x(1)ˆ2)
200*(x(2)-x(1)ˆ2)];end
S. Mottelet (UTC) CM08/P18 23 / 49
4. LogicielsMATLAB
>> rosenFirst-order
Iteration Func-count f(x) Step-size optimality0 1 1 21 4 0.771191 0.0817342 5.342 5 0.610657 1 6.733 6 0.522449 1 7.114 8 0.261628 0.707498 1.88
(...)16 23 1.36218e-06 1 0.0080117 24 7.54543e-07 1 0.030418 25 3.43971e-09 1 0.0021919 26 1.54256e-11 1 7.13e-0520 27 4.67902e-15 1 1.03e-06
Local minimum found.
Optimization completed because the size of the gradient is less thanthe default value of the optimality tolerance.
On notera la valeur asymptotique du pas ρ = 1 !
S. Mottelet (UTC) CM08/P18 24 / 49
1 Problemes sans contrainteMotivationsNotions fondamentalesMethodes et algorithmes
2 Problemes avec contraintesMotivations, ExemplesElements de theorieMethodes et algorithmes
3 Problemes d’optimisation en regime transitoireMotivationsExempleCas general
S. Mottelet (UTC) CM08/P18 25 / 49
1. Motivations, Exemples1.1 Un exemple de programme lineaire
CHAPTER 2: Developing Models for Optimization 7 1
EXAMPLE 2.10 LINEAR MATERIAL BALANCE MODELS In many cases in which optimization is applied, you need to determine the allocation of material flows to a set of processes in order to maximize profits. Consider the process diagram in Figure E2.10.
FIGURE E2.10 Flow diagram for a multiproduct plant.
Each product (E, F: G) requires different (stoichiometric) amounts of reactants according to the following mass balances:
Reactants Product (1-kg product)
Prepare a model of the process using the mass balance equations.
Solution. lbelve mass flow variables can be defined for this process. Let x,, x2, x, be the mass input flows of A to each process. Similarly let x4, x5, x6, and x7 be the indi- vidual reactant flows of B and C, and define x,, x9, and x,, as the three mass product flows (E, E G). Let x,, and x12 be the total amounts of A and B used as reactants (C is the same as x,). Thus, we have a total of 12 variables.
The linear mass balance constraints that represent the process are:
2A + B → E , 2A + B → F , 3A + 2B + C → G
ReactantMax. dispo.
(kg/j.)Cout
(euro/kg)A 40000 1.5B 30000 2.0C 25000 2.5
Procede Produit ReactantsCout prod.(euro/kg)
Prix de vente(euro/kg)
1 E 23 A, 1
3 B 1.5 42 F 2
3 A, 13 B 0.5 3.3
3 G 12 A, 1
3 B, 16 C 1 3.8
But : maximiser le profit en euro/j.
S. Mottelet (UTC) CM08/P18 26 / 49
1. Motivations, Exemples1.1. Un exemple de programme lineaire
CHAPTER 2: Developing Models for Optimization 7 1
EXAMPLE 2.10 LINEAR MATERIAL BALANCE MODELS In many cases in which optimization is applied, you need to determine the allocation of material flows to a set of processes in order to maximize profits. Consider the process diagram in Figure E2.10.
FIGURE E2.10 Flow diagram for a multiproduct plant.
Each product (E, F: G) requires different (stoichiometric) amounts of reactants according to the following mass balances:
Reactants Product (1-kg product)
Prepare a model of the process using the mass balance equations.
Solution. lbelve mass flow variables can be defined for this process. Let x,, x2, x, be the mass input flows of A to each process. Similarly let x4, x5, x6, and x7 be the indi- vidual reactant flows of B and C, and define x,, x9, and x,, as the three mass product flows (E, E G). Let x,, and x12 be the total amounts of A and B used as reactants (C is the same as x,). Thus, we have a total of 12 variables.
The linear mass balance constraints that represent the process are:
Bilan de masse (x1, . . . , x12=flux en kg/j.) :
A = x11 = x1 + x2 + x3
B = x12 = x4 + x5 + x6
C = x7 =13
x10
x1 = 23 x8, x2 = 2
3 x9, x3 = 12 x10
x4 = 13 x8, x5 = 1
3 x9, x6 = 16 x10
Contraintes sur les reactants : x11 ≤ 40000, x12 ≤ 30000, x7 ≤ 25000Demande du marche : x8 ≥ 10000, x9 ≥ 10000, x10 ≥ 10000Profit :
f (x) = (4E + 3.3F + 3.8G)− (1.5A + 2B + 2.5C)− (1.5E + 0.5F + G)
= 2.5x8 + 2.8x9 + 2.8x10 − 1.5x11 − 2x12 − 2.5x7
S. Mottelet (UTC) CM08/P18 27 / 49
1. Motivations, Exemples1.2. Un exemple de programme non lineaire
Reacteurs parfaitement melanges et a l’etat stationnaire. L’espece dont laconcentration est notee C reagit a la vitesse r = −kCα dans chaque reacteur.
minimiserC,V∈R4
f (C,V ) = C4,
sous les contraintes :
Vi ≥ 0, Ci ≥ 0, i = 1 . . . 4,4∑
i=1
Vi = 20,
q(Ci−1 − Ci )− kViCαi = 0, i = 1 . . . 4
S. Mottelet (UTC) CM08/P18 28 / 49
2. Elements de theorie2.1. Remarque introductive
Dans l’exemple de programme lineaire, la fonction f (x) est lineaire
f (x) = 2.5x8 + 2.8x9 + 2.8x10 − 1.5x11 − 2x12 − 2.5x7
et on a
∀x ∈ R12, ∇f (x) = (0,0,0,0,0,0,0,2.5,2.8,2.8,−1.5,−2,−2.5)>
donc la solution x ne peut pas verifier ∇f (x) = 0 !
Dans le probleme d’optimisation a resoudre
minimiserx∈K
l’ensemble admissible K est different de R12,
Les conditions d’optimalite sont necessairement plus compliquees...
S. Mottelet (UTC) CM08/P18 29 / 49
2. Elements de theorie2.2. Existence d’une solution dans le cas general
Si f : K ⊂ Rn → R est continue et si K est ferme et borne, alors il existex ∈ K tel que
∀x ∈⊂ Rn, f (x) ≤ f (x).
Exemple : f (x) = x et K = {x ∈ R, 1 ≥ x ≥ −1}
La solution est sur la frontiere de K !
Que se passe-t-il pour f (x) = x2 et K = {x ∈ R, 1 ≥ x ≥ −1}?
Les conditions d’optimalite sans contraintes sont necessairement un casparticulier des conditions d’optimalite avec contraintes
S. Mottelet (UTC) CM08/P18 30 / 49
2. Elements de theorie2.3. Problemes avec contraintes d’egalite lineaires
Un exemple tres simple
minimiserx∈K
f (x) = x21 + x2
2 ,
avec K = {x ∈ R2, x1 + x2 − 1 = 0}.
x1 + x2 = 1⇔ (1,1)
(x1x2
)− 1
A l’optimum x = (0.5,0.5)>, il existeλ 6= 0 tel que
∇f (x) = −(
11
)λ
(le signe moins est arbitraire)
S. Mottelet (UTC) CM08/P18 31 / 49
2. Elements de theorie2.3. Problemes avec contraintes d’egalite lineaires
Theoreme de Lagrange
Soient f : Rn → R differentiable, A une matrice m × n, m ≤ n, b ∈ Rm etK = {x ∈ Rn, Ax = b}. Si x ∈ K verifie
∀x ∈ K , f (x) ≤ f (x),
alors il existe λ ∈ Rm tel que
∇f (x) + A>λ = 0.
Si de plus rang A = m alors λ est unique.
Si on definit le Lagrangien
L(x , λ) = f (x) + λ>(Ax − b),
alors la condition necessaire d’optimalite ci-dessus s’ecrit aussi
∇xL(x , λ) = 0.
S. Mottelet (UTC) CM08/P18 32 / 49
2. Elements de theorie2.3. Problemes avec contraintes d’egalite lineaires
Condition necessaire et suffisante pour un optimum local :
S’il existe x ∈ K et λ ∈ Rm tels que
Ax = b,
∇f (x) + A>λ = 0,
∇2xxL(x , λ) > 0,
alors x est un minimum local strict.
ici ∇2xxL(x , λ) = ∇2f (x) !
S. Mottelet (UTC) CM08/P18 33 / 49
2. Elements de theorie2.4. Problemes avec contraintes d’egalite non-lineaires
f : Rn → R, h : Rn → Rm differentiables deux fois.
minimiserx∈K
f (x)
ou K = {x ∈ Rn,h(x) = 0}
Condition necessaire et suffisante pour un optimum local :
S’il existe x ∈ K et λ ∈ Rm tels que
h(x) = 0,
∇f (x) +∇h(x)λ = 0,
∇2xxL(x , λ) > 0,
alors x est un minimum local strict.
On a note ici L(x , λ) = f (x) + λ>h(x) et ∇h(x) = h′(x)>.
S. Mottelet (UTC) CM08/P18 34 / 49
2. Elements de theorie2.5. Problemes avec contraintes d’inegalite
Il est toujours possible de transformer un probleme avec contraintesd’egalite et d’inegalite sous la forme standard
f : Rn → R, h : Rn → Rm
minimiserx∈K
f (x)
K = {x ∈ Rn, h(x) = 0, x ≥ 0}.
Exemplex1 ≥ 0, x2 ≥ 0, x1 + x2 − 1 ≤ 0
En ajoutant la variable d’ecart x3 on obtient
x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x1 + x2 + x3 − 1 = 0
S. Mottelet (UTC) CM08/P18 35 / 49
2. Elements de theorie2.5. Problemes avec contraintes d’inegalite
Les contraintes x1 ≥ 0, . . . , xn ≥ 0 ne sont pas toutes actives en x !Lagrangien
L(x , λ, µ) = f (x) + λ>h(x)− µ>x
Conditions necessaires de Kuhn et Tucker
Si x est solution du probleme standard avec contraintes d’inegalite, alorsil existe (λ, µ) tels que
∇f (x) +∇h(x)λ− µ = 0,µ ≥ 0,
µixi = 0, i = 1 . . . n
Conditions de complementarite : si une inegalite n’est pas active, i.e.xi > 0, alors µi = 0.
Le signe de µi se justifie par l’absurde.
S. Mottelet (UTC) CM08/P18 36 / 49
3. Methodes et algorithmes3.1. Methode SQP
Cas des contraintes d’egalite
La methode SQP (Sequential Quadratic Programming) consiste aappliquer la methode de Newton sur le systeme d’optimalite (lesinconnues sont x et λ) :
h(x) = 0,∇f (x) +∇h(x)λ = 0,
En pratique on utilise une methode de Quasi-Newton avec uneapproximation definie positive du Hessien du Lagrangien.
Chaque iteration de la methode SQP peut etre vue comme la resolutiond’un probleme d’optimisation d’une fonction quadratique avec contraintesd’egalite lineaires .
S. Mottelet (UTC) CM08/P18 37 / 49
3. Methodes et algorithmes3.2. Methode de points interieurs, algorithme primal
Cas general ou les contraintes sont h(x) = 0 et x ≥ 0.
La methode de points interieurs consiste a resoudre (par exemple avec lamethode SQP) la suite de problemes
minimiserx∈K
B(x , tk ) = f (x)− tkn∑
i=1
log xi
K = {x ∈ Rn, h(x) = 0}.
ou (tk ) est une suite verifiant tk > 0 et tk → 0.
B(x , t) est une fonction barriere
L’ecriture des conditions d’optimalite permet de montrer que
limk→∞
tkxi (tk )
= µi .
S. Mottelet (UTC) CM08/P18 38 / 49
3. Methodes et algorithmes3.2. Methode de points interieurs, algorithme primal-dual
Une solution pour t > 0 du probleme avec barriere verifie
∇f (x) +∇h(x)λ− tX−1e = 0,h(x) = 0,
ou X = diag(x) et e = (1, . . . ,1)>. En introduisant une nouvelle variableduale µ telle que Xµ = te on obtient le systeme d’equations
∇f (x) +∇h(x)λ− µ = 0,Xµ = te,
h(x) = 0.
Algorithme primal-dual : on considere une suite (tk )→ 0 et pour chaquevaleur de tk on applique la methode de Newton a la resolution en (x , λ, µ)du systeme ci-dessus.
S. Mottelet (UTC) CM08/P18 39 / 49
3. Methodes et algorithmes3.3. Methodes utilisees dans MATLAB
Dans MATLAB la fonction fmincon propose (entre autres) la methodede points interieurs (algorithme primal-dual) et la methode SQP. Lafonction linprog est dediee aux programmes lineaires et utilise pardefaut une methode de points interieurs.La forme generale des problemes pouvant etre resolus est la suivante :
minimiserx∈Rn
f (x),
sous les contraintes
Ax ≤ b,Aeqx = beq ,
li ≤ xi ≤ ui , i = 1 . . . n,g(x) ≤ 0,h(x) = 0.
S. Mottelet (UTC) CM08/P18 40 / 49
1 Problemes sans contrainteMotivationsNotions fondamentalesMethodes et algorithmes
2 Problemes avec contraintesMotivations, ExemplesElements de theorieMethodes et algorithmes
3 Problemes d’optimisation en regime transitoireMotivationsExempleCas general
S. Mottelet (UTC) CM08/P18 41 / 49
1. MotivationsProbleme de commande optimale
minimiseru∈C(0,T ), θ∈Rp
J(X (tf ))
sous les contraintesddt X (t) = f (X (t),u(t), θ), t ∈ [0, tf ]contraintes sur ucontraintes sur θcontraintes sur X
L’evaluation de J necessite de resoudre une equation differentielle
L’une des deux inconnues du probleme est une fonction
S. Mottelet (UTC) CM08/P18 42 / 49
1. MotivationsProbleme de commande optimale
Hypothese de travail : la fonction t 7→ u(t) appartient a un espace dedimension finie
u(t) =N∑
k=1
ukφk (t),
0 0.2 0.4 0.6 0.8 10.5
1
1.5
2
2.5
3
3.5
u(t)
u1u2
u3
u5
u4
S. Mottelet (UTC) CM08/P18 43 / 49
1. MotivationsProbleme de commande optimale
minimiserθ∈Rp
J(X (tf ))
sous les contraintesddt X (t) = f (X (t), θ), t ∈ [0, tf ]contraintes sur θ
Quand p est grand le calcul approche des derivees de J est tres couteux
Le calcul des derivees exactes est necessaire !
S. Mottelet (UTC) CM08/P18 44 / 49
2. Exemple2.1 Reacteur batch avec deux reactions paralleles
A k1−→ B, A k2−→ C, k1 = k10 exp
(− E1
RT
), k2 = k20 exp
(− E2
RT
),
Cinetique sur [0, tf ] :
ddt A = −(k1 + k2)A, A(0) = A0, (1)ddt B = k1A, B(0) = 0, (2)
ou on a note A,B les concentrations respectives.
But : maximiser la concentration B(tf ) en agissant sur T
S. Mottelet (UTC) CM08/P18 45 / 49
2. Exemple2.1 Reacteur batch avec deux reactions paralleles
En posant
A(t) = A0 a(t), B = A0b(t), β =E2
E1, α =
k20
kβ10
,
on peut ecrire (1)-(2) sous la forme equivalente
ddt a = −f (k1)a, a(0) = 1, (3)ddt b = k1a, b(0) = 0, (4)
ou on a note f (k1) = k1 + αkβ1 .
Optimiser par rapport a T ⇐⇒ Optimiser par rapport a k1
S. Mottelet (UTC) CM08/P18 46 / 49
2. Exemple2.2 Reacteur batch isotherme avec deux reactions paralleles
Probleme d’optimisation (cas isotherme)
minimiserk1∈R+
J(k1) = −b(tf )
sous les contraintesddt a = −f (k1)a, a(0) = 1, (5)ddt b = k1a, b(0) = 0, (6)
I Calcul de J ′(k1) : il suffit de deriver (5)-(6) par rapport a k1
Attention, a(t) et b(t) sont des fonctions de k1 !
S. Mottelet (UTC) CM08/P18 47 / 49
2. Exemple2.2 Reacteur batch isotherme avec deux reactions paralleles
Les fonctions de sensibilite
Sa(t) =∂a(t)∂k1
, Sb(t) =∂b(t)∂k1
sont obtenues en resolvant simultanement les equations obtenues apresderivation
ddt a = −f (k1)a, a(0) = 1, (7)ddt b = k1a, b(0) = 0, (8)
ddt Sa = −f (k1)Sa − f ′(k1)a, Sa(0) = 0, (9)ddt Sb = k1Sa + a, Sb(0) = 0. (10)
et au final,
J ′(k1) = −∂b(tf )∂k1
= −Sb(tf ).
S. Mottelet (UTC) CM08/P18 48 / 49
3. Cas generalMatrice de sensibilite
X (t) ∈ Rn et θ ∈ Rp (parametres)
La matrice n × p de sensibilite S(t), definie par
[S(t)]i,j =∂Xi (t)∂θj
,
est obtenue par resolution du systeme de n + np equations differentielles :
dXdt
= f (X , θ),
dSdt
=∂f∂X
(X , θ)S +∂f∂θ
(X , θ).
Elle permet de calculer le gradient par rapport a θ de toute fonctioneconomique calculee a partir de X .
S. Mottelet (UTC) CM08/P18 49 / 49
Recommended