cm08/p18 - introduction aux méthodes numériques d'optimisationmottelet/cm08/cours.pdf ·...

49
CM08/P18 Introduction aux m ´ ethodes num ´ eriques d’optimisation S. Mottelet Universit ´ e de Technologie de Compi` egne S. Mottelet (UTC) CM08/P18 1 / 49

Upload: others

Post on 08-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

CM08/P18Introduction aux methodes numeriques d’optimisation

S. Mottelet

Universite de Technologie de Compiegne

S. Mottelet (UTC) CM08/P18 1 / 49

Page 2: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 3: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 4: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 5: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 6: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 7: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 8: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 9: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 10: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 11: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 12: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 13: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 14: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 15: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 16: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 17: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 18: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 19: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 20: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 21: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 22: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 23: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 24: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 25: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 26: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 27: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 28: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 29: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 30: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 31: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 32: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 33: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 34: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 35: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 36: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 37: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 38: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 39: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 40: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 41: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 42: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 43: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 44: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 45: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 46: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 47: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 48: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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

Page 49: CM08/P18 - Introduction aux méthodes numériques d'optimisationmottelet/CM08/cours.pdf · CM08/P18 Introduction aux methodes num´ eriques d’optimisation´ S. Mottelet Universite

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