Techniques d’optimisation

554
1 Techniques d’optimisation Max CERF

Transcript of Techniques d’optimisation

Page 1: Techniques d’optimisation

1

Techniques d’optimisation

Max CERF

Page 2: Techniques d’optimisation

Techniques d’optimisation

2

Sommaire 1. Bases théoriques

2. Optimisation sans contraintes

3. Optimisation avec contraintes

Page 3: Techniques d’optimisation

Techniques d’optimisation

3

Sommaire 1. Bases théoriques

1.1 Définitions 1.2 Contraintes linéaires 1.3 Contraintes non linéaires 1.4 Conditions d’optimalité

2. Optimisation sans contraintes

3. Optimisation avec contraintes

1 Bases théoriques

Page 4: Techniques d’optimisation

Techniques d’optimisation

4

Sommaire 1. Bases théoriques

1.1 Définitions 1.1.1 Problème d’optimisation 1.1.2 Solution 1.1.3 Différentiabilité 1.1.4 Convexité 1.1.5 Conditionnement 1.1.6 Direction de déplacement 1.2 Contraintes linéaires 1.3 Contraintes non linéaires 1.4 Conditions d’optimalité

2. Optimisation sans contraintes

3. Optimisation avec contraintes

1 Bases théoriques 1.1 Définitions

Page 5: Techniques d’optimisation

Techniques d’optimisation

5

1.1.1 Problème d’optimisation

Classification des problèmes d’optimisation - Optimisation continue dans Rn

Formulation mathématique et notations

- Variables - Critère - Contraintes

Norme sur Rn

- Norme vectorielle - Norme matricielle

Suite dans Rn

- Limite - Vitesse de convergence

1 Bases théoriques 1.1 Définitions 1.1.1 Problème d’optimisation

Page 6: Techniques d’optimisation

Techniques d’optimisation

6

1.1.1 Classification

Optimisation fonctionnelle / paramétrique • Inconnues = fonctions → Optimisation fonctionnelle

Optimisation en dimension infinie Commande optimale

• Inconnues = entiers ou réels → Optimisation paramétrique Optimisation en dimension finie Programmation mathématique

Programmation mathématique • Inconnues = entiers → Optimisation combinatoire

Programmation en nombres entiers

• Inconnues = réels → Optimisation continue Programmation linéaire (LP)

Programmation non linéaire (NLP) • Inconnues = entiers et réels → Programmation mixte

1 Bases théoriques 1.1 Définitions 1.1.1 Problème d’optimisation

Page 7: Techniques d’optimisation

Techniques d’optimisation

7

1.1.1 Formulation Formulation mathématique → formulation standard problème noté (PO) Notations • x : n variables ou paramètres → vecteur de Rn

ou inconnues

• f : critère ou fonction coût → fonction de Rn dans R ou fonction objectif

• cE : p contraintes d’égalité → fonction de Rn dans Rp

• cI : q contraintes d’inégalité → fonction de Rn dans Rq • X : ensemble convexe X ⊆ Rn → valeurs admissibles des variables

∈≤=

∈ Xx0(x)c0(x)c

sousf(x)min I

E

Rx n

Rf(x)Rx n ∈∈

pE

n R(x)cRx ∈∈

qI

n R(x)cRx ∈∈

1 Bases théoriques 1.1 Définitions 1.1.1 Problème d’optimisation

Page 8: Techniques d’optimisation

Techniques d’optimisation

8

1.1.1 Optimisation continue

Hypothèses • Continuité : Fonctions continues de variables réelles

→ Optimisation continue ≠ Optimisation combinatoire, Programmation en nombres entiers

• Différentiabilité : Fonctions différentiables → Méthodes à base de gradient ≠ Méthodes sans dérivées • Déterminisme : Les données du problème sont parfaitement connues ≠ Optimisation stochastique • Programmation linéaire : coût linéaire et contraintes linéaires (LP) • Programmation quadratique : coût quadratique et contraintes linéaires (QP) • Programmation non linéaire : cas général, fonctions quelconques (NLP) Rappels d’analyse

• Norme • Suite - Convergence

1 Bases théoriques 1.1 Définitions 1.1.1 Problème d’optimisation

Page 9: Techniques d’optimisation

Techniques d’optimisation

9

1.1.1 Norme Norme vectorielle sur Rn

• Fonction vérifiant • Norme p : • Norme ∞ : • Norme 2 = norme euclidienne Norme matricielle • Norme induite sur Rm×n par la norme vectorielle • Fonction définie par

RR:. n →

=+≤+=⇔=

xααxyxyx

0x0x0x

pn

1i

pip

xx ∑=

=

in1,...,ixmaxx

=∞=

RR:. nmnm

→××

.

xAx

maxA0x,Rxnm n ≠∈×

=

1 Bases théoriques 1.1 Définitions 1.1.1 Problème d’optimisation

x1

x2

∞x

x

2x

1x

Page 10: Techniques d’optimisation

Techniques d’optimisation

10

1.1.1 Suite Suite dans Rn • Suite : { xk , k=0,1,2,…} = {x0 , x1 , x2 ,…, xn, …}

• Limite : Vitesse de convergence • Convergence linéaire :

→ lent à partir d’un certain rang k0 • Convergence superlinéaire :

→ bonne à partir d’un certain rang k0 • Convergence d’ordre p :

à partir d’un certain rang k0 • Convergence quadratique si p=2 → rapide

*xxlim*xxlim kkkk−⇔=

∞→∞→

1 Bases théoriques 1.1 Définitions 1.1.1 Problème d’optimisation

1c0avec*xxc*xx k1k <≤−≤−+

0climavec*xxc*xx kkkk1k =−≤−∞→+

1c0avec*xxc*xx pk1k <≤−≤−+

Page 11: Techniques d’optimisation

Techniques d’optimisation

11

1.1.2 Solution

Solution admissible

Minimum - Minimum local - Minimum global - Infimum

Problèmes équivalents

- Transformations simples

Contrainte active

Point intérieur

1 Bases théoriques 1.1 Définitions 1.1.2 Solution

Page 12: Techniques d’optimisation

Techniques d’optimisation

12

1.1.2 Solution admissible Solution admissible x solution admissible de (PO) ⇔ x satisfait les contraintes (ou point admissible) Ensemble admissible Illustration dans R2

• c1(x) = 0 → courbe • c2(x) ≤ 0 → région du plan • c3(x) ≤ 0 → région du plan Dans Rn

• c(x) = 0 → hypersurface (dimension n-1)

• aTx = 0 → hyperplan ⊥ a∈Rn (linéaire)

∈≤=

Xx0(x)c0(x)c

I

E

{ }Xx,0(x)c,0(x)c/RxX IEn

adm ∈≤=∈=

1 Bases théoriques 1.1 Définitions 1.1.2 Solution

Non admissible

Page 13: Techniques d’optimisation

Techniques d’optimisation

13

1.1.2 Minimum Minimum global (= meilleure solution dans l’absolu) • x* minimum global de (PO) ⇔ • x* minimum global strict ⇔ Minimum local (= meilleure solution dans un voisinage) • x* minimum local de (PO) ⇔ • x* minimum local strict ⇔

f(x)f(x*),Xx adm ≤∈∀

f(x)f(x*),ε*xx,Xx/0ε adm ≤<−∈∀>∃

*x xsif(x)f(x*),Xx adm ≠<∈∀

*xxsif(x)f(x*),ε*xx,Xx/0ε adm ≠<<−∈∀>∃

1 Bases théoriques 1.1 Définitions 1.1.2 Solution

f(x)

x

minimum local strict

minimum global strict

minima locaux

Sans contrainte f(x)

x

minimum global strict

Xadm

Non admissible Admissible

Avec contrainte

Page 14: Techniques d’optimisation

Techniques d’optimisation

14

1.1.2 Infimum Borne inférieure f : Rn → R f bornée inférieurement sur Y ⊆ Rn ⇔ Infimum • Infimum de f sur Y = plus grande borne inférieure • Notation : • Propriété : Théorème de Weierstrass • f atteint son infimum si f continue, Y compact : • Conditions réalisées en pratique : fonctions continues, intervalles fermés → Le problème (PO) admet une solution x*.

f(x)M,Yx/R M ≤∈∀∈∃

<∈∃>∀

≤∈∀

Mf(x)/Yx,finfMet

f(x)finf,Yx

Y

Y

{ }Yy,f(y)inffinfY ∈=

finff(x*)/Y x* Y=∈∃

1 Bases théoriques 1.1 Définitions 1.1.2 Solution

Page 15: Techniques d’optimisation

Techniques d’optimisation

15

1.1.2 Problèmes équivalents

Problèmes équivalents (PO1) et (PO2) sont deux problèmes équivalents si on peut associer à tout point admissible x1 de (PO1) un point admissible x2 de (PO2) avec la même valeur pour le critère. (PO1) et (PO2) ont alors des solutions de même coût : f1(x1

*) = f2(x2*)

Transformations simples • Changement de variable : y= ϕ(x) avec ϕ strictement croissante sur X

• Maximisation / minimisation :

• Contrainte inférieur / supérieur :

• Variables positives :

• Variables d’écart :

x1 ∈X1adm f1(x1)

x2 ∈X2adm f2(x2) f1(x1)=f2(x2)

( )f(x)minf(x)maxxx

−⇔

0c(x)0c(x) ≤−⇔≥

≥≥−= −

+−+

0x0xavecxxx

0zc(x)0y0yc(x)0c(x) 2 =+⇔

≥=+⇔≤

1 Bases théoriques 1.1 Définitions 1.1.2 Solution

Page 16: Techniques d’optimisation

Techniques d’optimisation

16

1.1.2 Contrainte active

Contrainte active Une contrainte du problème (PO) est active (ou saturée) en x si elle s’annule en x. Ensemble des contraintes actives • Contrainte égalité cE : x admissible ⇒ cE(x) = 0 ⇒ cE active en x • Contrainte inégalité cI : x admissible ⇒ cI(x) ≤ 0 ⇒ cI active en x si cI(x) = 0

cI inactive en x si cI(x) < 0 Intérêt • Les contraintes inégalité inactives n’ont pas d’influence sur la solution x* du problème (PO).

On peut les ignorer, si on identifie l’ensemble Cact(x*). Mais x* n’est pas connu au départ … • Le problème (PO) est équivalent au problème (PO)act réduit aux contraintes actives

prises comme des contraintes égalité.

{ } { } 0(x)c/j0(x)c/j(x)C IjEjact ===

1 Bases théoriques 1.1 Définitions 1.1.2 Solution

0c(x)sousf(x)minnoténRx

=∈

(x*)Cj 0,(x)csousf(x)min0(x)c0(x)csousf(x)min actj

RxI

ERx nn

∈=⇔

≤=

∈∈

Page 17: Techniques d’optimisation

Techniques d’optimisation

17

1.1.2 Exemple

Contrainte active 1. Minimum sans contrainte • Respecte la contrainte x ≤ 2 • Ne respecte pas la contrainte x ≥ 1

→ Activation de la contrainte x = 1 2. Minimum avec contrainte active x = 1 • Respecte la contrainte x ≤ 2 • Respecte la contrainte x ≥ 1

→ Solution du problème 3. Bilan : 1 contrainte active x ≥ 1 → transformée en égalité 1 contrainte inactive x ≤ 2 → ignorée

1 Bases théoriques 1.1 Définitions 1.1.2 Solution

1*x2x1xsous1xmin 2

Rx=→

≤≥+

x 2 1 0

f(x)=x2 f(x)

admissible

Minimum sans contrainte

Minimum avec contrainte

0*x1xmin 2

Rx=→+

1*x1xsous1xmin 2

Rx=→=+

Page 18: Techniques d’optimisation

Techniques d’optimisation

18

1.1.2 Point intérieur Point intérieur y point intérieur à Y ⇔ Il existe un voisinage de y contenu dans Y : Un problème avec contraintes égalité n’admet pas de point intérieur Solution intérieure aux contraintes • x* minimum local du problème avec contraintes inégalité • Si x* est un point intérieur, alors x* minimum local du problème sans contraintes → plus simple

Yz,εy-z z,/0ε ∈≤∀>∃

0(x)csousf(x)min IRx n

≤∈

f(x)minnRx∈

1 Bases théoriques 1.1 Définitions 1.1.2 Solution

x*

x*

Point intérieur - Contrainte inactive Contrainte active

Page 19: Techniques d’optimisation

Techniques d’optimisation

19

1.1.2 Exemple

Point intérieur 1. Ensemble admissible 2. Ensemble intérieur à la contrainte x∈Xint → voisinage de x inclus dans Xint → intervalle ouvert 3. Solution : x*=0 x*∈Xint intérieur à la contrainte → contrainte inactive

1 Bases théoriques 1.1 Définitions 1.1.2 Solution

0*x1xsous1xmin 2

Rx=→≤+

x 1 0

f(x)=x2 f(x)

admissible

Minimum avec contrainte

{ } ]1,]1x/RxXadm ∞−=≤∈=

{ } [1,]1x/RxXint ∞−=<∈=

{ }1XX admint −=

Page 20: Techniques d’optimisation

Techniques d’optimisation

20

1.1.3 Différentiabilité

Définitions - Dérivée partielle - Dérivée directionnelle - Gradient - Hessien - Jacobien

Théorème de Taylor - Ordre 1 et 2 - Modèle quadratique-linéaire - Ligne de niveau

Dérivées numériques

- Différences finies - Erreurs numériques - Incrément

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

Page 21: Techniques d’optimisation

Techniques d’optimisation

21

1.1.3 Gradient

Différentiabilité ordre 1 f fonction continue de Rn dans R Dérivée partielle Dérivée partielle de f en x par rapport à xi : si la limite existe Gradient Gradient de f en x : si toutes les dérivées partielles existent Dérivée directionnelle Dérivée directionnelle de f en x dans la direction d∈Rn : si la limite existe (dérivée directionnelle = produit scalaire avec le gradient) Fonction différentiable f différentiable en x ⇔ f admet une dérivée directionnelle pour tout d∈Rn

dg(x)(x)f Td =⇒

s)x,..,x,..,f(x)xs,..,x,..,f(xlim

xf(x)(x)f ni1ni1

0si

xi

−+=

∂∂

=→

nn RR:g(x)f(x)g(x)

→∇=

∂∂

∂∂

=

∂=

=

n

1

n1,...,ii

xf(x)...x

f(x)

xf(x)g(x)

sf(x)-sd)f(xlim(x)f

0sd+

=→

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

Page 22: Techniques d’optimisation

Techniques d’optimisation

22

1.1.3 Hessien

Différentiabilité ordre 2 f fonction deux fois différentiable de Rn dans R Hessien Hessien de f en x : Courbure On définit pour une direction d ∈Rn au point x la fonction ϕ à une variable : ϕ(s) = f(x+sd) → variation de f dans la direction d • Dérivée première : • Dérivée seconde :

La courbure de f en x dans la direction d est définie par : → normalisation de ϕ’’ en s=0 = quotient de Rayleigh de H(x) dans la direction d

nnn

2

RR:H(x)f(x)H(x)

×→∇=

∂∂

∂∂∂

∂∂∂

∂∂

=

∂∂∂

==

n2

2

1n

2

n1

2

12

2

n1,...,ji,ji

2

xf(x)...

xxf(x)

.........xx

f(x)...x

f(x)

xxf(x)H(x)

ddH(x)dd

T

T

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

sd)f(xd(s)' T +∇=ϕsd)df(xd(s)'' 2T +∇=ϕ

g(x)d(0)' T=ϕ→(x)dHd(0)'' T=ϕ→

Page 23: Techniques d’optimisation

Techniques d’optimisation

23

1.1.3 Jacobien

Matrice gradient c fonction continue de Rn dans Rm Gradient de c en x : Matrice jacobienne (« jacobien » = déterminant de Jc) Contraintes du problème (PO) Matrice jacobienne regroupant les contraintes égalité cE et les contraintes inégalité cI

( )

∂∂

∂∂

∂∂

∂∂

=

∂=∇∇=∇

==

n

m

n

1

1

m

1

1

m1,...,jn1,...,ii

jm1

x(x)c...

x(x)c

.........x(x)c...

x(x)c

x(x)c

(x)c,...,(x)cc(x)

mnn RR:c(x) ×→∇

∂∂

∂∂

∂∂

∂∂

=

∂∂

=

∇=∇=

==

n

m

1

m

n

1

1

1

m1,...,jn1,...,ij

i

Tm

T1

Tc

x(x)c...

x(x)c

.........x(x)c...

x(x)c

x(x)c

(x)c...(x)c

c(x)(x)J

nq)p(n RR:J(x) ×+→

∇∇=

= T

I

TE

I

E

(x)c(x)c

(x)J(x)JJ(x)

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

Page 24: Techniques d’optimisation

Techniques d’optimisation

24

1.1.3 Théorème de Taylor Théorème de Taylor f fonction de Rn dans R : d∈Rn : déplacement à partir de x • Ordre 1 f continument différentiable 1 fois au voisinage de x Il existe s∈[0,1] tel que : • Ordre 2 f continument différentiable 2 fois au voisinage de x Il existe s∈[0,1] tel que :

( )dodf(x)f(x)d)f(x T +∇+=+

Rf(x)Rx n ∈∈

dsd)f(xf(x)d)f(x T+∇+=+

( )22TT dof(x)dd21df(x)f(x)d)f(x +∇+∇+=+

sd)df(xd21df(x)f(x)d)f(x 2TT +∇+∇+=+

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

Page 25: Techniques d’optimisation

Techniques d’optimisation

25

1.1.3 Modèle quadratique-linéaire Problème avec contraintes égalité Fonction modèle • Application du théorème de Taylor au point x0∈Rn

• Modèle quadratique du critère : • Modèle linéaire des contraintes : Problème quadratique-linéaire local Au voisinage de x0 : → Problème quadratique-linéaire - localement « proche » du problème initial - plus simple à résoudre

)x(x)c(x)c(x(x)c 0T

000 −∇+=

)x)(xf(x)x(x21)x(x)f(x)f(x(x)f 00

2T00

T000 −∇−+−∇+=

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

0c(x)sousf(x)minnRx

=∈

0(x)csous(x)fmin 00Rx n

=∈

≈≈

(x)cc(x)(x)f(x)f

0

0

→ contrainte actives

Page 26: Techniques d’optimisation

Techniques d’optimisation

26

1.1.3 Exemple Modèle quadratique : fonction de 1 variable

• Fonction : • Gradient : • Hessien : • Modèle quadratique en x0 = 3 :

• Modèle quadratique en x0 = 4 : • Modèle quadratique en x0 = 5 :

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

x60x47x12x)x(f 234 +−+−=

60x94x36x4)x(f 23 +−+−=∇

94x72x12)x(f 22 −+−=∇

( ) ( ) 81x48x73x14213x6)x(f 22

0 +−=−+−−=

14)x(f,6)x(f,0)x(f 02

00 =∇−=∇=

2)x(f,4)x(f,0)x(f 02

00 =∇=∇=

( ) ( ) x4x4x2214x4)x(f 22

0 −=−+−=

34)x(f,10)x(f,0)x(f 02

00 −=∇−=∇=

( ) ( ) 375x160x175x34215x10)x(f 22

0 −+−=−−−−=

Page 27: Techniques d’optimisation

Techniques d’optimisation

27

1.1.3 Exemple Modèle quadratique : fonction de 2 variables • Fonction : → fonction de Rosenbrock • Gradient :

• Hessien : • Modèle quadratique en x0 = (1,1) :

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

( ) ( )21

221221 x1xx100)x,x(f −+−=

( ) ( )( )

−−−−−

=∇ 212

11212

xx200x12xxx400

)x(f

( )

−+−−=∇

200x400x4002x3x400

)x(f1

1122

−−

−−

=1x1x

200400400802

1x1x

21)x,x(f

2

1T

2

1210

−=∇

=∇=

200400400802

)x(f,00

)x(f,0)x(f 02

00

( ) ( )( ) ( )2221

21210 1x1001x1x4001x401)x,x(f −+−−−−=⇒

Page 28: Techniques d’optimisation

Techniques d’optimisation

28

1.1.3 Résultats utiles

Gradient d’une fonction scalaire • Le gradient de f : Rn → R en x est le vecteur g ∈Rn tel que

• Fonction quadratique : Q matrice symétrique

Gradient d’une fonction vectorielle • Le gradient de f : Rn → Rp en x est la matrice G∈Rn×p telle que • Fonction composée : • Fonction linéaire :

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

pmmnpn RR:h,RR:g,RR:favec →→→

( ) nT Rd,dodg)x(fd)f(x ∈∀++=+

bxcQxx21 f(x) TT ++=

( ) Qdd21dcQxf(x) bd)(xcd)Q(xd)(x

21 d)f(x TTTT +++=+++++=+

cxQ f(x) +=∇→ Q f(x)2 =∇

( ) nT Rd,dodGf(x)d)f(x ∈∀++=+

( )g(x)hf(x) =

( ) ( )( ) ( ) ( ) ( )dod)x(gg(x)hg(x)hdod)x(gg(x)hd)g(xhd)f(x TTT +∇∇+=+∇+=+=+

→ ( )g(x)h)x(g f(x) ∇∇=∇

AdAxd)g(xAxg(x) +=+⇒= TAg(x) =∇⇒

( ) ( )AxhA f(x)Axhf(x) T∇=∇→=

Page 29: Techniques d’optimisation

Techniques d’optimisation

29

1.1.3 Ligne de niveau Définition • Ligne (ou surface) de niveau l0 de la fonction f

→ hypersurface dans Rn (sous-espace de dimension n-1) • Ligne de niveau passant par x0 Gradient → hyperplan tangent à L0 en x0 Le gradient de f est orthogonal aux lignes de niveaux.

{ }0n

0 lf(x)/RxL =∈=

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

( ) 1ordrel'àxxo)x(x)f(x)f(xf(x)avec 00T

00 −+−∇+=

0)x(x)f(x)f(xf(x)Lx 0T

000 =−∇⇒=⇒∈

{ })f(xf(x)/RxL 0n

0 =∈=

x1

x2

x*

∇f

x1

x2

f(x1,x2)

x*

∇f

Page 30: Techniques d’optimisation

Techniques d’optimisation

30

1.1.3 Exemple Ligne de niveau : fonction quadratique

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

22

2121 x25x)x,x(f +=

x1

x2

f=0 1

0.2

0,5

Page 31: Techniques d’optimisation

Techniques d’optimisation

31

1.1.3 Exemple Ligne de niveau : fonction de Rosenbrock

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

( ) ( )21

221221 x1xx100)x,x(f −+−=

-1,0

0,0

1,0

2,0

3,0

4,0

5,0

-2,5 -2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5

Minimum en x*=(1,1)

Lignes de niveau f=0.5 , 1 , 4 , 7 , 10

Page 32: Techniques d’optimisation

Techniques d’optimisation

32

1.1.3 Dérivées numériques Différences finies Les expressions analytiques de ∇f(x) et ∇2f(x) ne sont généralement pas disponibles. → Evaluation par différences finies avec incrément h appliqué successivement sur chaque variable Gradient

• Différence finie simple :

amont si h<0 aval si h>0 → n appels fonction pour évaluer ∇f(x)

• Différence finie centrée :

plus précis → 2n appels fonction pour évaluer ∇f(x) Hessien • Différence finie simple :

→ n(n+1)/2+n appels fonction pour évaluer ∇2f(x)

nà1i,)0,,0,1,0,,0(eavechexx Tn1ii1i1

ii ==+→+−

)h(oh

f(x))hef(x(x)xf i

i

+−+

=∂∂

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

)h(oh2

)hef(x)hef(x(x)xf 2ii

i

+−−+

=∂∂

)h(oh

f(x))hef(x)hef(x)hehef(x(x)

xxf

2jiji

ji

2

+++−+−++

=∂∂

Page 33: Techniques d’optimisation

Techniques d’optimisation

33

1.1.3 Dérivées numériques Sources d’erreurs L’ évaluation d’une dérivée par différence finie génère 2 types d’erreurs : • Erreur d’arrondi (ou de conditionnement) • Erreur de troncature Erreur d’arrondi Les réels sont représentés en mémoire machine calcul avec une précision finie. La précision machine εm est le plus petit réel tel que : 1 + εm ≠ 1 → erreur relative εm=10-16 sur la valeur d’un réel x en double précision → erreur relative εr sur la valeur évaluée de f(x) εr >> εm par cumul des erreurs au cours des opérations pour passer de x à f(x) → εf = erreur absolue sur f Erreur de troncature L’ évaluation d’une dérivée par différence finie tronque le développement de Taylor à l’ordre 1. •

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

[ ]0,1savecsh)(x'f'h21)(xhf')f(xh)f(x 0

2000 ∈+++=+

t2

000 εh21)(xhf')f(xh)f(x ±+=+

fexactrexacteval ε(x)f)ε(x)(1f(x)f ±=±=

[ ]dx,xsur)x(''fdemajorantMεveca 00t +<

Page 34: Techniques d’optimisation

Techniques d’optimisation

34

1.1.3 Dérivées numériques Erreur sur la dérivée avec • → arrondi sur feval(x0) • → arrondi sur feval(x0+h)

• → troncature sur fexact(x0+h) En remplaçant dans l’expression de f’eval(x0) : L’erreur maximale sur la dérivée numérique est :

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

t2

0'exact0exact0exact εh

21)(xhf)(xfh)(xf ±+=+

h)(xfh)(xf

)(xf 0eval0eval0

'eval

−+=

h

ε2εh21)(xhf

hε2)(xfh)(xf

)(xfft

20

'exact

f0exact0exact0

'eval

±±=

±−+=⇒

hε2

2hε

)(xf)(xf ft0

'exact0

'eval ±±=⇒

hε2

2hε ft

'f +=ε

f0exact0eval ε )(xf)(xf ±=

f0exact0eval ε h)(xfh)(xf ±+=+

Page 35: Techniques d’optimisation

Techniques d’optimisation

35

1.1.3 Dérivées numériques Incrément optimal • On choisit l’incrément pour minimiser l’erreur : • Règle empirique de réglage de l’incrément

En supposant que l’ordre de grandeur de la dérivée seconde est de l’ordre de 1 : → incrément de l’ordre de la racine de la précision d’évaluation de f → précision sur f’ de l’ordre de la racine de la précision d’évaluation de f (2 fois moins de chiffres significatifs)

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

t

fopt ε

ε2h =⇒0hε2

dhd

2ft'f =−=

ε

tf'f εε2=ε⇒

fopt εh ≈

f'f ε≈ε

hε2

2hε

min ft'fh

+=ε

hopt

Page 36: Techniques d’optimisation

Techniques d’optimisation

36

1.1.3 Exemple Dérivée numérique • Dérivée en x=1 : f’(1) = 6 • Dérivée numérique avec incrément h → erreur

1 Bases théoriques 1.1 Définitions 1.1.3 Différentiabilité

24 xx)x(f += x2x4)x('f 3 +=→

h (f(x+h)-f(x))/h Erreur 1E-01 6,7410000000 7,410E-01 1E-02 6,0704010000 7,040E-02 1E-03 6,0070040010 7,004E-03 1E-04 6,0007000400 7,000E-04 1E-05 6,0000700004 7,000E-05 1E-06 6,0000069997 7,000E-06 1E-07 6,0000007007 7,007E-07 1E-08 6,0000000079 7,944E-09 1E-09 6,0000004964 4,964E-07 1E-10 6,0000004964 4,964E-07 1E-11 6,0000004964 4,964E-07 1E-12 6,0005334035 5,334E-04 1E-13 5,9952043330 -4,796E-03 1E-14 5,9952043330 -4,796E-03 1E-15 6,6613381478 6,613E-01

)x('fh

)x(f)hx(f)h(e −−+

=

-9

-8

-7

-6

-5

-4

-3

-2

-1

0

1

-16 -14 -12 -10 -8 -6 -4 -2 0

log(h)

log(e)

incrément adapté

Page 37: Techniques d’optimisation

Techniques d’optimisation

37

1.1.4 Convexité

Ensemble convexe

Fonction convexe

Lien avec le gradient et le hessien

1 Bases théoriques 1.1 Définitions 1.1.4 Convexité

Page 38: Techniques d’optimisation

Techniques d’optimisation

38

1.1.4 Convexité

Ensemble convexe X ⊆ Rn convexe ⇔ Interprétation géométrique : Segment inclus dans X Fonction convexe f fonction de Rn dans R • f convexe ⇔ • f strictement convexe ⇔ • f concave ⇔ −f convexe Interprétation géométrique : Sécante au dessus de la courbe Concavité vers le haut

[ ] ( ) λ)f(y)(1λf(x)λ)y(1λxf,0,1λ,R yx, n −+≤−+∈∀∈∀

[ ] X λ)y(1λx,0,1λ,X yx, ∈−+∈∀∈∀

] [ ( ) λ)f(y)(1λf(x)λ)y(1λxf,0,1λ,R yx, n −+<−+∈∀∈∀

1 Bases théoriques 1.1 Définitions 1.1.4 Convexité

Non connexe Non convexe Convexe

y

x

y

x

x y λ

Page 39: Techniques d’optimisation

Techniques d’optimisation

39

1.1.4 Convexité

Convexité et gradient f fonction différentiable de X⊆Rn dans R, X ensemble convexe ouvert • f convexe ⇔ • f strictement convexe ⇔ Interprétation géométrique : Tangente au dessous de la courbe Convexité et hessien f fonction deux fois différentiable de X ⊆ Rn dans R, X ensemble convexe ouvert • f convexe ⇔ semi-définie positive • f strictement convexe ⇔ définie positive Matrice définie positive A∈Rn×n • A définie positive ⇔ • A semi-définie positive ⇔

g(x)x)(yf(x)f(y),X yx, T−≥−∈∀

H(x),Rx n∈∀

g(x)x)(yf(x)f(y),X yx, T−>−∈∀

H(x),Rx n∈∀

0Add,Rd Tn >∈∀0Add,Rd Tn ≥∈∀

1 Bases théoriques 1.1 Définitions 1.1.4 Convexité

x y

Page 40: Techniques d’optimisation

Techniques d’optimisation

40

1.1.4 Exemple

Fonction convexe • Fonction : f(x) = x2

f’’(x) = 2 → convexe sur R • Fonction : f(x) = x3

f’’(x) = 6x → convexe sur R+ → non convexe sur R

Ensemble convexe • Ensemble :

→ convexe • Ensemble :

→ non convexe

1 Bases théoriques 1.1 Définitions 1.1.4 Convexité

x

f(x)

f(x)=x2

f(x)=x3

{ }1xx/)x,x(X 22

2121 ≤+=

{ }1xx/)x,x(X 22

2121 ≥+= x1

x2

Page 41: Techniques d’optimisation

Techniques d’optimisation

41

1.1.5 Conditionnement

Conditionnement d’une matrice

Conditionnement d’une fonction

Préconditionnement

Système linéaire perturbé

Mise à l’échelle

1 Bases théoriques 1.1 Définitions 1.1.5 Conditionnement

Page 42: Techniques d’optimisation

Techniques d’optimisation

42

1.1.5 Conditionnement

Conditionnement d’une matrice A matrice symétrique semi-définie positive Valeurs propres de A : Nombre de conditionnement de A : Conditionnement d’une fonction f fonction deux fois différentiable Conditionnement de f en x = nombre de conditionnement de A=H(x) Interprétation Vecteur propre dk associé à la valeur propre σk : Courbure de f en x dans la direction dk : Théorème de Rayleigh-Ritz d1 = direction de plus forte courbure (courbure = σ1) dn = direction de plus faible courbure (courbure = σn)

1σσAA κ(A)

n

12

1-

2≥==

kk

Tk

kTk σ

ddH(x)dd

=

kkkk dσdA =

n1 σσ ≥≥

1 Bases théoriques 1.1 Définitions 1.1.5 Conditionnement

12σA =→

Page 43: Techniques d’optimisation

Techniques d’optimisation

43

1.1.5 Exemple

Matrice 2×2 • Inverse :

• Valeurs propres : Conditionnement

• • Valeurs propres : • Conditionnement :

1 Bases théoriques 1.1 Définitions 1.1.5 Conditionnement

210001σσ)A(

σ/1A

σA

2

1

22

1-12 ==κ⇒

=

=

=

220002.011.0

A

=

dcba

A bcad)Adet(avecacbd

)Adet(1A 1 −=

−=→ −

( )( ) ( ) 0)Adet(da0bcda0)IAdet( 2 =+σ+−σ⇒=−σ−σ−⇒=σ−

−=σ=σ⇒=−σ−σ 00001.0

10001.2000002.01.22

12

Page 44: Techniques d’optimisation

Techniques d’optimisation

44

1.1.5 Préconditionnement

Changement de variable • Variable : (M∈Rn×n inversible = matrice de préconditionnement) • Fonction : • Gradient : • Hessien : Préconditionnement de f • Factorisation de Cholesky (si H(x) définie positive) : H(x)=LLT • Conditionnement optimal (minimal) de f en x pour :

Mxx~ =

)x~f(MM)x~(f~ -1-T∇=∇

)x~f(Mf(x))x~(f~ -1==

-1-12-T2 )Mx~f(MM)x~(f~

∇=∇g(x)M)x~(g~ -T=⇒

-1-TH(x)MM)x~(H~ =⇒

1 Bases théoriques 1.1 Définitions 1.1.5 Conditionnement

1)H~κ(I)x~(H~xLx~ T =⇒=⇒=

x1

x2

x* f∇ *x~

1x~

2x~

f~

Sans conditionnement Avec conditionnement

Page 45: Techniques d’optimisation

Techniques d’optimisation

45

1.1.5 Système linéaire perturbé

Perturbation du second membre • Système non perturbé : A x = b → solution x* • Système perturbé au 2nd membre : A(x +∆xb) = b+∆b → solution x* +∆xb • Système perturbé au 1er membre : (A+ ∆A)(x +∆xA) = b → solution x* +∆xA

• Majoration de la perturbation

• Amplification maximale de la perturbation :

1 Bases théoriques 1.1 Définitions 1.1.5 Conditionnement

∆−===

=+==

=+++=+

=

*x.A.AΔxΔbAΔx*Axb

0ΔA.x*xA.ΔΔbxA.Δb*Ax

b)Δx*ΔA)(x(AΔbb)Δx*A(x

b*Ax

1A

1b

A

b

A

b

≤⇒

≤⇒

∆−==

AΔA

.A.A*x

Δxb

Δb.A.A

*xΔx

*x.ΔA.AΔxΔb.AΔx

*x.A.AΔxΔbAΔx

1A

1b

1A

1b

1A

1b

bA

*x1*x.Ab*Axb ≤⇒≤⇒=

-1A.A κ(A) =

Page 46: Techniques d’optimisation

Techniques d’optimisation

46

1.1.5 Exemple

Système perturbé 2×2 • Système non perturbé

• Perturbation δA :

• Perturbation δb :

1 Bases théoriques 1.1 Définitions 1.1.5 Conditionnement

=

220002.01101.0

A

=+=+

0002.4x2x20002.02xx1.0

21

21

==⇒ 1x

10x2

1

=

0002.42

xx

220002.011.0

2

1

=−=⇒ 010.2x

101.0x2

1

=

0002.401.2

b

=−=⇒ 01.101x

990x2

1

x1

x2

10

1

Conditionnement : 210001)A( =κ

Page 47: Techniques d’optimisation

Techniques d’optimisation

47

1.1.5 Mise à l’échelle

Principe • Des valeurs numériques trop différentes sont sources de blocage des algorithmes.

Exemple : (1 + 10-20) − 1 = 1 − 1 = 0 au lieu de 10-20 avec 16 chiffres significatifs • Pour réduire les erreurs numériques, il faut que les différentes valeurs utilisées dans les calculs

aient des ordres de grandeur comparables. • Méthode de mise à l’échelle : transformation affine X’ = αX + β Quantités à mettre à l’échelle • Variables : x → x’ ≈ 1 (→ déplacement sur toutes les composantes de x) • Critère : f → f’ ≈ 1 (→ tests d’arrêt sur variation de f) • Contraintes : c → c’ ≈ 1 (→ contraintes de poids équivalents)

• Jacobien : → (→ directions admissibles) • Hessien : → (→ courbure, conditionnement) Difficultés • On ne peut pas simultanément mettre toutes les quantités à l’échelle → choix expérimental • Le facteur d’échelle dépend du point x → à adapter au cours des itérations

(mise à l’échelle dynamique)

1 Bases théoriques 1.1 Définitions 1.1.5 Conditionnement

1'c ≈∇c∇

L2∇ 1'L2 ≈∇

Page 48: Techniques d’optimisation

Techniques d’optimisation

48

1.1.6 Direction de déplacement

Direction de descente - Définition - Point de Newton - Point de Cauchy

Direction admissible

Contraintes linéaires

1 Bases théoriques 1.1 Définitions 1.1.6 Direction de déplacement

Page 49: Techniques d’optimisation

Techniques d’optimisation

49

1.1.6 Direction de descente

Direction de descente • Gradient de f en x∈Rn : g(x) = ∇f(x) • Dérivée directionnelle de f en x suivant d∈Rn : fd(x) = g(x)Td d est une direction de descente en x si : fd(x) = g(x)Td < 0 • La direction de plus forte pente d+ est la direction du gradient : d+ = g(x) • La direction de plus forte descente d− est opposée au gradient : d− = −g(x)

1 Bases théoriques 1.1 Définitions 1.1.6 Direction de déplacement

2TTn g(x)dg(x)dg(x),dd/Rd −=≥=∈∀ −−

x1

x2

x*

−∇f(x) d1

x0

d2

Page 50: Techniques d’optimisation

Techniques d’optimisation

50

1.1.6 Direction de descente

Variation suivant une direction • Déplacement d∈Rn à partir de x0∈Rn : d = sd0 avec d0∈Rn = direction de déplacement

s∈R = pas de déplacement suivant d0 • Modèle quadratique au voisinage de x0 : ϕ(s)=f(x0+sd0) fonction de R dans R

ϕ(s)

s

ϕd1(s)

ϕd2(s)

ϕd-(s)

s=0 x=x0

sd1 sd- sd2

1 Bases théoriques 1.1 Définitions 1.1.6 Direction de déplacement

00T0

20

T0000 dHds

21dsg)f(x)sd(xf ++=+

∇=∇=

)f(xH)f(xgavec

02

0

00

(0)''s21(0)'s(0)(s)ˆ 2ϕ+ϕ+ϕ=ϕ⇒

=ϕ=ϕ

00T0

0T0

dHd(0)''dg(0)'avec

x*

−∇f(x0) d1

x0

d2

Meilleure direction : d2 < d− < d1

Page 51: Techniques d’optimisation

Techniques d’optimisation

51

1.1.6 Direction de descente

Minimisation locale Deux points particuliers sont définis à partir du modèle quadratique de f en x0 : • Point de Newton : minimisation de f par rapport à d∈Rn → xn = x0 + dn • Point de Cauchy : minimisation de f suivant d0=−g0 → xc = x0 −scg0 Point de Newton xn existe si H0=∇2f(x0) est définie positive. Point de Cauchy xc existe si f est convexe suivant g0 (condition moins forte que H0 définie positive).

1 Bases théoriques 1.1 Définitions 1.1.6 Direction de déplacement

dHd21dg)f(xd)(xfmin 0

TT000

Rd n++=+

(0)''s21(0)'s(0))sg(xˆmin 2

00Rsϕ+ϕ−ϕ=−ϕ

( ) 0gHg(0)''sigHg

gg(0)''

(0)'s 00T0

00T0

20

T0

2

c >=ϕ=ϕϕ

=⇒

0HsigHd 001

0n >−=⇒ −

xn

−g0

x0

xc

Page 52: Techniques d’optimisation

Techniques d’optimisation

52

1.1.6 Direction admissible

Direction admissible d∈Rn direction de déplacement à partir de x∈Xadm point admissible Définition : d direction admissible ⇔ On peut se déplacer d’au moins ε suivant d à partir de x en restant admissible

• Contrainte égalité : ∇cE(x)Td = 0 → tangent • Contrainte inégalité : ∇cI(x)Td ≤ 0 → intérieur Ensemble convexe Xadm convexe, y≠x, x,y∈Xadm ⇒ [x,y]⊂ Xadm ⇒ d=y−x est une direction admissible à partir de x Point intérieur x point intérieur à Xadm ⇒ Toute direction d ∈Rn est admissible à partir de x

admXsdxεs0s,/0ε ∈+⇒≤<∀>∃

1 Bases théoriques 1.1 Définitions 1.1.6 Direction de déplacement

x

d

−∇c(x)

x d

Page 53: Techniques d’optimisation

Techniques d’optimisation

53

1.1.6 Contraintes linéaires

Contraintes linéaires Contraintes linéaires sous forme standard : Direction admissible d ∈Rn direction admissible à partir de x point admissible Preuve : Pour s>0 petit, on doit avoir : Combinaison de directions admissibles Toute combinaison linéaire à coefficients positifs de directions admissibles est une direction admissible. Preuve : Une combinaison linéaire à coefficients positifs vérifie également

{ }0xb,Ax/RxX nadm ≥=∈=

=≥=⇔ 0xsi0d

0Adii

1 Bases théoriques 1.1 Définitions 1.1.6 Direction de déplacement

≥+==⇔

≥+=+⇔∈+ 0sdx

bAxcar0Ad0sdx

bsd)A(xXsd)(x adm

≥=0x

bAx

petitassezspour0sdxalors0,x Si iii >+>0dsi0sdxalors0,x Si iiii ≥≥+=

=≥=

0xsi0d0Ad

ii

Page 54: Techniques d’optimisation

Techniques d’optimisation

54

Sommaire 1. Bases théoriques

1.1 Définitions 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire 1.2.2 Direction admissible 1.2.3 Réduction 1.2.4 Projection 1.3 Contraintes non linéaires 1.4 Conditions d’optimalité

2. Optimisation sans contraintes

3. Optimisation avec contraintes

1 Bases théoriques 1.2 Contraintes linéaires

Page 55: Techniques d’optimisation

Techniques d’optimisation

55

1.2.1 Rappels d’algèbre linéaire

Application linéaire - Matrice d’une application linéaire - Espace nul - Espace image

Matrice - Valeurs et vecteurs propres - Matrices particulières - Factorisations

Système linéaire - Solutions - Contraintes redondantes

1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire

Page 56: Techniques d’optimisation

Techniques d’optimisation

56

1.2.1 Application linéaire

Application linéaire Une matrice A∈Rm×n définit une application linéaire de Rn dans Rm : Espace nul (ou noyau) • L’espace nul de A est défini par : • Si A est non singulière : Espace image • L’espace image de A est défini par : • Si A est non singulière : Le rang de A est la dimension de Im(A) : Théorème fondamental de l’algèbre Ker(A) et Im(AT) sont supplémentaires dans Rn : Tout x ∈Rn s’écrit de façon unique comme somme d’un élément xZ de Ker(A) et d’un élément xY de Im(AT)

mn RAxyRx ∈=∈

{ }0Ax/RxKer(A) n =∈=

{ }nRxAx,yIm(A) ∈==

nT R )Im(AKer(A) =⊕

{ }0Ker(A) =

dim(Im(A))rang(A) =

YZn xxx,Rx +=∈∀

∈∈

)Im(AxKer(A)xavec T

Y

Z

nRIm(A)=

1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire

de façon unique

Page 57: Techniques d’optimisation

Techniques d’optimisation

57

1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire

1.2.1 Matrice

Valeurs et vecteurs propres Une matrice A∈Rn×n admet la valeur propre σ∈R s’il existe un vecteur non nul v ∈Rn tel que : Av = σv v est un vecteur propre associé à la valeur propre σ. Matrices particulières • A non singulière ⇔ Aucune valeur propre de A n’est nulle. • A symétrique ⇔ AT = A ⇒ A admet n valeurs propres réelles (distinctes ou non) ⇒ A admet une base orthonormée de vecteurs propres • A orthogonale ⇔ AAT = ATA = I • A semi-définie positive ⇔ vTAv > 0 pour tout v ∈Rn • A définie positive ⇔ vTAv ≥ 0 pour tout v ∈Rn

• A symétrique définie positive ⇒ A admet n valeurs propres réelles positives

(distinctes ou non)

Page 58: Techniques d’optimisation

Techniques d’optimisation

58

1.2.1 Exemple

Valeurs propres d’une matrice 2×2 • Matrice A :

• Valeurs propres : • Exemple :

Conditionnement : κ(A) = 2508

1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire

=

2221

1211

aaaa

A

0aa)a)(a(0aa

aa0)IAdet( 21122211

2221

1211 =−σ−σ−⇒=σ−

σ−⇒=σ−

0aaaa)aa( 2112221122112 =−+σ+−σ⇒

−=

200400400802

A

=σ⇒

39936.0

60.1001

2

1

−−+±+=σ⇒ )aaaa(4)aa(aa

21

211222112

22112211

Page 59: Techniques d’optimisation

Techniques d’optimisation

59

1.2.1 Exemple

Diagonalisation matrice symétrique 2×2 • Matrice Q : • Base orthonormée de vecteurs propres : • Matrice de passage orthogonale : → diagonale si avec b ≠ 0 sinon Q directement diagonale ⇒ cos α ≠ 0 • Direction des axes principaux (vecteurs propres) :

→ 2 solutions α1 et α2 = α1 + π/2

1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire

cbavecdcba

Q =

=

αα−

=

αα

=cossin

v,sincos

v 21

ααα−α

=cossinsincos

P

α+αα−αα−α+αα−α−α+αα−α+αα+α

= 2222

2222T

cosdsincosb2sina)sin(cosbsincos)ad()sin(cosbsincos)ad(sindsincosb2cosa

QPP

0)sin(cosbsincos)ad( 22 =α−α+αα−

01tanb

datan2 =−α−

Page 60: Techniques d’optimisation

Techniques d’optimisation

60

1.2.1 Permutation

Permutation de colonnes A∈Rm×n, matrice à m lignes, n colonnes E∈Rn×n , matrice de permutation des colonnes j et k ET = E

1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire

=

1000

0010

0100

0001

E

n

k

j

1

nkj1

××××

××××=

m

1

nkj1

AE

××××

××××=

m

1

nkj1

A

Page 61: Techniques d’optimisation

Techniques d’optimisation

61

1.2.1 Factorisation

Factorisation de matrice A∈Rm×n, matrice à m lignes, n colonnes avec m < n A de rang plein : rang(A) = m < n 3 types de factorisations sont utiles dans les algorithmes d’optimisation : • Factorisation LU → Pour réduire le problème (variables dépendantes et indépendantes)

Pour construire une base de l’espace nul

• Factorisation QR → Pour réduire le problème (variables dépendantes et indépendantes) Pour construire une base orthogonale de l’espace nul

• Factorisation LLT → Pour une matrice définie positive

ou LDLT Pour rendre le hessien défini positif

1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire

××××

××××=

m

1

nkj1

A

Page 62: Techniques d’optimisation

Techniques d’optimisation

62

1.2.1 Factorisation LU

Factorisation LU A∈Rm×n, matrice à m lignes, n colonnes • Matrice carrée n×n

L n×n triangulaire inférieure U n×n triangulaire supérieure

• Matrice rectangulaire m×n, m< n → Factorisation de AT L1 m×m triangulaire inférieure L2 (n−m)×m pleine U m×m triangulaire supérieure

• Base de l’espace nul : Méthode de factorisation LU → Méthode d’élimination de Gauss (ou méthode du pivot de Gauss)

1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire

××××

××××=

m

1

nkj1

A

LUAE =

ULL

LUEA2

1T

==

TT2

T1T U

ILL

EZ −−

−=

Page 63: Techniques d’optimisation

Techniques d’optimisation

63

1.2.1 Factorisation QR

Factorisation QR A∈Rm×n, matrice à m lignes, n colonnes

• Matrice rectangulaire m×n

Q m×m orthogonale → QQT = I R m×n triangulaire supérieure

• Base de l’espace nul → Factorisation de AT

Q1 n×m orthogonale Q2 n×(n−m) orthogonale → R n×m triangulaire supérieure

Méthode de factorisation QR → Méthode de Householder ou méthode de Givens

1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire

××××

××××=

m

1

nkj1

A

QRAE =

( )2T QEZ =( )RQQQREA 21

T ==

Page 64: Techniques d’optimisation

Techniques d’optimisation

64

1.2.1 Factorisation LLT

Factorisation LLT

A∈Rn×n, matrice carrée n×n symétrique définie positive ETAE = LLT avec L matrice n×n triangulaire inférieure • Lien avec la factorisation QR car Q orthogonale Méthode de factorisation LLT ou LDLT • Méthode de Cholesky

→ Permet de vérifier que la matrice A est bien définie positive

• Méthode de Cholesky modifiée → Permet de rendre la matrice A définie positive en la modifiant au cours de la factorisation

1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire

RRQRQRAEAEQRAE TTTTT ==⇒=

==→ −1AERQ

LR

Page 65: Techniques d’optimisation

Techniques d’optimisation

65

1.2.1 Exemple

Factorisation LDLT d’une matrice 3×3 • Résolution directe

1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire

=

=

100l10ll1

d000d000d

1ll01l001

aaaaaaaaa

LDLA

32

3121

3

2

1

3231

21

333231

322221

312111

T

++=

+=

+=

=

=

=

32322

231133

3222131132

2221122

31131

21121

111

dldlda

ldllda

dlda

lda

lda

da

−−=

−=

−=

=

=

=

2322

2311333

2

213113232

2211222

1

3131

1

2121

111

ldldadd

lldal

ldadda

l

dal

ad → d1 , d2 , d3 > 0 si A est définie positive → sinon on modifie dj en cours de factorisation dj = max(δ , dj) , δ > 0

Page 66: Techniques d’optimisation

Techniques d’optimisation

66

1.2.1 Exemple

Factorisation LDLT d’une matrice 2×2 • Exemple Les éléments de la matrice diagonale D sont positifs → A est définie positive Valeurs propres de A :

1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire

−=

200400400802

A

−=

=

=

2211222

1

2121

111

ldaddal

ad

=

=

10l1

d00d

1l01

aaaa

LDLA21

2

1

212221

2111

T

=

=⇒4988.000802

D,14988.001

L

39936.0

60.1001

2

1

Page 67: Techniques d’optimisation

Techniques d’optimisation

67

1.2.1 Factorisation LDLT

Méthode de Cholesky modifiée

A matrice n×n symétrique → matrice A’ définie positive « proche » de A (A’ = A si A est définie positive) A’ = LDLT avec L triangulaire inférieure, D diagonale positive • Notations : A=(aij) , L=(lij) , D=(dij) , i,j=1,…,n • Algorithme

Pour j = 1,2,…,n Pour i = j+1,…,n Fin boucle i Fin boucle j

1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire

jjj

1j

1s

2jssjjjj

cd

ldac

=

−= ∑−

=

j

ijij

1j

1sjsissijij

dc

l

lldac

=

−= ∑−

=

ijnijj

2j

jjj cmaxavec,,cmaxd≤<

δ

β

θ=

Modification pour rendre dj > 0 (si A n’est pas définie positive)

+=β≤=δ≥

⇒ n,...,1ji,dlmd

jijij

j

Si dj ≤ δ

Paramètres : δ > 0 petit (δ = 10-3) β > 0 (β = 1)

Page 68: Techniques d’optimisation

Techniques d’optimisation

68

1.2.1 Système linéaire Système linéaire → matrice de rang r : rang(A) = r → m équations → n inconnues Le rang de A est la dimension du sous-espace engendré par A (image de A) → r = dim(Im(A)) ≤ m,n Solutions possibles • Pas de solution : système incompatible (m>n : plus d’équations que d’inconnues) • Solution unique : système non singulier (m=n : autant d’équations que d’inconnues) • Infinité de solutions : système sous-déterminé (m<n : moins d’équations que d’inconnues) Problème d’optimisation Contraintes linéaires Ax=b → système sous-déterminé (m<n) → n-m inconnues «libres» permettant de minimiser le critère

∈∈∈

=

×

n

m

nm

RxRbRA

avecbAx

{ }nRxAx,yIm(A) ∈==

1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire

Page 69: Techniques d’optimisation

Techniques d’optimisation

69

1.2.1 Système linéaire Contraintes redondantes Pour un système sous-déterminé (m<n), si A est de rang déficient : rang(A) = r < m, on peut extraire de A une sous-matrice à ∈Rr×n de rang plein, telle que : à est composée des lignes l1,…,lr de A Les lignes lr+1,…,lm sont combinaisons linéaires des lignes l1,…,lr. Elles correspondent à des contraintes redondantes et peuvent être éliminées de la résolution.

bAxb~

xA~ =⇔=

××××××××××

××××××××××××××××××××

××××××××××

+

m

1r

r

1

l

ll

ln1

Ã

××××××××××

××××××××××

m

1n1

A

1 Bases théoriques 1.2 Contraintes linéaires 1.2.1 Rappels d’algèbre linéaire

Page 70: Techniques d’optimisation

Techniques d’optimisation

70

1.2.2 Direction admissible

Polytope

Forme standard

Sommet

Base

Solution de base

Direction de base

1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible

Page 71: Techniques d’optimisation

Techniques d’optimisation

71

1.2.2 Polytope

Définition Polytope P dans Rn A ∈ Rm×n , b ∈ Rm Interprétation géométrique → hyperplan 1 → hyperplan 2 → hyperplan m Chaque hyperplan j sépare Rn en 2 sous-espaces : P = ensemble de points de Rn délimité par m hyperplans → Polytope dans R2 = polygone → Polytope dans R3 = polyèdre

{ }bAx/RxP n ≤∈=

=+++

=+++=+++

⇔=

mnnm,2m,21m,1

2nn2,22,212,1

1nn1,21,211,1

bxAxAxA

bxAxAxAbxAxAxA

bAx

≥≤

jj,.

jj,.

bxAbxA

P

1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible

Page 72: Techniques d’optimisation

Techniques d’optimisation

72

1.2.2 Forme standard

Forme standard Polytope P dans Rn sous forme standard A ∈ Rm×n , b ∈ Rm A de rang plein (élimination contraintes redondantes → Ã) Passage sous forme standard • Contrainte inégalité : Transformation en contrainte égalité

Ajout d’une variable d’écart positive • Contraintes de bornes : Changement de variable → borne inférieure

Ajout d’une variable d’écart positive → borne supérieure

• Variable libre : Différence de 2 variables positives

{ }0x,bAx/RxP n ≥=∈=

≥+=′=′⇔

≥=+⇔≤ 0z

zc(x)(x)cavecb(x)c0z

bzc(x)bc(x)

≥−=+′≥′−=′

−≤′≥′−=′

⇔−≤−≤⇔≤≤ 0z,xxzx0x,xxx

xxx0x,xxxxxxx0xxx

lu

l

lu

llulul

≥−=′=′⇔

≥=−⇔≥ 0z

zc(x)(x)cavecb(x)c0z

bzc(x)bc(x)

1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible

0z,y,yzxRx ≥−=⇔∈

Page 73: Techniques d’optimisation

Techniques d’optimisation

73

1.2.2 Exemple

Mise sous forme standard • Problème linéaire (P)

• Changement de variables pour les bornes

• Variables d’écart pour les contraintes inégalité

• Problème équivalent à (P) sous forme standard

1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible

≤≥∈≥+−=+−

++4x1,xR,x

63xx2x53xx

sous3x2xxmin321

321

21

321x,x,x 321

0z6z3xx2x63xx2x 22321321 ≥→=−+−⇔≥+−

≥→−=≥→−=

≥→−=⇔

≤≥∈

0'xx4'x0'x1x'x

0z,yyzx

4x1xRx

333

222

11111

3

2

1

−=−−−−=+−+−+− 5z'3x'x2y2z

2'3xzysous14'3x'x2yzmin23211

2113211'x,'x,z,z,y 32211

Page 74: Techniques d’optimisation

Techniques d’optimisation

74

1.2.2 Sommet

Sommet Polytope P dans Rn sous forme standard A ∈ Rm×n, b ∈ Rm A de rang plein : rang(A)=r=m≤n Définition x ∈ P est un sommet de P ⇔ On ne peut pas trouver y,z∈P, différents de x tels que x soit combinaison convexe de y et z i.e. x = λy + (1- λ)z avec 0<λ<1 Existence Tout polytope non vide possède au moins un sommet.

{ }0x,bAx/RxP n ≥=∈=

sommets

non sommets

1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible

Page 75: Techniques d’optimisation

Techniques d’optimisation

75

1.2.2 Base

Base Polytope P dans Rn sous forme standard A ∈ Rm×n, b ∈ Rm • A est de rang plein r=m≤n ⇒ Il existe m colonnes indépendantes • On choisit une sous-matrice B ∈ Rm×m de rang plein (parmi combinaisons possibles)

E matrice de permutation des colonnes de A : EET=I

A.,k = kème colonne de AE • B = matrice de base → B ∈ Rm×m inversible • N = matrice hors base → N ∈ Rm×(n-m)

{ }0x,bAx/RxP n ≥=∈=

mnC

1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible

=

=

−mnmNBAE

×××××××

×××××××+−+

m

1

n1kk1k1mm1

B N

Page 76: Techniques d’optimisation

Techniques d’optimisation

76

1.2.2 Solution de base

Identification des sommets Polytope P dans Rn sous forme standard A ∈ Rm×n, b ∈ Rm • Choix d’une base B ∈ Rm×m • xB ∈ Rm = variables en base (ou liées ou dépendantes)

xN ∈ Rn-m = variables hors base (ou libres ou indépendantes)

• Point admissible : • Identification des sommets Tout point x tel que : est un sommet du polytope. → « solutions de base »

{ }0x,bAx/RxP n ≥=∈=

=⇒

=≥=

−−

0bB

xE0x0bBx 1

T

N

1B

=

N

BT

xx

xE

=

−mnmNBAE

1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible

( )

≥−=⇔

≥=+⇔

≥=⇔∈

0xNxbBx

0xbNxBx

0xbAxPx N

1BNB

Page 77: Techniques d’optimisation

Techniques d’optimisation

77

1.2.2 Solution de base

Identification des sommets Preuve : par l’absurde • On suppose le point x : avec n’est pas un sommet de P. x peut alors s’écrire : x = λy + (1- λ)z avec 0<λ<1 y et z ∈P , y≠x, z≠x • En décomposant suivant les composantes B et N : avec • A partir de xN=0

• A partir de y∈P : A partir de z∈P :

• On obtient en contradiction avec l’hypothèse que x n’est pas un sommet de P

1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible

=

N

BT

xx

xE

=≥= −

0x0bBx

N

1B

−+=−+=

NNN

BBBz)1(yxz)1(yx

λλλλ

≥⇒∈≥⇒∈

0zPz0yPy

N

N

==⇒

<<≥=−+= 0z

0y10

0z,yavec0z)1(yxN

NNNNNN λλλ

bBybyNBybAy 1BNB

−=⇒=+⇔=bBzbzNBzbAz 1

BNB−=⇒=+⇔=

==⇒

BB

BBxzxy

===

0bB

xzy1

Page 78: Techniques d’optimisation

Techniques d’optimisation

78

1.2.2 Solution de base

Solution de base Polytope P dans Rn sous forme standard A ∈ Rm×n, b ∈ Rm A de rang plein : rang(A)=r=m≤n Définition x ∈ Rn est une solution de base de P ⇔ Il existe m indices i1,…,im tels que • La matrice B ∈ Rm×m composée des colonnes i1,…,im de A est de rang plein • Les n-m composantes xi, i≠ i1,…,im sont nulles → • x vérifie Ax=b →

Solution de base admissible Une solution de base x est admissible si toutes ses composantes sont positives (x ∈ P). x vérifie également → Base admissible ou réalisable, solution de base admissible ou réalisable Solution de base dégénérée Une solution de base x est dégénérée si plus de n-m composantes de x sont nulles. xN=0 par définition (n-m composantes) ⇒ xB comporte des composantes nulles

{ }0x,bAx/RxP n ≥=∈=

=⇒

0bB

xE1

T

bBx0x

1B

N−=

=

0bBx0x 1B ≥=⇒≥ −

1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible

Page 79: Techniques d’optimisation

Techniques d’optimisation

79

1.2.2 Solution de base

Lien sommet – solution de base Polytope P dans Rn sous forme standard A ∈ Rm×n, b ∈ Rm A de rang plein : rang(A)=r=m≤n • I=indices des composantes nulles en x*∈P :

(= contraintes inégalités actives) • S=variété linéaire définie par : x*∈Rn est un sommet de P ⇔ ⇔ x* est une solution de base admissible de P Lien sommet – contraintes actives x*∈P est un sommet de P ⇔ Au moins n contraintes sont actives en x*

• m contraintes égalité : • n-m contraintes inégalité : Les m contraintes inégalité sur xB peuvent être actives ou non : → dégénérescence

{ }0x,bAx/RxP n ≥=∈=

{ }0x/iI *i

* ==

{ }*i

n* Ii0,x,bAx/RxS ∈∀==∈=

{ }** xS =

0xbAx

*N

*

==

0bBx 1*B ≥= −

1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible

Page 80: Techniques d’optimisation

Techniques d’optimisation

80

1.2.2 Solution de base

Lien sommet – solution de base Eléments de la démonstration : Le sens inverse est déjà démontré (identification des sommets) Sens direct : x∈Rn est un sommet de P ⇒ x est une solution de base admissible de P • On suppose par contraposée que x n’est pas une solution de base admissible.

• En décomposant suivant les composantes B et N : avec B,N choisies telles que xB > 0 • x n’est pas une solution de base admissible ⇒ Il existe au moins une composante xNk ≠ 0 On construit la direction dk (dite kème direction de base) avec A.,k = kème colonne de AE, dk a toutes ses composantes hors base nulles sauf la kème = 1 • Comme , on peut se déplacer suivant −dk et +dk d’un pas petit en conservant

→ On obtient 2 points y et z de P tels que x = λy + (1- λ)z avec 0<λ<1 → x n’est pas un sommet de P.

1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible

=

N

BT

xx

xE

=

−mnmNBAE

Tn1kk1k1mm

m

1

1kk.,

1

kN

kBkT 00100dde

0AB

dd

dE

=+

−=

=

+−+−

( ) k.,kkNk.,k.,Nkk.,

1kN

kB

k AdNcar0AANdABBNdBdAd ==+−=+−=+= −

( ) bAdAxdxA kk =+=+⇒ αα

≥=0x

bAx

>>

0x0x

Nk

B

Page 81: Techniques d’optimisation

Techniques d’optimisation

81

1.2.2 Exemple

Recherche des solutions de base Polytope P dans R4 sous forme standard • On utilise les contraintes pour réduire le problème à (x1,x2)

• Polytope P’ réduit dans R2

• Les polytopes P dans R4 et P’ dans R2 sont équivalents : Remarque : P = forme standard de P’

1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible

( ){ }0x,bAx/x,x,x,xP 4321 ≥==

=

=11

b,10110111

Aavec

+−=−−=⇔

=+−=++⇔=

214

213

421

321xx1xxx1x

1xxx1xxxbAx

≤−≤+⇒

≥≥⇒≥ 1xx

1xx0x0x0x

21

21

4

3

≥≥

≤−≤+

= 0x

0x,1xx1xx/x

xP'2

1

21

21

2

1

P'xxP

xxxx

2

1

4

3

2

1

⇔∈

Page 82: Techniques d’optimisation

Techniques d’optimisation

82

1.2.2 Exemple

Recherche des solutions de base • Représentation de P’ dans R2

→ représentation des valeurs possibles de (x1,x2) pour (x1,x2,x3,x4) ∈P • Contraintes de P : 4 variables − 2 contraintes • Base de P

→ choisir 2 colonnes indépendantes de A → 6 combinaisons possibles

• Solution de base → fixer les 2 variables hors base xN à 0 → calculer les 2 variables de base xB pour vérifier Ax=b → base admissible si xB ≥ 0

1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible

≥≥

≤−≤+

= 0x

0x,1xx1xx/x

xP'2

1

21

21

2

1

=

⇔=11

xxxx

10110111

bAx

4

3

2

1

x1

x2

x1+x2=1

x1−x2=1

1

1

0

A B

C

D

P

Page 83: Techniques d’optimisation

Techniques d’optimisation

83

1.2.2 Exemple

Recherche des solutions de base Examen des 6 bases possibles de P • Base (x1,x2) :

x = (1 0 0 0) admissible → point B

• Base (x1,x3) :

x = (1 0 0 0) admissible → point B

• Base (x1,x4) :

x = (1 0 0 0) admissible → point B

1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible

=

=

=01

x,5,05,0

5,05,0B,

1111

B B1-

x1

x2

x1+x2=1

x1−x2=1

1

1

0

A B

C

D

P

bBx 1B

−=

=

=11

b,10110111

A

=

=

=

01

x,11

10B,

0111

B B1-

=

=

=

01

x,1101

B,1101

B B1-

Page 84: Techniques d’optimisation

Techniques d’optimisation

84

1.2.2 Exemple

Recherche des solutions de base Examen des 6 bases possibles de P • Base (x2,x3) :

x = (0 −1 2 0) non admissible → point D

• Base (x2,x4) :

x = (0 1 0 2) admissible → point C

• Base (x3,x4) :

x = (0 0 1 1) admissible → point A

1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible

−=

−=

=21

x,1110

B,0111

B B1-

x1

x2

x1+x2=1

x1−x2=1

1

1

0

A B

C

D

P

bBx 1B

−=

=

=11

b,10110111

A

=

=

=21

x,1101

B,1101

B B1-

=

=

=

11

x,1001

B,1001

B B1-

Page 85: Techniques d’optimisation

Techniques d’optimisation

85

1.2.2 Direction de base

Direction de déplacement à partir d’un sommet Polytope P dans Rn sous forme standard A ∈ Rm×n de rang plein, b ∈ Rm x∈Rn solution de base admissible de P : d∈Rn direction de déplacement : Direction admissible d direction admissible en x (contraintes linéaires) d direction admissible en x → « directions de base »

{ }0x,bAx/RxP n ≥=∈=

00

bBxx

xE1

N

BT ≥

=

=

=

N

BT

dd

dE

=≥=⇔ 0xsi0d

0Adii

N1

BNB NdBd0NdBd0Ad −−=⇔=+⇔=

=≥=≥

−=⇔

0xsi0d0xcar0d

NdBd

BiBi

NN

N1

B

(solution de base dégénérée)

1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible

Page 86: Techniques d’optimisation

Techniques d’optimisation

86

1.2.2 Direction de base

Direction de base x∈Rn solution de base admissible de P : k = indice d’une variable hors-base dk = kème direction de base en x : • Les composantes dN sur les variables hors base sont toutes nulles, sauf sur la variable xk

• Les composantes dB sur les variables en base vérifient la 1ère condition de direction admissible (A.,k = kème colonne de AE) • Définition La kème direction de base en x est : • Interprétation géométrique : directions de base = arêtes du polytope en x

00

bBxx

xE1

N

BT ≥

=

=

=

N

BkN

kBkT

dd

notédd

dE

Tn1kk1k1

kN

T 00100ed0E

==

+−

k.,1

B

basehorsjjj.,

1N

1BNB

ABd

dABNdBd0NdBd0Ad

−−

−=⇒

−=−=⇒=+⇒= ∑

Tn1kk1k1mm

m

1

1kk.,

1

kN

kBkT 00100dde

0AB

dd

dE

=+

−=

=

+−+−

1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible

Page 87: Techniques d’optimisation

Techniques d’optimisation

87

1.2.2 Direction de base

Direction de base admissible x∈Rn solution de base admissible de P, k = indice d’une variable hors-base La kème direction de base dk en x vérifie par définition : Pour que dk soit une direction admissible, il faut également vérifier : Cas d’une base non dégénérée x solution de base admissible non dégénérée (xB > 0) ⇓ Toutes les directions de base en x sont admissibles Combinaison de directions de base x∈Rn solution de base admissible de P Toute direction admissible d en x est combinaison linéaire des directions de base dk en x avec dk = kème direction de base en x

≥=

0d0Ad

N

0xsi0d BiBi =≥

∑=basehorsk

kkdαd

1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible

Page 88: Techniques d’optimisation

Techniques d’optimisation

88

1.2.2 Direction de base

Cas d’une base non dégénérée Preuve : on suppose que x est une solution de base non dégénérée. • La kème direction de base dk vérifie

• Comme , on peut se déplacer suivant dk à partir de x en restant admissible

→ dk est une direction admissible.

Combinaison de directions de base Preuve : on suppose que d est une direction admissible. • En décomposant suivant les composantes B et N : • En notant dk les composantes de dN dans la base canonique de Rn :

• On obtient pour d :

avec = kème direction de base → d = combinaison linéaire des dk

1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible

( ) k.,kkNk.,k.,Nkk.,

1kN

kB

k AdNcar0AANdABBNdBdAd ==+−=+−=+= −

>>

0d0x

N

B

0NdBdAd NB =+=

∑∈

=Nk

kkN edd

N1

B NdBd −−=⇒

∑∈

=

=

Nk k

k.,1

kN

B

eAB

ddd

d

=

k

k.,1

k

eAB

d

Page 89: Techniques d’optimisation

Techniques d’optimisation

89

1.2.2 Exemple

Recherche des directions de base Polytope P dans R4 sous forme standard • Direction de base en une solution de base admissible

→ choisir une variable hors base (k) → fixer la composante hors base correspondante dNk à 1 → fixer les autres composantes hors base dN à 0 → calculer les composantes en base dB par −B−1A.,k

• Si la base est non dégénérée, la direction est admissible.

Sinon, il faut vérifier dB ≥ 0 sur les composantes xB = 0 • Sommets de P

→ 2 variables hors base à chaque sommet → 2 directions de base (= arêtes du polytope)

1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible

x1

x2

x1+x2=1

x1−x2=1

1

1

0

A B

C

D

P

( ){ }0x,bAx/x,x,x,xP 4321 ≥==

=

=11

b,10110111

Aavec

Page 90: Techniques d’optimisation

Techniques d’optimisation

90

1.2.2 Exemple

Recherche des directions de base Examen de directions de base de P • Base admissible (x2,x4) : x = (0 1 0 2) → point C • Direction de base d1 correspondant à la variable hors base x1 d1 = (1 −1 0 −2) → admissible • Direction de base d3 correspondant à la variable hors base x3 d3 = (0 −1 1 −1) → admissible

1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible

=

=1101

B,1101

B 1-

−−

=

−=−=

21

11

1101

ABd 1.,1-

B

=10110111

A

−−

=

−=−=

11

01

1101

ABd 3.,1-

B

d1

x1

x2

x1+x2=1

x1−x2=1

1

1

0

A B

C

D

P

d3

Page 91: Techniques d’optimisation

Techniques d’optimisation

91

1.2.2 Exemple

Recherche des directions de base Examen de directions de base de P • Base admissible (x1,x4) : x = (1 0 0 0) → point B base dégénérée • Direction de base d2 correspondant à la variable hors base x2 d2 = (−1 1 0 2) → admissible • Direction de base d3 correspondant à la variable hors base x3 d3 = (−1 0 1 1) → admissible

1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible

−=

−=−=21

11

1101

ABd 2.,1-

B

=10110111

A

−=

−=−=11

01

1101

ABd 3.,1-

B

d3

d2

x1

x2

x1+x2=1

x1−x2=1

1

1

0

A B

C

D

P

=

=

1101

B,1101

B 1-

Page 92: Techniques d’optimisation

Techniques d’optimisation

92

1.2.2 Exemple

Recherche des directions de base Examen de directions de base de P • Base admissible (x1,x2) : x = (1 0 0 0) → point B base dégénérée • Direction de base d3 correspondant à la variable hors base x3 d3 = (−0,5 −0,5 1 0) → non admissible (base dégénérée) • Direction de base d4 correspondant à la variable hors base x4 d4 = (−0,5 0,5 0 1) → admissible

1 Bases théoriques 1.2 Contraintes linéaires 1.2.2 Direction admissible

−−

=

−=−=5,05,0

01

5,05,05,05,0

ABd 3.,1-

B

=10110111

A

d3

d4

x1

x2

x1+x2=1

x1−x2=1

1

1

0

A B

C

D

P

=

=5,05,0

5,05,0B,

1111

B 1-

−=

−=−=5,05,0

10

5,05,05,05,0

ABd 4.,1-

B

Page 93: Techniques d’optimisation

Techniques d’optimisation

93

1.2.3 Réduction

Principe

Méthode générale

Réduction avec noyau

Choix des matrices Y et Z

Interprétation géométrique

1 Bases théoriques 1.2 Contraintes linéaires 1.2.3 Réduction

Page 94: Techniques d’optimisation

Techniques d’optimisation

94

1.2.3 Réduction

Problème sous contraintes linéaires , A ∈ Rm×n, b ∈ Rm, A de rang plein r=m≤n • On cherche un déplacement p à partir d’un point initial x0.

Le point initial x0 n’est pas forcément admissible : Ax0=b0. • Le nouveau point x doit être admissible et meilleur que x0 (diminution du critère).

→ admissible → amélioration

Principe de réduction On utilise les m contraintes pour réduire le problème à n−m variables. Le déplacement p est décomposé en 2 termes : p = plibre + plié , plibre∈Rn , plié ∈Rn • plibre dépend de n−m variables libres (ou indépendantes) → pour minimiser le critère f • plié dépend de m variables liées (ou dépendantes) → pour restaurer l’admissibilité • plié est calculé à partir des contraintes → Système non singulier (A de rang plein) → Le problème d’optimisation est réduit à plibre (n−m variables)

bAxsousf(x)minnRx

=∈

1 Bases théoriques 1.2 Contraintes linéaires 1.2.3 Réduction

<=+=→ )f(xf(x)

bAxavecpxxx0

00

0liélibre0 bb )pA(pbp)A(xbAx −=+⇒=+⇒= libre0lié Apbb Ap −−=⇒

Page 95: Techniques d’optimisation

Techniques d’optimisation

95

1.2.3 Méthode générale

Décomposition du déplacement • On choisit une base de Rn formée de n vecteurs indépendants : (y1…,ym,z1 ,…,zn-m) Le déplacement p s’écrit comme une combinaison linéaire des vecteurs yi et zi : avec matrice Y = (y1 ,…,ym ) ∈Rn×m = composantes des m vecteurs y1,…,ym matrice Z = (z1 ,…,zn-m) ∈Rn×(n−m) = composantes des n−m vecteurs z1,…,zn-m vecteur pY= (a1 ,…,am) ∈Rm = coefficients des m vecteurs y1,…,ym vecteur pZ= (b1 ,…,bn-m) ∈Rn−m = coefficients des n−m vecteurs z1,…,zn-m • Les composantes liées et libres du déplacement p = plié + plibre sont définies par : plié = YpY ∈Rn → m variables liées (pY) plibre = ZpZ ∈Rn → n−m variables libres (pZ) • Le déplacement doit être admissible

1 Bases théoriques 1.2 Contraintes linéaires 1.2.3 Réduction

ZY

mn

1iii

m

1iii ZpYppzbyap +=⇔+= ∑∑

==

( ) ( )Z01

Y

Z0Y

libre0lié0

AZpbbAY pAZpbb AYpApbb Apb)px(A

−−=⇒−−=⇒−−=⇒=+

− si la matrice AY est inversible

Page 96: Techniques d’optimisation

Techniques d’optimisation

96

1.2.3 Méthode générale

Problème équivalent sans contrainte • Déplacement total • Coût réduit

Choix des matrices Y et Z • Réduction avec noyau → respect des contraintes avec pY , minimisation avec pZ • Matrices orthogonales → meilleur conditionnement

1 Bases théoriques 1.2 Contraintes linéaires 1.2.3 Réduction

( ) ( ) ( )( )( ))(p

ZpAAYYIbbAYYxf)px(f)x(f

Znoté

Z1

01

00

ϕ=

−+−+=+= −−

→ coût réduit ϕ = fonction de n−m variables

bp)A(xsousp)f(xmin 00Rp n

=++∈

)(pmin ZRp m-n

Z

ϕ⇔∈

n variables p / m contraintes

n-m variables pZ / 0 contrainte

( ) ( )Z01

YZY AZpbbAY pavecZpYpp −−=+= −

( ) ( ) ( )( ) Z1

01 ZpAAYYIbbAYYp −− −+−=⇒

si la matrice AY est inversible

→ réduction à n−m variables pZ

Page 97: Techniques d’optimisation

Techniques d’optimisation

97

1.2.3 Réduction avec noyau

Base du noyau

• On choisit pour les n−m vecteurs (z1 ,…,zn-m) une base de l’espace nul de A : Azi=0 + m vecteurs (y1 ,…,ym ) pour former une base de Rn

⇒ AZ = 0

• La matrice (Y Z)∈Rn×n est de rang plein (base de Rn) ⇒ A(Y Z) = (AY 0) de rang plein ⇒ AY matrice inversible de Rm×m • Le déplacement lié se simplifie

→ plié est constant et indépendant de plibre = ZpZ Problème réduit

1 Bases théoriques 1.2 Contraintes linéaires 1.2.3 Réduction

( ) ( ) Z01

ZY ZpbbAYYZpYpp +−=+= −

( ) ( )( )Z01

0ZRp

00Rp

ZpbbYAYxf)(pminbp)A(xsousp)f(xminm-n

Zn

+−+=ϕ⇔=++ −

∈∈

( ) ( ) ( ) ( )01

Z01

Ylié bbAYY AZpbbAYY Ypp −=−−== −−

Page 98: Techniques d’optimisation

Techniques d’optimisation

98

1.2.3 Choix des matrices Y et Z

A partir d’une base de A • On choisit une base B∈Rm×m de la matrice A (= m colonnes indépendantes de A)

(E = matrice de permutation de colonnes de A)

• Le déplacement p est décomposé en p = plibre + plié avec plié ∈Rn , plibre∈Rn , définis par :

• La décomposition correspondante dans Rn est p =YpY + ZpZ avec

→ décomposition directe selon les composantes de p Problème réduit

mnm

pp

pEN

BT

−→→

=

=

−mnmNBAE

1 Bases théoriques 1.2 Contraintes linéaires 1.2.3 Réduction

=

Nlibre

T

p0

pE

mn

m

m1

0B

Y−

=

mn

m

mn1

INB

Z−

−−

−=

NZ pp =

=+=⇒

N

BZY p

pZpYpp

0Y bbp −=

( )( )N0NN01

0BNRp

00Rp

px,NpbbBxf)(pminbp)A(xsousp)f(xminm-n

Nn

+−−+=ϕ⇔=++ −

∈∈

( ) N1

01

Blibre0lié NpBbbBpApbb Ap −− −−=⇒−−=

=

0p

pE Blié

T

Page 99: Techniques d’optimisation

Techniques d’optimisation

99

1.2.3 Choix des matrices Y et Z

A partir de matrices orthogonales • La matrice AY doit être inversée

→ Il faut choisir la base (Y Z) pour obtenir le meilleur conditionnement possible • Factorisation QR de A • Conditionnement de AY → même conditionnement que R → même conditionnement que A (car QQT=I → conditionnement = 1) = conditionnement minimal possible à partir de A

1 Bases théoriques 1.2 Contraintes linéaires 1.2.3 Réduction

mn

mm

mn

2

m

1nT

0RQQEA

=

==→

2

1QZQY

( ) ( ) Z01

ZY ZpbbAYYZpYpp +−=+= −

T1

T1

TT1

T1

T ERQQERAYQERARQEA ==⇒=⇒=

ATE = QR avec → méthode de Householder Q orthogonale (QQT=I) R triangulaire

Page 100: Techniques d’optimisation

Techniques d’optimisation

100

1.2.3 Interprétation géométrique

A partir d’une base de A • pN = n−m composantes de x → minimisation de f • pB = m composantes de x → restauration de Ax=b

pB ≠0 car pN ne tient pas compte les contraintes → mauvais conditionnement si pB >> pN A partir de matrices orthogonales • ZpZ = déplacement dans le noyau x → minimisation de f • YpY = déplacement orthogonal à ZpZ → restauration de Ax=b

pY =0 si x0 est admissible car pZ conserve les contraintes → meilleur conditionnement

1 Bases théoriques 1.2 Contraintes linéaires 1.2.3 Réduction

x1

x2

Ax=b

pB

pN

pZ

Page 101: Techniques d’optimisation

Techniques d’optimisation

101

1.2.4 Projection

Projection orthogonale sur un hyperplan

Projection sur le noyau

1 Bases théoriques 1.2 Contraintes linéaires 1.2.4 Projection

Page 102: Techniques d’optimisation

Techniques d’optimisation

102

1.2.4 Projection

Projection orthogonale sur un hyperplan La projection orthogonale de x0∈Rn sur l’hyperplan d’équation Ax=b est le point x solution de → point xP de l’hyperplan le plus proche de x0 • Problème quadratique équivalent

• Lagrangien :

• Condition d’ordre 1

• Solution : • Projection de x0 sur le noyau de A : Ax=0

bAxsousxxmin 0Rx n

=−∈

xP

x0

( ) ( ) bAxsousxxxx21xx

21min 0

T0

20

Rx n=−−=−

( ) ( ) ( )Axbxxxx21),x(L T

0T

0 −λ+−−=λ

( ) ( )( ) ( )

−+=−=λ⇒

==λ−⇒

==λ−−

01TT

0

01T

0TT

0

AxbAAAxxAxbAA

bAxAxAAAx

bAx0Axx

( )( ) 01TT

P xAAAAIx−

−=→

1 Bases théoriques 1.2 Contraintes linéaires 1.2.4 Projection

( )( ) ( ) bAAAxAAAAIx1TT

01TT

P−−

+−=

( ) AAAAIP1TT −

−=→ matrice de projection :

Page 103: Techniques d’optimisation

Techniques d’optimisation

103

Sommaire 1. Bases théoriques

1.1 Définitions 1.2 Contraintes linéaires 1.3 Contraintes non linéaires 1.3.1 Direction admissible 1.3.2 Déplacement admissible 1.4 Conditions d’optimalité

2. Optimisation sans contraintes

3. Optimisation avec contraintes

1 Bases théoriques 1.3 Contraintes non linéaires

Page 104: Techniques d’optimisation

Techniques d’optimisation

104

1.3.1 Direction admissible

Indépendance linéaire

Direction admissible à la limite

Cône des directions

Qualification des contraintes

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible

Page 105: Techniques d’optimisation

Techniques d’optimisation

105

1.3.1 Indépendance linéaire

Contraintes linéaires Pour des contraintes linéaires Ax=b, A∈Rm×n, si A est de rang déficient : rang(A) = r < m, on peut toujours extraire de A une sous-matrice Ã∈Rr×n de rang plein : rang(Ã) = r, telle que : → élimination des contraintes redondantes (cf §1.2.1) Contraintes non linéaires Pour des contraintes non linéaires, on considère un modèle linéaire local. • x0 point admissible : • Contraintes actives linéarisées : On se ramène au cas de contraintes linéaires avec A = ∇c(x0)T (gradient des contraintes actives) Condition d’indépendance linéaire Les contraintes sont dites linéairement indépendantes en x0 si les gradients des contraintes actives sont linéairement indépendants en x0. ⇔ La matrice jacobienne des contraintes actives J(x0)=∇c(x0) est de rang plein.

0)(xc0)(xc0)(xc

00I

0E =⇔

≤=

bAxb~

xA~ =⇔=

)x(x)c(x)c(x(x)c 0T

000 −∇+=

(contraintes actives en x0)

bxAx)c(xx)c(x0(x)c 0T

0T

00 =⇔∇=∇⇔=

avec c(x0)=0

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible

Page 106: Techniques d’optimisation

Techniques d’optimisation

106

1.3.1 Exemple

Indépendance linéaire • 1 contrainte égalité + 1 contrainte inégalité dans R2

• En → linéairement indépendants • En → linéairement dépendants

( )

≤−−+==−=

011xx)x(c0xx)x(c

22

212

2121

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible

2

2

1 Rxx

x ∈

=

-1,0

-0,5

0,0

0,5

1,0

1,5

2,0

-2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0

=

11

x

−=∇

12

c1

=∇

02

c2

=

00

x

=∇

10

c1

=∇2

0c2

Page 107: Techniques d’optimisation

Techniques d’optimisation

107

d

1.3.1 Direction admissible

Définition générale • x point admissible : • d direction admissible à partir de x ⇔ On peut se déplacer sur un segment de longueur ε suivant d à partir de x en restant admissible. Applicabilité • Applicable aux contraintes inégalité et aux contraintes égalité linéaires

• Inapplicable aux contraintes égalité linéaires → Définition à partir de suites de points admissibles

admissiblesdx,ηs0,s/0η +<<∀>∃

0)(xc0)(xc0)(xc

00I

0E =⇔

≤= (contraintes actives en x0)

d

d

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible

Page 108: Techniques d’optimisation

Techniques d’optimisation

108

1.3.1 Direction admissible à la limite

Suite de points admissibles x point admissible Définition : (xk)k∈N suite admissible en x ⇔ Direction admissible à la limite • On considère la suite des directions dk reliant xk à x :

• Définition

d direction admissible à la limite en x pour la suite (xk)k ∈ N ⇔ Il existe une sous-suite telle que : • Direction admissible à la limite = direction tangente

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible

≥∀∃=≠∀

∞→admissiblex,kk/k

x xlimxx,k

k00

kk

k

( )Niki

d∈

ddlimiki

=∞→

xxxxd

k

kk −

−=

x2

d1

d2

dk

d

x1

xk

x

Page 109: Techniques d’optimisation

Techniques d’optimisation

109

1.3.1 Cône des directions

Définition x point admissible Le cône des directions D(x) en x est l’ensemble des directions d∈Rn vérifiant : • ∇cEj(x)Td = 0 pour toutes les contraintes égalité cEj(x) = 0, j=1 à p • ∇cIj(x)Td ≤ 0 pour les contraintes inégalité actives : cIj(x) = 0, j=1 à q → direction tangente aux contraintes égalité → direction intérieure aux contraintes inégalité actives Propriété Toute direction admissible à la limite en x appartient au cône des directions en x Preuve : (xk) suite admissible de limite x → directions c contrainte active en x : c(x)=0

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible

)x(Dd ∈

x

( )xxox)(xc(x)c(x))c(x kkT

k −+−∇+=

xxxxd

k

kk −

−=

( )≤=→

−=∇⇒

−−

−−

=∇∞→ )(inégalité0

(égalité)0xx)c(xlimdc(x)

xxxxo

xxc(x))c(xdc(x)

k

k

k

T

k

k

k

kk

T

≤=⇒ 0)(xc

0)(xckI

kE

Page 110: Techniques d’optimisation

Techniques d’optimisation

110

1.3.1 Qualification

Caractérisation des directions admissibles • Le cône des directions D(x) au point x admissible est simple à manipuler en pratique : → pour toutes les contraintes égalité → pour les contraintes inégalité actives en x • Toutes les directions admissibles à la limite en x appartiennent à D(x),

mais D(x) peut contenir également des directions non admissibles. → D(x) ne caractérise pas les directions admissibles.

Qualification des contraintes Les contraintes vérifient la condition de qualification au point admissible x si toute direction du cône D(x) est admissible à la limite. → Condition très importante dans les algorithmes Conditions suffisantes de qualification des contraintes • Contraintes linéaires : Ax=b ou • Contraintes linéairement indépendantes en x : ∇c(x) de rang plein → réalisable simplement en pratique par extraction d’une sous-matrice de rang plein

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.1 Direction admissible

≤∇=∇⇔∈

0d(x)c0d(x)c)x(Dd T

I

TE

Page 111: Techniques d’optimisation

Techniques d’optimisation

111

1.3.2 Déplacement admissible

Principes

Elimination directe

Réduction généralisée

Restauration

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible

Page 112: Techniques d’optimisation

Techniques d’optimisation

112

1.3.2 Déplacement admissible

Problème sous contraintes non linéaires • On cherche à construire un déplacement p admissible et améliorant à partir d’un point initial x0.

On se ramène à un problème avec contraintes égalité (contraintes actives en x0). → m contraintes actives en x0 • Les n composantes du déplacement p doivent vérifier :

Méthodes possibles • Elimination directe

On exprime m variables à partir des n−m autres à partir des contraintes. On substitue dans l’expression de f → problème sans contraintes

• Réduction généralisée

On linéarise les contraintes en x0. On applique la méthode de réduction des contraintes linéaires (matrices Y et Z). On corrige le déplacement pour prendre en compte les non-linéarités.

0)x(csousf(x)minnRx

=∈

<+=+

)x(f)px(f0)px(c

00

0

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible

≤=

∈ 0)x(c0)x(csousf(x)min

I

ERx n

Page 113: Techniques d’optimisation

Techniques d’optimisation

113

1.3.2 Elimination directe

Principe → m contraintes actives • Les contraintes sont de la forme :

• Si l’on sait résoudre : le problème devient : → problème de dimension n-m, sans contrainte Difficultés • Il faut faire attention au domaine de définition des variables (contraintes implicites)

→ voir exemples

• Il faut disposer de l’expression analytique des fonctions (rarement réalisé en pratique)

0)x(csousf(x)minnRx

=∈

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible

mnlibre

mliélibrelié Rx,Rx),x,x(c)x(c −∈∈=

)x(x0)x,x(c libreliélibrelié ψ=⇔=

)(xmin libreRx mn

libre

ϕ−∈

)x),x((f)x,x(f)x(avec librelibrelibreliédeflibre ψ==ϕ

Page 114: Techniques d’optimisation

Techniques d’optimisation

114

1.3.2 Exemples

Elimination directe • Exemple 1 :

Elimination de x1 :

Solution correcte : • Exemple 2 :

Elimination de x1 :

Solution incorrecte Contrainte implicite : → à prendre en compte explicitement dans la résolution

1xxsousxxmin 22

21

22

21x,x 21

=−+

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible

22

21

22

21 x1x1xx +=⇒=−

==

0x1x

2

1

0xx21min 222x 2

=⇒+→

1x4xsousxxmin 22

21

22

21x,x 21

=++

22

21

22

21 x41x1x4x −=⇒=+

±∞=⇒−→ 222x

xx31min2

21x

21

0x410x

2

22

21

≤≤−⇒

≥−⇒≥

-1,5

-1,0

-0,5

0,0

0,5

1,0

1,5

-1,5 -1,0 -0,5 0,0 0,5 1,0 1,5

x* lignes de f

contrainte

-3,0

-2,0

-1,0

0,0

1,0

2,0

3,0

-3,0 -2,0 -1,0 0,0 1,0 2,0 3,0

x*

lignes de f contrainte

Page 115: Techniques d’optimisation

Techniques d’optimisation

115

1.3.2 Réduction généralisée

Principe → m contraintes actives On construit le déplacement p à partir du point initial x0 en 2 étapes : p = p1 + p2 • Etape de linéarisation + réduction

Le déplacement p1 améliore le critère en supposant un modèle linéaire des contraintes en x0. → linéarisation des contraintes en x0 → application de la méthode de réduction de contraintes linéaires On obtient un nouveau point : x1 = x0 + p1

• Etape de restauration

Les contraintes actives (non linéaires) ne sont pas respectées en x1. Le déplacement p2 restaure un point admissible à partir du point x1. → linéarisation des contraintes en x1 → résolution d’un système sous-déterminé On obtient un nouveau point : x2 = x1 + p2 • Le point x2 doit être : - admissible pour l’ensemble des contraintes (actives et inactives en x0)

- meilleur que x0 (f(x2) < f(x0))

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible

0)x(csousf(x)minnRx

=∈

c(x)=0

x0

x1

p1

c(x)=c1

p2 x2

Page 116: Techniques d’optimisation

Techniques d’optimisation

116

1.3.2 Réduction généralisée

Etape de linéarisation + réduction → m contraintes actives • On linéarise les contraintes au point initial x0 : • Le déplacement p est admissible pour les contraintes linéaires si : • On applique la méthode de réduction de contraintes linéaires.

Le déplacement est décomposé en p = YpY + ZpZ avec Z base du noyau de A0

→ problème à n−m variables sans contraintes → déplacement p1

• Le nouveau point x1 = x0 + p1

- est meilleur que x0 : f(x1) < f(x0) - ne vérifie pas les contraintes : c(x1) = c1 ≠ 0

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible

( )( )Z01

00ZRp

000Rp

ZpbYAYxf)(pminbpAsousp)f(xminm-n

Zn

++=ϕ⇔=+ −

∈∈

0)x(csousf(x)minnRx

=∈

)x(x)c(x)c(x(x)c 0T

000 −∇+=

c(x)=0

x0 x1 p1

c(x)=c1

−=∇==⇔=∇+⇔=+ )c(xb

)c(xAavecbpA0p)c(x)c(x0p)(xc00

T00

00T

0000

Page 117: Techniques d’optimisation

Techniques d’optimisation

117

1.3.2 Réduction généralisée

Etape de restauration • Les contraintes actives ne sont pas vérifiées en x1 : c(x1) = c1 ≠ 0 On cherche un déplacement p2 à partir de x1 tel que : c(x1+p2) = 0 → système non linéaire sous-déterminé de m équations à n inconnues

• On linéarise les contraintes au point x1 :

On obtient un système linéaire sous-déterminé de m équations à n inconnues :

Résolution du système • Il faut recalculer les gradients des contraintes en x1 → très coûteux (m×n appels fonction)

On fait l’approximation que : → approximation correcte si le déplacement p1 est petit ou si les contraintes sont peu non linéaires

• Le système sous-déterminé admet une infinité de solutions (n−m variables libres) Choix possibles : - solution de norme minimale (projection sur les contraintes) - solution de base (pour ne pas dégrader la minimisation due à p1)

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible

)x(x)c(x)c(x(x)c 1T

111 −∇+=

−=∇==⇔=∇+⇔=+ )c(xb

)c(xAavecbpA0p)c(x)c(x0p)(xc11

T11

11T

1111

)c(x)c(x 01 ∇≈∇

Page 118: Techniques d’optimisation

Techniques d’optimisation

118

1.3.2 Restauration

Résolution du système Le déplacement p2 doit vérifier : • Solution de norme minimale → projection sur l’hyperplan tangent aux contraintes actives

(cf §1.2.4)

• Solution de base → pour ne pas dégrader la minimisation réalisée par pZ (cf §1.2.3)

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible

−=−==∇≈∇==

111

0T

0T

1111 c)c(xb

A)c(x)c(xAavecbpA

( ) 11T

11T1211

RpbAAApbpAsouspmin

n

∈=→=

( ) ( ) 11

1211

1Y1ZY1 bYAYpbYApb)ZpYp(A −− =→=⇒=+

c(x)=0

x0 x1 p1

c(x)=c1

∇c(x0) ∇c(x1)

p2

Page 119: Techniques d’optimisation

Techniques d’optimisation

119

1.3.2 Restauration

Itérations • La résolution est basée sur une linéarisation du système en x1.

→ déplacement p2 • Le point x2 = x1 + p2 ne vérifie pas forcément les contraintes : c(x2) = c2 ≠ 0

Il faut alors réitérer la résolution à partir de x2.

• On cherche un déplacement p3 à partir de x2 tel que : c(x2+p3) = 0 → déplacement p3

• Si l’on n’obtient pas de point admissible après un nombre donné d’itérations, il faut réduire le déplacement p1 pour rendre l’approximation linéaire suffisamment correcte.

• Si l’on obtient un point admissible x2, il faut encore vérifier que : - les contraintes qui étaient inactives en x0 sont respectées en x2 - le point x2 est meilleur que le point initial x0 (car la restauration peut dégrader le critère). Sinon il faut réduire le déplacement p1.

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible

−=−==∇≈∇==

111

0T

0T

1111 c)c(xb

A)c(x)c(xAavecbpA

−=−==∇≈∇==

222

0T

0T

2222 c)c(xb

A)c(x)c(xAavecbpA

Page 120: Techniques d’optimisation

Techniques d’optimisation

120

1.3.2 Restauration

Illustrations

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible

c(x)=0

c(x)=c1 p2

p3

p1 x1

x0

Restauration en plusieurs itérations : p2 , p3

c(x)=0

c(x)=c1

p2

p1 x1

x0

Restauration infructueuse (non linéarité)

Restauration avec dégradation du critère

c(x)=0 lignes de f p2

p1 x1 x0

Page 121: Techniques d’optimisation

Techniques d’optimisation

121

c(x)=0

x0 x1 p1

c(x)=c1

∇c(x0)

p2 pt

1.3.2 Direction d’ordre 2

Effet Maratos La restauration après le déplacement p1 peut dégrader systématiquement le critère. Il faut alors réduire fortement le pas p1 pour progresser. Ceci peut bloquer un algorithme basé sur une recherche linéaire suivant p1 (effet Maratos). Correction d’ordre 2 • On corrige la direction de déplacement pour prendre en compte la non-linéarité des contraintes.

p1 = pas d’ordre 1 (en supposant des contraintes linéaires) p2 = pas d’ordre 2 (correction des non linéarités constatées en x1 = x0 + p1)

• Pas total : pt = p1 + p2 → direction de recherche.

1 Bases théoriques 1.3 Contraintes non linéaires 1.3.2 Déplacement admissible

( ) 11T

11T12

101

T01

121 bAAAp)pc(xb)c(xAavecbpA

−=→

+−=∇==

Page 122: Techniques d’optimisation

Techniques d’optimisation

122

Sommaire 1. Bases théoriques

1.1 Définitions 1.2 Contraintes linéaires 1.3 Contraintes non linéaires 1.4 Conditions d’optimalité 1.4.1 Dualité 1.4.2 Problème sans contraintes 1.4.3 Problème avec contraintes 1.4.4 Problème linéaire 1.4.5 Problème quadratique

2. Optimisation sans contraintes

3. Optimisation avec contraintes

1 Bases théoriques 1.4 Conditions d’optimalité

Page 123: Techniques d’optimisation

Techniques d’optimisation

123

1.4.1 Dualité

Dualité critère − contraintes - Critère augmenté - Lagrangien - Lagrangien augmenté - Fonction duale

Problème dual - Dualité faible - Saut de dualité - Point col - Dualité forte

Programmation linéaire - Problème primal - Problème dual

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

Page 124: Techniques d’optimisation

Techniques d’optimisation

124

1.4.1 Dualité

Problème avec contraintes égalité → m contraintes d’égalité (= contraintes actives) Dualité Difficulté de résolution due aux 2 objectifs antagonistes : • Minimiser le critère f(x) • Satisfaire les contraintes c(x)=0 → Dualité critère-contraintes Méthodes duales Prise en compte des contraintes avec pondération dans la fonction coût • Critère augmenté → pondération = pénalisation des contraintes • Lagrangien → pondération = multiplicateurs de Lagrange • Lagrangien augmenté → pondération = pénalisation + multiplicateurs → Problème sans contraintes plus simple Réglages des pondérations / Equivalence au problème avec contraintes

0c(x)sousf(x)minnRx

=∈

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

Page 125: Techniques d’optimisation

Techniques d’optimisation

125

1.4.1 Critère augmenté

Problème avec contraintes égalité → m contraintes d’égalité (= contraintes actives) Critère augmenté ρ = coefficient de pénalisation > 0 → Pénalise la violation des contraintes → Pondération critère-contraintes Problème pénalisé sans contraintes → Problème équivalent au problème avec contraintes si la pénalisation ρ est assez grande Problème pénalisé avec contraintes → Problème équivalent au problème avec contraintes Renforce le poids des contraintes dans le critère

0c(x)sousf(x)minnRx

=∈

2ρ c(x)ρ

21f(x)(x)f +=

(x)fmin ρRx n∈

0c(x)sous(x)fmin ρRx n

=∈

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

Page 126: Techniques d’optimisation

Techniques d’optimisation

126

1.4.1 Exemple

Critère augmenté ( ) 1xsousxx

21min 1

21

22x,x 21

=−

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

( )21

22 xx

21)x(f −=

1x)x(c 1 −=

-2,0

-1,5

-1,0

-0,5

0,0

0,5

1,0

1,5

2,0

-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5

( ) ( ) ( )21

21

2221 1x

21xx

21x,xf −ρ+−=ρ

-2,0

-1,5

-1,0

-0,5

0,0

0,5

1,0

1,5

2,0

-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5

-2,0

-1,5

-1,0

-0,5

0,0

0,5

1,0

1,5

2,0

-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5

-2,0

-1,5

-1,0

-0,5

0,0

0,5

1,0

1,5

2,0

-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5

-2,0

-1,5

-1,0

-0,5

0,0

0,5

1,0

1,5

2,0

-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5

ρ=1

ρ=2

ρ=10

ρ=100

ρ=0

−ρρ

=ρ⇒ 01

)(*x

( )01*x =⇒

Page 127: Techniques d’optimisation

Techniques d’optimisation

127

1.4.1 Lagrangien

Problème avec contraintes égalité et inégalité → p contraintes d’égalité → q contraintes d’inégalité Multiplicateurs de Lagrange 1 multiplicateur par contrainte • λ∈Rp → multiplicateurs des contraintes d’égalité • µ∈Rq → multiplicateurs des contraintes d’inégalité

Fonction de Lagrange (ou lagrangien) Le lagrangien du problème (PO) est la fonction L de Rn+p+q dans R → multiplicateurs ≈ coefficients de pénalisation des contraintes → interprétation comme des sensibilités aux niveaux des contraintes

(PO)0(x)c0(x)csousf(x)min

I

ERx n

≤=

(x)cμ(x)cλf(x)μ)λ,L(x, IT

ET ++=

Rμ)λ,L(x,Rμ,Rλ,Rx qpn ∈∈∈∈

∑∑==

++=⇔q

1jIjj

p

1jEjj (x)cμ(x)cλf(x)μ)λ,L(x,

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

Page 128: Techniques d’optimisation

Techniques d’optimisation

128

1.4.1 Lagrangien augmenté

Problème pénalisé avec contraintes égalité • Critère augmenté : coefficient de pénalisation ρ > 0 avec • Lagrangien du problème pénalisé avec contraintes Lρ = lagrangien augmenté = lagrangien initial + pénalisation des contraintes • Utilisation du lagrangien augmenté - Démonstration des conditions suffisantes d’optimalité - Algorithme de lagrangien augmenté = suite de minimisations sans contraintes

2ρ c(x)ρ

21f(x)(x)f +=0c(x)sous(x)fmin ρ

Rx n=

2

2T

Tρρ

c(x)ρ21λ)L(x,

c(x)ρ21c(x)λf(x)

c(x)λ(x)fλ)(x,L

+=

++=

+=

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

Page 129: Techniques d’optimisation

Techniques d’optimisation

129

1.4.1 Exemple

Lagrangien augmenté • Fonction de 2 variables → minimum en x* = (1 0) λ* = 1 • Critère augmenté → minimum en • Lagrangien augmenté → minimum en Pour λ = λ* = 1, le minimum sans contrainte du lagrangien augmenté est la solution x* du problème initial.

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

( ) 1xsousxx21min 1

21

22x,x 21

=−

−ρρ

=ρ 01

)(*x( ) ( ) ( )21

21

2221 1x

21xx

21x,xf −ρ+−=ρ

( ) ( ) ( ) ( )211

21

2221 1x

211xxx

21,x,xL −ρ+−λ+−=λρ

−ρ

λ−ρ=λρ 0

1),(*x

( )01011*),(*x =

−ρ−ρ

=λρ

0,0

0,5

1,0

1,5

2,0

2,0 4,0 6,0 8,0 10,0 12,0 14,0 ρ

x1

λ=0

λ=2 λ=1

Page 130: Techniques d’optimisation

Techniques d’optimisation

130

1.4.1 Exemple

Lagrangien augmenté ( ) 1xsousxx

21min 1

21

22x,x 21

=−

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

( )21

22 xx

21)x(f −=

1x)x(c 1 −=

-2,0

-1,5

-1,0

-0,5

0,0

0,5

1,0

1,5

2,0

-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5

( ) ( ) ( ) ( )211

21

2221 1x

211xxx

21,x,xL −ρ+−λ+−=λρ

ρ=0

1* =λ

-2,0

-1,5

-1,0

-0,5

0,0

0,5

1,0

1,5

2,0

-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5

-2,0

-1,5

-1,0

-0,5

0,0

0,5

1,0

1,5

2,0

-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5

ρ=1 , λ=1

ρ=2 , λ=1

ρ=10 , λ=1

ρ=100 , λ=1 -2,0

-1,5

-1,0

-0,5

0,0

0,5

1,0

1,5

2,0

-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5

-2,0

-1,5

-1,0

-0,5

0,0

0,5

1,0

1,5

2,0

-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5

−ρ

λ−ρ=ρ⇒ 0

1)(*x

( )01*x =⇒

Page 131: Techniques d’optimisation

Techniques d’optimisation

131

1.4.1 Exemple

Lagrangien augmenté

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

lignes de niveau pour λ = 1

-2,0

-1,5

-1,0

-0,5

0,0

0,5

1,0

1,5

2,0

-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5

-2,0

-1,5

-1,0

-0,5

0,0

0,5

1,0

1,5

2,0

-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5

lignes de niveau pour λ = 0

ρ=2

ρ=10

lignes de niveau pour λ = 10

-2,0

-1,5

-1,0

-0,5

0,0

0,5

1,0

1,5

2,0

-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5

-2,0

-1,5

-1,0

-0,5

0,0

0,5

1,0

1,5

2,0

-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5

ρ=2

ρ=10

-2,0-1,5-1,0-0,50,00,51,01,52,0

-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5

-2,0

-1,5

-1,0

-0,5

0,0

0,5

1,0

1,5

2,0

-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5

ρ=2

ρ=10

Page 132: Techniques d’optimisation

Techniques d’optimisation

132

1.4.1 Fonction duale Fonction duale La fonction duale du problème (PO) est la fonction w de Rp+q dans R → Minimisation du lagrangien à λ et µ fixés x = variables primales λ et µ = variables duales • Domaine de w : → w bornée Concavité - Convexité

• La fonction duale w est concave • Le domaine Xw est convexe Preuve : on note : γ=(λ,µ)

• L(x,αγ1+(1−α)γ2) = αL(x,γ1) + (1−α)L(x,γ2) car L linéaire en λ et µ ⇒ w(αγ1+(1−α)γ2) ≥ αw(γ1) + (1−α)w(γ2) pour le minimum/x de chaque membre

→ w concave • Si γ1et γ2∈Xw, w(αγ1+(1−α)γ2) ≥ αw(γ1) + (1−α)w(γ2) > −∞ ⇒ αγ1+(1−α)γ2 ∈Xw

→ Xw convexe

μ)λ,L(x,minμ),w(λnRx∈

=

{ }−∞>∈∈= μ),w(λ/Rμ,RλX qpw

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

Page 133: Techniques d’optimisation

Techniques d’optimisation

133

1.4.1 Problème dual Problème dual • Problème primal : • Fonction duale : • Domaine de w : → w bornée • Problème dual : Borne sur la fonction duale • x* solution du problème primal • (λ ,µ)∈Xw, µ ≥ 0 Preuve :

μ)λ,L(x,minμ),w(λnRx∈

=

{ }−∞>∈∈= μ),w(λ/Rμ,RλX qpw

≤=

∈ 0(x)c0(x)csousf(x)min

I

ERx n

0μ,Xμ),λ(sousμ),w(λmax wRμ,Rλ qp

≥∈∈∈

0μet0(x*)cadmissible* x carf(x*)0(x*)cadmissible* x car(x*)cμf(x*)

(x*)cμ(x*)cλf(x*)μ)λ,L(x*,μ)λ,L(x,minμ),w(λ

I

EIT

IT

ET

Rx n

≥≤⇒≤=⇒+=

++=≤=∈

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

≥∈→=∇⇔

∈∈∈ 0μ,Xμ),λ(μ),x(λ0μ),λL(x,sousμ),λL(x,max

w

xRμ,Rλ,Rx qpn

→ dual de Wolfe

0μ),λL(x,/μ),x(λ x =∇→

f(x*)μ),w(λ ≤⇒

Page 134: Techniques d’optimisation

Techniques d’optimisation

134

1.4.1 Exemple Fonction duale

• Problème primal : • Lagrangien : • Solution : • Fonction duale :

• Problème dual : • Solution :

λ)L(x,min)w(λx

=

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

( ) 1xsousxx21min 1

21

22x,x 21

=−

( ) ( )1xxx21),x(L 1

21

22 −λ+−=λ

=λ=⇒

==λ+−⇒=

∂∂

⇒ 0xx

0x0x0

xL

2

1

2

1

=λ=λ−λ=λ⇒ 0x

xavec21)(w

2

12

10w=λ⇒=

λ∂∂

1*,01

*x =λ

=

==λ

01

*x,1*

)(wmax λλ

Page 135: Techniques d’optimisation

Techniques d’optimisation

135

1.4.1 Dualité faible Théorème de la dualité faible • x* solution du problème primal • λ*,µ* solution du problème dual Preuve : Dualité et admissibilité • Si le problème primal est non borné, le problème dual est non admissible. • Si le problème dual est non borné, le problème primal est non admissible. Preuve : en utilisant w*(λ*,µ*) ≤ f(x*) Existence de solutions x*, λ*, µ* ⇒ fonctions bornées Saut de dualité Le saut de dualité est la différence entre la solution du problème primal et du problème dual. Dans le cas général δ n’est pas nul, il n’est pas équivalent de minimiser f ou maximiser w.

f(x*)μ*),*w(λf(x*)μ), w(λ0,μλ, ≤⇒≤≥∀∀

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

0μ*),*w(λf(x*) ≥−=δ

f(x*)μ*),*w(λ ≤⇒

Page 136: Techniques d’optimisation

Techniques d’optimisation

136

1.4.1 Dualité forte Point col (x*,λ*,µ*≥0) est un point col (ou point selle) du lagrangien si → maximisation de L par rapport à (λ,µ) → minimisation de L par rapport à (x) Caractérisation (x*,λ*,µ*≥0) est un point col du lagrangien si et seulement si Théorème de la dualité forte Le lagrangien admet un point col (x*,λ*,µ*) si et seulement si le saut de dualité est nul. (x*,λ*,µ*≥0) un point col ⇔ w(λ*,µ*) = f(x*) Il est alors équivalent de minimiser f(x) ou maximiser w(λ,µ).

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

≤≤≥∀ μ*)λ*,L(x,μ*)λ*,L(x*,

μ*)λ*,L(x*,μ),λL(x*,),0μ,λ(x,

=≤=

=

0(x*)c*μ0(x*)c0(x*)c

μ*)λ*,L(x,minμ*)λ*,L(x*,

I

I

E

x

Page 137: Techniques d’optimisation

Techniques d’optimisation

137

1.4.1 Dualité forte Point col (ou point selle) L maximal par rapport à λ L minimal par rapport à (x)

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

x

λ

L(x,λ)

(x*,λ*)

Page 138: Techniques d’optimisation

Techniques d’optimisation

138

1.4.1 Dualité forte Optimum global Si (x*,λ*,µ*≥0) est un point col du lagrangien : alors x* est un optimum global du problème primal : En pratique • Si le lagrangien admet un point col, on peut obtenir l’optimum global x*. • Pour un problème non convexe, il n’existe en général pas de point col.

Exemple → solution : x* = 0.5 Point col :

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

≤=

∈ 0(x)c0(x)csousf(x)min

I

ERx n

≤≤≤−−= 1x0

01x2sousx)x(fmin 2

x

≥µ≤≤−µ+−=µ 0

1x0avec)1x2(x),x(L 2

=≤=

0(x*)c*μ0(x*)c,0(x*)c

μ*)λ*,L(x,minx*

I

IE

x

≥=−

≤−≤≤

µ

0μ0)1x2μ(

01x21x0

),x(Lminx

0x =→5.00 <=µ→

5.0si1x5.0si0x

<µ=>µ=

1x =→→

Il n’existe pas de point col.

Page 139: Techniques d’optimisation

Techniques d’optimisation

139

1.4.1 Programmation linéaire Problème primal → problème linéaire sous forme standard • Fonction de Lagrange : • Fonction duale : • Domaine de définition : • La fonction duale n’est définie que si L(x, λ, µ) est borné inférieurement.

L(x, λ, µ) est linéaire en x → Le coefficient de x doit être nul.

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

≥=0x

bAxsousxcmin T

x

( ) bxμλAcx)(μ)Axb(λxcμ)λ,L(x,

TTT

TTT

λ+−−=−+−+=

≤−=−⇔ 0x

0Axbsousxcmin T

x → multiplicateur µ → multiplicateur λ

μ)λ,L(x,minμ),w(λx

=

{ }−∞>= μ),w(λ/)μλ,(Xw

→ linéaire en x

0μλAcXμ)λ,( Tw =−−⇒∈

bμ)λ,L(x, Tλ=⇒ bλμ),w(λ T=⇒

Page 140: Techniques d’optimisation

Techniques d’optimisation

140

1.4.1 Programmation linéaire Problème dual → ne dépend pas de µ → nouveau problème linéaire en λ • Le problème dual est également un problème linéaire dont la variable est λ.

On met le problème dual sous forme standard en notant la variable y au lieu de λ On peut ensuite définir les fonctions associées à ce problème linéaire. • Fonction de Lagrange notée Ld(y, ν) : • Fonction duale notée wd(ν) :

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

≥∈

0μXμ),λ(sousμ),w(λmax w

μλ,

≥=−−⇔ 0μ

0μλAcsousbλmaxT

T

μλ,

0λAcsousλbmax TT

λ≥−⇔

0cyAsousybmin TT

y≤−− → multiplicateur ν

cy)bA()cyA(yb)(y,L

TT

TTTd

ν−−ν=−ν+−=ν

0bAsic)(y,Lmin)(w Tdyd =−νν−=ν=ν

→ bornée si 0bA =−ν

Page 141: Techniques d’optimisation

Techniques d’optimisation

141

1.4.1 Programmation linéaire Problème dual du problème dual Le problème dual admet lui-même pour dual : • Le problème dual du problème dual est le problème primal.

• Pour un problème linéaire, il est équivalent de résoudre le problème primal ou problème dual.

Les solutions du problème primal et du problème dual ont le même coût → dualité forte Solutions possibles

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

≥ν∈ν

νν 0

Xsous)(wmax dwd

≥ν=νν−⇔

ν 0bAsouscmax T → identique au problème primal

≥=⇔ 0x

bAxsousxcmin T

x

Dual

Optimum fini Optimum infini Sans solution

Optimum fini dualité forte impossible impossible

Primal Optimum infini impossible impossible dualité faible

Sans solution impossible dualité faible contraintes incompatibles

Page 142: Techniques d’optimisation

Techniques d’optimisation

142

1.4.1 Programmation linéaire Correspondances primal − dual • Problème primal (P) sous forme standard : • Problème dual (D) du problème (P) : • Le nombre de variables de (P) est égal au nombre de contraintes de (D). • Le nombre de contraintes de (P) est égal au nombre de variables de (D). • La matrice des contraintes de (D) est la transposée de la matrice des contraintes de (P). • Une variable xj ≥ 0 de coût cj donne une contrainte ≤ de niveau cj :

• Une contrainte = de niveau bi donne une variable yj ∈R de coût bi : → généralisation à un problème linéaire quelconque (signe des variables, sens des contraintes)

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

≥=0x

bAxsousxcmin)P( T

x

cyAsousybmax)D( TT

y≤

∑=

≤→

m

1ijiij

j

jj cya0xxc

∈→=∑=

Ryybbxa

i

iin

1jijij

Page 143: Techniques d’optimisation

Techniques d’optimisation

143

1.4.1 Programmation linéaire Correspondance primal-dual • Problème primal (P)

• Problème dual (D)

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

∈≤≥

∈≥++∈≤++∈=++

++

∈∈∈

3

3

2

1

3n3

2n2

1n1

n3

2

1

m33332313

m22322212

m11312111

3T32

T21

T1

RxRxRx

Rx0x0x

Rb,bxCxBxARb,bxCxBxARb,bxCxBxA

sousxcxcxcmin

→ m1 égalités → m2 inégalités inférieur → m3 inégalités supérieur

→ n1 variables positives → n2 variables négatives → n3 variables libres

≥≤∈

∈=++∈≥++∈≤++

++

∈∈∈

0y0yRy

Rc,cyCyCyCRc,cyByByBRc,cyAyAyA

sousybybybmax

3

2

m1

n333

T32

T21

T1

n223

T32

T21

T1

n113

T32

T21

T1

3T32

T21

T1

RyRyRy 1

3

2

1

3m3

2m2

1m1

→ n1 inégalités inférieur → n2 inégalités supérieur → n3 égalités

→ m1 variables libres → m2 variables négatives → m3 variables positives

Page 144: Techniques d’optimisation

Techniques d’optimisation

144

1.4.1 Programmation linéaire Correspondance primal-dual Preuve • Lagrangien du problème primal (P)

• On regroupe les termes en x1,x2,x3 : • La fonction duale est définie par : → bornée si les coefficients

de x1,x2,x3 sont nuls

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

( )( )( )( )

2T21

T1

3323133T3

2322212T2

3121111T1

3T32

T21

T121321321

xxxCxBxAbbxCxBxAxCxBxAb

xcxcxc,,,,,x,x,xL

µµλλλ

µµλλλ

+−−−−+

−+++−−−+

++=→ m1 multiplicateurs λ1 → m2 multiplicateurs λ2 ≥ 0 → m3 multiplicateurs λ3 ≥ 0 → n1 multiplicateurs µ1 ≥ 0 → n2 multiplicateurs µ2 ≥ 0

( )( )( )( ) 3

T3

T32

T21

T13

2T

23T32

T21

T12

1T

13T32

T21

T11

3T32

T21

T121321321

xCCCcxBBBcxAAAc

bbb,,,,,x,x,xL

λλλµλλλµλλλ

λλλµµλλλ

−+−++−+−+−−+−+

+−=

μ)λ,L(x,minμ),w(λx

=

→ linéaire en x

Page 145: Techniques d’optimisation

Techniques d’optimisation

145

1.4.1 Programmation linéaire Correspondance primal-dual •

• L bornée • En posant : • Fonction duale : • Problème dual :

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

( )( )( )( ) 3

T3

T32

T21

T13

2T

23T32

T21

T12

1T

13T32

T21

T11

3T32

T21

T121321321

xCCCcxBBBcxAAAc

bbb,,,,,x,x,xL

λλλµλλλµλλλ

λλλµµλλλ

−+−++−+−+−−+−+

+−=

=−+−=+−+−=−−+−

⇒0CCCc0BBBc0AAAc

3T32

T21

T13

23T32

T21

T12

13T32

T21

T11

λλλµλλλµλλλ

≥≥

0,0,avec

32

21λλµµ

=++≥−=++≤+=++

⇒33

T32

T21

T1

2223T32

T21

T1

1113T32

T21

T1

cyCyCyCccyByByBccyAyAyA

µµ

≥=≤−=

=

0y0y

y

33

22

11

λλλ car µ1 ≥ 0

car µ2 ≥ 0

( ) ( ) ( ) 3T32

T21

T132121321321 ybybyby,y,yw,,,,Ly,y,yw ++=⇒= µµλλλ

( ) 3T32

T21

T1321y,y,y

ybybyby,y,ywmax321

++=

=++≥++≤++

33T32

T21

T1

23T32

T21

T1

13T32

T21

T1

cyCyCyCcyByByBcyAyAyA

sous

Page 146: Techniques d’optimisation

Techniques d’optimisation

146

1.4.1 Exemple Correspondance primal-dual • Problème primal (P)

• Problème dual (D)

• Problème dual du dual : on retrouve le problème primal (P)

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.1 Dualité

∈≤≥≤≥+−=+−

++

Rx0,x0,x4x63xx2x53xx

sous3x2xxmin)P(

321

3

321

21

321x,x,x 321

≤≥∈=+≥−≤+−

++

0y0,y,Ry3y3y2y3y

12yy

sous4y6yy5max)D(

321

32

21

21

321y,y,y 321

≤≥∈−=−−−≤+−−≥−

−−−⇔

0y0,y,Ry3y3y2y3y12yy

sous4y6yy5min

321

32

21

21

321y,y,y 321

Page 147: Techniques d’optimisation

Techniques d’optimisation

147

1.4.2 Problème sans contraintes

Conditions nécessaires d’optimalité locale

Conditions suffisantes d’optimalité locale Méthode pratique

Exemples

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes

Page 148: Techniques d’optimisation

Techniques d’optimisation

148

f(x)minnRx∈

( )( ) 0f(x*)cardof(x*)dd

21f(x*)

dof(x*)dd21df(x*)f(x*)d)*f(x

22T

22TT

=∇+∇+=

+∇+∇+=+

( )dodf(x*)f(x*)d)*f(x T +∇+=+

≥∇=∇⇒ 0f(x*)

0f(x*)2 → ordre 2 : hessien semi-défini positif

→ ordre 1 : point critique ou stationnaire

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes

1.4.2 Conditions nécessaires

Problème sans contraintes Conditions nécessaires x* minimum local Preuve : avec le théorème de Taylor • Ordre 1 : Si ∇f(x*)≠0, on peut trouver d petit tel que ∇f(x*)Td < 0 ⇒ f(x*+d) < f(x*) • Ordre 2 : Si ∇2f(x*) non semi-définie positive, on peut trouver d petit tel que dT∇2f(x*) d < 0 ⇒ f(x*+d) < f(x*)

Page 149: Techniques d’optimisation

Techniques d’optimisation

149

f(x)minnRx∈

>∇=∇

0f(x*)0f(x*)

2 → ordre 2 : hessien défini positif → ordre 1 : point critique ou stationnaire

( )( ) 0f(x*)cardof(x*)dd

21f(x*)

dof(x*)dd21df(x*)f(x*)d)*f(x

22T

22TT

=∇+∇+=

+∇+∇+=+

0f(x*)ddf(x*)d)*f(x 2T <∇⇒<+

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes

1.4.2 Conditions suffisantes

Problème sans contraintes Conditions suffisantes ⇒ x* minimum local Preuve : par l’absurde Si x* n’est pas un minimum local, on peut trouver d petit tel que f(x*+d) < f(x*) Théorème de Taylor à l’ordre 2 : → contredit l’hypothèse ∇2f(x*) définie positive

Page 150: Techniques d’optimisation

Techniques d’optimisation

150

1.4.2 Méthode pratique

Problème sans contraintes • Condition nécessaire du 1er ordre : → point critique ou stationnaire • Condition nécessaire du 2eme ordre : → plus difficile à vérifier

suffisante Méthode pratique • Recherche des points stationnaires en résolvant : ∇f(x*) = 0 Un point stationnaire peut être un minimum local, un maximum local ou un point selle. • Vérification de la condition d’ordre 2 : calcul des dérivées secondes

valeurs propres du hessien ≥ 0 → garantit l’obtention d’un minimum local x* Minimum global x* minimum local • f convexe ⇒ x* minimum global • f strictement convexe ⇒ x* unique minimum global • f quelconque (cas général) ⇒ On ne peut pas vérifier que x* est un minimum global.

f(x)minnRx∈

0f(x*) =∇0f(x*)2 ≥∇0f(x*)2 >∇

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes

Page 151: Techniques d’optimisation

Techniques d’optimisation

151

1.4.2 Exemples

Exemple 1 Fonction de Rosenbrock • Gradient : • Hessien :

• Point stationnaire : • Valeurs propres du hessien : • Condition d’ordre 2 : ∇2f(x*) est défini positif

• x* vérifie les conditions suffisantes de minimum local (strict)

x* est un minimum local de f

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes

( ) ( )21

221221 x1xx100)x,x(f −+−=

−−+−

=∇ 212

12131

21 x200x2002x2xx400x400

)x,x(f

−−+−

=∇200x400

x4002x400x1200)x,x(f

1

1221

212

==

=−=−+−⇒=∇ 2

12

1212

12131

21 xx1x

0x200x20002x2xx400x4000)x,x(f

=⇒

11

*x

−=∇

200400400802

*)x(f2

=σ=σ→ 39936.0

60.10012

1

-1,0

0,0

1,0

2,0

3,0

4,0

5,0

-2,5 -2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5

Page 152: Techniques d’optimisation

Techniques d’optimisation

152

1.4.2 Exemples

Exemple 2 Fonction : • Gradient : • Hessien :

• Point stationnaire :

• Valeurs propres du hessien :

∇2f(x*) est semi-défini positif

• x* vérifie les conditions nécessaires de minimum local x* ne vérifie pas les conditions suffisantes de minimum local x* est en fait un maximum local de f :

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes

42

4121 xx)x,x(f −−=

−−

=∇ 32

31

21 x4x4

)x,x(f

−−

=∇ 22

21

212

x1200x12

)x,x(f

==⇒=∇ 0x

0x0)x,x(f2

121

=⇒

00

*x

=∇

0000

*)x(f2

=σ=σ→ 0

02

1

)0,0(f)x,x(f),x,x(0xx)x,x(f

2121

42

4121

≤∀⇒≤−−=

Page 153: Techniques d’optimisation

Techniques d’optimisation

153

1.4.2 Exemples

Exemple 3 Fonction : • Gradient : • Hessien :

• Point stationnaire :

• Valeurs propres du hessien : ∇2f(x*) est semi-défini positif

• x* vérifie les conditions nécessaires de minimum local

x* ne vérifie pas les conditions suffisantes de minimum local x* n’est ni un minimum ni un maximum local de f :

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.2 Problème sans contraintes

32

2121 xx)x,x(f −=

=∇ 22

121 x3

x2)x,x(f

=∇2

212

x6002

)x,x(f

==⇒=∇ 0x

0x0)x,x(f2

121

=⇒

00

*x

=∇

0002

*)x(f2

=σ=σ→ 0

22

1

<>

><−=

0xsi0

0xsi0x)x,0(f

2

2322

-1,0

-0,5

0,0

0,5

1,0

-1,0 -0,5 0,0 0,5 1,0

Page 154: Techniques d’optimisation

Techniques d’optimisation

154

1.4.3 Problème avec contraintes

Conditions nécessaires d’optimalité locale - Multiplicateurs de Lagrange - Conditions KKT

Conditions suffisantes d’optimalité locale

Interprétation géométrique

Méthode pratique

Exemples

Sensibilité - Sensibilité aux niveaux de contrainte - Sensibilité aux paramètres de modèle

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Page 155: Techniques d’optimisation

Techniques d’optimisation

155

1.4.3 Conditions nécessaires

Problème avec contraintes → p contraintes d’égalité → q contraintes d’inégalité Conditions nécessaires x* minimum local ⇒ ∇f(x*)Td ≥ 0 pour toute direction d admissible à la limite en x* Méthode directe Nécessite de connaître l’ensemble des directions admissibles en x* • Cas de contraintes linéaires

→ Définition des directions admissibles à partir des directions de base (§1.2.2) • Cas de contraintes non linéaires

→ Définition des directions admissibles à la limite → Pas de caractérisation des directions admissibles dans le cas général sauf hypothèse de qualification des contraintes : cône des directions (§1.3.1) Méthode indirecte A partir des multiplicateurs de Lagrange → Conditions d’optimalité dans le cas général

≤=

∈ 0(x)c0(x)csousf(x)min

I

ERx n

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Page 156: Techniques d’optimisation

Techniques d’optimisation

156

1.4.3 Conditions nécessaires

Problème avec contraintes → p contraintes d’égalité → q contraintes d’inégalité Conditions nécessaires Hypothèse : Contraintes linéairement indépendantes en x* x* minimum local ⇒ Il existe un unique λ*∈Rp et un unique µ*∈Rq tels que : • Ordre 1 : • Ordre 2 : Pour toute direction d tangente aux contraintes actives (c(x*)=0) :

→ Conditions nécessaires de Karush-Kuhn-Tucker (conditions KKT) (1939) (1951)

≤=

∈ 0(x)c0(x)csousf(x)min

I

ERx n

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

0c(x*)d/d T =∇∀0d)*μ*,λL(x*,d 2

xxT ≥∇ → conditions nécessaires d’ordre 2

→ conditions nécessaires d’ordre 1 → contraintes égalité cE(x*) = 0

=≥

≤∇=∇=∇

0(x*)c*μ0*μ

0)*μλ*,L(x*,0)*μλ*,L(x*,0)*μλ*,L(x*,

I

μ

λ

x

→ contraintes inégalité cI(x*) ≤ 0

→ conditions complémentaires

Page 157: Techniques d’optimisation

Techniques d’optimisation

157

1.4.3 Conditions nécessaires

Eléments de la démonstration 1) Cas de contraintes linéaires : cE(x) = Ax − b = 0 → ∇cE(x) = AT

• On choisit une base B∈Rm×n :

• On se ramène à un problème sans contrainte (= problème réduit)

• Conditions nécessaires d’optimalité du problème réduit xN* minimum local de g(xN) → Méthode de réduction : fonction réduite g(xN) gradient réduit ∇ g(xN) hessien réduit ∇2g(xN)

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

( )N1

BNB NxbBxbNxBxbAx −=⇔=+⇔= −

=

N

BT

xx

xE

=

−mnmNBAE

( )N1

BNB

RxRxRx

NxbBxsous)x,f(xminbAxsousf(x)minm-n

N

mB

n−=⇔= −

∈∈∈

( )( )NN1

NRx

x,NxbBf)g(xminm-n

N

−= −

≥∇=∇

⇒ 0*)g(x0*)g(x

N2

N

Page 158: Techniques d’optimisation

Techniques d’optimisation

158

1.4.3 Conditions nécessaires

Eléments de la démonstration 1) Cas de contraintes linéaires • Problème réduit :

• Condition nécessaire d’ordre 1 du problème réduit : • On définit : • On obtient la condition nécessaire d’ordre 1 sur le lagrangien

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

0*Nf(x*)0*)g(x TNN =+∇⇒=∇ λ

0*B*)x(favec TB =+∇ λ

0*Af(x*) T =+∇⇒ λ

0*)g(xN =∇

0)()( =+∇⇔∇−= − λλ TBB

T BxfxfB)x(fN)g(x N

TN ∇+=∇⇒ λ

( )( )NN1

N x,NxbBf)g(x −= −

( )( )NN1

NRx

x,NxbBf)g(xminm-n

N

−= −

0*(x*)cf(x*))*L(x*, Ex =∇+∇=∇ λλ

∇∇

=∇)x(f)x(f

f(x)avecN

B

( ) )x(f)x(fNB)g(x NBT1

N ∇+∇−=∇⇒ −

A(x*)ccar TE =∇

Page 159: Techniques d’optimisation

Techniques d’optimisation

159

1.4.3 Conditions nécessaires

Eléments de la démonstration 1) Cas de contraintes linéaires • Condition nécessaire d’ordre 2 du problème réduit : • Pour d∈R vérifiant

• On obtient la condition nécessaire d’ordre 2 sur le lagrangien

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

0*)g(xN2 ≥∇

( )( )NN1

N x,NxbBf)g(x −= −

∇∇∇∇

=∇)x(f)x(f)x(f)x(f

f(x)avec 2NN

2NB

2BN

2BB2

( ) ( ) ( ) ( ) )x(fNB)x(f)x(fNBNB)x(fNB)g(x 2NN

12NB

2BN

T112BB

T1N

2 ∇+∇−∇−∇=∇⇒ −−−−

mnNN

1

N

B Rd,dI

NBdd

d0Ad −−

−=

=⇒=

0*)dg(xdd*)*,x(Ld,0Ad/Rd NN2T

N2xx

T ≥∇=∇=∈∀ λ

( ) ( ) ( )( ) N

2NN

TNN

12NB

TN

N2BN

T1TNN

12BB

T1TNNN

2TN

d)x(fddNB)x(fdd)x(fNBddNB)x(fNBd)dg(xd

∇+∇−∇−∇=∇

−−−

N2NN

TNB

2NB

TNN

2BN

TBB

2BB

TBNN

2TN d)x(fdd)x(fdd)x(fdd)x(fd)dg(xd ∇+∇−∇−∇=∇⇒

d),x(Ldd)x(fd)dg(xd 2xx

T2TNN

2TN λ∇=∇=∇⇒

f(x*))*L(x*,*Af(x*))*L(x*,car

22xx

Tx

∇=∇⇒+∇=∇

λλλ

Page 160: Techniques d’optimisation

Techniques d’optimisation

160

1.4.3 Conditions nécessaires

Eléments de la démonstration 2) Cas de contraintes non linéaires : cE(x)=0 cI(x)≤0 On suppose que x* est un minimum local de • On définit pour les contraintes inégalité : • On considère une suite de problèmes pénalisés sans contrainte → minimum local xk k∈N → pénalisation de la violation des contraintes α>0 → pénalisation de la distance au minimum • xk minimum local de fk ⇒ fk(xk) ≤ fk(x*) = f(x*)

⇒ La suite fk(xk) est bornée supérieurement par f(x*)

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

≤=

∈ 0)x(c0)x(csous)x(fmin

I

ERx n

22

I2

EkRx

x*x21)x(ck

21)x(ck

21)x(f)x(fmin

n−+++= +

∈α

( ))x(c,0max)x(c II =+

Page 161: Techniques d’optimisation

Techniques d’optimisation

161

1.4.3 Conditions nécessaires

Eléments de la démonstration 2) Cas de contraintes non linéaires : cE(x)=0 cI(x)≤0 • La suite fk(xk) est bornée supérieurement par f(x*) • Multiplicateurs des contraintes inégalité :

Contrainte inégalité inactive :

• On regroupe les contraintes en un seul vecteur pour simplifier l’écriture

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

*)x(fx*x21)x(ck

21)x(ck

21)x(f)x(f 2

k

2

kI2

kEkkk ≤−+++= + α

⇒ +

bornéx*x

borné)x(ck

borné)x(ck

2k

2

kI

2kE

α

=

=

=

∞→

+

∞→

∞→

*xxlim*)x(kclim

*)x(kclim

kk

defkIk

defkEk

µ

λ → définit les multiplicateurs λ → définit les multiplicateurs µ → la suite (xk) converge vers x*

= + )x(c

)x(c)x(cI

E 22k x*x

21)x(ck

21)x(f)x(f −++=→ α

*)xx()x(c)x(ck)x(f)x(fk −+∇+∇=∇ α

( ) 0*0)x(c,0max)x(c II ≥⇒≥=+ µ0*kk,0)x(c0)x(c 0kII =⇒>=⇒= µ

Page 162: Techniques d’optimisation

Techniques d’optimisation

162

1.4.3 Conditions nécessaires

Eléments de la démonstration 2) Cas de contraintes non linéaires : cE(x)=0 cI(x)≤0 • Condition nécessaire d’optimalité pour le problème sans contrainte

xk minimum local de fk(x)

• En prémultipliant par • Les contraintes sont supposées linéairement indépendantes → inversible

• En prémultipliant par

• En distinguant les contraintes égalité et inégalité

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

0*)xx()x(c)x(ck)x(f0)x(f kkkkkk =−+∇+∇⇒=∇⇒ α

Tk )x(c∇

0*)xx()x(c)x(c)x(c)x(ck)x(f)x(c kT

kkkT

kkT

k =−∇+∇∇+∇∇⇒ α

)x(c)x(c kT

k ∇∇

( ) 1k

Tk )x(c)x(c −

∇∇

( ) ( )*)xx()x(f)x(c)x(c)x(c)x(ck kkT

k1

kT

kk −+∇∇∇∇−=⇒−

α

( ) ( )( ) ( )

−+∇∇∇∇−=

−+∇∇∇∇−=⇒

+−+++

*)xx()x(f)x(c)x(c)x(c)x(ck

*)xx()x(f)x(c)x(c)x(c)x(ck

kkT

kI1

kIT

kIkI

kkT

kE1

kET

kEkE

α

α

Page 163: Techniques d’optimisation

Techniques d’optimisation

163

1.4.3 Conditions nécessaires

Eléments de la démonstration 2) Cas de contraintes non linéaires : cE(x)=0 cI(x)≤0 • On obtient : • Lorsque k tend vers l’infini

• En reportant dans l’expression du gradient de fk en xk

• On obtient la condition nécessaire d’ordre 1 :

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

0*)*,*,x(Lx =∇ µλ

( ) ( )( ) ( )

−+∇∇∇∇−=−+∇∇∇∇−=

+−+++

*)xx()x(f)x(c)x(c)x(c)x(ck*)xx()x(f)x(c)x(c)x(c)x(ck

kkT

kI1

kIT

kIkI

kkT

kE1

kET

kEkE

αα

( )( )

∇∇∇∇−==

∇∇∇∇−==+−+++

∞→

∞→

*)x(f*)x(c*)x(c*)x(c*)x(kclim

*)x(f*)x(c*)x(c*)x(c*)x(kclimT

I1

IT

IdefkIk

TE

1E

TEdefkEk

µ

λ

0*)xx()x(c)x(ck)x(c)x(ck)x(f)x(f kkIkIkEkEkkk =−+∇+∇+∇=∇ ++ α

0**)x(c**)x(c*)x(f IEk =+∇∇+∇ → +∞→ µλ

0**)x(c**)x(c*)x(f IE =+∇∇+∇⇒ µλ car µ*=0 pour les inégalités inactives

Page 164: Techniques d’optimisation

Techniques d’optimisation

164

1.4.3 Exemple

Conditions nécessaires Lagrangien : • Conditions nécessaires d’ordre 1 → vérifiées en • Conditions nécessaires d’ordre 2 d direction tangente aux contraintes actives : vérifie les conditions nécessaires d’ordre 1 et 2.

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

0d001

dd

0c(x*)d 1

T

2

1T =⇒=

⇒=∇

( ) 1xsousxx21min 1

21

22x,x 21

≤−

-2,0

-1,5

-1,0

-0,5

0,0

0,5

1,0

1,5

2,0

-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5

( ) ( ) ( )1xxx21,x,xL 1

21

2221 −µ+−=µ

( )

=−≥≤=

=+−

01xμ0μ1x0x

0μx

1

1

2

11*,

01

*x =µ

=

0ddddd

1001

dd

d)*μL(x*,d 22

22

21

2

1T

2

12xx

T ≥=+−=

=∇

1*,01

*x =µ

=

Page 165: Techniques d’optimisation

Techniques d’optimisation

165

1.4.3 Conditions suffisantes

Problème avec contraintes → p contraintes d’égalité → q contraintes d’inégalité Conditions suffisantes S’il existe x*∈Rn , λ*∈Rp , µ*∈Rq tels que : • Ordre 1 : • Ordre 2 : Pour toute direction d tangente aux contraintes actives (c(x*)=0) :

⇒ x* est un minimum local strict Remarque : Pas d’hypothèse de qualification des contraintes dans les conditions suffisantes

≤=

∈ 0(x)c0(x)csousf(x)min

I

ERx n

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

0c(x*)d/d T =∇∀0d)*μ*,λL(x*,d 2

xxT >∇ → conditions d’ordre 2

→ conditions d’ordre 1 → contraintes égalité cE(x*) = 0

=>=

≥≤∇=∇=∇

0(x*)csi0*μ0(x*)c*μ

0*μ0)*μλ*,L(x*,0)*μλ*,L(x*,0)*μλ*,L(x*,

Ikk

I

μ

λ

x

→ contraintes inégalité cI(x*) ≤ 0

→ conditions complémentaires → contraintes actives : multiplicateur > 0

Page 166: Techniques d’optimisation

Techniques d’optimisation

166

1.4.3 Conditions suffisantes

Eléments de la démonstration Cas de contraintes égalité : c(x)=0 On suppose que (x*,λ*) vérifie les conditions suffisantes. • On considère le problème sans contrainte Lρ(x,λ) = lagrangien augmenté ρ>0 = pénalisation de la violation des contraintes •

⇒ x* est un minimum local du lagrangien augmenté Lρ(x,λ*) pour λ=λ*.

• Au voisinage de x* : ⇒ x* est un minimum local de f

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

2T2ρ

Rxc(x)ρ

21c(x)*λf(x)c(x)ρ

21λ*)L(x,λ*)(x,Lmin

n++=+=

0λ*)L(x*,*c(x*)λf(x*)

c(x*)c(x*)ρ*c(x*)λf(x*)λ*)(x*,L

x

ρx

=∇=∇+∇=

∇+∇+∇=∇→ car x* admissible → par hypothèse sur x*,λ*

T2xxρ

2xx c(x*)c(x*)ρλ*)L(x*,λ*)(x*,L ∇∇+∇=∇ → définie positive pour ρ assez grand

0c(x)/x,λ*)f(x,λ*)f(x*,λ*)(x,Lλ*)(x*,L ρρ =∀≤⇒≤

Page 167: Techniques d’optimisation

Techniques d’optimisation

167

1.4.3 Exemple

Conditions suffisantes vérifie les conditions nécessaires • Conditions suffisantes d’ordre 1

Contrainte active → multiplicateur > 0 • Conditions suffisantes d’ordre 2 d direction tangente aux contraintes actives : vérifie les conditions suffisantes d’ordre 1 et 2 → minimum local strict.

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

0d001

dd

0c(x*)d 1

T

2

1T =⇒=

⇒=∇

( ) 1xsousxx21min 1

21

22x,x 21

≤−

-2,0

-1,5

-1,0

-0,5

0,0

0,5

1,0

1,5

2,0

-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5

01* >=µ

0ddddd

1001

dd

d)*μL(x*,d 22

22

21

2

1T

2

12xx

T >=+−=

=∇

1*,01

*x =µ

=

01*x =−

0d0d0

dcar 22

≠⇒≠

=

1*,01

*x =µ

=

Page 168: Techniques d’optimisation

Techniques d’optimisation

168

1.4.3 Exemple

Remarque sur la condition d’ordre 2 est une direction admissible en mais la condition d’ordre 2 ne porte que sur les directions tangentes aux contraintes actives.

Importance de la condition de complémentarité vérifie les conditions suffisantes d’ordre 1 et 2 sauf la condition de complémentarité Si la contrainte active est active, le multiplicateur doit être strictement positif. active et n’est pas strictement positif → x* n’est pas un minimum local (f décroit suivant x1 <0)

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

( ) 1xsousxx21min 1

21

22x,x 21

≤−

=

01

*x

0*,00

*x =µ

=

−=

01

d

1*,01

*x =µ

=→

( ) 0xsousxx21min 1

21

22x,x 21

≤−

-2,0

-1,5

-1,0

-0,5

0,0

0,5

1,0

1,5

2,0

-1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5

01*x =− 0* =µ

Page 169: Techniques d’optimisation

Techniques d’optimisation

169

1.4.3 Interprétation géométrique

Interprétation • Condition complémentaire • Condition d’ordre 1

La direction −∇f(x) est la direction de plus forte descente en x. Les directions ∇c(x) sont orthogonales à l’hyperplan tangent aux contraintes actives en x. Equation de l’hyperplan tangent aux contraintes actives en x : dT∇c(x)=0

→ Les déplacements admissibles (dans l’hyperplan tangent) sont orthogonaux au gradient. → Déplacements suivant les lignes de niveau de f, sans diminution du critère.

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

=

=⇒==

0(x)c

0μq1,...,j0,(x)cμ

Ij

j

Ijj ou→ contrainte active

→ sensibilité nulle

ν∇=∇−⇒∇+∇=∇−⇒

=∇+∇+∇⇒=∇

c(x).f(x)(x).μc(x).λcf(x)

0(x).μc(x).λcf(x)0μ)λ,L(x,IE

IEx

→ contraintes actives c(x)

Page 170: Techniques d’optimisation

Techniques d’optimisation

170

1.4.3 Interprétation géométrique

Fonction de 2 variables – 1 contrainte égalité

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

0)x,(xcsous)x,f(xmin 21E21x,x 21

=

x*

cE = 0

∇cE

−∇f

−∇f ∇cE

−∇f

x1

x2 f décroissante

0*)x(c*)x(f E =∇λ+∇

Sur le schéma : • f(x1, x2) = x1 à minimiser • λ < 0 (λ ≈ −2)

Page 171: Techniques d’optimisation

Techniques d’optimisation

171

1.4.3 Interprétation géométrique

Fonction de 2 variables – 1 contrainte inégalité

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

0)x,(xcsous)x,f(xmin 21I21x,x 21

00*)x(c*)x(f I

≥µ=∇µ+∇

Sur le schéma : • f(x1, x2) = x1 à minimiser • µ > 0 (µ ≈ 2)

x*

cI = 0

∇cI

−∇f

−∇f ∇cI

−∇f

x1

x2 f décroissante

cI < 0

Page 172: Techniques d’optimisation

Techniques d’optimisation

172

1.4.3 Interprétation géométrique

Fonction de 2 variables – 1 contrainte égalité – 1 contrainte inégalité

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

≤=

0)x,(xc0)x,(xcsous)x,f(xmin

21I

21E21x,x 21

00*)x(c*)x(c*)x(f IE

≥µ=∇µ+∇λ+∇

Sur le schéma : • f(x1, x2) = x1 à minimiser • λ < 0 (λ ≈ −1.5) • µ > 0 (µ ≈ 1.5)

−∇f

∇cI

cI = 0

x1

x2 f décroissante

x*

−∇f

cI < 0

∇cE cE = 0

∇cE

Page 173: Techniques d’optimisation

Techniques d’optimisation

173

1.4.3 Interprétation géométrique

Fonction de 2 variables – 2 contraintes inégalité

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

−∇f

∇cI1

cI1 = 0

x1

x2 f décroissante

x*

−∇f

cI1 < 0

∇cI2

cI2 = 0

cI2 < 0

∇cI2

Sur le schéma : • f(x1, x2) = x1 à minimiser • µ1 > 0 (µ1 ≈ 1.5) • µ2 > 0 (µ2 ≈ 1.5)

≤≤

0)x,(xc0)x,(xcsous)x,f(xmin

21I2

21I121x,x 21

00

0*)x(c*)x(c*)x(f

2

1

2I21I1

≥µ≥µ

=∇µ+∇µ+∇

Page 174: Techniques d’optimisation

Techniques d’optimisation

174

1.4.3 Interprétation géométrique

Fonction de 2 variables – 1 contrainte inégalité

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

0)x,(xcsous)x,f(xmin 21I21x,x 21

00*)x(c*)x(f I

≥µ=∇µ+∇

Sur le schéma : • f(x1, x2) quadratique • x0 = minimum sans contrainte • µ > 0 (µ ≈ 2)

−∇f

∇cI

cI = 0

x1

x2

x*

cI < 0 −∇f

x0

Page 175: Techniques d’optimisation

Techniques d’optimisation

175

1.4.3 Interprétation géométrique

Fonction de 2 variables – 1 contrainte égalité – 1 contrainte inégalité

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

x1

x2

−∇f

∇cI

cI = 0

x* cI < 0

x0 ∇cE

cE = 0

≤=

0)x,(xc0)x,(xcsous)x,f(xmin

21I

21E21x,x 21

00*)x(c*)x(c*)x(f IE

≥µ=∇µ+∇λ+∇

Sur le schéma : • f(x1, x2) quadratique • x0 = minimum sans contrainte • λ > 0 (λ ≈ 1.5) • µ > 0 (µ ≈ 1.5)

Page 176: Techniques d’optimisation

Techniques d’optimisation

176

1.4.3 Méthode pratique

Problème avec contraintes → p contraintes d’égalité → q contraintes d’inégalité La résolution analytique ou numérique nécessite d’identifier les contraintes actives. On se ramène à un problème avec contraintes égalité plus simple. → résolution des conditions KKT d’ordre 1 → vérification des conditions réduites d’ordre 2 Identification des contraintes actives • Résolution analytique → problème combinatoire (conditions complémentaires) • Résolution numérique → mise à jour itérative de l’ensemble des contraintes actives Stratégie itérative d’identification • On cherche un déplacement à partir du point courant sans tenir compte des contraintes inégalité • Le déplacement peut rendre actives certaines contraintes inégalité. • On reprend la recherche en ajoutant la première contrainte inégalité activée.

→ résolution d’une succession de problèmes avec contraintes égalité → m contraintes actives

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

≤=

∈ 0(x)c0(x)csousf(x)min

I

ERx n

0c(x)sousf(x)minnRx

=∈

Page 177: Techniques d’optimisation

Techniques d’optimisation

177

1.4.3 Exemple

Problème avec 2 contraintes inégalité • Lagrangien : • Conditions KKT d’ordre 1 Identification des contraintes actives Problème combinatoire : il faut essayer les 4 possibilités

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

( )

≤−=≤−−+=+=

0x1)x(c011xx)x(csousxx)x(fmin

22

22

211

21x,x 21

( )( ) ( )222

221121

2211

x111xxxx)x(c)x(c)x(f),x(L

−µ+−−+µ++=µ+µ+=µ

( )( )

≥µµ=µ=µ

≤−≤−−+

=µ−−µ+=µ+

0,0)x(c0)x(c

0x1011xx

01x210x21

21

22

11

2

22

21

221

11

→ conditions complémentaires : 4 combinaisons possibles

-1

-0,5

0

0,5

1

1,5

2

2,5

-2 -1,5 -1 -0,5 0 0,5 1 1,5 2

==µ==µ

0)x(cou00)x(cou0

22

11

Page 178: Techniques d’optimisation

Techniques d’optimisation

178

1.4.3 Exemple

Problème avec 2 contraintes inégalité • → incompatible équation → c1 contrainte active • → incompatible équations → c2 contrainte active • Combinaison retenue • Solution : Vérification condition d’ordre 2 : cône admissible vide

(2 contraintes actives) → minimum local

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

( )

≤−=≤−−+=+=

0x1)x(c011xx)x(csousxx)x(fmin

22

22

211

21x,x 21

0Si 1 =µ 0x21 11 =µ+

-1

-0,5

0

0,5

1

1,5

2

2,5

-2 -1,5 -1 -0,5 0 0,5 1 1,5 2

==

0)x(c0)x(c

2

1

0)x(c1 =⇒

( ) 01x21 21 =−µ+⇒0Si 2 =µ

≥µ≤−

00x1

1

2

0)x(c2 =⇒

=±=⇒ 1x

1x2

1

=µ−=→≥µ=µ⇒ 1

1x0et5.02

111

=µ=µ=

−=

15.0

1x1x

2

1

2

1

Page 179: Techniques d’optimisation

Techniques d’optimisation

179

1.4.3 Exemple

Changement de sens contrainte 2 • Lagrangien : • Conditions KKT d’ordre 1 Identification des contraintes actives Problème combinatoire : il faut essayer les 4 possibilités

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

( )

≤−=≤−−+=+=

01x)x(c011xx)x(csousxx)x(fmin

22

22

211

21x,x 21

( )( ) ( )1x11xxxx)x(c)x(c)x(f),x(L

222

221121

2211

−µ+−−+µ++=µ+µ+=µ

( )( )

≥µµ=µ=µ

≤−≤−−+

=µ+−µ+=µ+

0,0)x(c0)x(c

01x011xx

01x210x21

21

22

11

2

22

21

221

11

→ conditions complémentaires : 4 combinaisons possibles

==µ==µ

0)x(cou00)x(cou0

22

11

-1

-0,5

0

0,5

1

1,5

2

2,5

-2 -1,5 -1 -0,5 0 0,5 1 1,5 2

Page 180: Techniques d’optimisation

Techniques d’optimisation

180

1.4.3 Exemple

Changement de sens contrainte 2 • → incompatible équation → c1 contrainte active • → incompatible condition • • Vérification condition d’ordre 2 : → minimum local

(1 contrainte active)

-1

-0,5

0

0,5

1

1,5

2

2,5

-2 -1,5 -1 -0,5 0 0,5 1 1,5 2

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

( )

≤−=≤−−+=+=

01x)x(c011xx)x(csousxx)x(fmin

22

22

211

21x,x 21

0Si 1 =µ 0x21 11 =µ+

0)x(c1 =⇒

0Si 2 =µ

02002

),x(L1

12xx >

µ

µ=µ∇

( )( )

=−−+=−µ+

=µ+⇒

011xx01x21

0x21

22

21

21

11

>=µµ−=

µ−=⇒

02/1)2/(11x

)2/(1x

1

12

11

=µ−=

−=⇒

2/12/11x

2/1x

1

2

1

0)x(cSi 2 =

=±=⇒ 1x

1x2

1

−=µ=µ⇒ 1

5.02

1

02 ≥µ

Page 181: Techniques d’optimisation

Techniques d’optimisation

181

1.4.3 Exemple

Passage contrainte 1 en égalité • Lagrangien : • Conditions KKT d’ordre 1 Identification des contraintes actives Problème combinatoire : il faut essayer les 2 possibilités

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

( )

≤−==−−+=+=

0x1)x(c011xx)x(csousxx)x(fmin

22

22

211

21x,x 21

( )( ) ( )222

221121

2211

x111xxxx)x(c)x(c)x(f),x(L

−µ+−−+λ++=µ+λ+=µ

( )( )

≥µ=µ

≤−=−−+

=µ−−λ+=λ+

00)x(c

0x1011xx

01x210x21

2

22

2

22

21

221

11

→ conditions complémentaires : 2 combinaisons possibles

-1

-0,5

0

0,5

1

1,5

2

2,5

-2 -1,5 -1 -0,5 0 0,5 1 1,5 2

0)x(cou0 22 ==µ

Page 182: Techniques d’optimisation

Techniques d’optimisation

182

-1

-0,5

0

0,5

1

1,5

2

2,5

-2 -1,5 -1 -0,5 0 0,5 1 1,5 2

1.4.3 Exemple

Passage contrainte 1 en égalité •

• Vérification condition d’ordre 2 : → maximum local

(1 contrainte active) → solution rejetée

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

( )

≤−==−−+=+=

0x1)x(c011xx)x(csousxx)x(fmin

22

22

211

21x,x 21

0Si 2 =µ

02002

),x(L1

12xx <

λ

λ=µ∇

( )( )

=−−+=−λ+

=λ+⇒

011xx01x21

0x21

22

21

21

11

±=λλ−=

λ−=⇒

2/1)2/(11x

)2/(1x

1

12

11

01 ≠λ→

−=λ+=

=⇒≤−

2/12/11x

2/1x0x1

1

2

1

2

Page 183: Techniques d’optimisation

Techniques d’optimisation

183

1.4.3 Exemple

Passage contrainte 1 en égalité • • Vérification condition d’ordre 2

Cône admissible vide : → 2 contraintes actives → 2 minima locaux : et

-1

-0,5

0

0,5

1

1,5

2

2,5

-2 -1,5 -1 -0,5 0 0,5 1 1,5 2

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

( )

≤−==−−+=+=

0x1)x(c011xx)x(csousxx)x(fmin

22

22

211

21x,x 21

0)x(cSi 2 =

λ

λ=µ∇

1

12xx 20

02),x(L

=±=⇒ 1x

1x2

1

=µ=λ⇒ 1

5.02

1

0)x(f

15.0

1x1x

2

1

2

1

=→

=µ=λ=

−=

2)x(f

15.0

1x1x

2

1

2

1

=→

=µ−=λ

==

=∇

=

=∇1

0c,

0x2

)1x(2x2

c 21

2

11

Page 184: Techniques d’optimisation

Techniques d’optimisation

184

1.4.3 Méthode pratique

Problème avec contraintes actives → m contraintes actives Résolution des conditions KKT On cherche x*∈Rn et λ*∈Rm vérifiant les conditions KKT. • Condition nécessaire du 1er ordre

→ n équations → m équations Les n équations ∇xL(x*,λ*) permettent d’exprimer x*∈Rn en fonction de λ*∈Rm

On remplace ensuite x*(λ*) dans les m équations ∇λL(x*,λ*). → système de m équations à m inconnues λ*∈Rm • Condition nécessaire du 2ème ordre

Il faut vérifier que : → hessien du lagrangien semi-défini positif sur le cône admissible Condition difficile à vérifier sous cette forme → passage au hessien réduit

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

=∇=∇

0λ*)L(x*,0λ*)L(x*,

λ

x

0c(x)sousf(x)minnRx

=∈

=∇∀≥∇

0c(x*)d/d0d)*λL(x*,d

T

2xx

T

Page 185: Techniques d’optimisation

Techniques d’optimisation

185

1.4.3 Méthode pratique

Problème avec contraintes actives → m contraintes actives Problème équivalent • Les conditions nécessaires de minimum de f sous contraintes sont : • On observe qu’il s’agit également des conditions nécessaires du problème : • Il est équivalent de minimiser f(x) ou L(x,λ*), si l’on connaît λ*. • On écrit les conditions nécessaires sur le modèle quadratique-linéaire local,

puis on applique la technique de réduction des contraintes linéaires.

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

0c(x)sousf(x)minnRx

=∈

=∇∀≥∇=∇=∇

0c(x*)d/d,0d)*λL(x*,d0λ*)L(x*,0λ*)L(x*,

T2xx

x

0c(x)sous*)L(x,minnRx

=λ∈

0c(x)sousf(x)minnRx

=∈

0c(x)sous*)L(x,minnRx

=λ⇔∈

Page 186: Techniques d’optimisation

Techniques d’optimisation

186

1.4.3 Méthode pratique

Problème équivalent Modèle quadratique-linéaire

• Modèle quadratique du critère :

En notant :

• Modèle linéaire des contraintes : avec

En notant : avec

• Problème réduit :

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

0c(x)sous*)L(x,minnRx

=λ∈

*)pL(x*,p21*)L(x*,p*)L(x*,p)*(xL 2

xxT

xT λ∇+λ∇+λ=+

(x*)pHp21(x*)gp*)L(x*,p)*(xL L

TL

T ++λ=+→

pc(x*)c(x*)p)*(xc T∇+=+ 0c(x*) =

)pZ*(xLmin0p)*(xcsousp)*(xLmin ZRpRp mn

Zn

+⇔=++−∈∈

λ∇=λ∇=

*)(x*,L(x*)H*)(x*,L(x*)g

2xxL

xL → gradient du lagrangien par rapport à x → hessien du lagrangien par rapport à x

+=∇=

ZY

T

ZpYppc(x*)A AY inversible

AZ = 0 (espace nul)

=⇔

=⇔=∇ librep

0plibrep

0AYp0pc(x*)Z

Y

Z

YT car AY inversible

Page 187: Techniques d’optimisation

Techniques d’optimisation

187

1.4.3 Méthode pratique

Problème réduit → problème sans contrainte à n−m variables pZ Conditions nécessaires de minimum du problème réduit • Condition réduite d’ordre 1 : • Condition réduite d’ordre 2 : • • x* minimum local

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

)pZ*(xLmin ZRp mn

Z

+−∈

≥=⇒ 0*)x(H

0*)x(gZ

Z → gradient réduit du critère nul → hessien réduit du lagrangien semi-défini positif

==

ZHZHgZg

LT

Z

TZ → gradient réduit du critère

→ hessien réduit du lagrangien *)(x,L(x)H(x)fg(x)

2xxL λ∇=

∇=

ZLTT

ZLTT

ZZ (x*)ZpHZp21(x*)gZp*)L(x*,)pZ*(xLavec ++λ=+

ZZ p,(x*)L)pZ*(xL ∀≥+ ZZLTT

ZLTT

Z p,0(x*)ZpHZp21(x*)gZp ∀≥+⇒

≥=⇒

0(x*)ZHZ0(x*)gZ

LT

LT

( ) 0*x*)(cx*)(fZ*)x*,(LZ0(x*)gZ TTx

TL

T =λ∇+∇=λ∇⇔=

0Zx*)(ccar0x*)(fZ TT =∇=∇⇔

0(x*)ZHZ LT ≥

Page 188: Techniques d’optimisation

Techniques d’optimisation

188

1.4.3 Exemple

Problème de la boîte • Réaliser une boîte cylindrique de volume donné V0 et de surface minimale • Dimensions : hauteur = h , rayon = r Formulation du problème • Surface : • Volume : Résolution On note : V0 = 2πv0 • Lagrangien : • Conditions KKT

• Solution :

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

rh2r2S 2 π+π=hrV 2π= 0r,h

V)r,h(Vsous)r,h(Smin =→

( )022 v2hrrh2r2),r,h(L π−πλ+π+π=λ

==

−=λ⇒

=−=λ++=+λ

=π−π=λπ+π+π=λπ+π

03

02

02

2

vrr2h2r

0v2hr0rhhr202r

0v2hr0rh2h2r40rr2

=

=3

1

0

31

0

v2hvr ( ) 3

2

03

132

0 V23v6S π=π=⇒

r

h

Page 189: Techniques d’optimisation

Techniques d’optimisation

189

1.4.3 Exemple

Vérification des conditions réduites Il faut choisir une base de réduction, puis vérifier les conditions réduites de minimum local

• Gradient du critère : • Hessien du lagrangien : Choix d’une base de réduction • Contrainte :

• Choix de la base avec la variable h : • Base de l’espace nul :

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

λ+λ+λ+

π=λ∇=

λ++λ+

π=λ∇=⇒h2r1r10

2),r,h(L)r,h(H,rh2h2r4

rr2),r,h(L)r,h(g 2

r,hL

2

r,hL

( )022 v2hrrh2r2),r,h(L π−πλ+π+π=λ

( )rh2rc0v2hr)r,h(c 2T0

2 ππ=∇⇒=π−π=

( )

=ππ=∇=

rh2T NBrh2rcA

−=

ππ−=

−=

1r/h2

1r/rh2

INB

Z21

≥λ∇==∇=

0*)Z(x,LZ*)x(H0(x*)fZ*)x(g

2xx

TZ

TZ → gradient réduit du critère nul

→ hessien réduit du lagrangien semi-défini positif

+

π=∇=hr2

r2)r,h(f)r,h(g r,h

Page 190: Techniques d’optimisation

Techniques d’optimisation

190

1.4.3 Exemple

Vérification des conditions réduites • Gradient réduit du critère : On vérifie que le gradient réduit est nul : • Hessien réduit du lagrangien :

On vérifie que le hessien réduit est semi-défini positif

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

λ+λ+λ+

−π==

1r/h2

r2r1r10

1r/h2

2Z)r,h(HZ)r,h(HT

TZ

( )hr22hr2

r1

r/h22)r,h(gZ)r,h(g

TT

Z −π=

+

−π==

λ−−π=⇒ h3

rh422)r,h(HZ

0)r,h(gr2h Z =⇒=

012)r34(rh22)r,h(Hr2h

2rZ >π=

λ+−π=⇒

=−=λ

Page 191: Techniques d’optimisation

Techniques d’optimisation

191

1.4.3 Exemple

Résolution par élimination • Contrainte :

• Elimination de la variable h :

• Gradient :

• Hessien : • Minimum de S(r) : Lien avec les conditions réduites • Gradient réduit

• Hessien réduit → pas de relation directe entre (contrainte non linéaire)

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

20

02

rv2

h0v2hr)r,h(c =⇒=π−π=

rv4

r2)r(Srh2r2)r,h(S 022 π+π=⇒π+π=

−π=π

−π= 30

20

rv

1r4rv4

r4)r(drdS

+π=π

+π= 30

30

2

2

rv

214rv8

4)r(dr

Sd

>π=

=⇒

=

012)r(dr

Sdvr

0)r(dr

Sd

0)r(drdS

2

20

3

2

2

( ) )r(drdS

rv

1r4rv2

r22)r,h(grv2

havechr22)r,h(g 20

20

Z20

Z =

−π=

−π=⇒=−π=

2

2

Z drSdetH

Page 192: Techniques d’optimisation

Techniques d’optimisation

192

1.4.3 Exemples

Problème du skieur • Descendre du départ à l’arrivée le plus vite possible • 2 zones de pentes différentes : vitesse v1, puis v2

Départ

Arrivée

Vitesse v1

Vitesse v2

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Page 193: Techniques d’optimisation

Techniques d’optimisation

193

1.4.3 Exemples

Problème du sauveteur • Aller secourir le baigneur qui se noie le plus vite possible • Course sur terre, puis nage dans l’eau : vitesse v1, puis v2

Vitesse v1

Vitesse v2

Sauveteur

Baigneur

terre

eau

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Page 194: Techniques d’optimisation

Techniques d’optimisation

194

1.4.3 Exemples

Problème du sauveteur • Données du problème : l0, l1, l2, v1, v2

Distance sur terre : Durée de course : Distance dans l’eau : Durée de nage : Distance suivant x :

• Formulation du problème Variables : θ1 , θ2 Contrainte : L = l0 → atteindre le point visé Critère : T = t1 + t2 → durée totale à minimiser

1

11 cos

ldθ

=

2

22 cos

ldθ

=1

11 v

dt =

2

22 v

dt =

l0

θ1

Départ

Arrivée

d1

d2

l1

l2 θ2

v1

v2

x

y

2211 sindsindL θ+θ=

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Page 195: Techniques d’optimisation

Techniques d’optimisation

195

1.4.3 Exemples

Problème du sauveteur • Formulation du problème • Résolution du problème Lagrangien : Conditions KKT :

0221122

2

11

1

,ltanltanlLsous

cosvl

cosvlTmin

21

=θ+θ=θ

=⇔θθ

( ) ( )0221122

2

11

121 ltanltanl

cosvl

cosvl,,L −θ+θλ+

θ+

θ=λθθ

=θ+θ

λ+θ

θ

λ+θ

θ

02211

222

22

2

22

121

12

1

11

ltanltanl

0cos

1lcosvsinl

0cos

1lcosvsinl

( ) ( ) 02121,l,Lsous,Tmin

21

=θθθθθθ

=θ+θ=λ+θ=λ+θ

⇒02211

22

11

ltanltanl0vsin0vsin

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

Page 196: Techniques d’optimisation

Techniques d’optimisation

196

1.4.3 Exemples

Problème du sauveteur

• Conditions KKT : • θ1,θ2 vérifient : → loi de la réfraction de Descartes

• Pour résoudre complètement On exprime θ1,θ2 en fonction de λ :

On remplace dans la contrainte : On obtient une équation en λ : → équation de degré 4 → solution λ* → θ1* ,θ2*

=θ+θ=λ+θ=λ+θ

02211

22

11

ltanltanl0vsin0vsin

2

1

2

1

vv

sinsin

=θθ

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

θ1

θ2

v1

v2

λ−=θ⇒λ−=θ

λ−=θ⇒λ−=θ22

2222

21

2111

v1cosvsinv1cosvsin

022

2

22

21

2

1102211 l

v1

vl

v1

vlltanltanl −=λ−

λ+

λ−

λ⇒=θ+θ

21

222

20

21

222

22

211 v1v1lv1vlv1vl λ−λ−−=λ−λ+λ−λ

Page 197: Techniques d’optimisation

Techniques d’optimisation

197

1.4.3 Sensibilité aux contraintes

Problème avec contraintes → p contraintes d’égalité → q contraintes d’inégalité → m contraintes d’égalité (= contraintes actives) Problème initial • Multiplicateurs : λ*, ∇xL(x*,λ*)= 0 • Solution : x*, f(x*) = f*

c(x*) = 0 Problème perturbé • Variation des niveaux de contrainte δc → Variation de la solution δx , du coût optimal δf • Solution : x*+δx, f(x*+δx) = f* + δf, δf∈R c(x*+δx) = 0 + δc , δc∈Rm

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

0c(x)sousf(x)minnRx

=⇔∈

≤=

∈ 0(x)c0(x)csousf(x)min

I

ERx n

0c(x)sousf(x)minnRx

=∈

cc(x)sousf(x)minnRx

δ=∈

Page 198: Techniques d’optimisation

Techniques d’optimisation

198

1.4.3 Sensibilité aux contraintes

Variation du coût optimal • Variation du coût et des contraintes à l’ordre 1

• Condition d’optimalité d’ordre 1 du problème initial

• Relation entre δf et δc

• Une variation δcj du niveau de la contrainte j entraîne une variation –λj*δcj du coût optimal.

Interprétation Le multiplicateur donne la sensibilité du coût optimal au niveau de la contrainte (au signe près) → Convention possible de définition du lagrangien : L = f + λTc ou L = f − λTc

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

δ∇=δδ∇=δ⇒

δ+=δ∇+=δ+δ+=δ∇+=δ+

x*)x(ccx*)x(ff

c*)x(cx*)x(c*)x(c)x*x(cf*)x(fx*)x(f*)x(f)x*x(f

T

T

T

T

0**)x(c*)x(f0*)*,x(Lx =λ∇+∇⇒=λ∇

( ) ( ) 0x**)x(c*)x(fx*)x(c**)x(fc*f TTTTT =δλ∇+∇=δ∇λ+∇=δλ+δ

∑=

δλ−=δλ−=δ⇒m

1jj

*j

T cc*f

Page 199: Techniques d’optimisation

Techniques d’optimisation

199

1.4.3 Sensibilité aux contraintes

Fonction de 2 variables – 1 contrainte égalité

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

0)x,c(xsous)x,f(xmin 2121x,x 21

=

x*

c = 0

−∇f ∇c

x1

x2 f décroissante

0*)x(c*)x(f =∇λ+∇

Variations : • δc = ∇c.δx • δf = ∇f.δx = −λδc

c = δc

f = f* f = f*+ δf

δx

x*+δx

Sur le schéma : • f(x1, x2) = x1 à minimiser • λ < 0 (λ ≈ −2) • δc > 0 → δx > 0

→ δf < 0

Page 200: Techniques d’optimisation

Techniques d’optimisation

200

1.4.3 Exemple

Problème de la boîte → contrainte en volume de niveau V0 Solution

Sensibilité au niveau de contrainte

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

π=π+π=

hrVrh2r2Savec 2

2

0r,hV)r,h(Vsous)r,h(Smin =

π−=λ

π

=

π

=

31

0

31

0

31

0

V22

2V

2h

2V

r

( ) 32

03

1V23S π=⇒

( ) λ−=

π=π=

− 31

0

31

03

1

0 V22V22

dVdS

r

h

Page 201: Techniques d’optimisation

Techniques d’optimisation

201

1.4.3 Sensibilité aux paramètres

Problème avec paramètres de modèle

→ m contraintes d’égalité (= contraintes actives) r paramètres de modèle p∈Rr (valeurs fixées) Problème initial • Multiplicateurs : λ*, ∇xL(x*,λ*,p) = 0 • Solution : x*, f(x*, p) = f*

c(x*, p) = 0

Problème perturbé • Variation des paramètres δp → Variation de la solution δx , du coût optimal δf • Solution : x*+δx, f(x*+δx, p+δp) = f* + δf, δf∈R c(x*+δx, p+δp) = 0 (même niveau de contrainte = 0)

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

0p)c(x,sousp)f(x,minnRx

=∈

0p)c(x,sousp)f(x,minnRx

=∈

0p)pc(x,sousp)pf(x,minnRx

=δ+δ+∈

Page 202: Techniques d’optimisation

Techniques d’optimisation

202

1.4.3 Sensibilité aux paramètres

Variation du coût optimal • Variation du coût et des contraintes à l’ordre 1

• Condition d’optimalité d’ordre 1 du problème initial

• Relation entre δf et δp

• Une variation δpj du paramètre j entraîne une variation du coût optimal → sensibilité du coût aux paramètres de modèle

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

==δ∇+δ∇+=δ+δ+δ+=δ∇+δ∇+=δ+δ+0)p*,x(cp)p*,x(cx)p*,x(c)p*,x(c)pp,x*x(c

f)p*,x(fp)p*,x(fx)p*,x(f)p*,x(f)pp,x*x(fT

pT

x

Tp

Tx

0*)p*,x(c)p*,x(f0)p*,*,x(L xxx =λ∇+∇⇒=λ∇

( ) ( ) p)p*,x(c*)p*,x(fx)p*,x(c*)p*,x(ff Tp

TTp

Tx

TTx δ∇λ+∇+δ∇λ+∇=δ

=δ∇+δ∇δ=δ∇+δ∇

⇒0p)p*,x(cx)p*,x(c

fp)p*,x(fx)p*,x(fT

pT

x

Tp

Tx

( ) p)p*,*,x(Lp*)p*,x(c)p*,x(ff Tp

Tpp δλ∇=δλ∇+∇=δ⇒

jj

pp

)p*,*,x(Lδ

∂λ∂

)p*,*,x(Ldp

)p*,x(dfp λ∇=⇒

Page 203: Techniques d’optimisation

Techniques d’optimisation

203

1.4.3 Exemple

Problème de la boîte → contrainte en masse M0 au lieu de volume V0, avec densité ρ Solution

Sensibilité au paramètre ρ

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.3 Problème avec contraintes

πρρ

−=λ

πρ

=

πρ

=

31

0

31

0

31

0

M22

2M

2h

2M

r ( ) 32

32

03

1M23S

−ρπ=⇒

( )ρ∂

∂=

πρρ

π−=ρπ−=

ρ

− L2M4M22

ddS 3

2

035

32

03

1

00r,hVM)r,h(Msous)r,h(Smin ρ==

ρπ=ρ=π+π=

hrVMrh2r2Savec 2

2

)MM(SL 0−λ+=

hrML 2λπ=ρ∂

∂λ=

ρ∂∂

r

h

32

0

2M4L

πρρ

π−=

ρ∂∂

Page 204: Techniques d’optimisation

Techniques d’optimisation

204

1.4.4 Problème linéaire

Forme standard

Conditions nécessaires d’optimalité

Coûts réduits

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.4 Problème linéaire

Page 205: Techniques d’optimisation

Techniques d’optimisation

205

1.4.4 Problème linéaire

Problème linéaire → problème linéaire sous forme standard (PL) Conditions nécessaires d’optimalité à partir du lagrangien Lagrangien : (x,λ,s) minimum local de (PL) ⇓ • Condition nécessaire d’ordre 1 : → contraintes du problème dual • Condition nécessaire d’ordre 2 : → vérifiée • Condition complémentaire :

≥=

∈ 0xbAxsousxcmin T

Rx n

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.4 Problème linéaire

nmnm Rc,Rb,RA ∈∈∈ ×

=λ∇−λ−=λ∇

⇒−−λ+=λ0)s,,x(L

sAc)s,,x(Lxs)Axb(xc)s,,x(L 2xx

TxTTT

≥=−λ−

0s0sAc T

0)s,,x(L2xx ≥λ∇

n,...1i,0xs ii ==

Page 206: Techniques d’optimisation

Techniques d’optimisation

206

1.4.4 Problème linéaire

Problème linéaire → problème linéaire sous forme standard (PL) Conditions nécessaires d’optimalité à partir des dérivées directionnelles x minimum local de (PL) ⇓ Pour toute direction admissible d : • Toute direction admissible d est combinaison linéaire des directions de base dj.

(contraintes linéaires)

• Il suffit de vérifier :

≥=

∈ 0xbAxsousxcmin T

Rx n

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.4 Problème linéaire

nmnm Rc,Rb,RA ∈∈∈ ×

0dc0d)x(f TT ≥⇒≥∇

0dc jT ≥

jj1T

BjNTNjB

TBj

T

jNj

T

j1

jB

jN

jBj cABcdcdcdc

d0eE

ABdavecd

dEd +−=+=⇒

=

−=

= −

Page 207: Techniques d’optimisation

Techniques d’optimisation

207

1.4.4 Problème linéaire

Coûts réduits x solution de base admissible : Le coût réduit associé à la variable hors base xj est défini par : = dérivée directionnelle de f suivant la jème direction de base pour une variable hors base = 0 par extension pour une variable de base Conditions nécessaires d’optimalité x* solution de base non dégénérée x* solution de PL ⇒ Conditions suffisantes d’optimalité x* solution de base admissible ⇒ x* solution de PL

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.4 Problème linéaire

mnm

0bBEx

xEx1

N

B−→

=

=

( ) ( ) ( )NBccAEBcNBIAEBNBAE 1TB

TB

1TB

11 −−−− =⇒=⇒= ( )TNc0c =⇒

0c ≥

0c ≥

j1T

BjjT

j ABccdcc −−==

Page 208: Techniques d’optimisation

Techniques d’optimisation

208

1.4.4 Problème linéaire

Lien entre multiplicateurs et coûts réduits • Problème linéaire sous forme standard : • Lagrangien : • Conditions d’ordre 1 : • Base B :

• Les coûts réduits sont les multiplicateurs des variables →

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.4 Problème linéaire

≥=

∈ 0xbAxsousxcmin T

Rx n

sAc)s,,x(Lxs)Axb(xc)s,,x(L Tx

TTT −λ−=λ∇⇒−−λ+=λ

==≥=+λ

n,,1i,0xs,0scsAii

T

( )

==

=

=

=⇒=

0xbBx

x,ss

s,cc

cNBAEN

1B

N

B

N

B

∈=≥∈=≥⇔==≥

=

⇔=+λ

Ni,0xs,0sBi,0xs,0sn,,1i,0xs,0s

cc

ss

NB

csA

iiN

iiBii

N

B

N

BT

TT

→ vérifié car xN=0 → vérifié en prenant sB=0

≥=+λ

0scsN

cB

N

NNT

BT

( )

≥=−==λ

⇒ −

0ccNBcscB

NBT1

NN

BT

0cc0

ss

sNN

B ≥=

=

=⇒

0cs ≥=

Page 209: Techniques d’optimisation

Techniques d’optimisation

209

1.4.5 Problème quadratique

Forme standard

Conditions nécessaires d’optimalité

Projection

Directions conjuguées

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.5 Problème quadratique

Page 210: Techniques d’optimisation

Techniques d’optimisation

210

1.4.5 Problème quadratique

Problème quadratique • Forme standard • Gradient : • Hessien : Cas d’une matrice Q non symétrique On se peut toujours se ramener à une matrice Q’ symétrique : Cas d’une matrice Q symétrique • Q admet n valeurs propres réelles (distinctes ou non) • Q admet une base orthonormée de vecteurs propres • Si Q est définie positive, elle admet une factorisation LDLT (factorisation de Cholesky)

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.5 Problème quadratique

bAxsousxcQxx21min TT

Rx n=+

nmnmnn Rc,Rb,RA,RQ ∈∈∈∈ ××

cQx g(x) +=

Q H(x) =

)Q(Q21QQ jiij

'ji

'ij +==

∑∑ ∑∑∑∑= = = == =

==+==⇒n

1i

n

1j

n

1i

n

1j

'Tji

'ijjijiij

n

1i

n

1jjiij

T xQxxxQx)xQ(Q21xxQQxx

Page 211: Techniques d’optimisation

Techniques d’optimisation

211

1.4.5 Problème quadratique

Conditions nécessaires d’optimalité • Lagrangien :

• Conditions d’ordre 2 : Q définie positive → Q inversible • Conditions d’ordre 1 : Solution Par soustraction membre à membre : En reportant dans l’expression de x : Application Projection d’un vecteur sur un hyperplan

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.5 Problème quadratique

)Axb(xcQxx21),x(L TTT −λ++=λ

=−=λ−⇒

=−=λ−⇒

=−=λ− −−−−

bAxcAQAAQAx

bAxcQAQx

bAxcAQx 1T11T1T

=λ∇λ−+=λ∇⇒

Q),x(LAcQx),x(L

2xx

Tx

( ) ( )bcAQAAQbcAQAAQ 11T11T1 +=λ⇒+=λ −−−−−

( ) ( )( ) ( ) ( )

−+=−λ=+=λ

−−−−−−

−−−

cQbcAQAAQAQcAQxbcAQAAQ

111T1T1T1

11T1

Page 212: Techniques d’optimisation

Techniques d’optimisation

212

1.4.5 Projection

Projection d’un vecteur sur un hyperplan La projection de x0∈Rn sur l’hyperplan d’équation Ax=b est le point x solution de → point xP de l’hyperplan le plus proche de x0 • Problème quadratique équivalent

• Lagrangien :

• Condition d’ordre 1 :

Solution

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.5 Problème quadratique

bAxsousxxmin 0Rx n

=−∈

xP

x0

bAxsousxx21min 2

0Rx n

=−∈

( ) ( ) bAxsousxxxx21min 0

T0

Rx n=−−⇔

( ) ( ) ( )Axbxxxx21),x(L T

0T

0 −λ+−−=λ

( ) ( )( ) ( )

−+=−=λ⇒

==λ−⇒

==λ−−

01TT

0

01T

0TT

0

AxbAAAxxAxbAA

bAxAxAAAx

bAx0Axx

( )( ) ( ) bAAAxAAAAIx1TT

01TT

P−−

+−= ( ) AAAAIP1TT −

−=→ matrice de projection :

Page 213: Techniques d’optimisation

Techniques d’optimisation

213

1.4.5 Directions conjuguées

Forme quadratique définie positive On considère une forme quadratique définie positive avec Q∈Rn×n symétrique définie positive Relation de conjugaison • 2 vecteurs u et v de Rn sont conjugués par rapport à Q si : uTQv=0 • n vecteurs (di)i=1,…,n conjugués 2 à 2 forment une base de Rn

Preuve On cherche (αi)i=1,…,n tels que : Q définie positive : Les n vecteurs (ui)i=1,…,n sont indépendants → base de Rn

• Tout vecteur x de Rn peut s’écrire :

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.5 Problème quadratique

xcQxx21)x(f TT +=

0dn

1iii =∑

=

α

kisiQddcark,0Qddk,0Qddk,0dQd ikkkk

n

1iiki

n

1iiik ≠∀=⇒∀=⇒∀=⇒ ∑∑

==

ααα

0dsi0Qdd kkk ≠> 0k =⇒ α

ii

ii

n

1iii Qdd

Qxdavecdx =αα= ∑=

Page 214: Techniques d’optimisation

Techniques d’optimisation

214

1.4.5 Directions conjuguées

Méthode de directions conjuguées On obtient le minimum de la forme quadratique définie positive en n itérations à pas optimal suivant des directions conjuguées. Preuve : On part du point initial x0 : dans la base (di)i=1,…,n Après k itérations à pas optimal αk suivant d1,…, dk , on obtient : A l’itération k, le pas optimal αk suivant la direction dk vérifie : On obtient pour xn : → xn = x* minimum de f

1 Bases théoriques 1.4 Conditions d’optimalité 1.4.5 Problème quadratique

xcQxx21)x(f TT +=

kk1k

k

1iii0k dxdxx αα +=+= −

=∑

( ) ( ) ( ) ( ) 0xfd0dxfd0dxfdddxfmin k

Tkk1k

Tkk1kk1k =∇⇒=+∇⇒=+⇒+ −−− αα

αα

α

( ) ( ) kTkk0

Tk

Tk

k

1iii0

Tkk

Tk QddcQxdcddxQdxfdcQx)x(f αα ++=+

+=∇⇒+=∇ ∑

=

( ) ( )k

Tk

0Tk

kkTk Qdd

cQxd0xfd +−=⇒=∇ α

( ) ( )

cQxx

dQdd

cQQddQddQxdxd

QddcQxdxdxx

100

n

1ii

iTi

1Ti

n

1ii

iTi

0Ti

0

n

1ii

iTi

0Ti

0

n

1iii0n

−=

===

−−=

−−=+

−=+= ∑∑∑∑α

∑=

=n

1ii

ii

0i0 d

QddQxdx

dans la base (di)

0cxQ)x(fcQx n1

n1

n =+=∇⇒−=⇒ −−

Page 215: Techniques d’optimisation

Techniques d’optimisation

215

Sommaire 1. Bases théoriques

2. Optimisation sans contraintes

2.1 Méthodes de descente 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.6 Méthode de Nelder-Mead

3. Optimisation avec contraintes

2 Optimisation sans contraintes

Page 216: Techniques d’optimisation

Techniques d’optimisation

216

2 Optimisation sans contraintes

Problème non linéaire sans contraintes → problème noté (PO) Méthodes globales • Capacité à localiser plusieurs minima locaux (éventuellement le minimum global) • Algorithmes non déterministes (déplacements aléatoires « organisés ») • Métaheuristiques : algorithmes génétiques, recuit simulé,

essaims, colonies de fourmis, recherche tabou,… • Convergence généralement lente, peu précise Méthodes locales • Recherche d’un minimum local à partir d’un point initial fourni par l’utilisateur • Méthodes d’ordre 0 : sans dérivées → Nelder-Mead

d’ordre 1 : avec dérivées premières → plus forte pente d’ordre 2 : avec dérivées premières et secondes → Newton

• Critères d’efficacité : rapidité de convergence (nombre d’appels de la fonction) précision de convergence

robustesse à l’initialisation

f(x)minnRx∈

2 Optimisation sans contraintes

Page 217: Techniques d’optimisation

Techniques d’optimisation

217

Sommaire 1. Bases théoriques

2. Optimisation sans contraintes

2.1 Méthodes de descente 2.1.1 Principes 2.1.2 Itérations 2.1.3 Initialisation et arrêt 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.6 Méthode de Nelder-Mead

3. Optimisation avec contraintes

2 Optimisation sans contraintes 2.1 Méthodes de descente

Page 218: Techniques d’optimisation

Techniques d’optimisation

218

2.1.1 Méthodes de descente

Problème sans contrainte x* minimum local On ne sait pas trouver le minimum global dans le cas général (f quelconque). Méthode locale • Initialisation x0 → recherche d’un minimum local au voisinage de x0 • Itérations → passage du point xk au point xk+1 meilleur • Arrêt → solution x* ou blocage

2 Optimisation sans contraintes 2.1 Méthodes de descente 2.1.1 Principes

f(x)minnRx∈

≥∇=∇⇒ 0f(x*)

0f(x*)2

Initialisation x0

Point initial xk

Modèle local (x)fk

Amélioration f(xk+p) < f(xk)

Solution x*

Nouveau point xk+1

Page 219: Techniques d’optimisation

Techniques d’optimisation

219

2.1.2 Itérations

Modèle local : prédiction • Point courant xk , fk = f(xk) • Evaluation de gk = ∇f(xk) ou approximation (différences finies)

Hk = ∇2f(xk) ou approximation (quasi Newton)

• Modèle quadratique : → Méthodes de Newton ou quasi-Newton Amélioration : correction • Nouveau point xk+1 = xk + p tel que f(xk+p) < f(xk)

• Déplacement p à partir de xk

par recherche linéaire suivant par région de confiance dans → Méthodes de globalisation

• La méthode de Newton appliquée directement ne converge pas systématiquement. La globalisation est nécessaire pour contrôler la convergence.

2 Optimisation sans contraintes 2.1 Méthodes de descente 2.1.2 Itérations

pHp21gpf)px(fmin k

tk

tkkkp

++=+ pxx k1k +=→ +

(prédiction)

rxx k <−k1kk xxd −= +

Page 220: Techniques d’optimisation

Techniques d’optimisation

220

2.1.3 Initialisation et arrêt

Initialisation • Les méthodes locales recherchent le minimum au voisinage du point de départ.

• Objectifs : rapidité de convergence

précision de convergence → méthodes à base de dérivées

• Le minimum local trouvé est le plus proche du point initial x0. → initialisation à modifier pour trouver un autre minimum local

• Les méthodes « globales » explorent « aléatoirement » les solutions

→ localisation possible de plusieurs minima locaux Conditions d’arrêt • Déplacement insuffisant : • Amélioration insuffisante : • Condition d’ordre 1 vérifiée : • Nombre maximal d’itérations ou d’appels fonction : Niter , Nfonc

xk1k xx ε<−+

f1kk ff ε<− +

gkg ε<

2 Optimisation sans contraintes 2.1 Méthodes de descente 2.1.3 Initialisation et arrêt

Page 221: Techniques d’optimisation

Techniques d’optimisation

221

Sommaire 1. Bases théoriques

2. Optimisation sans contraintes

2.1 Méthodes de descente 2.2 Méthode de Newton 2.2.1 Résolution d’équations 2.2.2 Minimisation 2.2.3 Globalisation 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.6 Méthode de Nelder-Mead

3. Optimisation avec contraintes

2 Optimisation sans contraintes 2.2 Méthode de Newton

Page 222: Techniques d’optimisation

Techniques d’optimisation

222

2.2.1 Résolution d’équations

Principes

Méthode de Newton

Méthode de quasi-Newton

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

Page 223: Techniques d’optimisation

Techniques d’optimisation

223

2.2.1 Résolution d’équations

Système d’équations non linéaires avec g : Rn → Rn → système de n équations à n inconnues Principe de la méthode de Newton • Linéariser g au point initial x0 → fonction modèle linéaire ĝ « proche » de g • Résoudre le système linéaire ĝ(x)=0 → nouveau point x1 • Itérer jusqu’à vérifier g(x)=0 → solution x*

0 g(x) =

Initialisation x0

Point initial xk

Nouveau point xk+1

Fonction modèle (x)gk

Résolution 0(x)gk =

Solution x*

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

Page 224: Techniques d’optimisation

Techniques d’optimisation

224

2.2.1 Méthode de Newton

Fonction modèle • Développement de Taylor à l’ordre 1 de g en xk • Modèle linéaire de g en xk : Choix de la matrice Gk • Méthode de Newton → Gk = ∇g(xk)T = matrice jacobienne de g en xk • Méthode de quasi-Newton → Gk = approximation de ∇g(xk)T Résolution

• Système linéaire :

• Itération : si Gk inversible • Condition d’arrêt :

)x(xG)g(x(x)g kkkk −+=

0)x(xG)g(x0(x)g kkkk =−+⇒=

ε)g(xk <

( )kkT

kk xxo)x(x)g(x)g(xg(x) −+−∇+=

nnk RGavec ×∈

)g(xGxx k1

kk1k−

+ −=

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

Page 225: Techniques d’optimisation

Techniques d’optimisation

225

2.2.1 Méthode de Newton

Illustration à une variable • Equation non linéaire : g(x) = 0 • Point initial : x0, y0 = g(x0) → Tangente en x0 : y = y0 +g’(x0)(x - x0 )

• Intersection axe x :

• Nouveau point : x1, y1 = g(x1)

)(xg'y

xx0y0

001 −=⇒=

x0 x1 x2

x*

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

Page 226: Techniques d’optimisation

Techniques d’optimisation

226

2.2.1 Méthode de Newton

Modèle linéaire de g en xk Erreur de linéarisation M = constante de Lipschitz sur le gradient ≈ majorant de la courbure → erreur quadratique Vitesse de convergence Hypothèses sur la solution x* : Suite (xk) : • (xk) converge vers x* si x0 est « assez proche » de x* :

• La convergence est quadratique →

)xx(G)g(x(x)g kkkk −+= Tkk )g(xGavec ∇=

2kk xxM

21(x)gg(x) −≤−

)g(xGxx k1

kk1k−

+ −=

η)g(x 1* ≤∇ −

*kk

*0 xxlimrxx/0r =⇒<−>∃

∞→

2*k

*1k xxMηxx −≤−+

inversible)g(x*∇

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

Page 227: Techniques d’optimisation

Techniques d’optimisation

227

2.2.1 Exemples

Exemple 1 • Fonction : • Dérivée : • Solution : x = 1 → g’(1) = 2

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

1xg(x) 2 −=Iteration x(k) g(x)=x**2-1 g'(x)=2x Erreur

0 4,00000000 1,5E+01 8,0000 3,0E+00 1 2,12500000 3,5E+00 4,2500 1,1E+00 2 1,29779412 6,8E-01 2,5956 3,0E-01 3 1,03416618 6,9E-02 2,0683 3,4E-02 4 1,00056438 1,1E-03 2,0011 5,6E-04 5 1,00000016 3,2E-07 2,0000 1,6E-07 6 1,00000000 2,5E-14 2,0000 1,3E-14

Convergence quadratique g’(x*) inversible

2x(x)g' =

x

g(x)

1

Page 228: Techniques d’optimisation

Techniques d’optimisation

228

2.2.1 Exemples

Exemple 2 • Fonction : • Dérivée : • Solution : x = 1 → g’(1) = 0

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

2)1x(g(x) −= Iteration x(k) g(x)=(x-1)**2 g'(x)=2(x-1) Erreur 0 4,00000000 9,0E+00 6,0000 3,0E+00 1 2,50000000 2,3E+00 3,0000 1,5E+00 2 1,75000000 5,6E-01 1,5000 7,5E-01 3 1,37500000 1,4E-01 0,7500 3,8E-01 4 1,18750000 3,5E-02 0,3750 1,9E-01 5 1,09375000 8,8E-03 0,1875 9,4E-02 6 1,04687500 2,2E-03 0,0938 4,7E-02 7 1,02343750 5,5E-04 0,0469 2,3E-02 8 1,01171875 1,4E-04 0,0234 1,2E-02 9 1,00585938 3,4E-05 0,0117 5,9E-03 10 1,00292969 8,6E-06 0,0059 2,9E-03 15 1,00009155 8,4E-09 0,0002 9,2E-05 20 1,00000286 8,2E-12 0,0000 2,9E-06

1)2(x(x)g' −=

Convergence lente g’(x*) non inversible

x 1

g(x)

Page 229: Techniques d’optimisation

Techniques d’optimisation

229

2.2.1 Exemples

Exemple 3 • Fonction :

• Dérivée :

• Solution : x = 0 → g’’(1) = 0

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

)xtan(Arcg(x) =

2x11(x)g'

+=

Iteration x(k) g(x)=Arctan(x) g'(x)=1/(1+x**2) Erreur 0 1,500 0,983 0,308 1,5E+00 1 -1,694 -1,038 0,258 -1,7E+00 2 2,321 1,164 0,157 2,3E+00 3 -5,114 -1,378 0,037 -5,1E+00 4 32,296 1,540 0,001 3,2E+01 5 -1575,317 -1,570 0,000 -1,6E+03 6 3894976,008 1,571 0,000 3,9E+06

x 0

g(x)

x0 x1 x2

Iteration x(k) g(x)=Arctan(x) g'(x)=1/(1+x**2) Erreur 0 1,300 0,915 0,372 1,3E+00 1 -1,162 -0,860 0,426 -1,2E+00 2 0,859 0,710 0,575 8,6E-01 3 -0,374 -0,358 0,877 -3,7E-01 4 0,034 0,034 0,999 3,4E-02 5 0,000 0,000 1,000 -2,6E-05 6 0,000 0,000 1,000 1,2E-14

Convergence

Divergence

Page 230: Techniques d’optimisation

Techniques d’optimisation

230

2.2.1 Méthode de Newton

Intérêt de la méthode de Newton • Convergence quadratique au voisinage de la solution → très rapide et précise • Méthode à privilégier dans les algorithmes d’optimisation Difficultés • Calcul explicite du gradient ∇g(xk) à chaque itération → coûteux (n appels fonctions) • Convergence non garantie → même près de la solution Adaptations • Méthodes de quasi-Newton → Gk = approximation du gradient ∇g(xk)

construite à partir des itérations précédentes sans calcul explicite du gradient

• Techniques de globalisation → Contrôle du point xk+1 (meilleur que xk ?) Si le point xk+1 n’est pas satisfaisant → Méthodes de recherche linéaire ou région de confiance pour minimiser

)g(x)g(x k1k <+

2g(x)

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

Page 231: Techniques d’optimisation

Techniques d’optimisation

231

2.2.1 Méthode de quasi-Newton

Méthode de Broyden On cherche à définir la matrice Gk à partir de la matrice Gk-1 de l’itération précédente. Les matrices Gk-1 et Gk doivent être « proches » au sens de la norme matricielle. Variation de modèle • Modèle linéaire de g en xk-1 :

• Modèle linéaire de g en xk:

• Différence entre les modèles en xk-1 et xk

)xx(G)g(x(x)g 1-k1-k1-k1-k −+=

)xx(G)g(x(x)g kkkk −+=

)xx)(GG((x)g)xx(G)xx(G(x)g)xx(G)g(x

)xx(G)xx(G)g(x)xx(G)g(x(x)g

1-k1-kk1-k

1-kk1-k1-k1-k

1-kk1-k

kk1-kkk1-k

kkkk

−−+=−+−−=−+=−+−+=−+=

k

1-kkk1-kkG de définitionpar

)x(xG)g(x)g(xcar −+=

)x)(xG(G(x)g(x)g 1-k1-kk1-kk −−=−⇒

1-k

1-k1-k1-k1-kg de définitionpar

)xx(G)g(x(x)gcar −+=

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

Page 232: Techniques d’optimisation

Techniques d’optimisation

232

1-kk1-k1-kkk1-kk dGy)xx(G)g(x)g(x =⇔−=−

−=−=

)g(x)g(xyxxd

1-kk1-k

1-kk1-k

)xx(G)g(x(x)g kkkk −+= Tkk )g(xGavec ∇≈

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

2.2.1 Méthode de quasi-Newton

Objectif Conserver un modèle linéaire de g en xk sans calculer explicitement Gk Equation de la sécante On choisit une matrice Gk ∈Rn×n vérifiant : avec → équation de la sécante entre xk-1 et xk Choix de G Il existe une infinité de matrices G vérifiant l’équation de la sécante : n2 inconnues (composantes de G ∈Rn×n ) n équations Chaque ligne de G définit un hyperplan de Rn passant par xk-1 et xk → infinité d’ hyperplans possibles

Page 233: Techniques d’optimisation

Techniques d’optimisation

233

2.2.1 Méthode de quasi-Newton

Illustration à une variable • Equation non linéaire : g(x) = 0 • Points initiaux : x0, y0 = g(x0)

x1, y1 = g(x1) → Sécante en x1 :

• Intersection axe x :

• Nouveau point : x2, y2 = g(x2)

001

0102 y

yyxx

xx0y−−

−=⇒=

x0 x1 x2

x*

)xx(xxyy

yy 001

010 −

−−

−=

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

Page 234: Techniques d’optimisation

Techniques d’optimisation

234

2.2.1 Méthode de quasi-Newton

Mise à jour de Broyden L’écart entre les modèles et est minimal en choisissant Gk solution de : avec Formule de Broyden : → solution optimale Convergence • La matrice G ne converge pas forcément vers ∇g → ne compromet pas la convergence • Les méthodes de quasi-Newton et de Newton peuvent converger vers des solutions différentes. • La méthode de quasi-Newton converge généralement moins vite que la méthode de Newton,

mais nécessite beaucoup moins d’appels de la fonction g (pas de calcul de gradient). → Peu de résultats théoriques → Méthode efficace en pratique, comportement à vérifier et adapter au cas par cas

(x)gk(x)g 1-k

( )1k

T1k

T1k1k1-k1k

1-kk ddddGyGG

−−

−−− −+=

−=−=

)g(x)g(xyxxd

1-kk1-k

1-kk1-k1k1k1-k

RGdGysousGGmin

nn −−∈

=−×

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

Page 235: Techniques d’optimisation

Techniques d’optimisation

235

Iteration x(k) g(x)=x**2-1 dg/dx Erreur 5,00000000 2,4E+01 4,0E+00

0 4,00000000 1,5E+01 9,0000 3,0E+00 1 2,33333333 4,4E+00 6,3333 1,3E+00 2 1,63157895 1,7E+00 3,9649 6,3E-01 3 1,21238938 4,7E-01 2,8440 2,1E-01 4 1,04716672 9,7E-02 2,2596 4,7E-02 5 1,00443349 8,9E-03 2,0516 4,4E-03 6 1,00010193 2,0E-04 2,0045 1,0E-04 7 1,00000023 4,5E-07 2,0001 2,3E-07 8 1,00000000 2,3E-11 2,0000 1,1E-11

2.2.1 Exemple

Comparaison Newton − Quasi-Newton • Fonction : • Dérivée : • Solution : x = 1

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.1 Résolution d’équations

1xg(x) 2 −=

Iteration x(k) g(x)=x**2-1 g'(x)=2x Erreur 0 4,00000000 1,5E+01 8,0000 3,0E+00 1 2,12500000 3,5E+00 4,2500 1,1E+00 2 1,29779412 6,8E-01 2,5956 3,0E-01 3 1,03416618 6,9E-02 2,0683 3,4E-02 4 1,00056438 1,1E-03 2,0011 5,6E-04 5 1,00000016 3,2E-07 2,0000 1,6E-07 6 1,00000000 2,5E-14 2,0000 1,3E-14

2x(x)g' =

Quasi - Newton Newton

Page 236: Techniques d’optimisation

Techniques d’optimisation

236

2.2.2 Minimisation

Principes

Méthode de Newton

Méthode de quasi-Newton

Méthode BFGS

Méthode DFP

Méthode SR1

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

Page 237: Techniques d’optimisation

Techniques d’optimisation

237

2.2.2 Problème de minimisation

Problème sans contrainte → gradient : g(x) = ∇ f(x) hessien : H(x) = ∇2f(x) Condition nécessaire de minimum local x* minimum local Recherche des points stationnaires Application de la méthode de Newton au système d’équations non linéaires : g(x) = 0 Modèle linéaire de g en xk : • Méthode de Newton : G = H → calcul explicite du hessien à chaque itération • Méthode de quasi-Newton : G = approximation de H

construite à partir des itérations précédentes sans calcul explicite du hessien

f(x)minnRx∈

=∇=∇=∇=

kk2T

kk

kk

H)f(x)g(xG)f(x)g(xavec)xx(G)g(x(x)g kkkk −+=

≥=⇒ 0H(x*)

0g(x*)

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

(hessien semi-défini positif)

Page 238: Techniques d’optimisation

Techniques d’optimisation

238

2.2.2 Méthode de Newton

Modèle linéaire de g=∇f en xk • Itération : → équations de Newton • Condition d’arrêt : Difficultés • Calcul explicite et inversion du hessien ∇2f(xk) à chaque itération → coûteux • Convergence non garantie même près de la solution → mêmes difficultés que pour la résolution d’équations

• 1ère condition nécessaire de minimum : ∇f(x*)=0

→ point stationnaire x* = minimum local, maximum local ou point selle → 2ème condition nécessaire de minimum à vérifier : ∇2f(x*)≥0

Adaptations • Méthodes de quasi-Newton → Gk = approximation du hessien ∇2f(xk) • Techniques de globalisation → Contrôle de la décroissance de f

)xx(G)g(x(x)g kkkk −+=

)f(x)f(xxx k1

k2

k1k ∇∇−= −+

ε)f(xk ≤∇

=∇=∇=∇=

kk2T

kk

kk

H)f(x)g(xG)f(x)g(xavec

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

Page 239: Techniques d’optimisation

Techniques d’optimisation

239

2.2.2 Méthode de Newton

Modèle quadratique de f en xk • Développement de Taylor à l’ordre 2 de f en xk • Modèle quadratique en xk • Lien entre le modèle de f et le modèle de g =∇f Minimisation du modèle de f en xk

• Conditions suffisantes de minimum local : • Si le hessien de f en xk est défini positif : ∇2f(xk) > 0 Minimisation du modèle quadratique de f en xk ⇔ Méthode de Newton en xk pour résoudre ∇f(x)=0 • Sinon la méthode de Newton n’est pas directement applicable pour une minimisation

( )2kkk

2Tkk

Tkk xxo)x)(xf(x)x(x

21)x(x)f(x)f(xf(x) −+−∇−+−∇+=

)x(xH)x(x21)x(xg)(xf(x)f kk

Tkk

Tkkkk −−+−+=

(x)g)x(xHg(x)f kkkkk =−+=∇

>=∇==∇⇐

∈ 0H(x*)f0(x*)g(x*)f(x)fmin

kk2

kkk

Rx n

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

Page 240: Techniques d’optimisation

Techniques d’optimisation

240

2.2.2 Exemple

Méthode de Newton • Fonction :

• Dérivée : → 3 zéros

→ 1 minimum local, 2 maxima locaux

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

x60x47x12x)x(f 234 +−+−=

-20,0

-15,0

-10,0

-5,0

0,0

5,0

10,0

15,0

20,0

0,0 1,0 2,0 3,0 4,0 5,0 6,0

60x94x36x4)x('f 23 +−+−=

Page 241: Techniques d’optimisation

Techniques d’optimisation

241

2.2.2 Exemple

Méthode de Newton • Modèle quadratique en x0 = 3 :

• Itération de Newton en x0 = 3 : → Meilleur que x0

f(x1) = −1.32 < 0 = f(x0)

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

81x48x7)x(f 20 +−=

)x(fmin 0x

-1,50

-1,25

-1,00

-0,75

-0,50

-0,25

0,00

0,25

0,50

0,75

1,00

1,25

1,50

2,50 2,75 3,00 3,25 3,50 3,75 4,00 4,25 4,50

x1 x0

724x1 =→

Page 242: Techniques d’optimisation

Techniques d’optimisation

242

2.2.2 Exemple

Méthode de Newton • Modèle quadratique en x0 = 4 :

• Itération de Newton en x0 = 4 : → Moins bon que x0

f(x1) = 12 > 0 = f(x0)

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

x4x)x(f 20 −=

-5,00

-4,00

-3,00

-2,00

-1,00

0,00

1,00

2,00

3,00

4,00

5,00

1,00 1,50 2,00 2,50 3,00 3,50 4,00 4,50 5,00

x1 x0

2x1 =→)x(fmin 0x

Page 243: Techniques d’optimisation

Techniques d’optimisation

243

2.2.2 Exemple

Méthode de Newton • Modèle quadratique en x0 = 5 :

• Itération de Newton en x0 = 5 : → Moins bon que x0 (maximise f)

f(x1) = 1.513 > 0 = f(x0)

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

-3,00

-2,50

-2,00

-1,50

-1,00

-0,50

0,00

0,50

1,00

1,50

2,00

4,00 4,25 4,50 4,75 5,00 5,25 5,50

x1 x0

1781x1 =→)x(fmin 0x

375x160x17)x(f 20 −+−=

Page 244: Techniques d’optimisation

Techniques d’optimisation

244

2.2.2 Méthode de quasi-Newton

Objectif Conserver un modèle quadratique de f en xk sans calculer explicitement Hk Mise à jour de Broyden On peut appliquer la méthode de Broyden à la résolution de g(x)=∇f(x)=0. avec Inconvénients • Hk n’est pas forcément symétrique • Hk n’est pas forcément positive

→ Modifications de la méthode si l’on souhaite avoir

→ Formules BFGS, DFP ou SR1

−=−=

)g(x)g(xyxxd

1-kk1-k

1-kk1-k

)f(xHavec k2

k ∇≈)x(xH)x(x21)x(xg)(xf(x)f kk

Tkk

Tkkkk −−+−+=

( )1k

T1k

T1k1k1-k1k

1-kk ddddHyHH

−−

−−− −+=

)f(xH k2

k ∇≈

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

Page 245: Techniques d’optimisation

Techniques d’optimisation

245

2.2.2 Méthode BFGS

Equation sécante Pour la résolution d’équations, on cherche la matrice Hk : • vérifiant l’équation sécante • la plus « proche » possible de Hk-1 • sans condition particulière sur la forme de la matrice

Pour une minimisation, on impose de plus à la matrice Hk d’être : • symétrique • définie positive Méthode de résolution La matrice Hk-1 issue de l’itération précédente est symétrique, définie positive. • On part de la factorisation de Cholesky de Hk-1 : • On cherche la matrice Hk à partir de Hk-1 sous la forme :

Il faut exprimer la matrice Ak en fonction de Lk-1. → On décompose l’équation sécante en 2 équations :

1k1kk ydH −− =

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

→ formule de Broyden

→ formule BFGS

T1-k1-k1-k LLH =

Tkkk AAH =

==⇔=⇔=

−−−−−

1kk

1kTk

1k1kTkk1k1kk yxA

dAxydAAydH

Page 246: Techniques d’optimisation

Techniques d’optimisation

246

2.2.2 Méthode BFGS

Méthode de résolution de l’équation sécante 1. Pour x donné, on cherche Ak la plus « proche » possible de Lk-1 vérifiant : 2. On détermine ensuite x en reportant l’expression de Ak dans : 3. On obtient que l’on exprime en fonction de Hk-1. Résolution Notations sans indices : L = Lk-1, A = Ak y = yk-1 , d = dk-1 1. En appliquant la formule de Broyden à L on obtient A en fonction de x :

2. En reportant : Il faut résoudre pour trouver x.

==⇔=⇔=

−−−−−

1kk

1kTk

1k1kTkk1k1kk yxA

dAxydAAydH

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

1kk yxA −=

1kTk dAx −=

Tkkk AAH =

xxx)Lxy(LA T

T−+=

xxx

dLx)y(dLdxxLx)y(xdLdAx T

TT

T

TTT −

+=−

+==

xxx

dLx)y(dLx T

TT −

+=

Page 247: Techniques d’optimisation

Techniques d’optimisation

247

2.2.2 Méthode BFGS

Résolution de l’équation sécante On cherche x∈Rn vérifiant : • Pour qu’une solution existe, le vecteur LTd doit être colinéaire à x :

• En reportant dans l’équation :

• Pour qu’une solution existe, on doit avoir yTd > 0 On obtient Hk : Formule BFGS

• Mise à jour de Hk : • Mise à jour symétrique, de rang 2 • Mise à jour définie positive si

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

0dy 1kT

1-k >−

xxx

dLx)y(dLx T

TT −

+=

HdddydLdL

HdddLx)y(dLdL T

TT2T

T2

TTT =α⇒α

α−

+=α

−α+=→ LdHd

HdddyLdy

dy1LA T

T

TT

T

HddxxdLx T2TT α=⇒α=

Tkkk AAH =

1k1-kT

1k

1-kT

1k1k1-k

1kT

1-k

T1-k1k

1-kk dHdHddH

dyyyHH

−−

−−

− −+=

−=−=

)g(x)g(xyxxdavec

1-kk1-k

1-kk1-k

Page 248: Techniques d’optimisation

Techniques d’optimisation

248

2.2.2 Méthode BFGS

Méthode de quasi Newton BFGS • Le déplacement correspondant à une itération de la méthode de Newton est solution de → La matrice utile pour l’itération de Newton est l’inverse de Hk. • On inverse les 2 membres de la formule BFGS pour obtenir Hk

-1 en fonction de Hk-1-1.

• Méthode élaborée par Broyden, Fletcher, Goldfarb, Shanno à la fin des années 1960 → reconnue comme l’une des plus efficaces en pratique Limitations • Si la condition yTd > 0 n’est pas vérifiée, on ne fait pas de mise à jour. • Si le hessien n’est pas défini positif, la méthode BFGS ne converge pas vers le hessien

→ cas d’un hessien indéfini → optimisation avec contraintes (hessien réduit positif ≠ hessien complet)

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

)x(fHd)x(fdH k-1kkkkk ∇−=⇒−∇=

1kT

1-k

T1-k1k

1kT

1-k

T1-k1k1-

1-k1k

T1-k

T1-k1k1-

k yddd

yddyIH

ydydIH

− +

−= 0dysi 1k

T1-k >−

−=−=

)g(x)g(xyxxdavec

1-kk1-k

1-kk1-k

Page 249: Techniques d’optimisation

Techniques d’optimisation

249

2.2.2 Méthode BFGS Algorithme BFGS • Direction de descente à l’itération k :

• Minimisation dans la direction uk-1 :

• Mise à jour de l’inverse du hessien Propriété 1 La mise à jour BFGS donne une matrice définie positive si Cette condition est réalisée si xk est obtenu par minimisation exacte dans la direction Propriété 2 Pour une fonction f quadratique : l’algorithme BFGS donne des directions successives vérifiant : → directions conjuguées par rapport à Q−1

→ convergence en n itérations avec à l’itération n :

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

0yd 1kT

1-k >−

)x(gH 1k-1

1-k −−

( )

+→−=

+=−−

−−−−

1k1ks

1k-1

1-k1k1k1kk suxfmins

)x(gHuavecsuxx

)x(gHu 1k-1

1-k1k −− −=

xcQxx21)x(f TT +=

≤≤=≤≠≤=

−−

ki0,uuQHkji0,0uQu

ii11

k

j1

i

QHn =

1kT

1-k

T1-k1k

1kT

1-k

T1-k1k1-

1-k1k

T1-k

T1-k1k1-

k yddd

yddyIH

ydydIH

− +

−= 0dysi 1k

T1-k >−

−=−=

)g(x)g(xyxxdavec

1-kk1-k

1-kk1-k

Page 250: Techniques d’optimisation

Techniques d’optimisation

250

2.2.2 Méthode DFP Méthode de résolution • Résolution de l’équation sécante sous la forme « inverse » : • Mêmes principes que BFGS appliqués à l’équation sécante inverse pour obtenir Hk

-1 • Première méthode quasi-Newton élaborée par Davidon dans les années 1950

Formule DFP • Mise à jour de l’inverse :

• Mise à jour du hessien : Comparaison DFP − BFGS • Formules identiques en permutant dk−1 et yk−1 pour mettre à jour le hessien ou l’inverse • Mise à jour symétrique, de rang 2 • Mise à jour définie positive si → condition similaire à BFGS • Méthode DFP en général moins efficace que BFGS

1k1k-1k1k1kk dyHydH −−−− =⇔=

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

1kT

1-k

T1-k1k

1kT

1-k

T1-k1k

1-k1k

T1-k

T1-k1k

k dyyy

dyydIH

dydyIH

− +

−=

1k1-

1-kT

1k

-11-k

T1k1k

-11-k

1kT

1-k

T1-k1k1-

1-k1-

k yHyHyyH

ydddHH

−−

−−

− −+=

−=−=

)g(x)g(xyxxdavec

1-kk1-k

1-kk1-k

0yd 1kT

1-k >−

Page 251: Techniques d’optimisation

Techniques d’optimisation

251

2.2.2 Méthode DFP Algorithme DFP • Direction de descente à l’itération k :

• Minimisation dans la direction uk-1 :

• Mise à jour de l’inverse du hessien Propriété 1 La mise à jour DFP donne une matrice définie positive si Cette condition est réalisée si xk est obtenu par minimisation exacte dans la direction Propriété 2 Pour une fonction f quadratique : l’algorithme DFP donne des directions successives vérifiant : → directions conjuguées par rapport à Q → convergence en n itérations avec à l’itération n :

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

1k1-

1-kT

1k

-11-k

T1k1k

-11-k

1kT

1-k

T1-k1k1-

1-k1-

k yHyHyyH

ydddHH

−−

−−

− −+=

−=−=

)g(x)g(xyxxdavec

1-kk1-k

1-kk1-k

0yd 1kT

1-k >−

)x(gH 1k-1

1-k −−

( )

+→−=

+=−−

−−−−

1k1ks

1k-1

1-k1k1k1kk suxfmins

)x(gHuavecsuxx

)x(gHu 1k-1

1-k1k −− −=

xcQxx21)x(f TT +=

≤≤=≤≠≤=

− ki0,uQuHkji0,0Quu

ii1

k

ji

QHn =

Page 252: Techniques d’optimisation

Techniques d’optimisation

252

2.2.2 Méthode SR1

Equation sécante La méthode SR1 construit une solution Hk de l’équation sécante • Symétrique, de rang 1 (i.e. dépendante d’un seul vecteur u de Rn) • Non nécessairement définie positive. Méthode de résolution • On cherche la matrice Hk à partir de Hk-1 sous la forme • Equation sécante : • On pose :

• On reporte u pour obtenir γ :

• On exprime uuT en fonction de dk-1, yk-1, Hk-1

1k1kk ydH −− =

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

T1-kk uuHH +=

ududHyduudHdHy 1kT

1k1-k1k1kT

1k1-k1kk1k −−−−−−− =−⇒+==

( )1k1-k1k1k1-k1k dHyuu1dHy −−−− −γ=⇒γ

=−⇒1kTdu1

−=γ

21k1-k1kT

1-k1kT

1k1-k1k1)dHy(dd)dHy(1γ

=−⇒−γ=γ −−−−−

→ addition d’une matrice symétrique de rang 1

( )

−=γ

−γ=

−−

−−

)dHy(d1dHyu

1k1-k1kT

1-k2

1k1-k1kT

1k1-k1k1k1-k1k2T )dHy)(dHy(uu −−−− −−γ=⇒

)dHy(d)dHy)(dHy(uu

1k1-k1kT

1-k

T1k1-k1k1k1-k1kT

−−

−−−−

−−−

=⇒

Page 253: Techniques d’optimisation

Techniques d’optimisation

253

2.2.2 Méthode SR1

Formule SR1 • Mise à jour de Hk : • Mise à jour symétrique, de rang 1 • Mise à jour non nécessairement définie positive → Méthode alternative à la méthode BFGS (cas d’un hessien indéfini) Limitations • La formule SR1 peut donner des matrices Hk non définies positives, même si le hessien de la

fonction est défini positif. • Le dénominateur peut devenir petit → empêche la mise à jour et la convergence Propriété Pour une fonction f quadratique : la formule SR1 donne après n déplacements suivant des directions indépendantes dk : → ne nécessite pas de minimisation suivant dk

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

)dHy(d)dHy)(dHy(HH

1k1-k1kT

1-k

T1k1-k1k1k1-k1k

1-kk−−

−−−−

−−−

+=

−=−=

)g(x)g(xyxxdavec

1-kk1-k

1-kk1-k

xcQxx21)x(f TT +=

QHn =

Page 254: Techniques d’optimisation

Techniques d’optimisation

254

2.2.2 Comparaison Méthodes de quasi-Newton BFGS − DFP − SR1

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

BFGS DFP SR1

Matrice mise à jour Hessien Hk Inverse hessien Hk-1

Hessien Hk

Equation résolue Sécante Inverse sécante Sécante

Méthode Broyden Broyden Résolution directe

Forme solution

Symétrique AAT

Rang 2 Définie positive

Symétrique AAT Rang 2 Définie positive

Symétrique uuT Rang 1 Indéfinie

Minimisation dk Précision moyenne Précision forte Précision faible

Fonction quadratique Hessien exact : Hn=Q Directions conjuguées Q-1

Hessien exact : Hn=Q Directions conjuguées Q

Hessien exact : Hn=Q

Limitations Hessien de f indéfini Hessien de f indéfini Précision minimisation

Matrices Hk non définies positives

Méthode BFGS réputée la plus efficace

Page 255: Techniques d’optimisation

Techniques d’optimisation

255

2.2.2 Exemple

Méthode de quasi-Newton à une variable Les formules BFGS et SR1 se simplifient pour une fonction à une variable. • Fonction f(x) , x∈R

• Mise à jour BFGS :

• Mise à jour SR1 : → On retrouve la formule de la sécante appliquée au gradient de f.

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

1k

1k1-k1k1-k

1k1-k1kT

1-k

T1k1-k1k1k1-k1k

1-kk

ddHyH

)dHy(d)dHy)(dHy(HH

−−

−−

−−−−

−+=

−−−

+=

1-k1k

1k1-k

1k1-kT

1k

1-kT

1k1k1-k

1kT

1-k

T1-k1k

1-kk

HdyH

dHdHddH

dyyyHH

−+=

−+=

−−

−−

1-kk

1-kk

1k

1kk xx

)g(x)g(xdyH

−−

==⇒−

1-kk

1-kk

1k

1kk xx

)g(x)g(xdyH

−−

==⇒−

Page 256: Techniques d’optimisation

Techniques d’optimisation

256

2.2.2 Exemple

Comparaison Newton − Quasi-Newton • Fonction :

• Dérivée :

• Quasi-Newton :

• Point initial : x0 = 3 → convergence

Autres points → divergence ou maximum de f

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

x60x47x12x)x(f 234 +−+−=

60x94x36x4)x('f 23 +−+−=

-1,50

-1,25

-1,00

-0,75

-0,50

-0,25

0,00

0,25

2,75 3,00 3,25 3,50 3,75 4,00 4,25

Newton Quasi - Newton

Itération x(k) f(x) f'(x) h(k) Erreur 0 3,00000000 0,00000000 -6,00E+00 1,000 -4,56E-01 1 2,99900000 0,00600700 -6,01E+00 14,000 -4,57E-01 2 3,42857155 -1,31945027 -3,15E-01 13,267 -2,70E-02 3 3,45230465 -1,32362420 -3,79E-02 11,672 -3,28E-03 4 3,45554876 -1,32368634 -4,68E-04 11,527 -4,06E-05 5 3,45558934 -1,32368635 -7,27E-07 11,509 -6,32E-08 6 3,45558940 -1,32368635 -1,40E-11 11,509 -1,22E-12 7 3,45558940 -1,32368635 -5,68E-14 11,462 -4,44E-15

Itération x f(x) f'(x) f''(x) Erreur 0 3,00000000 0,00000000 -6,00E+00 14,000 -4,56E-01 1 3,42857143 -1,31945023 -3,15E-01 11,796 -2,70E-02 2 3,45526446 -1,32368574 -3,74E-03 11,513 -3,25E-04 3 3,45558935 -1,32368635 -5,77E-07 11,509 -5,01E-08 4 3,45558940 -1,32368635 -5,68E-14 11,509 -4,88E-15

1-kk

1-kkk xx

)x('f)x('fh−−

=

Page 257: Techniques d’optimisation

Techniques d’optimisation

257

2.2.2 Exemple

Méthode DFP à 2 variables • Minimisation de

• Point initial : x0 = (0 0) • Itération 1 :

• Mise à jour DFP de H-1

• Comparaison au vrai hessien :

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

2221

2121 xxx2x2xx)x(f +++−=

++−++

=⇒21

21

x2x21x2x41

)x(g

=−

1001

H 10

=11

g0

−=−=→ −

11

gHu 01

01

−−

=→

−=→=→−=→

−=+=

11

g11

x1ss2s)s(Fminss

suxx 112

s101

−=

−=→

−=−=

02

y,11

d)g(x)g(xyxxd

00010

010

−=⇒

= −

2111

21H

2224

)x(H 1

=

00

x0

−=

−+

=−+=

3111

21

0004

41

1111

21

1001

yHyHyyH

yddd

HH0

1-0

T0

-10

T00

-10

0T0

T001-

01-

1

Page 258: Techniques d’optimisation

Techniques d’optimisation

258

2.2.2 Exemple

Méthode DFP à 2 variables • Itération 2 :

• On obtient le minimum en 2 itérations (fonction quadratique) :

• Mise à jour DFP de H-1

• Comparaison au vrai hessien :

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

−−

=11

g1

=−=→ −

10

gHu 11

12

=→

−=→=→+++−=→

+−

=+=00

g5.11

x21s)s1()s1(31)s(Fmin

s11

suxx 222

s212

−=

3111

21H 1-

1

−=

11

x1

−=

5.11

*x

=

=→

−=−=

11

y,5.0

0d)g(x)g(xy

xxd11

121

121

−=⇒

= −

2111

21H

2224

)x(H 1

−=

+

−=−+=

2111

21

1000

1000

21

3111

21

yHyHyyH

ydddHH

11-

1T1

-11

T11

-11

1T1

T111-

11-

2

Page 259: Techniques d’optimisation

Techniques d’optimisation

259

2.2.2 Exemple

Méthode DFP à 2 variables On vérifie les propriétés de la méthode DFP appliquée à une fonction quadratique. • Le minimum est obtenu en 2 itérations. • Les directions successives u1 et u2 sont conjuguées par rapport à Q

• On vérifie également :

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.2 Minimisation

=→

2224

Q

002

10

11

2224

10

QuuTT

1T2 =

=

=

111

1 u11

11

4202

21

11

2224

3111

21QuH =

−=

=

−=−

+

=+++−=

2

1T

2

1T

2

12221

2121 x

x1

1xx

2224

xx

21xxx2x2xx)x(f

221

2 u10

10

1001

10

2224

2111

21QuH =

=

=

−=− 11

2 QHavec −− =

Page 260: Techniques d’optimisation

Techniques d’optimisation

260

2.2.3 Globalisation

Difficultés de la méthode de Newton Méthodes de globalisation

Point de Newton et de Cauchy

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.3 Globalisation

Page 261: Techniques d’optimisation

Techniques d’optimisation

261

2.2.3 Globalisation

Difficultés de la méthode de Newton La convergence n’est pas garantie même près de la solution. On ne peut appliquer directement l’itération de Newton. → techniques de globalisation pour vérifier et améliorer le point de Newton Vérification du point de Newton Le point xk+1 doit être meilleur que xk pour être accepté.

• Pour une résolution d’équation : • Pour une minimisation : Techniques de globalisation Si le point xN obtenu par l’itération de Newton ne vérifie pas les conditions d’amélioration, on procède à une recherche locale au voisinage de xk. • Méthode de recherche linéaire : suivant la direction du point de Newton xN • Méthode de région de confiance : à l’intérieur d’une sphère de centre xk

)g(x)g(x0)x(g k1k <⇒= +

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.3 Globalisation

)f(x)f(x0)x(fmin k1kx<⇒= +

Page 262: Techniques d’optimisation

Techniques d’optimisation

262

2.2.3 Point de Newton et de Cauchy

Points particuliers Deux points particuliers sont définis à partir du modèle quadratique de f en xk : • Point de Newton • Point de Cauchy Point de Newton Le point de Newton xN de f en xk minimise le modèle quadratique en xk. xN n’existe que si ∇2f(xk) est définie positive. → dN solution des équations de Newton Point de Cauchy Le point de Cauchy xC de f en xk minimise le modèle quadratique en xk dans la direction −gk. solution de → minimum suivant la plus forte descente Si f est convexe suivant –gk :

)x(xH)x(x21)x(xg)(xf(x)f kk

Tkk

Tkkkk −−+−+=

∇=∇=

)(xfH)(xfgavec

kk2

k

kkk

kCkC gαxx −=

kkTk

kTk

C gHgggα =

2 Optimisation sans contraintes 2.2 Méthode de Newton 2.2.3 Globalisation

→ points utiles dans les algorithmes de globalisation

)αgf(xmin kk0α−

)f(x)df(xavecdxx kNk2

NkN −∇=∇+=

Page 263: Techniques d’optimisation

Techniques d’optimisation

263

Sommaire 1. Bases théoriques

2. Optimisation sans contraintes

2.1 Méthodes de descente 2.2 Méthode de Newton 2.3 Recherche linéaire 2.3.1 Principes 2.3.2 Direction de descente 2.3.3 Pas de déplacement 2.3.4 Algorithme 2.4 Région de confiance 2.5 Moindres carrés 2.6 Méthode de Nelder-Mead

3. Optimisation avec contraintes

2 Optimisation sans contraintes 2.3 Recherche linéaire

Page 264: Techniques d’optimisation

Techniques d’optimisation

264

2.3.1 Recherche linéaire

Problème sans contrainte Etapes principales A chaque itération • Construction d’une direction de descente dk à partir du point xk • Réglage du pas de déplacement sk suivant dk

f(x)minnRx∈

Initialisation x0

Point initial xk

Nouveau point xk+1=xk+skdk

Direction de descente dk

Pas de déplacement sk

Solution x*

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.1 Principes

Page 265: Techniques d’optimisation

Techniques d’optimisation

265

2.3.1 Recherche linéaire

Etapes principales A chaque itération • Construction d’une direction de descente dk à partir du point xk • Réglage du pas de déplacement sk suivant dk Direction de descente dk est une direction de descente en xk si ∇f(xk)Tdk < 0 La direction de descente est construite à partir du gradient et du hessien. • Plus forte pente → gradient (méthode d’ordre 1) • Préconditionnement → hessien (méthode d’ordre 2) Pas de déplacement Le pas de déplacement sk suivant dk doit vérifier f(xk+skdk) < f(xk) L’algorithme de recherche linéaire résout un problème de minimisation à une variable s • Minimisation exacte → dichotomie (Fibonacci, nombre d’or, interpolation) • Minimisation approchée → règles de pas acceptable (Armijo, Goldstein, Wolfe)

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.1 Principes

Page 266: Techniques d’optimisation

Techniques d’optimisation

266

2.3.2 Direction de descente

Plus forte pente

Préconditionnement

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.2 Direction de descente

Page 267: Techniques d’optimisation

Techniques d’optimisation

267

2.3.2 Direction de descente

Plus forte pente La direction de descente « naturelle » est celle du gradient = plus forte dérivée directionnelle • Comportement caractéristique en zigzag • Convergence très lente → méthode inefficace en général Illustration

)f(xd kk −∇=

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.2 Direction de descente

x*

lignes de niveau de f

Page 268: Techniques d’optimisation

Techniques d’optimisation

268

2.3.2 Direction de descente

Plus forte pente Les directions successives de plus forte pente avec pas optimal sont orthogonales. • Itération k

On cherche le minimum de f à partir de xk suivant la direction dk = −∇f(xk) Le nouveau point est xk+1 = xk + sdk avec le pas s>0 solution de :

• Itération k+1

La direction de plus forte pente en xk+1 est dk+1 = −∇f(xk+1) Illustration

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.2 Direction de descente

( ) ( ) ( ) ( ) 0xfd0dsxfd0dsxfdsddsxfmin 1k

Tkkk

TkkkkkRs

=∇⇒=+∇⇒=+⇒+ +∈

lignes de niveau de f

dk+1=−∇f(xk+1) dk=−∇f(xk)

xk+1

xk

0dd 1kTk =⇒ +

Page 269: Techniques d’optimisation

Techniques d’optimisation

269

2.3.2 Exemple

Plus forte pente • Fonction

• Direction

• Pas

• Itération

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.2 Direction de descente

22

21 x

29x

21)x(f +=

Iteration x1 x2 f(x) d1 d2 s Erreur 0 9,000 1,000 45,000 -9,000 -9,000 0,2 9,055 1 7,200 -0,800 28,800 -7,200 7,200 0,2 7,244 2 5,760 0,640 18,432 -5,760 -5,760 0,2 5,795 3 4,608 -0,512 11,796 -4,608 4,608 0,2 4,636 4 3,686 0,410 7,550 -3,686 -3,686 0,2 3,709 5 2,949 -0,328 4,832 -2,949 2,949 0,2 2,967

10 0,966 0,107 0,519 -0,966 -0,966 0,2 0,972 20 0,104 0,012 0,006 -0,104 -0,104 0,2 0,104 30 1,11E-02 1,24E-03 6,90E-05 -1,11E-02 -1,11E-02 0,2 1,12E-02 40 1,20E-03 1,33E-04 7,95E-07 -1,20E-03 -1,20E-03 0,2 1,20E-03 50 1,28E-04 1,43E-05 9,17E-09 -1,28E-04 -1,28E-04 0,2 1,29E-04

−−

=−∇=2

1

x9x

)x(fd

)sdx(fmins

+

22

21

22

21

x729xx81xs

++

=→

kkk1k dsxx +=+

-1,00

-0,75

-0,50

-0,25

0,00

0,25

0,50

0,75

1,00

-1 0 1 2 3 4 5 6 7 8 9 10

Page 270: Techniques d’optimisation

Techniques d’optimisation

270

2.3.2 Direction de descente

Préconditionnement • On se donne une matrice Hk matrice symétrique définie positive.

→ factorisation de Cholesky de Hk : Hk = LkLkT

• Changement de variable : • Direction de plus forte pente pour :

• Itération en :

• Itération en xk :

• Le préconditionnement par la matrice Hk consiste à prendre comme direction de descente

• On vérifie que dk est une direction de descente car Hk est définie positive

kTkk xLx~ =

)x~f(L)f(x)x~(f~

kT

kkk−==

k1

kk1

kkT

k1

kkT

kkk dL)f(xL)x~f(LL)x~f(L)x~(f~

d~ −−−−− −=∇−=∇−=−∇=−∇=

kx~ )x~(f~

sx~x~ kkk1k ∇−=+

( ) ( )k1

kkkTk

Tkkkk

Tk1k

Tk1k dLsxLL)x~(f

~sx~Lx~Lx −−−

+−

+ −=∇−==

k1

kkkk1

kT

kkk1k dHsxdLLsxx −−−+ −=−=⇒

)f(xHd k1

kk ∇−= −

0)f(xH)f(x)f(xd k1

kT

kkTk <∇−∇=∇ −

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.2 Direction de descente

Page 271: Techniques d’optimisation

Techniques d’optimisation

271

2.3.2 Direction de descente

Choix du préconditionnement Toute matrice Hk symétrique définie positive convient. Cas d’un hessien défini positif • Si le hessien ∇2f(xk) est défini positif, on peut prendre .

On obtient l’itération de Newton si le pas sk vaut 1. • On peut prendre pour Hk l’approximation du hessien donné par une méthode quasi-Newton. Cas d’un hessien non défini positif • On peut effectuer la factorisation de Cholesky modifiée du hessien ∇2f(xk) (ou son

approximation quasi Newton) pour obtenir une matrice définie positive. • On peut ajouter un multiple de l’identité : avec τ > 0 assez grand • On peut également prendre Hk diagonale :

à partir des dérivées secondes de f

1k

2k )f(xH −∇=

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.2 Direction de descente

)f(x)f(x)f(xHd k1

k2

k1

kk ∇−∇=∇−= −− )f(x)f(xsxx k1

k2

kk1k ∇∇−=⇒ −+

( ) 1k

2k I)f(xH

−τ+∇=

( ) 0,)(xx

f,maxH1

k2i

2

ik >ε

∂∂

ε=−

Page 272: Techniques d’optimisation

Techniques d’optimisation

272

2.3.2 Exemple

Préconditionnement • Fonction :

• Préconditionnement : • Direction : • Pas : • Itération :

→ convergence en 1 itération

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.2 Direction de descente

22

21 x

29x

21)x(f +=

=∇⇒

2

1

x9x

)x(f

)d~

sx~(f~

mins

+ 1s =→

0d~

sx~x~ kkk1k =+=+

T2

3001

3001

9001

)x(f

=

=∇⇒

=

3001

L 22

21

2

221

22

11 x~21x~

21x

31

29x~

21)x~(f

~x3x~xx~ +=

+=⇒

==⇒

−−

=−∇=2

1

x~x~

)x~(f~

d~

-1,00

-0,50

0,00

0,50

1,00

1,50

2,00

-1 0 1 2 3 4

Page 273: Techniques d’optimisation

Techniques d’optimisation

273

2.3.3 Pas de déplacement

Minimisation unidimensionnelle

Minimisation exacte - Méthode de dichotomie - Méthode de Fibonacci - Méthode du nombre d’or - Interpolation quadratique

Minimisation approchée - Règle d’Armijo - Règle de Goldstein - Règle de Wolfe

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement

Page 274: Techniques d’optimisation

Techniques d’optimisation

274

2.3.3 Minimisation unidimensionnelle

Problème à une variable Méthodes • Minimisation exacte On cherche à trouver un minimum local x* avec une précision donnée → réduction itérative de l’intervalle de recherche : dichotomie → réduction optimale : Fibonacci, nombre d’or • Minimisation approchée On cherche une réduction suffisante de la fonction sans déterminer précisément le minimum x* → règles d’acceptation (Armijo, Goldstein, Wolfe) → limitation du nombre d’évaluations de la fonction

f(x)minRx∈

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement

x

f(x)

minimum local minimum global

Page 275: Techniques d’optimisation

Techniques d’optimisation

275

2.3.3 Minimisation exacte

Recherche par dichotomie L’allure de la fonction f n’est pas connue. On suppose qu’il existe un minimum unique dans l’intervalle de recherche [a,d] • On évalue la fonction aux extrémités a et d : → f(a) , f(d) • On évalue la fonction en 2 points b et c : a < b < c < d → f(b) , f(c) • On conserve soit l’intervalle [a,c], soit l’intervalle [b,d]

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement

x

f(x)

b d a

On conserve [b,d]

c x

f(x)

b d a

On conserve [a,c]

c

Page 276: Techniques d’optimisation

Techniques d’optimisation

276

2.3.3 Minimisation exacte

Réduction optimale de l’intervalle • On cherche b et c pour que l’intervalle restant soit le plus petit possible.

La taille de l’intervalle restant ne doit pas dépendre du choix de [a,c] ou [b,d]. • On note : ∆1 la longueur de l’intervalle initial → ∆1 = d − a

∆2 la longueur de l’intervalle restant → ∆2 = c − a si on garde [a,c] ou ∆2 = d − b si on garde [b,d]

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement

acbd2 −=−=∆

2cb

2dacbda +

=+

⇒+=+⇒

Les points b et c doivent être symétriques par rapport au milieu de l’intervalle [a,d].

x

f(x)

b d a c

∆1

∆2

∆2

Page 277: Techniques d’optimisation

Techniques d’optimisation

277

2.3.3 Minimisation exacte

Réduction optimale de l’intervalle • On suppose que l’intervalle restant est [a,c]. • Pour réutiliser le point b à l’itération suivante, on choisit le nouveau point e

symétrique de b par rapport au milieu de l’intervalle [a,c]. → ∆1 = d − a → ∆2 = c − a = d − b → ∆3 = b − a = c − e

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement

Les longueurs ∆k des intervalles successifs vérifient :

( ) ( )abbdad −+−=−

x

f(x)

b d a c

∆1

∆2

∆3

∆3

e

∆2

321 ∆+∆=∆⇒

2k1kk ++ ∆+∆=∆

Page 278: Techniques d’optimisation

Techniques d’optimisation

278

2.3.3 Minimisation exacte

Réduction optimale de l’intervalle • Les intervalles successifs sont de longueur ∆k vérifiant : ∆k = ∆k+1 + ∆k+2

• Après un nombre N d’itérations, on obtient un intervalle de longueur ∆N−1 . • On définit la suite de nombres Fk par : ∆k = FN−k ∆N−1 pour k = 1,…,N−1

• La suite (Fn)n=1,…,N−1 vérifie

• La suite est complètement déterminée par la valeur de F2

2kN1kNkN1N

2k

1N

1k

1N

k2k1kk FFF

ΔΔ

ΔΔ

ΔΔΔΔΔ −−−−−

+

+

−++ +=⇒+=⇒+=

1N3,4,...,nk,NnpourFFF 2n1nn −=−=+=⇒ −−

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement

1NkpourΔFΔ 1N11N −== −− 1F1 =⇒

−=+=

=

1N3,4,...,npourFFFchoisiràF

1F

2-n1-nn

2

1

Page 279: Techniques d’optimisation

Techniques d’optimisation

279

2.3.3 Minimisation exacte

Méthode de Fibonacci • Pour un nombre N d’itérations fixé, on choisit F2 pour que ∆N-1 soit minimal.

• Valeur maximale de F2 :

• On obtient la suite de Fibonacci : 1, 2, 3, 5, 8, 13, 21, … Nombre d’itérations La méthode de Fibonacci est optimale si l’on fixe à l’avance la précision requise sur la solution. • Précision requise : ∆N-1 = p • Intervalle initial [a,b] : ∆ 1 = b-a La méthode de Fibonacci donne le nombre minimal d’itérations N pour obtenir la solution avec une précision donnée. • La disposition des premiers points b et c dépend de N : → ∆2

maximalFmaximalFminimalFΔΔ 21-N

1-N

11-N ⇒⇒=

≥≥ 1-kk2-N1-N Δ

21ΔcarΔ

21Δ

pa-bF

FΔΔ 1-N

1-N

11-N =⇒=⇒

2-N

1-N

2

1

FF

ΔΔ

=

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement

→ valeur de N

2FF21F max221 =⇒≥⇒

Page 280: Techniques d’optimisation

Techniques d’optimisation

280

2.3.3 Minimisation exacte

Méthode du nombre d’or La méthode de Fibonacci nécessite de changer la disposition des points à chaque itération. La disposition des points n’est optimale que pour une précision donnée. La méthode du nombre d’or est plus générale et plus simple à mettre en oeuvre.

• On impose un rapport de réduction fixe de l’intervalle à chaque itération.

• On obtient pour le rapport γ le nombre d’or : → Méthode du nombre d’or (ou de la section dorée) Optimalité • La méthode du nombre d’or n’est pas optimale pour un nombre d’itérations donné N.

• Pour un nombre d’itérations grand :

→ La disposition des points de Fibonacci tend vers celle du nombre d’or.

γ...ΔΔ

ΔΔ...

ΔΔ

ΔΔ

2k

1k

1k

k

3

2

2

1 =====+

+

+2k1kk ΔΔΔavec ++ +=

01γγγ11γ

ΔΔ1

ΔΔ 2

1k

2k

1k

k =−−⇒+=⇒+=⇒+

+

+

618034.12

51γ ≈+

=

γFF

lim1-N

N

N=

∞→

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement

Page 281: Techniques d’optimisation

Techniques d’optimisation

281

2.3.3 Minimisation exacte

Comparaison Fibonacci - Nombre d’or Le rapport de réduction de l’intervalle après n itérations vaut : • Pour la méthode de Fibonacci :

• Pour la méthode du nombre d’or :

Nombre d’itérations Une itération de la méthode de Fibonacci ou du nombre d’or correspond à une évaluation de f.

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement

nn

1 FΔΔ

=

1n

n

1 γΔΔ −=

Nombre d’évaluations

Rapport de réduction Fibonacci Nombre d’or

10-2 11 13

10-3 15 18

10-4 20 22

10-5 25 27

10-6 30 31

Page 282: Techniques d’optimisation

Techniques d’optimisation

282

2.3.3 Minimisation exacte

Méthode du nombre d’or • Positionnement des points

• Itération

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement

x

f(x)

b d a c

∆1

∆2

∆3 ∆2

618034.12

51γΔΔ

ΔΔ

3

2

2

1 ≈+

===

+=+=+=

⇒1

1

12

ΔadΔracΔrab

618034.02

15γ1ravec

ΔrΔγ1Δ

rΔΔγ1Δ

12

123

112

≈−

==

==

==⇒

+=←←←

→>

1

21Δrac

ΔΔcbba

)c(f)b(fSi

+=←←←

→<

1221

ΔrabΔΔbccd

)c(f)b(fSi

Page 283: Techniques d’optimisation

Techniques d’optimisation

283

2.3.3 Exemple

Méthode du nombre d’or • Minimisation de

• Itération 1

• Itération 2 • Itération 3

• Itération 4

• Itération 5

• Solution : x* ≈ 0.8832 → f(x*) ≈ −0.5606 au lieu de x* ≈ 0.8603 → f(x*) ≈ −0.5611

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement

)xcos(x)x(f −=2

x0, π≤≤

0 0.6000 0.9708 1.5708

0 f

x

0 -0.4952 -0.5482

0.6000 0.9708 1.2000 1.5708

-0.4952 f

x

0 -0.5482 -0.4350

0.6000 0.8292 0.9708 1.2000

-0.4952 f

x

-0.4350 -0.5601 -0.5482

0.6000 0.7416 0.8292 0.9708

-0.4952 f

x

-0.5482 -0.5468 -0.5601

0.7416 0.8292 0.8832 0.9708

-0.5468 f

x

-0.5482 -0.5601 -0.5606

Page 284: Techniques d’optimisation

Techniques d’optimisation

284

2.3.3 Minimisation exacte

Interpolation quadratique

• On connaît la valeur de la fonction f en 3 points x1, x2, x3. • On construit le polynome q de degré 2 passant par les 3 points. • Dérivée du polynome q On obtient une approximation du minimum de f en minimisant q.

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement

===

→−−

−−+

−−

−−+

−−

−−=

33

22

11

2313

213

1232

132

3121

321

y)x(qy)x(qy)x(q

)xx)(xx()xx)(xx(

y)xx)(xx()xx)(xx(

y)xx)(xx()xx)(xx(

y)x(q

===

)x(fy)x(fy)x(fy

33

22

11

)xx)(xx()xxx2(y

)xx)(xx()xxx2(

y)xx)(xx(

)xxx2(y)x('q

2313

213

1232

132

3121

321 −−

−−+

−−−−

+−−

−−=

x1 x2 x3

y1

y2

y3

Page 285: Techniques d’optimisation

Techniques d’optimisation

285

2.3.3 Minimisation exacte

Interpolation quadratique

• La dérivée du polynome q s’écrit : • On cherche la valeur xm qui annule la dérivée du polynome q.

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement

)xx)(xx()xxx2(y

)xx)(xx()xxx2(

y)xx)(xx(

)xxx2(y)x('q

2313

213

1232

132

3121

321 −−

−−+

−−−−

+−−

−−=

[ ] [ ])xx)(xx)(xx(

)xx(y)xx(y)xx(y)xx(y)xx(y)xx(yx2)x('q

133221

22

213

21

232

23

221213132321

−−−−+−+−+−+−+−−

=⇒

( ) ( ))xx)(xx)(xx(

ryryrysysysyx2)x('q

133221

123312231123312231

−−−+++++−

=⇒

−=−=

2j

2iij

jiij

xxrxxs

avec

[ ] [ ] 0ryryrysysysyx20)x('q 123312231123312231mm =+++++⇒=

123312231

123312231m sysysy

ryryry21x

++++

=⇒

−=−=

2j

2iij

jiij

xxrxxs

avec

Page 286: Techniques d’optimisation

Techniques d’optimisation

286

2.3.3 Minimisation exacte

Interpolation quadratique • On évalue la valeur de la fonction en xm → ym = f(xm) → On dispose de 4 points x1, x2, x3, xm avec les valeurs respectives de f : y1, y2, y3, ym → On conserve 3 points choisis parmi x1, x2, x3, xm selon : - la position de xm par rapport à x1, x2, x3 - le minimum parmi ym, y1, y2, y3 Cas de divergence : Le polynome est trop éloigné de la fonction Il faut un balayage plus fin avant l’interpolation quadratique. • On réitère l’interpolation quadratique avec les 3 nouveaux points

jusqu’à réduire la taille de l’intervalle à la précision souhaitée.

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement

Points retenus xm < x1 x1 < xm < x2 x2 < xm < x3 x3 < xm

Minimum = ym (xm,x1,x2) (x1,xm,x2) (x2,xm,x3) (x2,x3,xm)

Minimum = y1 (xm,x1,x2) (x1,xm,x2) (x1,x2,xm) divergence

Minimum = y2 divergence (xm,x2,x3) (x1,x2,xm) divergence

Minimum = y3 divergence (xm,x2,x3) (x2,xm,x3) (x2,x3,xm)

Page 287: Techniques d’optimisation

Techniques d’optimisation

287

2.3.3 Exemple

Interpolation quadratique • Minimisation de

• Itération 1

• Itération 2 • Itération 3

• Itération 4

• Itération 5

• Solution : x* ≈ 0.3333 → f(x*) ≈ −1.1852

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement

2)1x)(1x()x(f +−= 2x0, ≤≤

0 0.3750 1.0000 2.0000

-1.0000 f

x

9.0000 -1.1816 0.0000

0 0.2895 0.3750 1.0000

-1.0000 f

x

0.0000 -1.1814 -1.1816

0.2895 0.3327 0.3750 1.0000

-1.1814 f

x

0.0000 -1.1852 -1.1816

0.2895 0.3327 0.3329 0.3750

-1.1814 f

x

-1.1816 -1.1852 -1.1852

0.3327 0.3329 0.3333 0.3750

-1.1852 f

x

-1.1816 -1.1852 -1.1852

Page 288: Techniques d’optimisation

Techniques d’optimisation

288

2.3.3 Minimisation approchée

Principes • Il n’est pas utile de réaliser une minimisation exacte suivant la direction de descente : → nécessite un grand nombre d’évaluations de la fonction → n’apporte pas une amélioration significative loin de la solution • On peut se contenter d’une minimisation approchée

→ 2 règles d’acceptation d’un pas de déplacement

Notations • xk = point courant → f(xk) • dk = direction de descente → ∇f(xk)Tdk < 0 • Variation de la fonction f dans la direction dk : Règles d’acceptation du pas • Diminution suffisante de la valeur de la fonction → condition d’Armijo

1ère condition de Wolfe • Déplacement suffisant par rapport au point initial → condition de Goldstein

2ème condition de Wolfe

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement

0s),sdx(f)s( kk ≥+=ϕ

Page 289: Techniques d’optimisation

Techniques d’optimisation

289

2.3.3 Minimisation approchée

Diminution suffisante La fonction f doit décroître suffisamment pour accepter le pas. • Dérivée directionnelle de f suivant la direction dk • On impose une diminution proportionnelle à la dérivée directionnelle, avec 0 < ε < c1 < 0.5 → Condition d’Armijo ou 1ère condition de Wolfe ou 1ère condition de Goldstein

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement

0d)x(f)0('0s),sdx(f)s( kT

kkk <∇=ϕ⇒≥+=ϕ

→ valeur typique c1=0.1

f(x)=ϕ(s) s → x = xk+sdk

ϕ’(0)

c1ϕ’(0)

pas acceptables

kT

k1kkk1 d)x(fsc)x(f)sdx(f)0('sc)0()s( ∇+<+⇔ϕ+ϕ<ϕ

Page 290: Techniques d’optimisation

Techniques d’optimisation

290

2.3.3 Minimisation approchée

Déplacement suffisant Le déplacement à partir du point initial doit être suffisant pour accepter le pas. • Condition de Goldstein • Condition de Wolfe : réduction de la dérivée

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement

→ valeur typique c2=0.9

→ valeur typique c2=0.9

pas acceptables (Goldstein)

f(x)=ϕ(s)

s

ϕ’(0) c2ϕ’(0)

f(x)=ϕ(s)

s

ϕ’(0) c2ϕ’(0)

pas acceptables (Wolfe)

kT

k2kkk2 d)x(fsc)x(f)sdx(f)0('sc)0()s( ∇+>+⇔ϕ+ϕ>ϕ

kT

k2kT

kk2 d)x(fcd)sdx(f)0('c)s(' ∇>+∇⇔ϕ>ϕ

Page 291: Techniques d’optimisation

Techniques d’optimisation

291

2.3.3 Minimisation approchée

Récapitulatif • Conditions de Goldstein

(si la dérivée de f est coûteuse) • Conditions de Wolfe

(si la dérivée de f est disponible)

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement

≈→ϕ+ϕ>ϕ≈→ϕ+ϕ<ϕ

9.0c)0('sc)0()s(1.0c)0('sc)0()s(

22

11

f(x)=ϕ(s)

s → x = xk+sdk

ϕ’(0)

c1ϕ’(0)

pas acceptables (Goldstein)

c2ϕ’(0)

≈→ϕ>ϕ≈→ϕ+ϕ<ϕ

9.0c)0('c)s('1.0c)0('sc)0()s(

22

11

(0)'c(s)'ou 2 ϕ<ϕ → assure théoriquement la convergence

Page 292: Techniques d’optimisation

Techniques d’optimisation

292

2.3.3 Réglage du pas

Méthode de dichotomie On cherche un pas s vérifiant les conditions de Goldstein : Initialisation • Intervalle initial : [smin , smax] avec smin = 0

smax assez grand • Valeur initiale : s=1 (pas de Newton)

Itérations Evaluation de ϕ(s) et comparaison aux droites de Goldstein • Si s ne respecte pas la condition 1 → amélioration insuffisante, pas trop grand : smax=s • Si s ne respecte pas la condition 2 → déplacement insuffisant, pas trop petit: smin=s → Réduction de l’intervalle [smin , smax] → Essai suivant : Arrêt • Si s respecte les 2 conditions → pas acceptable • Si l’intervalle [smin , smax] devient inférieur à un seuil donné

ϕ+ϕ>ϕϕ+ϕ<ϕ

)0('sc)0()s()0('sc)0()s(

2

1

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement

)ss(21s maxmin +=

Page 293: Techniques d’optimisation

Techniques d’optimisation

293

2.3.3 Réglage du pas

Illustration

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.3 Pas de déplacement

ϕ(s)

s

c1ϕ’(0)

c2ϕ’(0)

smax smin s1 s2 s3

Page 294: Techniques d’optimisation

Techniques d’optimisation

294

2.3.4 Algorithme

Algorithme de recherche linéaire

Convergence

Exemple

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.4 Algorithme

Page 295: Techniques d’optimisation

Techniques d’optimisation

295

2.3.4 Algorithme

Algorithme de recherche linéaire

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.4 Algorithme

Direction de descente : )f(xHd k1

kk ∇−= −

Initialisation : x0 Gradient : ∇f(x0) Approximation du hessien : H0

Itération k : xk Gradient : ∇f(xk) Approximation du hessien : Hk>0

Recherche linéaire suivant dk → pas sk Règle de Goldstein ou Wolfe

Nouveau point : xk+1 = xk + sk dk Gradient : ∇f(xk+1)

Mise à jour du hessien par BFGS ou SR1 Modification du hessien : Hk+1>0 Factorisation de Cholesky modifiée

→ H0 =I par défaut

Itération k+1 : xk+1 Gradient : ∇f(xk+1) Approximation du hessien : Hk+1>0

Arrêt si : ε)f(x 1k <∇ +

Page 296: Techniques d’optimisation

Techniques d’optimisation

296

2.3.4 Algorithme

Principaux résultats de convergence • Si d est une direction de descente, et f est bornée inférieurement suivant d,

alors il existe un pas s suivant d vérifiant les conditions de Wolfe

• Si les directions de descente ne deviennent pas « trop » orthogonales au gradient, l’algorithme de recherche linéaire avec les conditions de Wolfe est globalement convergent. → convergence vers un point stationnaire

En pratique • Les directions de descente peuvent être construites avec BFGS ou SR1 (si matrices Hk > 0) • La valeur des coefficients de Goldstein ou Wolfe c1 et c2 n’est pas critique pour la convergence. • Le pas de Newton (s=1) est systématiquement testé,

car il donne la solution si la fonction est proche de son modèle quadratique.

• La méthode de plus forte pente a la propriété de convergence globale, mais peut être très lente. On peut assurer la convergence globale d’un algorithme de recherche linéaire utilisant d’autres directions en effectuant périodiquement une itération de plus forte pente.

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.4 Algorithme

0)x(flim kk=∇

∞→

Page 297: Techniques d’optimisation

Techniques d’optimisation

297

2.3.4 Exemple

Fonction de Rosenbrock • Point initial :

• Recherche linéaire avec BFGS ou SR1

2 Optimisation sans contraintes 2.3 Recherche linéaire 2.3.4 Algorithme

−1

2.1

0

1

2

3

4

5

0 10 20 30 40

Itération

BFGSSR1

f

-0,25

0

0,25

0,5

0,75

1

1,25

-1,5 -1 -0,5 0 0,5 1 1,5

BFGS

-0,25

0

0,25

0,5

0,75

1

1,25

-1,5 -1 -0,5 0 0,5 1 1,5

SR1

( ) ( )21

221221 x1xx100)x,x(f −+−=

Page 298: Techniques d’optimisation

Techniques d’optimisation

298

Sommaire 1. Bases théoriques

2. Optimisation sans contraintes

2.1 Méthodes de descente 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.4.1 Principes 2.4.2 Modèle quadratique 2.4.3 Rayon de confiance 2.4.4 Algorithme 2.5 Moindres carrés 2.6 Méthode de Nelder-Mead

3. Optimisation avec contraintes

2 Optimisation sans contraintes 2.4 Région de confiance

Page 299: Techniques d’optimisation

Techniques d’optimisation

299

2.4.1 Région de confiance

Problème sans contrainte Etapes principales A chaque itération • Résolution d’un modèle quadratique dans un rayon rk autour du point xk → déplacement dk • Réglage du rayon de confiance rk pour obtenir une amélioration de f

f(x)minnRx∈

Initialisation x0

Point initial xk

Nouveau point xk+1=xk+dk

Modèle quadratique dk

Rayon de confiance rk

Solution x*

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.1 Principes

Page 300: Techniques d’optimisation

Techniques d’optimisation

300

2.4.1 Région de confiance

Illustration

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.1 Principes

x*

x0

x1

x2

modèle quadratique en x0

modèle quadratique en x1

modèle quadratique en x2

Page 301: Techniques d’optimisation

Techniques d’optimisation

301

2.4.2 Modèle quadratique

Problème de région de confiance

Conditions d’optimalité

Résolution approchée

Méthode dogleg

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique

Page 302: Techniques d’optimisation

Techniques d’optimisation

302

2.4.2 Problème de région de confiance

Modèle quadratique • Au point courant xk on approxime la fonction par son modèle quadratique.

d∈Rn = déplacement à partir du point xk • Le modèle quadratique représente correctement la fonction au voisinage de xk dans un rayon rk La région de confiance est le voisinage dans lequel l’approximation est « bonne » (à définir). Région de confiance de rayon rk : rk = rayon de confiance en xk Problème de région de confiance • On cherche le minimum du modèle quadratique à l’intérieur de la région de confiance

→ Problème de région de confiance • On peut choisir différentes normes pour définir la région de confiance

- Norme 2 : région de confiance circulaire - Norme ∞ : région de confiance rectangulaire

d)x(fd21)x(fd)x(f)dx(f k

2Tk

Tkkk ∇+∇+=+

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique

krd ≤

kkkRd

rdsous)dx(fminn

≤+∈

Page 303: Techniques d’optimisation

Techniques d’optimisation

303

rdsousdHd21gdf)d(fmin 0

T0

T0

Rd n≤++=

2.4.2 Problème de région de confiance

Notations • Point courant : xk noté x0 • Fonction : f(xk) noté f0 • Gradient : ∇f(xk) noté g0 • Hessien : ∇2f(xk) noté H0 • Déplacement à partir de x0 :d∈Rn • Fonction modèle : • Région de confiance : • Problème de région de confiance :

dHd21gdf)d(f 0

T0

T0 ++=

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique

rd ≤

x0

xN

-g0 dN

lignes de niveau du modèle quadratique

Page 304: Techniques d’optimisation

Techniques d’optimisation

304

2.4.2 Conditions d’optimalité

Région de confiance en norme 2 Le problème de région de confiance s’écrit avec la norme 2 • Lagrangien : • Conditions d’ordre 1 :

Contrainte de région de confiance • Si la contrainte de région de confiance est inactive, la contrainte peut être ignorée.

La solution du problème quadratique sans contrainte est le point de Newton.

• Si la contrainte de région de confiance est active, la solution est au bord de la région de confiance : On peut alors montrer que est semi-définie positive. Le problème quadratique est résolu avec la méthode de Newton et la matrice

( ) 0rd21sousdHd

21gdf)d(fmin 22

0T

0T

0Rd n

≤−++=∈

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique

( )220

T0

T0 rd

21dHd

21gdf),d(L −µ+++=µ

( ) 00 g*dI*Hr*d −=µ+⇒=I*H0 µ+

0I*H0 ≥µ+

( ) ( )

=−⇔=−

≥≤

=++=∇

0r*d*μ0r*d*μ

0μ*,r*d0d**μ*dHgμ*)L(d*,

22

00d

Page 305: Techniques d’optimisation

Techniques d’optimisation

305

2.4.2 Résolution approchée

Résolution du problème quadratique • On doit résoudre à chaque itération le problème : • Le problème doit éventuellement être résolu pour plusieurs valeurs du rayon. → résolution coûteuse si la contrainte est active → solution approximative par une méthode simplifiée (méthode dogleg) Point de Newton Le point de Newton xN est la solution du problème quadratique sans contrainte. Point de Cauchy Le point de Cauchy xC minimise le critère quadratique suivant le gradient :

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique

rdsousdHd21gdf)d(fmin 0

T0

T0

Rd n≤++=

dHd21gdf)d(fmin 0

T0

T0

Rd n++=

∈ N0N01

0N dxxgHd +=⇒−=⇒ −

00T0

20

T000Rs

gHgs21gsgf)sg(fmin +−=−

0s,sgd 0C ≥−=

00T0

0T0

C gHggg

s =⇒

C0C0CC dxxgsd +=⇒−=⇒

Page 306: Techniques d’optimisation

Techniques d’optimisation

306

2.4.2 Résolution approchée

Résolution du problème quadratique → solution d(r)∈Rn, x(r) = x0 + d(r) Lorsque le rayon de confiance r varie, la solution suit une courbe x(r) allant de x0 à xN.

• r = 0 → x(0) = x0 (tangente = −g0) • r > |dN| → x(r) = xN

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique

rdsousdHd21gdf)d(fmin 0

T0

T0

Rd n≤++=

x0

xN −g0

x(r)

lignes de niveau du modèle quadratique

r

Page 307: Techniques d’optimisation

Techniques d’optimisation

307

2.4.2 Méthode dogleg

Chemin dogleg Le chemin dogleg est composé de 2 segments : • Le segment 1 joignant le point initial x0 au point de Cauchy xC = x0 + dC • Le segment 2 joignant le point de Cauchy x0 au point de Newton xN = x0 + dN On restreint la recherche de la solution au chemin dogleg. Paramétrage du chemin dogleg Le chemin dogleg est paramétré par s : x(s) = x0 + d(s) , pour s∈[0,2] • Segment 1 → d(s) = sdC pour s∈[0,1[ • Segment 2 → d(s) = dC + (s−1)(dN − dC) pour s∈[1,2]

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique

x0

xC xN

dC dN

lignes de niveau du modèle quadratique

Page 308: Techniques d’optimisation

Techniques d’optimisation

308

2.4.2 Méthode dogleg

Résolution du problème quadratique On cherche la solution du problème quadratique sous contrainte de région de confiance Le point de Newton est la solution du problème quadratique sans contrainte → 2 cas possibles • Si le point de Newton est à l’intérieur de la région de confiance, la contrainte est inactive.

→ La solution est dN.

• Sinon, la contrainte est active et peut être formulée comme une contrainte égalité.

On restreint la recherche de la solution au chemin dogleg paramétré par s∈[0,2]. Segment 1 → d(s) = sdC pour s∈[0,1[ Segment 2 → d(s) = dC + (s−1)(dN − dC) pour s∈[1,2] → Il suffit de trouver l’intersection du chemin dogleg avec la région de confiance en résolvant |d(s)| = r.

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique

rdsousdHd21gdf)d(fmin 0

T0

T0

Rd n≤++=

rdsousdHd21gdf)d(fmin 0

T0

T0

Rd n=++=

Page 309: Techniques d’optimisation

Techniques d’optimisation

309

2.4.2 Méthode dogleg

Position des points dogleg Trois situations sont possibles par rapport au rayon de confiance. • |dC| ≥ r → le point de Cauchy est à l’extérieur de la région de confiance

• |dC| < r < |dN| → le point de Cauchy est à l’intérieur de la région de confiance

le point de Newton est à l’extérieur de la région de confiance

• |dN| ≤ r → le point de Newton est à l’intérieur de la région de confiance

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique

x0

xC xN

dC dN

r x0

xC xN

dC

dN

r

x0

xC xN

dC

dN

r

Page 310: Techniques d’optimisation

Techniques d’optimisation

310

2.4.2 Méthode dogleg

Solution du problème dogleg La fonction |d(s)| est croissante. La solution s* de |d(s)| = r est : • Sur le segment 1 si |dC| ≥ r • Sur le segment 2 si |dC| < r Solution sur le segment 1 d(s) = sdC avec s∈[0,1[ car dC // −g0 Solution sur le segment 2 d(s) = dC + (s−1)(dN − dC) avec s∈[1,2] L’équation du second degré en s* admet une racine positive.

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique

0

0

C

C

CC g

gr

dd

r*ddr*srd*s −==⇒=⇒=

( ) ( ) 2CNC

TCNCCNC r)dd)(1*s(d)dd)(1*s(dr)dd)(1*s(d =−−+−−+⇒=−−+

( )

−=

−=

−=−+−

+=⇒22

C

CNTC

2CN

2

rdc

dd2db

dda

avec2a

4acbb1s*

Page 311: Techniques d’optimisation

Techniques d’optimisation

311

2.4.2 Exemple

Méthode dogleg • Fonction

• Point initial : • Modèle quadratique :

• Point de Cauchy : • Point de Newton : • Région de confiance de rayon r : → paramétrée par θ • Chemin dogleg : segment 1 → , 0 ≤ s ≤ 1 segment 2 → , 0 ≤ s ≤ 1

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique

22

2121 x

29x

21)x,x(f +=

=

19

x0

=∇

99

)x(f 0

=∇

9001

)x(f 02

( )51s)s9(5)s9(1845min)x(fsxfmin 2

s00s=→+−→∇−

22

21210

2TT000 p

29p

21p9p945p)x(fp

21p)x(f)x(f)px(f ++++=∇+∇+=+

=⇒8.0

2.7xC

( )

=∇∇−=

99

9/1001

19

)x(f)x(fxx 01

02

0N

=⇒

00

x N

θ+θ+

=

θθ

+=sinr1cosr9

sincos

rxx 0r

−−

=−+=s8.11s8.19

)xx(sx)s(x 0C01d

+−

−=−+=

s8.08,0s2.72.7

)xx(sx)s(x CNC2d

Page 312: Techniques d’optimisation

Techniques d’optimisation

312

2.4.2 Exemple

Méthode dogleg

• Région de confiance de rayon r=1 : sur le segment 1 • Région de confiance de rayon r=4 : sur le segment 2

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.2 Modèle quadratique

22

2121 x

29x

21)x,x(f +=

=

19

x0

=

=⇒00

x,8.0

2.7x NC

-1,50

-1,00

-0,50

0,00

0,50

1,00

1,50

2,00

2,50

3,00

3,50

4,00

-1 0 1 2 3 4 5 6 7 8 9 10 11

xN

xC

x0

r = 4

r = 1

chemin dogleg

≈⇒

293.0293,8

xd

≈⇒592.0

331,5xd

Page 313: Techniques d’optimisation

Techniques d’optimisation

313

2.4.3 Rayon de confiance

Rapport de réduction

Réglage du rayon

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.3 Rayon de confiance

Page 314: Techniques d’optimisation

Techniques d’optimisation

314

2.4.3 Rapport de réduction

Validité du modèle quadratique Le modèle quadratique est une approximation de la fonction valide dans un voisinage de x0. → Si le rayon de confiance est trop grand, le modèle quadratique n’est plus représentatif. → Il faut vérifier que la solution d* du modèle quadratique donne l’amélioration attendue. Rapport de réduction • On définit le rapport de réduction ρ entre la variation prévue :

et la variation réalisée : Rapport de réduction : • La valeur de ρ permet de vérifier si le modèle quadratique représente correctement la fonction,

et d’adapter le rayon de confiance.

• ρ ≈ 1 ou > 1 : amélioration réelle > amélioration prévue → modèle bon • ρ ≈ 0 ou < 0 : amélioration réelle < amélioration prévue → modèle mauvais

Le rayon est réglé de façon itérative en fonction de la valeur de ρ.

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.3 Rayon de confiance

*)dx(f)x(f*)dx(f)x(f

00

00

+−

+−=ρ

*)dx(f)x(f 00 +−*)dx(f)x(f 00 +−

Page 315: Techniques d’optimisation

Techniques d’optimisation

315

2.4.3 Réglage du rayon

Réglage du rayon On modifie le rayon de confiance en fonction du rapport de réduction • ρ > ρ2 avec ρ2 = 0.9

La fonction f décroît au moins comme prévu : le modèle est bon. → On accepte le nouveau point. → On passe à l’itération suivante en multipliant par 2 le rayon de confiance.

• ρ < ρ1 avec ρ1 = 0.01 La fonction f augmente au lieu de diminuer comme prévu : le modèle est mauvais. → On rejette le nouveau point. → On reprend l’itération en divisant par 2 le rayon de confiance.

• ρ1 < ρ < ρ2 La fonction décroît, mais moins que prévu : le modèle est correct. → On accepte le nouveau point. → On passe à l’itération suivante sans changer le rayon de confiance.

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.3 Rayon de confiance

*)dx(f)x(f*)dx(f)x(f

00

00

+−

+−=ρ

Page 316: Techniques d’optimisation

Techniques d’optimisation

316

2.4.4 Algorithme

Algorithme de région de confiance

Convergence

Exemple

- Région de confiance norme 2 - Région de confiance norme ∞

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.4 Algorithme

Page 317: Techniques d’optimisation

Techniques d’optimisation

317

2.4.4 Algorithme

Algorithme de région de confiance

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.4 Algorithme

Résolution problème quadratique → pas dk Méthode dogleg

Initialisation : x0 − Rayon r0 Gradient : ∇f(x0) Approximation du hessien : H0

Itération k : xk − Rayon rk Gradient : ∇f(xk) Approximation du hessien : Hk>0

Rapport de réduction → ρ Réglage du rayon → rk+1

Nouveau point : xk+1 = xk + dk Gradient : ∇f(xk+1)

Mise à jour du hessien par BFGS ou SR1 Modification du hessien : Hk+1>0 Factorisation de Cholesky modifiée

→ H0 =I par défaut

Itération k+1 : xk+1 − Rayon rk+1 Gradient : ∇f(xk+1) Approximation du hessien : Hk+1>0

Arrêt si : ε)f(x 1k <∇ +

Page 318: Techniques d’optimisation

Techniques d’optimisation

318

2.4.4 Algorithme

Principaux résultats de convergence • Lorsque le rayon de confiance est petit, la solution dogleg est suivant le gradient.

L’itération est équivalente à la méthode de plus forte pente → convergence lente • Lorsque le rayon de confiance est grand, la solution dogleg est le point de Newton.

L’itération est équivalente à la méthode de Newton → convergence rapide

En pratique • On peut combiner l’algorithme de région de confiance avec BFGS ou SR1.

Il n’est pas nécessaire que le hessien soit défini positif. Si le hessien n’est pas défini positif, la méthode SR1 est plus efficace.

• La valeur des seuils de réduction ρ1 et ρ2 pour régler le rayon n’est pas critique pour la convergence.

• Le point de Newton xN est systématiquement testé,

car il donne la solution s’il est à l’intérieur de la région de confiance. Sinon, on cherche une solution approchée sur le chemin dogleg.

• D’autres méthodes de résolution approchée du problème quadratique existent.

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.4 Algorithme

Page 319: Techniques d’optimisation

Techniques d’optimisation

319

2.4.4 Exemple

Fonction de Rosenbrock • Point initial :

• Région de confiance avec BFGS ou SR1 • Norme 2 : région de confiance circulaire 0

1

2

3

4

5

0 10 20 30 40

Itération

BFGSSR1

f

−1

2.1

-0,25

0

0,25

0,5

0,75

1

1,25

-1,5 -1 -0,5 0 0,5 1 1,5

BFGS

-0,25

0

0,25

0,5

0,75

1

1,25

-1,5 -1 -0,5 0 0,5 1 1,5

SR1

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.4 Algorithme

( ) ( )21

221221 x1xx100)x,x(f −+−=

Page 320: Techniques d’optimisation

Techniques d’optimisation

320

2.4.4 Exemple

Fonction de Rosenbrock • Point initial :

• Région de confiance avec BFGS ou SR1 • Norme ∞ : région de confiance rectangulaire 0

1

2

3

4

5

0 10 20 30 40

Itération

BFGSSR1

f

−1

2.1

-0,25

0

0,25

0,5

0,75

1

1,25

-1,5 -1 -0,5 0 0,5 1 1,5

BFGS

-0,25

0

0,25

0,5

0,75

1

1,25

-1,5 -1 -0,5 0 0,5 1 1,5

SR1

2 Optimisation sans contraintes 2.4 Région de confiance 2.4.4 Algorithme

( ) ( )21

221221 x1xx100)x,x(f −+−=

Page 321: Techniques d’optimisation

Techniques d’optimisation

321

Sommaire 1. Bases théoriques

2. Optimisation sans contraintes

2.1 Méthodes de descente 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.5.1 Formulation 2.5.2 Méthode de Gauss-Newton 2.5.3 Moindres carrés linéaires 2.5.4 Filtre de Kalman 2.5.5 Méthode du gradient conjugué 2.6 Méthode de Nelder-Mead

3. Optimisation avec contraintes

2 Optimisation sans contraintes 2.5 Moindres carrés

Page 322: Techniques d’optimisation

Techniques d’optimisation

322

2.5.1 Formulation

Problème de moindres carrés → problème (MC) • Variables x∈Rn : n paramètres d’ajustement d’un modèle • Résidus r(x)∈Rm : m écarts entre modèle et mesures • Critère f(x)∈R :

→ minimisation d’écart quadratique

• Gradient :

• Hessien :

• Résolution : en appliquant la méthode de Newton

2

Rx)x(r

21min

n∈

∑=

===m

1i

2i

T2 )x(r21)x(r)x(r

21)x(r

21)x(f

∑=

∇=∇=∇m

1iii )x(r)x(r)x(r)x(r)x(f

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.1 Formulation

∈∇∈∇

×

×

1ni

mn

R)x(rR)x(ravec

( )

=

=

∇+∇∇=

∇+∇∇=∇

m

1iii

2T

m

1iii

2Tii

2

)x(r)x(r)x(r)x(r

)x(r)x(r)x(r)x(r)x(f

Page 323: Techniques d’optimisation

Techniques d’optimisation

323

2.5.2 Méthode de Gauss-Newton

Méthode de Newton L’itération de Newton au point xk est : → déplacement dk Avec Méthode de Gauss-Newton • L’évaluation du hessien nécessite les dérivées secondes des fonctions ri(x)

→ calcul très coûteux si m est grand

• Pour accélérer les calculs, on ignore le second terme : Cette approximation du hessien n’utilise que les dérivées premières. La matrice obtenue est de plus toujours semi-définie positive → nécessaire pour la convergence de la méthode de Newton

• L’itération de Gauss-Newton au point xk est :

)x(fd)x(f kkk2 −∇=∇

)x(r)x(rd)x(r)x(r kkkT

kk −∇=∇∇

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.2 Méthode de Gauss-Newton

T2 )x(r)x(r)x(f ∇∇≈∇

∇+∇∇=∇

∇=∇=∇

=

=m

1iii

2T2

m

1iii

)x(r)x(r)x(r)x(r)x(f

)x(r)x(r)x(r)x(r)x(f

Page 324: Techniques d’optimisation

Techniques d’optimisation

324

2.5.2 Méthode de Gauss-Newton

Méthode de Gauss-Newton La méthode de Gauss-Newton équivaut à considérer un modèle linéaire des fonctions ri(x) en xk Le problème devient : • Critère :

• Gradient :

• Condition d’ordre 1 :

→ On retrouve l’itération de Gauss-Newton obtenue en ignorant les dérivées secondes dans le hessien

m,,1i,)xx()x(r)x(r)x(r kT

kikii =−∇+=

)x(r)x(r21)x(r

21)x(f T2

==

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.2 Méthode de Gauss-Newton

2

Rx)x(r

21min

n∈

)xx()x(r)x(r)x(r kT

kk −∇+=⇔

( ) ( ))xx()x(r)x(r)xx(

21)x(r)x(r)xx()x(r)x(r

21

)xx()x(r)x(r)xx()x(r)x(r21)x(f

kT

kkT

kkkT

kkT

k

kT

kkT

kT

kk

−∇∇−+∇−+=

−∇+−∇+=⇒

)x(r)x(r)xx()x(r)x(r)x(f kkkT

kk ∇+−∇∇=∇

)x(r)x(r)xx()x(r)x(r0)x(f kkkT

kk −∇=−∇∇⇒=∇

Page 325: Techniques d’optimisation

Techniques d’optimisation

325

2.5.3 Moindres carrés linéaires

Cas linéaire → problème (MC) • Critère : • Gradient :

• Hessien : Dans le cas linéaire, la méthode de Gauss-Newton est identique à la méthode de Newton. → La convergence est obtenue en une itération. Equations normales • La solution x* du problème (MC) vérifie → système d’équations normales du problème (MC) : • Si A est de rang plein, x* est l’unique solution du problème (MC).

( ) ( ) bb21AxbAxAx

21bAxbAx

21)x(r

21)x(f TTTTT2

+−=−−==

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.3 Moindres carrés linéaires

AA)x(f T2 =∇

( )bAxA)x(r)x(r)x(f T −=∇=∇

mnm2

RxRb,RA,bAx)x(ravec)x(r

21min

n∈∈−= ×

2

RxbAx

21min

n−

( ) bAAxA0bAxA0*)x(f TTT =⇒=−⇒=∇

Page 326: Techniques d’optimisation

Techniques d’optimisation

326

2.5.3 Exemple

Moindres carrés linéaires On cherche à estimer l’accélération de la gravité à partir de mesures de hauteur en chute libre.

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.3 Moindres carrés linéaires

Temps (s) Hauteur (m) 0 0,90 1 5,40 2 20,81 3 45,73 4 78,56 5 124,10 6 175,75 7 241,41 8 315,08 9 397,36 10 488,25 11 595,35 12 707,26 13 829,98 14 961,20 15 1103,14 16 1252,89 17 1415,55 18 1586,62 19 1770,20 20 1964,29

0

500

1000

1500

2000

0 5 10 15 20Temps t (s)

Hauteur h (m)

h

g 2gt21h =→

Page 327: Techniques d’optimisation

Techniques d’optimisation

327

2.5.3 Exemple

Moindres carrés linéaires On résout le problème de moindres carrés linéaires :

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.3 Moindres carrés linéaires

∑=

−=

m

1i

2i

iRg 2tgh

21)g(fmin

2tgh

2i

èlemod =Modèle :

Solution moindres carrés : g* = 9,8070 m/s2 → f(g*) = 21,668

èlemodmesure hhr −=Résidu : ∑=

=→m

1i

2i )g(r

21)g(f

h (m)

t2/2 (s2)

Temps (s)

H mesure (m)

H modèle (m)

Résidu (m)

0 0,90 0,00 0,90 1 5,40 4,90 0,49 2 20,81 19,61 1,19 3 45,73 44,13 1,60 4 78,56 78,46 0,10 5 124,10 122,59 1,51 6 175,75 176,53 -0,78 7 241,41 240,27 1,13 8 315,08 313,82 1,25 9 397,36 397,18 0,17

10 488,25 490,35 -2,10 11 595,35 593,32 2,02 12 707,26 706,10 1,15 13 829,98 828,69 1,28 14 961,20 961,09 0,12 15 1103,14 1103,29 -0,14 16 1252,89 1255,30 -2,40 17 1415,55 1417,11 -1,56 18 1586,62 1588,73 -2,11 19 1770,20 1770,16 0,04 20 1964,29 1961,40 2,89

0

500

1000

1500

2000

0 50 100 150 200

Page 328: Techniques d’optimisation

Techniques d’optimisation

328

2.5.4 Filtre de Kalman

Moindres carrés récursifs • On considère un problème de moindres carrés linéaires composé de 2 blocs • Les 2 blocs correspondent à 2 séries de mesures donnant chacune des résidus respectifs. → m1 mesures → m2 mesures • Les matrices A1 et A2 sont supposées de rang plein → A1

T A1 et A2T A2 inversibles

Problème initial • On appelle problème initial le problème restreint au 1er bloc : • On note x1 la solution du problème initial.

La solution x1 vérifie les équations normales du problème initial :

• On cherche ensuite à exprimer la solution x2 du problème complet en fonction de x1.

1T111

T1 bAxAA =

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.4 Filtre de Kalman

211

RxbxAmin

n−

−=−=

222

111

bxA)x(rbxA)x(r

222

211

RxbxAbxAmin

n−+−

∈∈∈∈

×

×

22

11

m2

nm2

m1

nm1

Rb,RARb,RAavec

Page 329: Techniques d’optimisation

Techniques d’optimisation

329

2.5.4 Filtre de Kalman

Problème complet • On réécrit le problème complet en regroupant les 2 blocs.

• La solution x2 vérifie les équations normales du problème complet.

• La solution x1 vérifie les équations normales du problème initial :

• On exprime x2 en fonction de x1 et des données du 2ème bloc de mesures

( ) ( )

=

⇒=

2

1T2

T12

2

1T2

T1

T2

T

bb

AAxAA

AAbAAxA

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.4 Filtre de Kalman

1T111

T1 bAxAA =

2

Rx

2

2

1

2

1

Rx

222

211

RxbAxmin

bb

xAA

minbxAbxAminnnn

−⇔

⇔−+−

∈∈∈

( ) 2T21

T122

T21

T1 bAbAxAAAA +=+⇒

2121 mm

2

1n)mm(

2

1 Rbb

b,RAA

Aavec +×+ ∈

=∈

=

( )( ) ( )122

T212

T21

T1

2T212

T212

T211

T12

T211

T12

T21

T122

T21

T1

xAbAxAAAAbAxAAxAAxAAbAxAAbAbAxAAAA

−++=+−+=+=+=+

( ) ( )122T2

12

T21

T112 xAbAAAAAxx −++=⇒

Page 330: Techniques d’optimisation

Techniques d’optimisation

330

2.5.4 Filtre de Kalman

Filtre de Kalman La solution des moindres carrés est mise à jour à chaque nouvelle mesure disponible. → traitement incrémental en temps réel • Initialisation : filtre H0 (=0 par défaut)

solution x0 (=0 par défaut)

• Itération : filtre Hk solution xk

Mise en œuvre • Les matrices Ak

TAk doivent être inversibles → en prenant un nombre suffisant de mesures

• On peut introduire une pondération ρ pour privilégier les mesures récentes. → ρ = 1 pour donner le même poids à toutes les mesures → ρ < 1 pour privilégier la dernière mesure • Itération : filtre Hk

solution xk

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.4 Filtre de Kalman

( )1kkkTk

1k1kk xAbAHxx −−

− −+=k

Tk1kk AAHH += −

kTk1kk AAHH +ρ= − ( )1kkk

Tk

1k1kk xAbAHxx −−

− −+=∑

=

∈−ρ⇔

k

1i

2ii

ik

RxbxAmin

n

∑=∈

−⇔k

1i

2ii

RxbxAmin

n

Page 331: Techniques d’optimisation

Techniques d’optimisation

331

2.5.4 Filtre de Kalman

Exemple On applique la mise à jour de Kalman à chaque nouvelle mesure. • Filtre :

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.4 Filtre de Kalman

( )

−+=+=→

−−

1kkkTk

1k1kk

kTk1kk

xAbAHxxAAHH

kk

2k

k

2

èlemod

kkmesure

gx,2tAg

2tAxh

hbbh

==→==

=→=Mesure :

Modèle :

==

0x0H

0

0

Temps (s)

Matrice H

Estimation g (m/s2)

0 0,0 0,0000 1 0,3 10,7937 2 4,3 10,4263 3 24,5 10,2074 4 88,5 9,9269 5 244,8 9,9274 6 568,8 9,8341 7 1169,0 9,8440 8 2193,0 9,8450 9 3833,3 9,8305 10 6333,3 9,8046 11 9993,5 9,8177 12 15177,5 9,8195 13 22317,8 9,8204 14 31921,8 9,8167 15 44578,0 9,8136 16 60962,0 9,8068 17 81842,3 9,8041 18 108086,3 9,8016 19 140666,5 9,8029 20 180666,5 9,8070 9,50

9,75

10,00

10,25

10,50

10,75

11,00

0 5 10 15 20Temps t (s)

Estimation g (m/s2)

g20 = 9.8070 m/s2

Page 332: Techniques d’optimisation

Techniques d’optimisation

332

2.5.4 Filtre de Kalman

Comparaison moindres carrés − filtre de Kalman • Les moindres carrés sont adaptés à l’estimation de paramètres de modèle a posteriori

(= lorsque toutes les mesures sont disponibles).

• Le filtre de Kalman est adapté à des applications en temps réel (= lorsque les mesures arrivent une à une)

• Les moindres carrés et le filtre de Kalman sont équivalents pour l’estimation de paramètres

d’un modèle linéaire. Le filtre de Kalman peut être appliqué à différents problèmes d’estimation.

Applications du filtre de Kalman • Estimation de l’état d’un système dynamique linéaire, discret ou continu.

→ état fonction du temps, mesures en temps réel

• Estimation de l’état d’un système dynamique non linéaire → par linéarisation autour d’une trajectoire de référence estimée au préalable

• Méthode de filtrage largement utilisée dans les systèmes temps réels

→ nombreuses variantes

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.4 Filtre de Kalman

Page 333: Techniques d’optimisation

Techniques d’optimisation

333

2.5.5 Gradient conjugué

Problème quadratique On considère un problème de moindres carrés linéaires. Le problème de moindres carrés revient à minimiser une forme quadratique définie positive. avec Q∈Rn×n symétrique définie positive Méthode de directions conjuguées • 2 directions di et dj sont conjuguées par rapport à Q si di

TQdj = 0

• On obtient le minimum de la forme quadratique définie positive en n itérations à pas optimal suivant des directions conjuguées (di)i=1,…,n. • La méthode du gradient conjugué consiste à construire une suite de directions conjuguées

et à minimiser suivant ces directions successives pour obtenir le minimum de f. → extension à une fonction f quelconque (méthode de Fletcher-Reeves)

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué

mnm2

RxRb,RA,bAx)x(ravec)x(r

21min

n∈∈−= ×

( ) ( ) bb21AxbAxAx

21bAxbAx

21)x(r

21 TTTTT2

+−=−−=⇒

xcQxx21)x(f TT +=

Page 334: Techniques d’optimisation

Techniques d’optimisation

334

2.5.5 Gradient conjugué

Méthode du gradient conjugué • On part d’un point initial x0 quelconque. La direction initiale est le gradient : d1 = −∇f(x0) • A chaque itération, le nouveau point xk est obtenu par minimisation suivant dk.

• La nouvelle direction dk+1 est définie à partir de la précédente dk et du gradient en xk. → plusieurs méthodes possibles • La méthode converge en n itérations pour une fonction quadratique définie positive.

Pour une fonction f quelconque, la convergence est généralement rapide car f est proche d’une fonction quadratique définie positive au voisinage de l’optimum.

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué

Initialisation x0

Point courant xk-1

Direction conjuguée dk

Minimisation suivant dk

Solution x*=xn

Nouveau point xk

kk1kkk1ksdsxx)sdx(fmin +=→+ −−

kkk1k d)x(fd β+−∇=+

Page 335: Techniques d’optimisation

Techniques d’optimisation

335

2.5.5 Gradient conjugué

Méthode du gradient conjugué • La direction de descente à l’itération k est cherchée sous la forme avec xk obtenu par minimisation suivant dk : • La nouvelle direction dk+1 doit être conjuguée à toutes les directions précédentes d1,…, dk. Il existe plusieurs méthodes de construction des directions conjuguées successives (di)i=1,…,n. • Directions de Fletcher-Reeves

• Directions de Polak-Ribière → formules équivalentes dans le cas d’une fonction f quadratique

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué

k,,1i,0dQd iT

1k ==+

kkk1k d)x(fd β+−∇=+

kk1kkk1ksdsxx)sdx(fmin +=→+ −−

kkk1k d)x(fd β+−∇=+ 21k

2k

k)x(f

)x(favec

−∇

∇=β

kkk1k d)x(fd β+−∇=+

( )2

1k

kT

1kkk

)x(f)x(f)x(f)x(favec

∇∇−∇=β

Page 336: Techniques d’optimisation

Techniques d’optimisation

336

2.5.5 Gradient conjugué

Directions de Fletcher-Reeves → directions conjuguées pour Preuve : On note gk = ∇f(xk) = Qxk + c

• Propriété préliminaire

Si les n directions d1,…,dn sont conjuguées, alors pour k=1 à n. A l’itération i, xi est obtenu par minimisation suivant di

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué

kkk1k d)x(fd β+−∇=+ 21k

2k

k)x(f

)x(favec

−∇

∇=β

n,,1i,0gd0)sdx(fd)sdx(fdsd)sdx(fmin i

Tii1i

Tii1ii1is

==⇒=+∇=+⇒+ −−−

j

k

1ijjij

k

1ijjikkj

k

1ijjik Qds)x(fcdsxQcQxgdsxx ∑∑∑

+=+=+=

+∇=+

+=+=⇒+=

k,,1i,0gd kTi ==

≠==

=+=⇒ ∑+= jisi0Qdd

0gdcar0Qddsgdgdj

Ti

iTi

jTi

k

1ijji

Tik

Ti

xcQxx21)x(f TT +=

1k,,1i,0gget kTi −==

kicar0gdk,,1i,0gdcargdgggg

kT

1i

kTik

Tiik

Tik

Ti

<=−===−=⇒

+

β

Page 337: Techniques d’optimisation

Techniques d’optimisation

337

2.5.5 Gradient conjugué

Directions de Fletcher-Reeves Preuve : on montre par récurrence que dk+1 est conjuguée à d1,…,dk. • Pour d1 et d2 :

• On suppose d1,…,dk conjuguées : Il faut montrer que

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué

( ) ( )

+=+−=

−=−+−=

1101

1112

01

1

01T0111

T2

dsxxdgd

gdcar

sxxQggQdd ββ

( ) cQxgcars

ggggQdd1

01T0111

T2 +=

−+−=⇒ β

( ) 0dgggcarggQdd 1T10

T1

T

012

11T2 ==−−=⇒ β (propriété préliminaire)

20

21

20

21

11T2

g

g

)x(f

)x(fcar0Qdd =

∇==⇒ β (par définition de β)

kj,i,ji,0Qdd jTi ≤≠=

k,,1i,0Qdd 1kTi ==+

( ) 0QddcarQgddgQdQdd kTik

Tikkk

Ti1k

Ti =−=−−=+ β (par hypothèse de récurrence)

( ) ii1iik

T

i

1iik

Ti1k

Ti dsxxcarg

sxxQgQdQdd +=

−−=−=⇒ −

−+

cQxgcargs

ggQdd k

T

i

1ii1k

Ti +=

−=⇒ −

+

Page 338: Techniques d’optimisation

Techniques d’optimisation

338

2.5.5 Gradient conjugué

Directions de Fletcher-Reeves Preuve • On obtient :

• Il faut encore montrer pour i=k : On obtient bien : → valeur de βk telle que

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué

( )1k,,1i,0ggcar

1k,,1ipour0ggggs1Qdd

kTi

kT

1ikTi

i1k

Ti

−==

−==−= −+

(propriété préliminaire) 0Qdd 1k

Tk =+

( )k

Tk

kTk

kkkkTk1k

Tk Qdd

Qgd0dgQd0Qdd =⇒=+−⇒=+ ββ

( ) 2k

kk

T1kk

kk

T

k

1kkk

Tk g

s1ggg

s1g

sxxQQgd =−=

−= −

( ) 0gdcargds1ggd

s1

sxxQdQdd k

Tk1k

Tk

k1kk

Tk

kk

1kkTkk

Tk =−=−=

−= −−

− (propriété préliminaire)

( ) 1kT

1k2

1kk

1kT

1k1k1kk

1kTk

kk

Tk gdcarg

s1gdg

s1gd

s1Qdd −−−−−−−− =+−−=−=⇒ β

21k

2k

kg

g

=β 0Qdd 1kTk =+

Page 339: Techniques d’optimisation

Techniques d’optimisation

339

2.5.5 Exemple

Gradient conjugué • Fonction quadratique

• Point initial • Itération 1 : • Itération 2 : • Solution :

2 Optimisation sans contraintes 2.5 Moindres carrés 2.5.5 Gradient conjugué

−−

=

−−

=+=→

−=−∇=

1s2

55

s510sdxx

05

)x(fd 10101

2221

2121 xxxx

21)x,x(f ++=

=5

10x0

++

=∇→21

2121 x2x

xx)x,x(f

( ) ( ) 1s25s225s2225)sdx(fmin 1210

s=⇒+−−−=+

−=

+−

−=+=→

−=

11

)s1(5s55

s55sdxx

55

d 2122

( ) ( ) ( ) 1ss125s125s1225)sdx(fmin 222221

s=⇒−+−−−=+

12525

)x(f

)x(favecd)x(fd 20

2111112 ==

∇=ββ+−∇=

=∇

=→5

0)x(f,

55

x 11

=∇

=→

00

)x(f,00

x 22

=∇

=

00

*)x(f,00

*x

Page 340: Techniques d’optimisation

Techniques d’optimisation

340

Sommaire 1. Bases théoriques

2. Optimisation sans contraintes

2.1 Méthodes de descente 2.2 Méthode de Newton 2.3 Recherche linéaire 2.4 Région de confiance 2.5 Moindres carrés 2.6 Méthode de Nelder-Mead 2.6.1 Principes 2.6.2 Algorithme 2.6.3 Exemples

3. Optimisation avec contraintes

2 Optimisation sans contraintes 2.6 Méthode de Nelder-Mead

Page 341: Techniques d’optimisation

Techniques d’optimisation

341

2.6.1 Méthode de Nelder-Mead

Problème sans contrainte Principes La méthode de Nelder-Mead est une méthode d’ordre 0 (sans dérivées) → n’utilise que des évaluations de la fonction (aucune évaluation du gradient) • On définit un ensemble P de n+1 points de Rn : P est un polytope ou « simplexe » de Rn. • Les points de P sont rangés du meilleur au plus mauvais : • A chaque itération, on cherche à remplacer le plus mauvais point par un point meilleur.

après reclassement

• On obtient une suite de polytopes (Pk)k∈N :

• Si la méthode converge, les polytopes Pk sont de taille décroissante et les points du polytope convergent vers un minimum local de f.

f(x)minnRx∈

2 Optimisation sans contraintes 2.6 Méthode de Nelder-Mead 2.6.1 Principes

{ }1nn21 x,x,,x,xP +=

)x(f)x(f)x(f)x(f 1nn21 +≤≤≤≤

{ }k1n

kn

k2

k1

k x,x,,x,xP +=

{ } { }{ }'x,'x,,'x,'x'P

x,x,,x,x'Px,x,,x,xP1nn21

newn211nn21

+

+=→=→=

Page 342: Techniques d’optimisation

Techniques d’optimisation

342

2.6.1 Méthode de Nelder-Mead

Polytope Nouveau point xc est le barycentre des n meilleurs points. On cherche à ramener le plus mauvais point xn+1 vers le barycentre xc. On teste des points x sur la demi-droite [xn+1,xc) paramétrée par t > 0. Points testés successivement : • Réflexion : x(t=+1) = xr • Expansion : x(t=+2) = xe • Contraction externe : x(t=+0.5) = xce • Contraction externe : x(t=−0.5) = xci

2 Optimisation sans contraintes 2.6 Méthode de Nelder-Mead 2.6.1 Principes

{ }1nn21 x,x,,x,xP +=

)x(f)x(f)x(f)x(f 1nn21 +≤≤≤≤

∑=

=n

1iic x

n1x

)xx(tx)t(x 1ncc +−+=

x1

x2

x3 x*

x1

x2

x3 x*

xe

xr xce

xci

x(t)

xc

Page 343: Techniques d’optimisation

Techniques d’optimisation

343

2.6.1 Méthode de Nelder-Mead

Nouveau point Le polytope initial est avec La demi-droite [xn+1,xc) est supposée être une direction de descente. On teste d’abord xr (symétrique de xn+1 / xc). • Résultat très bon :

→ on essaie xe on remplace xn+1 par xe ou xr.

• Résultat bon :

→ on remplace xn+1 par xr. • Résultat moyen :

→ on essaie xce on remplace xn+1 par xce ou xr.

• Résultat mauvais :

→ on essaie xci on remplace xn+1 par xci , ou on contracte tout le polytope P vers x1

2 Optimisation sans contraintes 2.6 Méthode de Nelder-Mead 2.6.1 Principes

{ }1nn21 x,x,,x,xP += )x(f)x(f)x(f)x(f 1nn21 +≤≤≤≤

x1

x2

x3 x*

xe

xr xce

xci

x(t)

xc )x(f)x(f)x(f nr1 <≤

)x(f)x(f 1r <

)x(f)x(f)x(f 1nrn +<≤

)x(f)x(f r1n ≤+

Page 344: Techniques d’optimisation

Techniques d’optimisation

344

2.6.2 Algorithme

Itération k 1. Barycentre :

2. Réflexion : xr = xc + d → f(xr) 3. Si f(xr) < f(x1)

Expansion : xe = xc + 2d → f(xe) Si f(xe) < f(xr) → x’ = xe Sinon → x’ = xr

4. Si f(x1) < f(xr) < f(xn) → x’ = xr 5. Si f(xn) < f(xr) < f(xn+1)

Contraction externe : xce = xc + d/2 → f(xce) Si f(xce) < f(xr) → x’ = xce Sinon → x’ = xr

6. Si f(xn+1) < f(xr) Contraction interne : xci = xc − d/2 → f(xci) Si f(xci) < f(xn+1) → x’ = xci Sinon réduction de P vers x1 →

7. Nouveau point x’ → polytope à reclasser

2 Optimisation sans contraintes 2.6 Méthode de Nelder-Mead 2.6.2 Algorithme

{ } )x(f)x(f)x(f)x(favecx,x,,x,xP k1n

kn

k2

k1

k1n

kn

k2

k1

k++ ≤≤≤≤=

k1nc

n

1i

kic xxdx

n1x +

=

−=→= ∑

( )ki1

1ki xx

21x +=+

{ }'x,x,,x,xP kn

k2

k1

1k =+

{ } )x(f)x(f)x(f)x(favecx,x,,x,xP 1k1n

1kn

1k2

1k1

1k1n

1kn

1k2

1k1

1k ++

+++++

++++ ≤≤≤≤=

d

2d

d/2

d/2

Page 345: Techniques d’optimisation

Techniques d’optimisation

345

2.6.2 Algorithme

Initialisation Polytope initial → points suffisamment distants, non alignés Itération k • Nouveau point x’ → reclassement des points x1, x2, … , xn, x’ par valeur de f croissante

• Nouveau polytope : Arrêt • Taille du polytope • Valeur de la fonction (non décroissante, identique sur tout le polytope) • Dégénérescence du polytope (alignement des points).

2 Optimisation sans contraintes 2.6 Méthode de Nelder-Mead 2.6.2 Algorithme

{ } )x(f)x(f)x(f)x(favecx,x,,x,xP 01n

0n

02

01

01n

0n

02

01

0++ ≤≤≤≤=

{ } )x(f)x(f)x(f)x(favecx,x,,x,xP k1n

kn

k2

k1

k1n

kn

k2

k1

k++ ≤≤≤≤=

{ } )x(f)x(f)x(f)x(favecx,x,,x,xP 1k1n

1kn

1k2

1k1

1k1n

1kn

1k2

1k1

1k ++

+++++

++++ ≤≤≤≤=

Page 346: Techniques d’optimisation

Techniques d’optimisation

346

2.6.3 Exemples

Exemple 1 : fonction quadratique

2 Optimisation sans contraintes 2.6 Méthode de Nelder-Mead 2.6.3 Exemples

22

2121 x

29x

21)x,x(f +=

-0,5

0,0

0,5

1,0

1,5

2,0

2,5

-0,5 0,0 0,5 1,0 1,5 2,0 2,5

Page 347: Techniques d’optimisation

Techniques d’optimisation

347

2.6.3 Exemples

Exemple 2 : fonction de Rosenbrock

2 Optimisation sans contraintes 2.6 Méthode de Nelder-Mead 2.6.3 Exemples

-0,25

0,00

0,25

0,50

0,75

1,00

1,25

-1,50 -1,00 -0,50 0,00 0,50 1,00 1,50

( ) ( )21

221221 x1xx100)x,x(f −+−=

Page 348: Techniques d’optimisation

Techniques d’optimisation

348

Sommaire 1. Bases théoriques

2. Optimisation sans contraintes

3. Optimisation avec contraintes

3.1 Simplexe 3.2 Point intérieur 3.3 Gradient projeté 3.4 Lagrangien augmenté 3.5 Programmation quadratique séquentielle 3.6 Convergence

3 Optimisation avec contraintes

Page 349: Techniques d’optimisation

Techniques d’optimisation

349

3 Optimisation avec contraintes

Problème non linéaire sous contraintes → Problème noté (PO) Catégories de problèmes • Programmation linéaire → Fonctions f, cE, cI linéaires • Programmation non linéaire → Fonctions f, cE, cI quelconques Traitement des contraintes • Méthodes de contraintes actives → Identification des inégalités actives

Transformation en un problème avec contraintes égalité Respect des contraintes à chaque itération

• Méthodes de point intérieur → Fonction barrière (pénalisation intérieure) Suivi d’un chemin central intérieur aux contraintes

• Méthodes de pénalisation → Critère augmenté (pénalisation extérieure) Transformation en un problème sans contraintes

3 Optimisation avec contraintes

≤=

∈ 0(x)c0(x)csousf(x)min

I

ERx n

Page 350: Techniques d’optimisation

Techniques d’optimisation

350

3 Optimisation avec contraintes

Problème non linéaire sous contraintes → Problème noté (PO) Classification des méthodes

3 Optimisation avec contraintes

≤=

∈ 0(x)c0(x)csousf(x)min

I

ERx n

Méthode primale Méthode primale-duale Méthode duale

Problème traité problème primal problème primal problème dual

Objectif min f - méthode directe - point stationnaire

solution KKT - méthode indirecte - point stationnaire

max w - méthode indirecte - point col

Itérations admissibles admissibles ou non non admissibles

Variables primales x primales x , duales λ primales x , duales λ

Algorithmes - simplexe (LP) - gradient projeté - pénalisation

- point intérieur (LP, NLP) - séquentiel quadratique - lagrangien augmenté

- Uzawa

Page 351: Techniques d’optimisation

Techniques d’optimisation

351

Sommaire 1. Bases théoriques

2. Optimisation sans contraintes

3. Optimisation avec contraintes

3.1 Simplexe 3.1.1 Problème linéaire 3.1.2 Déplacement 3.1.3 Initialisation 3.1.4 Simplexe révisé 3.1.5 Simplexe dual 3.2 Point intérieur 3.3 Gradient projeté 3.4 Lagrangien augmenté 3.5 Programmation quadratique séquentielle 3.6 Convergence

3 Optimisation avec contraintes 3.1 Simplexe

Page 352: Techniques d’optimisation

Techniques d’optimisation

352

3.1.1 Problème linéaire

Forme standard

Solution

Recherche systématique

Recherche optimisée

Forme canonique

3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire

Page 353: Techniques d’optimisation

Techniques d’optimisation

353

=⇒

==

=

−→

0bBEx0x

bAxavecxxEx

-1

Nmn

m

N

B

3.1.1 Problème linéaire

Problème linéaire sous forme standard → problème noté (PL) Rappels • Base B = (Aj1 , … , Ajm) = m colonnes indépendantes de A ⇒ B inversible

AE = (B N) avec E = matrice de permutation de colonnes (EET = I)

• Solution de base : admissible (ou réalisable) si

• Direction de base dj , j∈N • Coût réduit = dérivée directionnelle suivant la direction de base dj : Coût réduit négatif → direction de descente

m)A(rangRc,Rb,RA nmnm

=∈∈∈ ×

≥=0x

bAxsousxcmin T

x

3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire

0bBx 1B ≥= −

=

−=

=

jNj

T

j1

jB

jN

jBj

d0eE

ABdavecd

dEd

→ pour vérifier Ax=b

→ composantes nulles sauf =1 sur la composante j

j1T

BjjT

j ABccdcc −−==

Page 354: Techniques d’optimisation

Techniques d’optimisation

354

3.1.1 Solution

Problème linéaire sous forme standard Solution On note P le polytope associé aux contraintes : Si le problème (PL) admet une solution, alors il existe un sommet optimal x*. Preuve : On suppose que PL admet une solution de coût f* On considère un sommet x* du polytope Q inclus dans P : On suppose par l’absurde que x* n’est pas un sommet de P. La fonction linéaire est minimale en α* : La fonction ϕ est donc constante (sinon elle décroît d’un côté de α*) On a donc : en contradiction avec l’hypothèse que x est un sommet de Q.

m)A(rangRc,Rb,RA nmnm

=∈∈∈ ×

{ }0xb,Ax/RxP n ≥=∈=

≥=0x

bAxsousxcmin T

x

3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire

{ }*fxc/PxQ T =∈=

Qz,y*fzcyc TT

∈⇒==⇒

≤≤−+=

10zc)1(yc)( TT

ααααϕ

<<==

1*0*f*xc*)( T

ααϕ

1*0,zy,Pz,yavecz*)1(y**x <<≠∈−+= ααα

1*0,zy,Qz,yavecz*)1(y**x <<≠∈−+= ααα

Page 355: Techniques d’optimisation

Techniques d’optimisation

355

3.1.1 Solution

Recherche systématique Si (PL) admet une solution x*, x* est un sommet du polytope P associé aux contraintes. On peut donc trouver la solution : en parcourant tous les sommets de P (= bases) en calculant les solutions de base associées en conservant la meilleure solution de base réalisable • Choix de m colonnes parmi les n colonnes de A → base B possible

• Vérification que la base est réalisable : B inversible et B-1b≥0 → Solution de base admissible : • Valeur du coût associé à la base B :

• Sélection de la meilleure solution (f minimal) Inconvénient combinaisons possibles → inapplicable en pratique

m)!(nm!n!Cm

n −=

BTBN

TNB

TB

T xcxcxcxcf =+==

00bBEx

xEx1

N

B ≥

=

=

3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire

Page 356: Techniques d’optimisation

Techniques d’optimisation

356

3.1.1 Exemple

Recherche systématique • Représentation graphique dans R2

• Solution graphique : point C (f = −2)

• Solution par énumération des sommets

3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire

≥=+−=++

−−0x,x,x,x1xxx1xxx

sousx2xmin4321

421

321

21x,x,x,x 4321

≥≥

≤−≤+

= 0x

0x,1xx1xx/x

xP'2

1

21

21

2

1

x1

x2

x1+x2=1

x1−x2=1

1

1

0

A B

C

D

P

Base x f x1,x2 (1 0 0 0) → B −1 x1,x3 (1 0 0 0) → B −1 x1,x4 (1 0 0 0) → B −1 x2,x3 (0 −1 2 0) → D Non admissible x2,x4 (0 1 0 2) → C −2 x3,x4 (0 0 1 1) → A 0

Page 357: Techniques d’optimisation

Techniques d’optimisation

357

3.1.1 Solution

Recherche optimisée On évite l’énumération systématique en parcourant les sommets de façon ordonnée → Méthode du simplexe = méthode de contraintes actives Principes • On se déplace d’une solution de base admissible à une autre solution de base admissible. → Les solutions non admissibles ne sont pas examinées.

• Les bases successives ne diffèrent que par l’une des variables (bases adjacentes)

• Le déplacement d’un sommet à un autre est choisi à partir des directions de base

→ Déplacement suivant les arêtes du polytope

• Les coûts réduits déterminent les directions de descente possibles. → Sélection d’une direction de déplacement (plusieurs règles de sélection possibles)

• Le problème est mis sous forme canonique dans la base B → Permet de vérifier l’optimalité de la base B → Permet de construire le déplacement vers une base adjacente

3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire

Page 358: Techniques d’optimisation

Techniques d’optimisation

358

3.1.1 Forme canonique

Réduction dans la base B • Forme standard : • Base B :

• Réduction aux variables hors base • Forme canonique dans la base B → Réduction à n-m variables = variables hors-base xN

3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire

≥=0x

bAxsousxcmin T

x m)A(rangRc,Rb,RA nmnm

=∈∈∈ ×

≥≥−=⇒=++⇔

−−

∈∈ 0x,0x

xNBbBxbxNxBsousxcxcminNB

N11

BNBN

TNB

TB

RxRx

m-nN

mB

( )mn

m

N

BxxEx,NBAE

−→

==

+=+=

⇒N

TNB

TB

TNB

xcxcxcxNxBAx

( )

≥≥−=−+⇔

−−−−

∈ − 0x0xNBbBxsousxNBccbBcmin

N

N11

BN

1TB

TN

1TB

Rx mnN

≥=0x

bAxsousxcmin T

x

0xNBbxsousxczmin N1

BNTN

0xRx

N

mnN

≥−=+ −

≥∈ −

−===

NBcccbczbBb

avec1T

BTN

TN

TB

1

Page 359: Techniques d’optimisation

Techniques d’optimisation

359

3.1.1 Forme canonique

Evaluation de la base B La solution x* du problème linéaire correspond à un sommet = solution de base admissible → Evaluer l’optimalité de la solution de base associée à la base B → Construire le déplacement vers une nouvelle base B’ meilleure que B • Forme canonique dans B :

• Solution de base associée à B : si B est admissible (ou réalisable) • Variation du coût : Optimalité • Coût réduit = dérivée directionnelle suivant la direction de base dj associée à xj, j∈N • Si tous les coûts réduits sont positifs ou nuls, la solution est optimale. • Sinon le coût décroît suivant une direction de base dj de coût réduit négatif

= direction de descente

3 Optimisation avec contraintes 3.1 Simplexe 3.1.1 Problème linéaire

≥==

⇒= 0bxzz0x

BN

jjNj

jjNTNN c

xzxczxcz)x(z =

∂∂

⇒+=+= ∑∈

jc

0xNBbxsousxczmin N1

BNTN

0xRx

N

mnN

≥−=+ −

≥∈ −

Page 360: Techniques d’optimisation

Techniques d’optimisation

360

3.1.2 Déplacement

Règles de déplacement

Changement de base

Formules de pivotage

Méthode des tableaux

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

Page 361: Techniques d’optimisation

Techniques d’optimisation

361

3.1.2 Règles de déplacement

Notations • Matrices : B, N = matrice de base et hors base AE = (B N) • Par extension : B, N = numéros des variables de base xB et hors base xN • Solution de base associée à B : avec Direction de déplacement • Si tous les coûts réduits sont positifs ou nuls, la solution courante est optimale. • Sinon on choisit un indice hors base e∈N de coût réduit strictement négatif :

→ La direction de base associée de est une direction de descente.

• On se déplace à partir de x d’un pas α≥0 suivant la direction de base de → x’ = x + αde • Le nouveau point x’=x + αde doit rester admissible :

• Le déplacement est limité par le fait que les variables de base doivent rester positives.

0ce <

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

≥α+≥α+

==α⇒

≥α+=α+⇔

≥=

0dx0dx

bAxcar0Ad

0dxb)dA(x

0x'bAx'

eBB

eNN

e

e

e→ vérifié par définition de de

→ limite le déplacement → vérifié car xN=0 et deN ≥0

=

N

BT

xxxE bBx0x

bAxB

N=⇒

==

Page 362: Techniques d’optimisation

Techniques d’optimisation

362

3.1.2 Règles de déplacement

Pas de déplacement Le déplacement α suivant la direction de base de est limité par les contraintes xB≥0 • Si la composante est positive, le pas n’est pas borné :

• Si la composante est négative, le pas est borné par : (annulation de xi) Déplacement maximal On note s le numéro de la 1ère variable de base xi qui s’annule suivant la direction de. → Le pas maximal admissible suivant la direction de est : • Si deB ≥ 0, le pas n’est pas borné suivant de

→ Le problème PL n’a pas de solution (problème non borné).

• Sinon on réalise le pas maximal αs suivant la direction de : x’ = x + αsde → Changement de base ou pivotage → Echange des variables xs (variable de base sortant de la base courante) et xe (variable hors base entrant dans la nouvelle base)

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

0dx eBB ≥α+ → Borne αi pour chacune des m variables de base xi, i∈B

ieBd

ieBd

ieB

ii d

x−

iBis min α=α∈

∞+=αi

Page 363: Techniques d’optimisation

Techniques d’optimisation

363

3.1.2 Changement de base

Pivotage La direction de base de associé à la variable hors base xe est définie par : • Le nouveau point x’ = x + αsde est admissible car : - la direction de est admissible

- le pas αs respecte les contraintes x’≥0 • Variables de base xi, i∈B :

• Variables hors base xj, j∈N : Nouvelle base • Nouvelles variables hors base : • Nouvelles variables de base :

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

=

−=

=

eNe

T

e1

eB

eN

eBe

T

d0eE

ABdavecd

ddE→ pour vérifier Ax=b

→ composantes nulles sauf =1 sur la composante e

( )

==≠≥α+= sisi0

sisi0dx'x ieBsii→ car αs≤ α → par construction du pas αs

( )

=≥α=≠=α+= ejsi0

ejsi0dx'xs

jeBsjj ( )

==≠=

ejsi1ejsi0dcar jeB

{ } { } { }seN'Nsipour0'xeNjpour0'x

s

j +−=⇒

==−∈=

{ } { } { }esB'Bejpour0'xsBipour0'x

e

i +−=⇒

=≥−∈≥

Page 364: Techniques d’optimisation

Techniques d’optimisation

364

3.1.2 Changement de base

Variation du coût • Le nouveau coût est : • Si la base n’est pas dégénérée (xB > 0), toutes les directions de base sont admissibles

→ Déplacement non nul possible : αs > 0 → Le coût décroît strictement : z’ < z car on a choisi e∈N tel que Méthode pratique • La nouvelle base ne diffère de la base courante que par une seule variable (= une colonne de A)

→ Limitations des calculs correspondant à un pivotage → Méthode des tableaux

• Les variables hors base sont constantes ou croissantes suivant les directions de base.

→ Toutes les variables hors base sont candidates pour entrer dans la base. • Plusieurs règles de choix sont possibles pour la variable entrant dans la base.

→ Règles de pivotage

• L’algorithme nécessite une base initiale admissible. → Etape préliminaire de détermination de la base initiale

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

zcz'zcxc)d(xcx'c esesT

esTT ≤α+=⇒α+=α+=

0ce <

Page 365: Techniques d’optimisation

Techniques d’optimisation

365

3.1.2 Changement de base

Règles de pivotage • Choix de la variable entrante → différents choix possibles • Détermination de la variable sortante → imposé Variable entrante • La variable hors base entrant dans la base doit avoir un coût réduit négatif. • Choix de la variable de plus petit indice → Règle de Bland (évite le cyclage pouvant se produire lorsque une base est dégénérée) • Choix de la variable de coût réduit le plus négatif (plus forte descente)

→ 1ère règle de Dantzig

• Choix de la variable conduisant à la plus forte diminution de la fonction coût

• Choix aléatoire avec une probabilité proportionnelle au coût réduit Variable sortante • La variable de base sortant de la base est la 1ère à s’annuler suivant la direction de base choisie → 2ème règle de Dantzig

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

Page 366: Techniques d’optimisation

Techniques d’optimisation

366

3.1.2 Changement de base

Illustration

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

x1

x2 Sommet initial

Solution → Dégénérescence

1er déplacement

Min f=x2

12 pivotages

2 pivotages

Page 367: Techniques d’optimisation

Techniques d’optimisation

367

3.1.2 Formules de pivotage

Forme canonique On écrit le problème sous forme canonique dans la base B. • Formulation matricielle • Formulation explicite en fonction des variables hors base xj , j∈N

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

0xNBbxsousxczmin N1

BNTN

0xRx

N

mnN

≥−=+ −

≥∈ −

−===

NBcccbczbBb

avec1T

BTN

TN

TB

1

∈−=

=

==

∑∑

∈∈

Nj,accc

bcz)a(NB

bBb

avec

Biijijj

Biii

Nj,Biijnoté

1-

-1

Bi,0xabxsousxczminNj

jijiiNj

jj0x N

∈≥−=+ ∑∑∈∈

Page 368: Techniques d’optimisation

Techniques d’optimisation

368

3.1.2 Formules de pivotage

Changement de base • Le pivotage consiste à remplacer la variable hors base xe (entrante) :

par la variable de base xs (sortante) :

• Forme canonique dans la base B :

→ Expression en fonction des variables xj, j∈N • Forme canonique dans la base B’ :

→ Expression en fonction des variables xj, j∈N’=N−{e}+{s} Pour passer de la forme canonique dans la base B à la forme canonique dans la base B’, il faut : • exprimer xe en fonction de xs, • remplacer xe dans les expressions du coût z et des variables de base xi, i∈B’=B−{s}+{e} On obtient les formules de pivotage.

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

∑∈

+=Nj

jjxczz Bi,xabxNj

jijii ∈−= ∑∈

{ } { }esB'B +−={ } { }seN'N +−=

∑∈

+=N'j

jj x'c'zz 'Bi,x'a'bx'Nj

jijii ∈−= ∑∈

Page 369: Techniques d’optimisation

Techniques d’optimisation

369

3.1.2 Formules de pivotage

Expression de xe en fonction de xs • xs est dans l’ancienne base B : i=s∈B →

• xe est dans la nouvelle base B’ : i=e∈B’ →

En identifiant les coefficients : On exprime ensuite les autres variables de base xi , i∈B-{s} en remplaçant xe.

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

{ }∑∑

−∈∈

−−=−=eNj

jsjesesNj

jsjss xaxabxabx{ }

∑−∈

−−=⇒eNj

jse

sjs

sese

se x

aa

xa1

ab

x

∑∈

−='Nj

jejee x'a'bx

∑∈

−=Nj

jsjss xabx

{ }

−∈→=

=→=

=

eNjaa

'a

sja1'a

ab

'b

se

sjej

sees

se

se

Page 370: Techniques d’optimisation

Techniques d’optimisation

370

3.1.2 Formules de pivotage

Expression des autres variables de base • xi est dans l’ancienne base B : i∈B-{s} →

• xi reste dans la nouvelle base B’ : i∈B’ →

En identifiant les coefficients :

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

{ } { } { }∑∑∑

−∈−∈−∈

−−−=−−=

eNjjij

eNjj

se

sjs

ses

seiei

eNjjijeieii xax

aa

xa1b

a1abxaxabx

∑∈

−=Nj

jijii xabx

{ }

−∈→−=

=→−=

−=

eNjaaa

a'a

sjaa

'a

baa

b'b

sjse

ieijij

se

ieis

sse

ieii

∑∈

−='Nj

jijii x'a'bx

{ }∑

−∈

−−+−=⇒

eNjjsj

se

ieijss

se

ies

se

ieii xa

aa

axbaa

baa

bx

Page 371: Techniques d’optimisation

Techniques d’optimisation

371

3.1.2 Formules de pivotage

Expression du coût • Dans l’ancienne base B :

• Dans la nouvelle base B’ :

En identifiant les coefficients :

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

∑∈

+=Nj

jjxczz

{ } { } { }∑∑∑

−∈−∈−∈

+

−−+=++=

eNjjj

eNjj

se

sjs

ses

see

eNjjjee xcx

aa

xa1b

a1czxcxczz

∑∈

+=N'j

jj x'c'zz

{ }

−∈→−=

=→−=

+=

eNjaa

cc'c

sjac

'c

ab

cz'z

se

sjejj

se

es

se

se

{ }∑

−∈

−+−+=⇒

eNjj

se

sjejs

se

e

se

se x

aa

ccxac

ab

czz

Page 372: Techniques d’optimisation

Techniques d’optimisation

372

3.1.2 Formules de pivotage

Récapitulatif • Nouvelles variables de base : i∈B’=B−{s}+{e} • Nouveau coût On dispose dans un tableau les éléments nécessaires au pivotage → tableau du simplexe.

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

{ }

{ }

−∈→−=

=→−=

−=

→−∈

eNjaaa

a'a

sjaa

'a

baa

b'b

sBi

sjse

ieijij

se

ieis

sse

ieii

{ }

−∈→=

=→=

=

→=

eNjaa

'a

sja1'a

ab

'b

ei

se

sjej

sees

se

se

{ }

−∈→−=

=→−=

+=

eNjaa

cc'c

sjac

'c

ab

cz'z

se

sjejj

se

es

se

se

Page 373: Techniques d’optimisation

Techniques d’optimisation

373

3.1.2 Méthode des tableaux

Tableau du simplexe • On écrit le problème sous forme canonique dans la base B : • La solution de base associée à B est : • Le tableau du simplexe est : Aj = jème colonne de A AE = (B N) avec E = matrice de permutation de colonnes ⇒ B−1A = (I B−1N) ET • En permutant les colonnes :

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

zcbAB

T T

1

−=

0xNBbxsousxczzmin N1

BNTN0x N

≥−=+= −

−===

NBcccbczbBb

avec1T

BTN

TN

TB

1

BTBnj1

Bn1

j1

11

xccccxABABAB

nxjx1x

−=

−−−

===

zz0xbx

N

B

zzxcbxNBx

zc0bNBI

T

xx

NTN

N1

BTN

1NB

−=→=+→

−=

−−

Page 374: Techniques d’optimisation

Techniques d’optimisation

374

3.1.2 Méthode des tableaux

Description du tableau Le tableau du simplexe est noté T(i,j) : i=1 à m+1 , j=1 à n+1 • T(1:m,1:n) : Matrice B−1A → m×n

en plaçant les variables de base en premier

• T(m+1,1:n) : Coûts réduits → 1×n

• T(1:m,n+1) : Solution de base → m×1

• T(m+1,n+1) : Opposé du coût → 1×1

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

zcccb

bABABAB

xxx

nj1

m

1

n1

j1

11

nj1

−−−

−==⇒−= −

NBccc0cABccc 1T

BTN

TN

TB1T

BT

( ) T11 ENBIAB −− =

=

=

0b

xx

xN

B

bczz TB−=−=− zzxc

bxNBxzc0

bNBIT

xx

NTN

N1

BTN

1NB

−=→=+→

−=

−−

Page 375: Techniques d’optimisation

Techniques d’optimisation

375

3.1.2 Méthode des tableaux

Utilisation du tableau Le tableau du simplexe permet de : • Repérer les variables de base → colonnes = matrice identité, coûts réduits nuls • Vérifier si la base est admissible → valeurs positives ou nulles des variables de base • Vérifier si la base est optimale → valeurs strictement positives des coûts réduits • Sélectionner un pivotage pour passer à une base adjacente meilleure • Mettre à jour la forme canonique dans la nouvelle base

Méthode de pivotage • On choisit une variable hors base de coût réduit négatif → colonne e • On examine la variation des variables de base suivant la direction de s’annule pour : • La première variable de base à s’annuler sort de la base → ligne s

• Le pivotage e-s consiste à faire apparaître une colonne de la matrice identité en colonne e

→ forme canonique dans la nouvelle base → par combinaison linéaire des lignes du tableau

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

ie

ie a

bx =Bi,xabx eieii ∈−=

Page 376: Techniques d’optimisation

Techniques d’optimisation

376

'z'c0'c'b

'b

'b

0

1

0xxx

n1

m

s

1

ne1

zcccb

b

b

a

a

axxx

ne1

m

s

1

me

se

1e

ne1

3.1.2 Méthode des tableaux

Réalisation du pivotage La variable xe entre dans la nouvelle base B’=B−{s}+{e} Pour faire apparaître une colonne de la matrice identité en colonne e, on réalise des combinaisons linéaires des lignes du tableau, y compris la dernière colonne. • Division de la ligne s par le pivot • Addition de la ligne s aux autres lignes pour annuler les coefficients dans la colonne e • Annulation du coût réduit dans la colonne e

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

1'aa sese =→

Page 377: Techniques d’optimisation

Techniques d’optimisation

377

3.1.2 Méthode des tableaux

Algorithme de pivotage 1. Choix du pivot • Variable hors base entrante xe = 1er coût réduit négatif • Pas maximal admissible pour chaque variable de base :

• Variable de base sortante xs : 2. Réalisation du pivotage • Pivot = T(s,e)

• Lignes i=1,…,m+1, i≠s

• Ligne s du pivot → méthode similaire à la méthode du pivot de Gauss

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

0)e,i(Tsi,Bi,)e,i(T

)1n,i(Ti >∈

+=α

i0)e,i(T

Bis min α=α>

1n,,1k,)k,s(T)e,s(T)e,i(T)k,i(T)k,i(T +=−=

1n,,1k,)e,s(T)k,s(T)k,s(T +==

Page 378: Techniques d’optimisation

Techniques d’optimisation

378

3.1.2 Exemple

Méthode des tableaux • Problème linéaire à 3 variables x1, x2, x3 • Forme standard

→ Variables d’écart x4, x5, x6 positives

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

≥≤++≤++≤++

−−−

0x,x,x20xx2x220x2xx220x2x2x

sousx12x12x10min

321

321

321

321

321x,x,x 321

≥=+++=+++=+++

−−−

0x,x,x,x,x,x20xxx2x220xx2xx220xx2x2x

sousx12x12x10min

654321

6321

5321

4321

321x,x,x,x,x,x 654321

Page 379: Techniques d’optimisation

Techniques d’optimisation

379

3.1.2 Exemple

Méthode des tableaux • Tableau du simplexe Base initiale admissible (x4 , x5 , x6) • Solution de base non optimale : coûts réduits négatifs (= directions de descente)

• Variable entrante: 1er coût réduit négatif → x1 • Variable sortante : 1ère variable de base à s’annuler → x5 • Pivot :

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

2a51 =

x1 x2 x3 x4 x5 x6

1 2 2 1 0 0 20 x4

2 1 2 0 1 0 20 x5

2 2 1 0 0 1 20 x6

-10 -12 -12 0 0 0 0 -z

Page 380: Techniques d’optimisation

Techniques d’optimisation

380

x1 x2 x3 x4 x5 x6

0 1.5 1 1 -0.5 0 10 x4

1 0.5 1 0 0.5 0 10 x1

0 1 -1 0 -1 1 0 x6

0 -7 -2 0 5 0 100 z

3.1.2 Exemple

Méthode des tableaux • 1er pivotage : entrée x1, sortie x5 Nouvelle base (x1 , x4 , x6)

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

x1 x2 x3 x4 x5 x6 Pas

1 2 2 1 0 0 20 x4 → s14=20

2 1 2 0 1 0 20 x5 → s15=10

2 2 1 0 0 1 20 x6 → s16=10

-10 -12 -12 0 0 0 0 z

Page 381: Techniques d’optimisation

Techniques d’optimisation

381

3.1.2 Exemple

Méthode des tableaux • 2ème pivotage : entrée x2, sortie x6 Nouvelle base (x1 , x2 , x4)

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

x1 x2 x3 x4 x5 x6 Pas

0 1.5 1 1 -0.5 0 10 x4 → s24=20/3

1 0.5 1 0 0.5 0 10 x1 → s21=20

0 1 -1 0 -1 1 0 x6 → s26=0

0 -7 -2 0 5 0 100 z

x1 x2 x3 x4 x5 x6

0 0 2.5 1 1 -1.5 10 x4

1 0 1.5 0 1 -0.5 10 x1

0 1 -1 0 -1 1 0 x2

0 0 -9 0 -2 7 100 z

Page 382: Techniques d’optimisation

Techniques d’optimisation

382

3.1.2 Exemple

Méthode des tableaux • 3ème pivotage : entrée x3, sortie x4 Nouvelle base (x1 , x2 , x3) • Solution optimale :

x1 x2 x3 x4 x5 x6

0 0 1 0.4 0.4 -0.6 4 x3

1 0 0 -0.6 0.4 0.4 4 x1

0 1 0 0.4 -0.6 0.4 4 x2

0 0 0 3.6 1.6 1.6 136 z

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

x1 x2 x3 x4 x5 x6 Pas

0 0 2.5 1 1 -1.5 10 x4 → s34=4

1 0 1.5 0 1 -0.5 10 x1 → s31=20/3

0 1 -1 0 -1 1 0 x2 → s32=+∞

0 0 -9 0 -2 7 100 z

( )

−==→

136*z000444*x T

0c ≥

Page 383: Techniques d’optimisation

Techniques d’optimisation

383

3.1.2 Exemple

Méthode des tableaux Récapitulatif des itérations Commentaires • La mise sous forme standard nécessite d’introduire des variables supplémentaires

→ Variables d’écart positives • On dispose directement d’une base initiale admissible formée des variables d’écart

→ Ce n’est pas toujours le cas → Phase préliminaire pour construire une base initiale

• Certains pivotages ne réduisent pas le coût (exemple : pivotage numéro 2) → Base dégénérée + risque de cyclage ( = retrouver une base précédente) • La solution optimale ne comporte que les variables initiales

→ Ce n’est pas toujours le cas → Des pivotages supplémentaires peuvent être nécessaires

3 Optimisation avec contraintes 3.1 Simplexe 3.1.2 Déplacement

k B c x1 x2 x3 x4 x5 x6 dB smax e s z

0 4 5 6 -10 -12 -12 0 0 0 20 20 20 -1 -2 -2 10 1 5 0

1 1 4 6 -7 -2 5 10 0 0 10 0 0 -1.5 -0.5 -1 0 2 6 -100

2 1 2 4 -9 -2 7 10 0 0 10 0 0 -2.5 -1.5 1 4 3 4 -100

3 1 2 3 3.6 31.6 1.6 4 4 4 0 0 0 -136

Page 384: Techniques d’optimisation

Techniques d’optimisation

384

3.1.3 Initialisation

Problème auxiliaire

Tableau initial

Méthode des 2 phases

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

Page 385: Techniques d’optimisation

Techniques d’optimisation

385

3.1.3 Problème auxiliaire

Base initiale Le problème (PL) sous forme standard est : L’algorithme du simplexe nécessite une base initiale admissible. Pour trouver une solution admissible, on considère un problème auxiliaire.

Problème auxiliaire Le problème auxiliaire (PLa) sous forme standard est : • Les variables du problème auxiliaire sont :

- les n variables x du problème initial (PL) - m variables auxiliaires y → 1 variable par contrainte

• La fonction coût du problème auxiliaire est positive, bornée inférieurement par 0 (car y≥0).

• Si x0 est un point admissible de (PL), alors (x=x0, y=0) est une solution de (PLa) à coût nul donc une solution optimale de (PLa) On peut donc trouver un point admissible en résolvant le problème auxiliaire (PLa).

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

≥=

∈ 0xbAxsousxcmin T

Rx n

≥=++

∈∈ 0y,x

byAxsousyex0min TT

RyRx

m

n

Page 386: Techniques d’optimisation

Techniques d’optimisation

386

3.1.3 Problème auxiliaire

Problème auxiliaire Le problème auxiliaire (PLa) est sous forme standard : • On peut supposer b≥0 (au besoin en multipliant les contraintes égalité par -1). Tableau initial du problème auxiliaire • Le problème (PLa) est sous forme canonique dans la base B associée aux variables y : - variables de base y → matrice B=I , coûts réduits=1 - variables hors base x → matrice N=A, coûts réduits=0 • La solution de base associée à la base B (x=0, y=b) est admissible : y=b≥0

• On peut appliquer l’algorithme du simplexe au problème (PLa) à partir de la base B. • Tableau initial du simplexe pour le problème (PLa) :

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

≥=++

∈∈ 0y,x

byAxsousyex0min TT

RyRx

m

n

x y

A I b y

0T eT 0 -z

Page 387: Techniques d’optimisation

Techniques d’optimisation

387

3.1.3 Problème auxiliaire

Solution du problème auxiliaire S’il existe un point admissible pour (PL), alors : • le coût optimal du problème auxiliaire (PLa) est nul, • la solution (x0,y0) de (Pla) donne un point x0 admissible du problème (PL) Par contraposée, si le coût optimal de (PLa) n’est pas nul, (PL) n’a pas de point admissible. Variables auxiliaires • Les variables y sont nulles à l’optimum. Elles sont : - soit hors base

- soit en base (solution dégénérée)

• Pour obtenir une base admissible du problème (PL) qui ne contienne que des variables x, il faut échanger les variables y en base par des pivotages avec des variables x. Ces pivotages sont de pas nul, le tableau n’est pas modifié.

• On obtient une base B ne contenant que des variables x du problème (PL).

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

≥=

=⇒

≥=+

=+

0xbAx

0y

0y,xbyAx

0yex0

0

0

0

00

00

0T

0T

→ contraintes du problème (PL)

Page 388: Techniques d’optimisation

Techniques d’optimisation

388

3.1.3 Exemple

Problème auxiliaire • Problème linéaire à 4 variables x1, x2, x3 ,x4

• Problème auxiliaire

→ Variables auxiliaires y1, y2, y3 ,y4 positives

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

≥=+=+=++−=++

++

0x,x,x,x1xx35x9x42x6x2x3x3x2x

sousxxxmin

4321

43

32

321

321

321x,x,x,x 4321

≥=++=++=+++−=+++

+++

0y,y,y,y,x,x,x,x1yxx35yx9x42yx6x2x3yx3x2x

sousyyyymin

43214321

443

332

2321

1321

4321y,y,y,yx,x,x,x

43214321

Page 389: Techniques d’optimisation

Techniques d’optimisation

389

3.1.3 Exemple

Problème auxiliaire • Tableau initial du simplexe pour le problème auxiliaire • Solution de base non optimale : coûts réduits négatifs (= directions de descente) • Variable entrante

1er coût réduit négatif → x2 • Variable sortante

1ère variable de base à s’annuler → y2

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

x1 x2 x3 x4 y1 y2 y3 y4

1 2 3 0 1 0 0 0 3 y1

-1 2 6 0 0 1 0 0 2 y2

0 4 9 0 0 0 1 0 5 y3

0 0 3 1 0 0 0 1 1 y4

0 -8 -21 -1 0 0 0 0 -11 -z

Page 390: Techniques d’optimisation

Techniques d’optimisation

390

3.1.3 Exemple

Problème auxiliaire • Itérations du simplexe pour le problème auxiliaire

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

x1 x2 x3 x4 y1 y2 y3 y4

1 2 3 0 1 0 0 0 3 y1

-1 2 6 0 0 1 0 0 2 y2

0 4 9 0 0 0 1 0 5 y3

0 0 3 1 0 0 0 1 1 y4

0 -8 -21 -1 0 0 0 0 -11 -z

x1 x2 x3 x4 y1 y2 y3 y4

2 0 -3 0 1 -1 0 0 1 y1

-1/2 1 3 0 0 1/2 0 0 1 x2

2 0 -3 0 0 -2 1 0 1 y3

0 0 3 1 0 0 0 1 1 y4

-4 0 3 -1 0 4 0 0 -3 -z

Page 391: Techniques d’optimisation

Techniques d’optimisation

391

3.1.3 Exemple

Problème auxiliaire • Itérations du simplexe pour le problème auxiliaire

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

x1 x2 x3 x4 y1 y2 y3 y4

2 0 -3 0 1 -1 0 0 1 y1

-1/2 1 3 0 0 1/2 0 0 1 x2

2 0 -3 0 0 -2 1 0 1 y3

0 0 3 1 0 0 0 1 1 y4

-4 0 3 -1 0 4 0 0 -3 -z

x1 x2 x3 x4 y1 y2 y3 y4

1 0 -3/2 0 1/2 -1/2 0 0 1/2 x1

0 1 9/4 0 1/4 1/4 0 0 5/4 x2

0 0 0 0 -1 -1 1 0 0 y3

0 0 3 1 0 0 0 1 1 y4

0 0 -3 -1 2 2 0 0 -1 -z

Page 392: Techniques d’optimisation

Techniques d’optimisation

392

3.1.3 Exemple

Problème auxiliaire • Itérations du simplexe pour le problème auxiliaire

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

x1 x2 x3 x4 y1 y2 y3 y4

1 0 -3/2 0 1/2 -1/2 0 0 1/2 x1

0 1 9/4 0 1/4 1/4 0 0 5/4 x2

0 0 0 0 -1 -1 1 0 0 y3

0 0 3 1 0 0 0 1 1 y4

0 0 -3 -1 2 2 0 0 -1 -z

x1 x2 x3 x4 y1 y2 y3 y4

1 0 0 1/2 1/2 -1/2 0 1/2 1 x1

0 1 0 -3/4 1/4 1/4 0 -3/4 1/2 x2

0 0 0 0 -1 -1 1 0 0 y3

0 0 1 1/3 0 0 0 1/3 1/3 x3

0 0 0 0 2 2 0 1 0 -z

Page 393: Techniques d’optimisation

Techniques d’optimisation

393

3.1.3 Exemple

Problème auxiliaire • Echange des variables auxiliaires y en base avec des variables x

• Tous les pivots sont nuls sur la ligne 3 → La contrainte 3 est redondante (= somme des 2 premières contraintes) → La matrice A n’est pas de rang plein

• La procédure permet d’identifier les contraintes redondantes → Suppression de la contrainte 3 → Suppression de la variable auxiliaire y3

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

x1 x2 x3 x4 y1 y2 y3 y4

1 0 0 1/2 1/2 -1/2 0 1/2 1 x1

0 1 0 -3/4 1/4 1/4 0 -3/4 1/2 x2

0 0 0 0 -1 -1 1 0 0 y3

0 0 1 1/3 0 0 0 1/3 1/3 x3

0 0 0 0 2 2 0 1 0 -z

Page 394: Techniques d’optimisation

Techniques d’optimisation

394

3.1.3 Exemple

Problème auxiliaire • Tableau solution du problème auxiliaire • Base x1, x2, x3 → coût nul → point admissible du problème initial

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

x1 x2 x3 x4 y1 y2 y3 y4

1 0 0 1/2 1/2 -1/2 0 1/2 1 x1

0 1 0 -3/4 1/4 1/4 0 -3/4 1/2 x2

0 0 0 0 -1 -1 1 0 0 y3

0 0 1 1/3 0 0 0 1/3 1/3 x3

0 0 0 0 2 2 0 1 0 -z

x1 x2 x3 x4 y1 y2 y4

1 0 0 1/2 1/2 -1/2 1/2 1 x1

0 1 0 -3/4 1/4 1/4 -3/4 1/2 x2

0 0 1 1/3 0 0 1/3 1/3 x3

0 0 0 0 2 2 1 0 -z

Page 395: Techniques d’optimisation

Techniques d’optimisation

395

3.1.3 Tableau initial

Tableau solution du problème (PLa) • La base B solution de (PLa) est composée uniquement de variables x du problème initial (PL). • Le tableau correspondant à la solution de (PLa) est :

× → valeurs à modifier pour passer au problème (PL) Tableau initial du problème (PL) Pour construire le tableau du simplexe du problème (PL) • On supprime les colonnes correspondant aux variables y : • On calcule les coûts réduits dans la base B :

On calcule le coût dans la base B :

Pour faciliter les calculs, on rappelle les coûts sur la 1ère ligne. cB cN

I B-1N B-1b xB

0 cN−cBTB-1N −cB

TB-1b -z

xB xN

I B-1N B-1b xB

0 -z -z

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

xB xN y

I B-1N × B-1b xB

0 × × × -z

∈∈−=−=

−−

Bjsi0NjsiABccABccc j

1TBj1T

B

xB xN

I B-1N B-1b xB

0 × × -z

Nc

bBcz 1TB

−=

Page 396: Techniques d’optimisation

Techniques d’optimisation

396

3.1.3 Méthode des 2 phases

Prétraitement • Mettre le problème sous forme standard • Prémultiplier les contraintes (2nd membre positif) Phase 1 : Problème auxiliaire • Introduire une variable auxiliaire y par contrainte

• Construire le tableau initial du problème auxiliaire • Résoudre le problème auxiliaire • Faire sortir les variables auxiliaires de la base • Supprimer les contraintes redondantes (pivots tous nuls sur une ligne) • Supprimer les colonnes correspondant aux variables auxiliaires y

→ Base ne contenant que des variables x Phase 2 : Problème initial • Calculer la dernière ligne du tableau (coûts réduits, coût) • Résoudre le problème initial

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

x y

A I b y

-eTA 0 -eTb -z

xB xN

I B-1N B-1b y

0 cN−cBTB-1N −cB

TB-1b -z

≥=++

∈∈ 0y,x

byAxsousyex0min TT

RyRx

m

n

≥≥=

∈ 0x0b,bAxsousxcmin T

Rx n

Page 397: Techniques d’optimisation

Techniques d’optimisation

397

3.1.3 Exemple

Méthode des 2 phases • Problème linéaire à 5 variables x1, x2, x3 ,x4 ,x5

• Problème auxiliaire

→ Variables auxiliaires y1, y2, y3 positives

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

≥=+−−=+−+=+++

−+++

0x,x,x,x,x1x3x4x2xx3x2x2xx4x3x

sousx2xx3x3x2min

54321

321

5421

5421

54321x,x,x,x,x 54321

≥=++−−=++−+=++++

++

0y,y,y,x,x,x,x,x1yx3x4x2yxx3x2x2yxx4x3x

sousyyymin

32154321

3321

25421

15421

321y,y,y

x,x,x,x,x321

54321

Page 398: Techniques d’optimisation

Techniques d’optimisation

398

3.1.3 Exemple

Méthode des 2 phases • Tableau initial du problème auxiliaire • Solution de base non optimale : coûts réduits négatifs (= directions de descente) • Variable entrante

1er coût réduit négatif → x1 • Variable sortante

1ère variable de base à s’annuler → y1

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

x1 x2 x3 x4 x5 y1 y2 y3

1 3 0 4 1 1 0 0 2 y1

1 2 0 -3 1 0 1 0 2 y2

-1 -4 3 0 0 0 0 1 1 y3

-1 -1 -3 -1 -2 0 0 0 -5 -z

Page 399: Techniques d’optimisation

Techniques d’optimisation

399

3.1.3 Exemple

Méthode des 2 phases • Itérations du problème auxiliaire

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

x1 x2 x3 x4 x5 y1 y2 y3

1 3 0 4 1 1 0 0 2 y1

1 2 0 -3 1 0 1 0 2 y2

-1 -4 3 0 0 0 0 1 1 y3

-1 -1 -3 -1 -2 0 0 0 -5 -z

x1 x2 x3 x4 x5 y1 y2 y3

1 3 0 4 1 1 0 0 2 x1

0 -1 0 -7 0 -1 1 0 0 y2

0 -1 3 4 1 1 0 1 3 y3

0 2 -3 3 -1 1 0 0 -3 -z

Page 400: Techniques d’optimisation

Techniques d’optimisation

400

3.1.3 Exemple

Méthode des 2 phases • Itérations du problème auxiliaire

• Solution optimale du problème auxiliaire (coûts réduits positifs ou nuls)

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

x1 x2 x3 x4 x5 y1 y2 y3

1 3 0 4 1 1 0 0 2 x1

0 -1 0 -7 0 -1 1 0 0 y2

0 -1 3 4 1 1 0 1 3 y3

0 2 -3 3 -1 1 0 0 -3 -z

x1 x2 x3 x4 x5 y1 y2 y3

1 3 0 4 1 1 0 0 2 x1

0 -1 0 -7 0 -1 1 0 0 y2

0 -1/3 1 4/3 1/3 1/3 0 1/3 1 x3

0 1 0 7 0 2 0 1 0 -z

Page 401: Techniques d’optimisation

Techniques d’optimisation

401

3.1.3 Exemple

Méthode des 2 phases • Base initiale : échange y2 – x2

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

x1 x2 x3 x4 x5 y1 y2 y3

1 3 0 4 1 1 0 0 2 x1

0 -1 0 -7 0 -1 1 0 0 y2

0 -1/3 1 4/3 1/3 1/3 0 1/3 1 x3

0 1 0 7 0 2 0 1 0 -z

x1 x2 x3 x4 x5 y1 y2 y3

1 0 0 -17 1 2 3 0 2 x1

0 1 0 7 0 -1 -1 0 0 x2

0 0 1 3.67 1/3 2/3 -1/3 1/3 1 x3

0 0 0 0 0 1 1 1 0 -z

Page 402: Techniques d’optimisation

Techniques d’optimisation

402

3.1.3 Exemple

Méthode des 2 phases • Base initiale : suppression variables auxiliaires

• Calcul de la dernière ligne du tableau On rappelle les coûts en 1ère ligne pour faciliter le calcul (multiplication par les colonnes)

coûts réduits = cN−cB

TB-1N coût =−cB

TB-1b

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

x1 x2 x3 x4 x5

1 0 0 -17 1 2 x1

0 1 0 7 0 0 x2

0 0 1 3.67 1/3 1 x3

0 0 0 0 0 0 -z

x1 x2 x3 x4 x5

c = 2 3 3 1 -2

1 0 0 -17 1 2 x1

0 1 0 7 0 0 x2

0 0 1 3.67 1/3 1 x3

0 0 0 3 -5 -7 -z

Page 403: Techniques d’optimisation

Techniques d’optimisation

403

3.1.3 Exemple

Méthode des 2 phases • Itérations du problème initial

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

x1 x2 x3 x4 x5

1 0 0 -17 1 2 x1

0 1 0 7 0 0 x2

0 0 1 3.67 1/3 1 x3

0 0 0 3 -5 -7 -z

x1 x2 x3 x4 x5

1 0 0 -17 1 2 x5

0 1 0 7 0 0 x2

-1/3 0 1 9.33 0 1/3 x3

5 0 0 -82 0 3 -z

Page 404: Techniques d’optimisation

Techniques d’optimisation

404

3.1.3 Exemple

Méthode des 2 phases • Itérations du problème initial

• Solution optimale :

3 Optimisation avec contraintes 3.1 Simplexe 3.1.3 Initialisation

x1 x2 x3 x4 x5

1 0 0 -17 1 2 x5

0 1 0 7 0 0 x2

-1/3 0 1 9.33 0 1/3 x3

5 0 0 -82 0 3 -z

x1 x2 x3 x4 x5

1 2.43 0 0 1 2 x5

0 0.14 0 1 0 0 x4

-1/3 -1.33 1 0 0 1/3 x3

5 11.71 0 0 0 3 -z

0c ≥ ( )

−==→

3*z203/100*x T

Page 405: Techniques d’optimisation

Techniques d’optimisation

405

3.1.4 Simplexe révisé

Méthode révisée du simplexe • L’algorithme du simplexe nécessite un grand nombre d’opérations matricielles

→ problèmes de temps de calcul → problèmes de place mémoire → problèmes de précision numérique

• La méthode révisée du simplexe permet de réduire le nombre d’opérations. Rappels • Forme standard :

• Multiplicateurs : • Forme canonique dans la base B :

• Solution de base associée à B :

3 Optimisation avec contraintes 3.1 Simplexe 3.1.4 Simplexe révisé

0xNBbxsousxczzmin N1

BNTN0x N

≥−=+= −

−===

NBcccbczbBb

avec1T

BTN

TN

TB

1

===

zz0xbx

N

B

→≥λ→=

∈ s0xbAxsousxcmin T

Rx n

( )

=−==λ

NBT1

NN

BT

ccNBcscB

Page 406: Techniques d’optimisation

Techniques d’optimisation

406

3.1.4 Simplexe révisé

Itération du simplexe • On connaît les colonnes de A correspondant à la base courante admissible → matrice B

Pour réaliser une itération du simplexe, on doit déterminer : - la solution de base courante - les coûts réduits des variables hors base pour choisir la variable entrante - les pas maximaux sur les variables de base pour choisir la variable sortante

• Solution de base : • Coûts réduits :

On choisit la variable hors base entrante xe (coût réduit négatif) → colonne Ae de la matrice A • Direction de base de :

Le pas maximal suivant de correspond au rapport xB / deB positif, minimal La variable de base sortante xs est la première à s’annuler.

3 Optimisation avec contraintes 3.1 Simplexe 3.1.4 Simplexe révisé

=== −

0xbBbx

N

1B

NcNBccc TTN

1TB

TN

TN λ−=−= −

( )

=−=

=

010dABdavecd

ddeN

e1

eB

eN

eBe

bxB B =→

BcB =λ→

eeB ABd −=→

Page 407: Techniques d’optimisation

Techniques d’optimisation

407

3.1.4 Simplexe révisé

Méthode révisée du simplexe • Le pivotage peut être réalisé en résolvant 3 systèmes linéaires de même matrice B.

→ réduction des calculs nécessaires → différentes méthodes possibles d’inversion et de stockage de la matrice B • Il suffit de stocker en mémoire : - les matrices initiales A, b ,c

- les numéros des colonnes de base. → limitation de la place mémoire → réduction des erreurs numériques, car on repart systématiquement des matrices initiales. • La méthode révisée est implémentée dans les logiciels de programmation linéaire

utilisant l’algorithme du simplexe.

3 Optimisation avec contraintes 3.1 Simplexe 3.1.4 Simplexe révisé

s

eN

eB

B

eeB

B

B

xxc

d

x

ABdcBbxB

→→→

→λ→

−==λ=

Page 408: Techniques d’optimisation

Techniques d’optimisation

408

3.1.5 Simplexe dual

Méthode du simplexe dual L’algorithme du simplexe dual consiste à appliquer la méthode du simplexe au problème dual. • Correspondances primal (P) − dual (D) :

Le tableau est utilisable dans les 2 sens : de (P) vers (D) ou de (D) vers (P) car le dual de (D) est (P). • Forme canonique de (P) dans la base B

Pour appliquer la méthode du simplexe au problème dual, on doit écrire la forme canonique du problème dual dans la base B.

3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual

≥=++=

≥ 0xbxNBxsousxczzmin N

1B

NTN0x N

−===

NBcccbczbBb

avec1T

BTN

TN

TB

1

cyAnRxcyAn0x

0ymbAxRymbAx

ybmax1xcmin

T

T

T

y

T

Rx n

=∈≤≥

≥≤∈=

Primal (P ) Dual (D)

Page 409: Techniques d’optimisation

Techniques d’optimisation

409

3.1.5 Simplexe dual

Forme canonique du dual • On part de la forme canonique du problème primal (P) dans la base B.

• On peut considérer les variables de base xB comme des variables d’écart positives.

On obtient un problème (P’) ne portant que sur les variables hors base xN.

• On écrit (P’) comme un problème de maximisation,

pour obtenir un problème de minimisation en passant au dual.

• On passe au dual (D’) de (P’) → en utilisant le tableau de correspondances dans le sens de (D) vers (P)

3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual

≥≤−

0xbxNBsousxcmax)'P(

N

N1

NTNx N

→ m contraintes → n−m variables

≥≤−

0xbxNBsousxcmin)'P(

N

N1

NTNx N

→ m contraintes → n−m variables

≥=++

0x,xbxNBxsousxczmin)P(

NB

N1

BN

TNx,x NB

→ m contraintes → n variables

Page 410: Techniques d’optimisation

Techniques d’optimisation

410

3.1.5 Simplexe dual

Forme canonique du dual • Le dual (D’) de (P’) s’écrit :

• On met (D’) sous forme standard avec des variables d’écart yN positives. On obtient un problème (D) à n variables.

• Le problème (D) est sous forme canonique dans la base B : - variables de base → yN

- variables hors base → yB On peut écrire le tableau simplexe pour le problème (D) et appliquer les règles de pivotage.

3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual

( )

≥−≤−

0ycyNBsousybmin)'D(

B

NBT1

BT

yB

→ n−m contraintes → m variables

≥≤−

0xbxNBsousxcmax)'P(

N

N1

NTNx N

→ m contraintes → n−m variables

( )

≥=− −

0y,ycyNBysousybmin)D(

NB

NBT1

NBT

y,y NB

→ n−m contraintes → n variables

→ notations inversées par rapport au problème primal

Page 411: Techniques d’optimisation

Techniques d’optimisation

411

3.1.5 Simplexe dual

Tableau simplexe du dual • Forme canonique de (D) dans la base B.

• Tableau TD du simplexe de (D) dans la base B :

Variables de base : yN → valeurs Variables hors base : yB → coûts réduits Matrice des contraintes : −AT → −(B−1N)T • La solution de base associée à la base B est : • La base B est admissible si → base dual-admissible

• On applique les règles de pivotage du simplexe.

- variable hors base entrante : coût réduit négatif - variable de base sortante : première variable à s’annuler

3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual

( )

≥=− −

0y,ycyNBysousybmin)D(

NB

NBT1

NBT

y,y NB

→ n−m contraintes → n variables

zb0c)NB(I

T

yyTN

T1

D

BN

−−

=−

==

0ycy

B

NN

0cy NN ≥=

bNc

Page 412: Techniques d’optimisation

Techniques d’optimisation

412

3.1.5 Simplexe dual

Pivotage sur le tableau dual Les notations sont inversées par rapport au problème primal - indices B → variables hors base - indices N → variables de base 1. Choix du pivot • Variable hors base entrante ye = 1er coût réduit négatif

• Pas maximal admissible pour chaque variable de base :

• Variable de base sortante ys : 2. Réalisation du pivotage • Pivot = • Elimination pour faire apparaître des zéros sur la colonne e du pivot

0asi,Ni,a

cie

ie

Nii >−∈

−=α

3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual

zb0c)NB(I

T

yyTN

T1

D

BN

−−

=−

Be,0be ∈<

i0a

Nis

ie

min α=α<

0ase <

ie

Ni

0aNi

ie

Ni

0aNi a

cmax

ac

minNsieie <∈

<∈

⇔−

→∈Ligne s de la variable sortante :

Page 413: Techniques d’optimisation

Techniques d’optimisation

413

3.1.5 Simplexe dual

Pivotage sur le tableau primal • On observe que le pivotage dual peut être réalisé à partir du tableau primal

sans écrire explicitement le tableau dual. • Choisir la 1ère variable de base négative xe : → ligne e → variable sortante • Déterminer la 1ère variable hors base xs à s’annuler : → colonne s → variable entrante • Effectuer le pivotage e−s de façon usuelle.

3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual

zc0bNBI

T

xx

TN

1

P

NB

−=

− → m contraintes → m variables de base xB

zb0c)NB(I

T

yyTN

T1

D

BN

−−

=− → n−m contraintes

→ n−m variables de base yN

Be,0be ∈<

ie

Ni

0aNi a

cmaxs

ie <∈

Page 414: Techniques d’optimisation

Techniques d’optimisation

414

3.1.5 Simplexe dual

Comparaison simplexe primal et dual • L’algorithme du simplexe primal maintient une base primal−admissible :

L’optimum est atteint lorsque les coûts réduits sont positifs ou nuls : • L’algorithme du simplexe dual maintient une base dual−admissible :

L’optimum est atteint lorsque les variables de base sont positives ou nulles : Intérêt du simplexe dual L’algorithme du simplexe dual est adapté si l’on dispose d’une base dual−admissible. Ceci se produit lorsque l’on modifie un problème linéaire déjà résolu par le simplexe primal. • en ajoutant des contraintes au problème • en modifiant les seuils des contraintes • en fixant des variables à une valeur différente de la solution Ces modifications : - ne changent pas les coûts réduits (→ ) - rendent certaines variables de base négatives → La solution de base n’est plus primal−admissible, mais reste dual−admissible. Application : problèmes de programmation linéaire mixte (entiers et réels)

3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual

0b ≥0cN ≥

0cN ≥0b ≥

0cN ≥

Page 415: Techniques d’optimisation

Techniques d’optimisation

415

3.1.5 Exemple

Simplexe dual • Problème linéaire à 5 variables x1,x2,x3,x4,x5 • On choisit comme base initiale (x2,x3,x4).

La solution de base associée est : → base non primal admissible

• La matrice des contraintes est :

• Pour construire le tableau du simplexe, il faut mettre le problème sous forme canonique dans

la base (x2,x3,x4) en faisant apparaître des zéros par élimination dans les colonnes 2, 3 et 4.

3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual

≥=++−=+−−

=+

++++

0x,x,x,x,x0xxx0xxx

1xx

sousxx3x2x2xmin

54321

431

532

21

54321x,x,x,x,x 54321

=−=

=⇒

==

1x1x

1x

0x0x

4

3

2

5

1

−−−=

011011011000011

A

=

001

b

Page 416: Techniques d’optimisation

Techniques d’optimisation

416

3.1.5 Exemple

Simplexe dual • Problème linéaire à 5 variables x1,x2,x3,x4,x5 • Tableau de départ

• On fait apparaître : - une matrice identité sur les colonnes de x2 , x3 , x4 - des zéros sur les coûts de x2 , x3 , x4

3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual

≥=++−=+−−

=+

++++

0x,x,x,x,x0xxx0xxx

1xx

sousxx3x2x2xmin

54321

431

532

21

54321x,x,x,x,x 54321

x1 x2 x3 x4 x5

1 1 0 0 0 1

0 -1 -1 0 1 0

-1 0 1 1 0 0

1 2 2 3 1 0

→ contraintes

→ coût

Page 417: Techniques d’optimisation

Techniques d’optimisation

417

3.1.5 Exemple

Simplexe dual

3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual

x1 x2 x3 x4 x5

1 1 0 0 0 1

1 0 -1 0 1 1

-1 0 1 1 0 0

-1 0 2 3 1 -2

x1 x2 x3 x4 x5

1 1 0 0 0 1

0 -1 -1 0 1 0

-1 0 1 1 0 0

1 2 2 3 1 0

Elimination x2

Elimination x3

x1 x2 x3 x4 x5

1 1 0 0 0 1

1 0 -1 0 1 1

-1 0 1 1 0 0

-1 0 2 3 1 -2

x1 x2 x3 x4 x5

1 1 0 0 0 1

-1 0 1 0 -1 -1

0 0 0 1 1 1

1 0 0 3 3 0

Elimination x4

x1 x2 x3 x4 x5

1 1 0 0 0 1

-1 0 1 0 -1 -1

0 0 0 1 1 1

1 0 0 3 3 0

x1 x2 x3 x4 x5

1 1 0 0 0 1

-1 0 1 0 -1 -1

0 0 0 1 1 1

1 0 0 0 0 -3

Page 418: Techniques d’optimisation

Techniques d’optimisation

418

3.1.5 Exemple

Simplexe dual • Tableau du simplexe dans la base (x2,x3,x4).

• On vérifie bien que la dernière ligne correspond à • La base est : - non admissible pour le primal (x3 < 0)

- admissible pour le dual ( ) On peut appliquer l’algorithme dual du simplexe pour résoudre le problème.

3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual

x1 x2 x3 x4 x5

c = 1 2 2 3 1

1 1 0 0 0 1 x2

-1 0 1 0 -1 -1 x3

0 0 0 1 1 1 x4

1 0 0 0 0 -3 -z

0cN ≥

cB cN

I B-1N B-1b xB

0 cN−cBTB-1N −cB

TB-1b -z

−=−−=

bBczNBccc

1TB

1TBNN

Page 419: Techniques d’optimisation

Techniques d’optimisation

419

3.1.5 Exemple

Simplexe dual • Tableau du simplexe dans la base (x2,x3,x4). Base dual−admissible (x2,x3,x4) • Solution de base non optimale : variables de base négatives

• Variable sortante : 1ère variable de base négative → x3 • Variable entrante : 1er coût réduit à s’annuler → x5 • Pivot : 1a 25 −=

x1 x2 x3 x4 x5

1 1 0 0 0 1 x2

-1 0 1 0 -1 -1 x3

0 0 0 1 1 1 x4

1 0 0 0 0 -3 -z

3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual

ie

Ni

0aNi a

cmaxs

ie <∈

Be,0be ∈<

Page 420: Techniques d’optimisation

Techniques d’optimisation

420

3.1.5 Exemple

Simplexe dual • 1er pivotage : entrée x5, sortie x3 Nouvelle base (x2,x4,x5) - primal−admissible - dual−admissible → optimale Solution :

3 Optimisation avec contraintes 3.1 Simplexe 3.1.5 Simplexe dual

x1 x2 x3 x4 x5

1 1 0 0 0 1 x2

-1 0 1 0 -1 -1 x3

0 0 0 1 1 1 x4

1 0 0 0 0 -3 -z

x1 x2 x3 x4 x5

1 1 0 0 0 1 x2

1 0 -1 0 1 1 x5

-1 0 1 1 0 0 x4

1 0 0 0 0 -3 -z

0b ≥0cN ≥

( )3*z

10010*x==

Page 421: Techniques d’optimisation

Techniques d’optimisation

421

Sommaire 1. Bases théoriques

2. Optimisation sans contraintes

3. Optimisation avec contraintes

3.1 Simplexe 3.2 Point intérieur 3.2.1 Barrière 3.2.2 Chemin central 3.2.3 Algorithmes 3.2.4 Extensions 3.3 Gradient projeté 3.4 Lagrangien augmenté 3.5 Programmation quadratique séquentielle 3.6 Convergence

3 Optimisation avec contraintes 3.2 Point intérieur

Page 422: Techniques d’optimisation

Techniques d’optimisation

422

3.2.1 Barrière

Points intérieurs

Fonction barrière

Méthode barrière

Problème linéaire

Exemple

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière

Page 423: Techniques d’optimisation

Techniques d’optimisation

423

3.2.1 Points intérieurs

Problème avec contraintes Points intérieurs • Ensemble des points admissibles : • Ensemble des point intérieurs : → contraintes égalité conservées (définition élargie d’un point intérieur par voisinage) → contraintes inégalité strictes Hypothèses • Xint n’est pas vide • Tout point admissible peut être approché arbitrairement par un point intérieur

→ hypothèses vérifiées dans le cas convexe (ensemble Xint et contraintes cE, cI)).

{ }0)x(c,0)x(c,Xx/RxX IEn

adm ≤=∈∈=

∈≤=

∈ Xx0)x(c0)x(c

sousf(x)min I

E

Rx n

{ }0)x(c,0)x(c,Xx/RxX IEn

int <=∈∈=

ε≤−∈∃>ε∀∈∀ xx~/Xx~,0,Xx intadm

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière

Page 424: Techniques d’optimisation

Techniques d’optimisation

424

3.2.1 Fonction barrière

Fonction barrière Une fonction B : Xint dans R est une fonction barrière si La fonction barrière tend vers l’infini lorsque l’on s’approche du bord de Xadm i.e. lorsque les contraintes inégalité cI(x) deviennent actives. Exemple Contrainte de borne x < a Fonctions barrières usuelles • Barrière logarithmique :

• Barrière inverse :

+∞=→∈

)x(Blim0)x(c,Xx Iint

( )∑=

−=m

1kIk )x(cln)x(B

∑=

−=m

1k Ik )x(c1)x(B

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière

a x

B(x)

Page 425: Techniques d’optimisation

Techniques d’optimisation

425

3.2.1 Méthode barrière

Méthode barrière La méthode barrière consiste à combiner la fonction coût avec une fonction barrière. La fonction barrière est pénalisée par un paramètre h > 0 → hauteur de la barrière • Problème avec contraintes inégalités : → solution x*

• Problème barrière associé : → solution x(h)

→ Problème avec contraintes égalité plus simple (contraintes actives) Pour h=0, on retrouve le problème initial Hauteur de la barrière • La barrière empêche la solution x(h) de s’approcher du bord du domaine admissible.

(contraintes inégalités actives) • On résout une suite de problèmes avec des hauteurs de barrières décroissantes

→ solutions x(hk)

• Méthodes peu utilisées sous cette forme → approche des méthodes de points intérieurs application sur problème linéaire, puis non linéaire

∈≤=

∈ Xx0)x(c0)x(c

sousf(x)min I

E

Rx n

∈=+=

∈ Xx0)x(csoushB(x)f(x)(x)fmin E

hRx n

0hlim,hh),h( kkk1kk =<∞→+

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière

Page 426: Techniques d’optimisation

Techniques d’optimisation

426

3.2.1 Problème linéaire

Problème linéaire Forme standard : → problème (PL) • Ensemble des point admissibles : = polytope des contraintes

• Ensemble des point intérieurs : Problème barrière • Barrière logarithmique : • Problème barrière associé : → problème (PBh) Solution • h > 0 → solution xh • h = 0 → solution x* du problème initial • h →∞ → solution x∞ = centre analytique du polytope P

{ }0x,bAx/RxX nint >=∈=

nmnmT

RxRc,Rb,RAavec0x

bAxsousxcminn

∈∈∈

≥= ×

{ }0x,bAx/RxX nadm ≥=∈=

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière

( )∑=

−=n

1iixln)x(B

>=−= ∑

=∈ 0xbAxsous)xln(hxc(x)fmin

n

1ii

Th

Rx n

Page 427: Techniques d’optimisation

Techniques d’optimisation

427

3.2.1 Exemple

Problème linéaire

• Forme standard : • Polytope des contraintes : Problème barrière

• Barrière logarithmique : • Centre analytique x∞ :

≥=++++ 0x,x,x

1xxxsousx3x2xmin321

321321x,x,x 321

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière

( )

≥=++∈= 0x,x,x

1xxx/Rx,x,xP321

3213321

( )

≥=++++−++ 0x,x,x

1xxxsousxlnxlnxlnhx3x2xmin321

321321321x,x,x 321

( ) ( )

≥=++++−= 0x,x,x

1xxxsousxlnxlnxlnx,x,xBmin321

321321321x,x,x 321

( ) ( )( )212121x,x213 xx1lnxlnxlnx,xBminxx1x21

−−++−=→−−=

=−−

+−=∂∂

=−−

+−=∂∂

0xx1

1x1

xB

0xx1

1x1

xB

2122

2111

31x

31x31x

3

2

1=⇒

=

=⇒

=→ ∞ 3

131

31x

Page 428: Techniques d’optimisation

Techniques d’optimisation

428

3.2.1 Exemple

Représentation graphique • Polytope des contraintes : • Centre analytique x∞ :

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.1 Barrière

( )

≥=++∈= 0x,x,x

1xxx/RxxxP321

3213321

=∞ 3

131

31x

x1

A 1

B 1 x2

C 1

x3

O x∞

A B

C

x∞

Tracé dans le plan (A,B,C)

Page 429: Techniques d’optimisation

Techniques d’optimisation

429

3.2.2 Chemin central

Chemin central primal

Conditions d’optimalité

Chemin central primal-dual

Déplacement

Mesure de dualité

Voisinage

Exemple

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

Page 430: Techniques d’optimisation

Techniques d’optimisation

430

3.2.2 Chemin central primal

Chemin central primal Le chemin central primal est l’ensemble des solutions xh lorsque la hauteur de barrière h décroît de l’infini à 0 → • Début : x∞ = centre analytique du polytope • Fin : x* = solution du problème linéaire

Pour construire précisément le chemin central, il faudrait résoudre l’ensemble des problèmes successifs (PBh) sous contraintes égalité pour h≥0 → non réalisable en pratique (trop coûteux) Algorithme de point intérieur On utilise le chemin central pour définir la direction du déplacement. On cherche à rester au voisinage du chemin central sans le suivre précisément.

>=−= ∑

=∈ 0xbAxsous)xln(hxc(x)fmin

n

1ii

Th

Rx n

{ }0h,x h ≥

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

Page 431: Techniques d’optimisation

Techniques d’optimisation

431

3.2.2 Conditions d’optimalité

Problème barrière • Lagrangien : • On définit les matrices diagonales X et S à partir de x et s

=

n

1n

2

1

x0000x00

00x0000x

X

xsAx)b()xln(hxc

xsAx)b()x(f)s,,x(LTT

n

1ii

T

TTh

−−λ+−=

−−λ+=λ

∑=

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

>=−= ∑

=∈ 0xbAxsous)xln(hxc(x)fmin

n

1ii

Th

Rx n

→ multiplicateurs λ → multiplicateurs s

=

n

1n

2

1

s0000s00

00s0000s

S

=

11

11

e

Page 432: Techniques d’optimisation

Techniques d’optimisation

432

3.2.2 Conditions d’optimalité

Conditions d’optimalité • Condition d’ordre 1 :

• Condition complémentaire : On définit : • Comparaison des conditions d’ordre 1 du problème barrière (PBh) et du problème initial (PL)

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

0sAhXc0)s,,x(L T1x =−λ−−⇒=λ∇ −

0XSe0xs ii =⇒=

==−+λ⇒

+=+=

heeXS0csA

hXSShXss

h

hT

1h

1h

( )hhh

h

h

hh

hhT

h

s,,x

0s0xheSX0csA0bAx

λ→

≥≥==−+λ=−

( )*s,*,*x

0s0x0XS0csA0bAx

T

λ→

≥≥==−+λ=−

Problème barrière (PBh) Problème linéaire (PL)

Page 433: Techniques d’optimisation

Techniques d’optimisation

433

3.2.2 Chemin central primal-dual

Chemin central primal-dual • Les conditions d’optimalité du problème barrière (PBh) deviennent celles du problème initial

(PL) lorsque h tend vers 0.

• On cherche à résoudre le problème linéaire en considérant l’ensemble des variables primales et duales (x,λ,s) dans Rn+m+n

• Ensemble admissible :

• Ensemble des points intérieurs :

• Le chemin central primal-dual est l’ensemble des solutions (xh,λh,sh) lorsque la hauteur de

barrière h décroît de l’infini à 0.

• Fin : (x0,λ0,s0) = (x*,λ*,s*) = solution du problème linéaire Algorithme de point intérieur On utilise le chemin central primal-dual pour définir la direction du déplacement. Le déplacement est limité pour rester dans l’ensemble des points intérieurs

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

{ }0s0,x,0csA0,bAx/)s,,x(X Tadm ≥≥=−+λ=−λ=

{ }0s0,x,0csA0,bAx/)s,,x(X Tint >>=−+λ=−λ=

Page 434: Techniques d’optimisation

Techniques d’optimisation

434

3.2.2 Exemple

Problème linéaire

• Forme standard : • Conditions d’ordre 1 du problème linéaire (PL) → 6 combinaisons possibles → 2 combinaisons possibles • Solution :

≥=++++ 0x,x,x

1xxxsousx3x2xmin321

321321x,x,x 321

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

=+λ=+λ=+λ

⇒=+λ3s2s1s

csA3

2

1T

( )( )321c

1b,111AT =

==

1x1xxx0bAx 1321 =⇒=++⇒=−

===

⇒=0sx0sx0sx

0XS33

22

11

−=−=⇒

λ−=λ−=λ−=

⇒ 1ss1ss

3s2s1s

32

21

3

2

1

======

⇒0sou0x0sou0x0sou0x

33

22

11

==

==⇒

≥≥≥

⇒≥0x0x

0sou0x

2s1s0s

0S3

2

11

3

2

1

1,2s1s0s

,0x0x1x

3

2

1

3

2

1=λ

===

===

Page 435: Techniques d’optimisation

Techniques d’optimisation

435

3.2.2 Exemple

Représentation graphique • Centre analytique du polytope :

• Solution du problème (PL) :

→ point A

( )

≥=++∈= 0x,x,x

1xxx/Rx,x,xP321

3213321

=→ ∞ 3

131

31x

( )001*x =→

≥=++++ 0x,x,x

1xxxsousx3x2xmin321

321321x,x,x 321

A B

C

x∞

x*

x1

A 1

B 1 x2

C 1

x3

O x∞

x*

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

Tracé dans le plan (A,B,C)

Page 436: Techniques d’optimisation

Techniques d’optimisation

436

3.2.2 Exemple

Problème barrière

• Problème linéaire : • Conditions d’ordre 1 du problème barrière (PBh) • On obtient une équation en µ → 1, 2 ou 3 racines

≥=++++ 0x,x,x

1xxxsousx3x2xmin321

321321x,x,x 321

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

=+λ=+λ=+λ

⇒=+λ3s2s1s

csA3

2

1T

( )( )321c

1b,111AT =

==

1xxx0bAx 321 =++⇒=−

===

⇒=hsxhsxhsx

heXS33

22

11

λ−=λ−=λ−=

⇒3s2s1s

3

2

1

λ−=µ

+µ=

λ−=

µ=

λ−=

−µ=

λ−=

⇒ 2avec

1h

3hx

h2

hx

1h

1hx

3

2

1

11

hh1

h=

+µ+

µ+

−µ⇒ 0hh3 23 =+µ−µ−µ⇒

Page 437: Techniques d’optimisation

Techniques d’optimisation

437

3.2.2 Exemple

Chemin central • Le point du chemin central (xh,λh,sh) pour une barrière de hauteur h vérifie • En résolvant les conditions d’ordre 1 du problème barrière, on obtient

• Il faut vérifier → choix parmi les racines possibles pour µ • On résout le problème pour des valeurs décroissantes de la hauteur de barrière h.

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

≥≥

=−=−+λ

=−

0s0xavec

0heSX0csA

0bAx

h

h

hh

hhT

h

≥≥

0s0x

h

h

( )

λ−λ−λ−

=

λ−λ−λ−=

µ−=λ

hhhh

hhhh

h

31

21

11hx

321s

2 0hh3avec 23 =+µ−µ−µ

Page 438: Techniques d’optimisation

Techniques d’optimisation

438

3.2.2 Exemple

Représentation graphique • Système de coordonnées (u1,u2) dans le plan (A,B,C)

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

=

+=⇒

−−

+

−=

−⇔+=

32

32121

3

2

1

21xu

x21xu

12/12/1

u011

uxx

1xDCuABuAM

Tracé dans le plan (A,B,C)

D A B

C

x∞

x*

u2

u1

M

x1

A 1

B 1 x2

C 1

x3

O x∞

x* D

Page 439: Techniques d’optimisation

Techniques d’optimisation

439

3.2.2 Exemple

Chemin central

• Centre analytique du polytope (h → ∞) : • Points du chemin central pour une barrière de hauteur h de 10000 à 0.

• Solution du problème linéaire (h → 0) :

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

=∞ 3

131

31x

( )001*x =

h x1 x2 x3 s1 s2 s3 λ 10000 0,33335 0,33334 0,33333 29998,5 29999,5 30000,5 -29997,5 1000 0,33342 0,33331 0,33320 2999,2 3000,2 3001,2 -2998,2 100 0,33444 0,33332 0,33222 299,0 300,0 301,0 -298,0 10 0,34457 0,33309 0,32236 29,0 30,0 31,0 -28,0 1 0,45162 0,31112 0,23729 2,2142 3,2142 4,2142 -1,2142

0,1000 0,86308 0,08962 0,04726 0,1159 1,1159 2,1159 0,8841 0,0100 0,98507 0,00990 0,00497 0,0102 1,0102 2,0102 0,9898 0,0010 0,99863 0,00100 0,00050 0,0010 1,0010 2,0010 0,9990 0,0001 0,99970 0,00010 0,00005 0,0001 1,0001 2,0001 0,9999 0,0000 1,00000 0,00000 0,00000 0,0000 1,0000 2,0000 1,0000 0,0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1,0

0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0A B

C

x∞

x*

Tracé dans le plan (A,B,C)

Page 440: Techniques d’optimisation

Techniques d’optimisation

440

3.2.2 Déplacement

Méthode de Newton • On cherche à résoudre pour h fixé avec

• On définit la fonction :

• On applique la méthode de Newton au système d’équations : F(x,λ,s) = 0

• Itération de Newton :

si (x,λ,s) est intérieur : → direction de déplacement (dx,dλ,ds)

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

=−=−+λ

=−

0heXS0csA

0bAxT

≥≥

0s0x

−−+λ

−=λ

heXScsA

bAx)s,,x(F T

=λ∇⇒

X0SIA000A

)s,,x(F TT

)s,,x(Fddd

X0SIA000A

s

xT λ−=

λ

−=λ

heXSe00

)s,,x(Favec

=−+λ=−

0csA0bAx

T

Page 441: Techniques d’optimisation

Techniques d’optimisation

441

3.2.2 Déplacement

Méthode de Newton • On utilise la solution de Newton comme direction de recherche.

• Le pas de déplacement α est choisi pour rester dans l’ensemble des points intérieurs Xint.

Convergence Pour que l’algorithme converge vers la solution du problème linéaire (PL), il faut : • régler le pas α pour ne pas s’approcher trop rapidement du bord de l’ensemble admissible • abaisser progressivement la hauteur de la barrière h jusqu’à 0 La solution du problème linéaire PL est obtenue lorsque :

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

10,ddd

s

x

s

x

s

x

h

h

h

≤α<

α+

λ=

λ λ

n,...,1i,0sx0XS ii ==⇔=

≥≥

0s0x

h

h

Page 442: Techniques d’optimisation

Techniques d’optimisation

442

3.2.2 Mesure de dualité

Mesure de dualité • La mesure de dualité est définie par : → distance moyenne à la condition d’optimalité • La hauteur de barrière est réglée à partir de la mesure de dualité : h = σν

• σ est le paramètre de centrage

Le paramètre de centrage permet de corriger la direction de déplacement σ = 0 : pas de barrière → La direction donnée par l’itération de Newton vise à résoudre les conditions d’optimalité du problème initial (PL). → Peu robuste loin de la solution, blocage au bord du polytope

σ = 1 : barrière h=ν → La direction donnée par l’itération de Newton vise à revenir sur le point du chemin central correspondant à h=ν. → Permet de rester à l’intérieur du polytope

∑=

==νn

1iii

T sxn1sx

n1

n,...,1i,0sx0XS ii ==⇔=

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

Page 443: Techniques d’optimisation

Techniques d’optimisation

443

3.2.2 Exemple

Problème linéaire

• Problème linéaire : • On cherche à résoudre : pour h fixé avec → méthode de Newton à partir d’un point intérieur initial Point initial

• On choisit un point intérieur initial On peut prendre • La hauteur de barrière h est réglée par le paramètre de centrage σ :

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

≥=++++ 0x,x,x

1xxxsousx3x2xmin321

321321x,x,x 321

( )( )321c

1b,111AT =

==

( )

( )

>=⇒==λ

=++>

0321scs0

1xxxquetel0x,x,x

T

321321

0heXS

csAbAx

)s,,x(F T =

−−+λ

−=λ

>>

=−+λ=−⇒∈λ 0s

0xet0csA0bAxX)s,,x( Tint

≥≥

0s0x

sxn

h Tσ=σν=

3x3x2x

nsx 321

T ++==ν⇒

Page 444: Techniques d’optimisation

Techniques d’optimisation

444

3.2.2 Exemple

Direction de déplacement La direction de déplacement (dx,dλ,ds) à partir du point initial (x,λ,s) est obtenue en résolvant les équations de Newton.

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

=−+λ=−

0csA0bAx

car T

( )332211 sxsxsxn

havec ++σ

=σν=

+−=λ−=

λ

heXS00

)s,,x(Fddd

X0SIA000A

s

xT

+−+−+−

=

⇔ λ

hsxhsxhsx

0000

ddddddd

x000s000x000s000x000s1001000010100000110000000111

33

22

11

3s

2s

1s

3x

2x

1x

33

22

11

Page 445: Techniques d’optimisation

Techniques d’optimisation

445

3.2.2 Exemple

Direction de déplacement • Le point initial (x1,x2,x3) doit vérifier • Illustrations pour 3 points initiaux : x = (0.6 , 0.2 , 0.2)

x = (0.2 , 0.6 , 0.2) x = (0.2 , 0.2 , 0.6)

et pour 2 valeurs de σ : σ = 0 → vers la solution du problème initial (Newton) σ = 1 → vers le chemin central (xh,λh,sh)

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

−=+−=+−=+

=+=+=+

=++

λ

λ

λ

333s33x3

222s22x2

111s11x1

3s

2s

1s

3x2x1x

sxhdxdssxhdxdssxhdxds

0dd0dd0dd

0ddd

−+

=

−+

=

−+

=

−===

++−++=

++

λ

λ

λ

λ

λ

33

33x

22

22x

11

11x

3s2s1s

321321

3

3

2

2

1

1

xs

dxhd

xs

dxhd

xs

dxhd

dddd

s1

s1

s1hxxx

sx

sx

sxd

σν=

++=ν

===

h3

x3x2xet

3s2s1s

avec321

3

2

1

=++>

1xxx0x,x,x

321

321

Page 446: Techniques d’optimisation

Techniques d’optimisation

446

3.2.2 Exemple

Illustration 1 : x = (0.6 , 0.2 , 0.2)

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

ν x1 x2 x3 s1 s2 s3 λ 0,53333 0,6 0,2 0,2 1,0 2,0 3,0 0,0

σ h dx1 dx2 dx3 ds1 ds2 ds3 dλ 0 0,00000 0,18261 -0,06957 -0,11304 -1,30435 -1,30435 -1,30435 1,30435 1 0,53333 -0,04928 0,06957 -0,02029 -0,02899 -0,02899 -0,02899 0,02899

Chemin central 0,53333 0,54971 0,27070 0,17956 0,97020 1,97020 2,97020 0,02980

=+=→

32

321xu

2/xxuTracé dans le plan (A,B,C)

0,0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1,0

0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0A B

C

x∞

0,0

0,1

0,2

0,3

0,0 0,1 0,2 0,3 0,4 0,5 0,6A

σ=0

σ=1

x∞

Page 447: Techniques d’optimisation

Techniques d’optimisation

447

3.2.2 Exemple

Illustration 2 : x = (0.2 , 0.6 , 0.2)

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

=+=→

32

321xu

2/xxuTracé dans le plan (A,B,C)

ν x1 x2 x3 s1 s2 s3 λ 0,66667 0,2 0,6 0,2 1,0 2,0 3,0 0,0

σ h dx1 dx2 dx3 ds1 ds2 ds3 dλ 0 0,00000 0,15294 -0,07059 -0,08235 -1,76471 -1,76471 -1,76471 1,76471 1 0,66667 0,38824 -0,38431 -0,00392 0,39216 0,39216 0,39216 -0,39216

Chemin central 0,66667 0,50965 0,28884 0,20153 1,30808 2,30808 3,30808 -0,30808

0,0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1,0

0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0A B

C

x∞

0,0

0,1

0,2

0,3

0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7A

x∞

σ=0

σ=1

Page 448: Techniques d’optimisation

Techniques d’optimisation

448

3.2.2 Exemple

Illustration 3 : x = (0.2 , 0.2 , 0.6)

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

=+=→

32

321xu

2/xxuTracé dans le plan (A,B,C)

0,0

0,1

0,2

0,3

0,4

0,5

0,6

0,0 0,1 0,2 0,3 0,4 0,5A

x∞

σ=0

σ=1

ν x1 x2 x3 s1 s2 s3 λ 0,80000 0,2 0,2 0,6 1,0 2,0 3,0 0,0

σ h dx1 dx2 dx3 ds1 ds2 ds3 dλ 0 0,00000 0,20000 0,00000 -0,20000 -2,00000 -2,00000 -2,00000 2,00000 1 0,80000 0,41333 0,10667 -0,52000 0,93333 0,93333 0,93333 -0,93333

Chemin central 0,80000 0,48130 0,30051 0,21845 1,66217 2,66217 3,66217 -0,66217

A B

C

x∞

0,0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1,0

0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0

Page 449: Techniques d’optimisation

Techniques d’optimisation

449

3.2.2 Mesure de dualité

Distance au chemin central • Pour une hauteur de barrière h, le point du chemin central est tel que tous les produits xisi sont

égaux à h :

• Au point courant la moyenne des produits xisi est la mesure de dualité ν : • On quantifie la distance δ du point courant au chemin central par la moyenne des écarts

(xisi - ν)

• Pour que l’algorithme de point intérieur converge, il faut que les produits xisi tendent simultanément vers 0, et éviter que certains s’annulent prématurément.

• On impose de suivre approximativement le chemin central en interdisant de trop s’en écarter → contrainte de distance maximale au chemin central : → définition du voisinage du chemin central

∑=

==νn

1iii

T sxn1sx

n1

n,...,1i,hsxheXS ii ==⇔=

eXSe1

sx

sx1

nn

11

ν−ν

=

ν

ν−

ν=δ

mδ≤δ

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

Page 450: Techniques d’optimisation

Techniques d’optimisation

450

3.2.2 Voisinage

Voisinage du chemin central Le voisinage du chemin central est défini par une borne δm sur la distance δ : • Voisinage restreint avec la norme 2, noté V2(δm )

• Voisinage large avec la norme ∞, noté V∞ (δm )

• On se contente de la borne inférieure, qui empêche les produits xisi de converger prématurément vers 0. En remplaçant δm par 1-δm

10aveceXSe1/X)s,,x()(V mmintm <δ≤

δ≤ν−

ν∈λ=δ

∞∞

10aveceXSe1/X)s,,x()(V mm2intm2 <δ≤

δ≤ν−

ν∈λ=δ

n,,1i,)1(sx)1(

n,,1i,sxeXSe1

miim

miim

=δ+ν≤≤δ−ν⇔

=νδ≤ν−⇔δ≤ν−ν ∞

mδ≤δ

{ } 10avecn,,1i,sx/X)s,,x()(V mmiiintm <δ≤=νδ≥∈λ=δ∞−

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.2 Chemin central

Page 451: Techniques d’optimisation

Techniques d’optimisation

451

3.2.3 Algorithmes

Suivi du chemin central

Algorithme à pas restreint

Algorithme à pas long Algorithme de prédiction-correction

Exemple

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes

Page 452: Techniques d’optimisation

Techniques d’optimisation

452

3.2.3 Algorithmes

Suivi du chemin central On peut envisager 3 algorithmes de suivi du chemin central • Algorithme à pas restreint • Algorithme à pas long • Algorithme de prédiction-correction Principes • Les 3 algorithmes sont basés sur l’itération de Newton avec avec α choisi tel que • Les différences résident dans la stratégie de réglage du paramètre de centrage σ et du pas α.

10,ddd

s

x

s

x

s

x

k

k

k

1k

1k

1k

≤α<

α+

λ=

λ λ

+

+

+

)(Vou)(Vs

x

mm2

1k

1k

1k

δδ∈

λ ∞−

+

+

+

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes

σν=

kTkk

k

sxn1

h

−−=

λ

heeSX00

ddd

X0SIA000A

kks

x

kk

T

Page 453: Techniques d’optimisation

Techniques d’optimisation

453

3.2.3 Algorithme à pas restreint

Algorithme à pas restreint

• On applique systématiquement l’itération de Newton avec α =1.

• On règle le paramètre de centrage σ pour rester dans le voisinage restreint du chemin central. avec σ tel que : Réglages • δm =0.4 → largeur du voisinage

• → garantit que l’itération de Newton reste dans le voisinage restreint

+

λ=

λ λ

+

+

+

s

x

k

k

k

1k

1k

1k

ddd

s

x

s

x

)(Vs

x

m2

1k

1k

1k

δ∈

λ

+

+

+

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes

n1 mδ

−=σ

σν−−=

λ

eeSX00

ddd

X0SIA000A

kkks

x

kk

T

Page 454: Techniques d’optimisation

Techniques d’optimisation

454

3.2.3 Algorithme à pas restreint

Réglage du paramètre de centrage Le nouveau point doit rester dans le voisinage restreint : à l’ordre 1 en dx , ds

)(Vddd

s

x

s

x

m2

s

x

k

k

k

1k

1k

1k

δ∈

+

λ=

λ λ

+

+

+

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes

n1 mδ

−≥σ⇒

σν+−=+==+===+=

+

+

eeSXdXdSeDd,)d(diagD,DSSeDd,)d(diagD,DXX

aveckkkskxk

sssssk1k

xxxxxk1k

m2k1k1kk

eeSX1δ≤ν−

ν⇒ ++

( )( ) m2kskxkk

eeDSDX1δ≤ν−++

ν⇒

m2kxkskkkk

edSdXeSX1δ≤ν−++

ν⇒

m2kkk

ee1δ≤ν−σν

ν⇒

neavece12m2

=δ≤−σ⇒

Page 455: Techniques d’optimisation

Techniques d’optimisation

455

3.2.3 Algorithme à pas long

Algorithme à pas long

• On fixe le paramètre de centrage σ

• On règle le pas α pour rester dans le voisinage large du chemin central. avec α tel que : Réglages • δm = 0.001 → largeur du voisinage • σ = 0.1 • Initialisation avec α=1

Division de α par 2 tant que le nouveau point n’est pas dans le voisinage large

10,ddd

s

x

s

x

s

x

k

k

k

1k

1k

1k

≤α<

α+

λ=

λ λ

+

+

+

)(Vs

x

m

1k

1k

1k

δ∈

λ ∞−

+

+

+

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes

σν−−=

λ

eeSX00

ddd

X0SIA000A

kkks

x

kk

T

Page 456: Techniques d’optimisation

Techniques d’optimisation

456

3.2.3 Algorithme de prédiction-correction

Algorithme de prédiction-correction Etape de prédiction • On prédit la direction de l’optimum avec un paramètre de centrage σ=0 (pas de barrière). • On règle le pas α pour rester dans le voisinage restreint du chemin central. avec α tel que : Réglages • δm pred = 0.5 → largeur du voisinage

• Initialisation avec α=1

Division de α par 2 tant que le nouveau point n’est pas dans le voisinage restreint

10,d~d~d~

s

x

s~

~x~

s

x

k

k

k

1k

1k

1k

≤α<

α+

λ=

λ λ

+

+

+

)(Vs~

~x~

predm2

1k

1k

1k

δ∈

λ

+

+

+

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes

−=

λ

eSX00

d~d~d~

X0SIA000A

kks

x

kk

T

Page 457: Techniques d’optimisation

Techniques d’optimisation

457

3.2.3 Algorithme de prédiction-correction

Algorithme de prédiction-correction Etape de correction • On calcule la direction du chemin central avec un paramètre de centrage σ=1 • On applique un recentrage avec un pas α=1 pour revenir vers le chemin central. Mise en œuvre pratique • Différentes stratégies possibles → contrôle de la distance au chemin central

→ réglages (σ,δ,α) à adapter au cours des itérations • Choix du point initial → suffisamment loin des bords (xTs >> 0) sinon blocage • Extension à des problèmes non linéaires

+

λ=

λ λ

+

+

+

+

+

+

s

x

1k

1k

1k

1k

1k

1k

ddd

s~

~x~

s

x

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes

ν−−=

λ

eeSX00

ddd

X0SIA000A

kkks

x

kk

T

Page 458: Techniques d’optimisation

Techniques d’optimisation

458

3.2.3 Exemple

Algorithme à pas restreint • Point initial : x = (0.6 , 0.2 , 0.2) , λ = 0 , s = (1 , 2 , 3)

x = (0.2 , 0.6 , 0.2) x = (0.2 , 0.2 , 0.6)

• Paramètre de centrage : avec δm = 0,4

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes

n1 mδ

−=σ

x1 0,6 0,2 0,2 x2 0,2 0,6 0,2 x3 0,2 0,2 0,6

Iteration ν ν ν 0 0,53333 0,66667 0,80000 1 0,41017 0,51271 0,61525 2 0,31544 0,39430 0,47316 3 0,24259 0,30324 0,36389 4 0,18657 0,23321 0,27985 5 0,14348 0,17935 0,21522 6 0,11035 0,13793 0,16552 7 0,08486 0,10608 0,12729 8 0,06526 0,08158 0,09790 9 0,05019 0,06274 0,07529 10 0,03860 0,04825 0,05790 20 0,00279 0,00349 0,00419 30 0,00020 0,00025 0,00030 40 0,00001 0,00002 0,00002 45 0,00000 0,00000 0,00001 0,0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0 5 10 15 20 25 30 35 40 45

ν

Itération

( ) )(Vs,,x m2 δ∈λ→

Page 459: Techniques d’optimisation

Techniques d’optimisation

459

3.2.3 Exemple

Algorithme à pas restreint • Tracé dans le plan (A,B,C)

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes

=+=→

32

321xu

2/xxu

0,0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1,0

0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0A B

C

(0.6 0.2 0.2)

(0.2 0.2 0.6)

(0.2 0.6 0.2)

x∞

Page 460: Techniques d’optimisation

Techniques d’optimisation

460

3.2.3 Exemple

Algorithme à pas long • Point initial : x = (0.6 , 0.2 , 0.2) , λ = 0 , s = (1 , 2 , 3)

x = (0.2 , 0.6 , 0.2) x = (0.2 , 0.2 , 0.6)

• Paramètre de centrage : σ = 0.1 avec δm = 0,4 • Pas : α=1 → α/2 tant que

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes

x1 0,6 0,2 0,2 x2 0,2 0,6 0,2 x3 0,2 0,2 0,6

Iteration ν ν ν 0 0,53333 0,66667 0,80000 1 0,29333 0,36667 0,44000 2 0,16133 0,20167 0,24200 3 0,08873 0,02017 0,02420 4 0,00887 0,00202 0,00242 5 0,00089 0,00020 0,00024 6 0,00009 0,00002 0,00002 7 0,00001 0,00000 0,00000 8 0,00000 0,00000 0,00000

( ) ( ) misix dsdx νδ<α+α+

0,0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0 1 2 3 4 5 6 7 8

ν

Itération

( ) )(Vs,,x mδ∈λ→ ∞−

Page 461: Techniques d’optimisation

Techniques d’optimisation

461

3.2.3 Exemple

Algorithme à pas long • Tracé dans le plan (A,B,C)

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes

=+=→

32

321xu

2/xxu

0,0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1,0

0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0A B

C

(0.6 0.2 0.2)

(0.2 0.2 0.6)

(0.2 0.6 0.2)

x∞

Page 462: Techniques d’optimisation

Techniques d’optimisation

462

3.2.3 Exemple

Comparaison • Algorithme à pas long → convergence beaucoup plus rapide (8 itérations au lieu de 45) • Influence des réglages → à adapter au cas par cas(valeurs de σ, δ, α)

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.3 Algorithmes

0,0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1,0

0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0

(0.6 0.2 0.2)

(0.2 0.2 0.6)

(0.2 0.6 0.2)

x∞

Page 463: Techniques d’optimisation

Techniques d’optimisation

463

3.2.4 Extensions

Problème linéaire

Problème quadratique

Problème non linéaire

Représentation

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.4 Extensions

Page 464: Techniques d’optimisation

Techniques d’optimisation

464

3.2.4 Problème linéaire

Problème linéaire • Lagrangien : • Conditions KKT :

• Méthode de Newton : → direction

• On peut appliquer le même algorithme à des problèmes non linéaires.

≥=

=λ∇=−

0sx,0XS

0)s,,x(L0bAx

x

≥=

∈ 0xbAxsousxcmin T

Rx n

xsb)Ax(xc)s,,x(L TTT +−λ+=λ

0heXSe

)s,,x(LbAx

)s,,x(F x =

−λ∇

−=λ→

)s,,x(Fddd

)s,,x(F

s

x

λ−=

λ∇ λ

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.4 Extensions

λ

s

x

ddd

−++λ

−−=

⇒ λ

heXSecsA

bAx

ddd

X0SIA000A

T

s

xT si admissible = 0

= 0

→ barrière h

Page 465: Techniques d’optimisation

Techniques d’optimisation

465

3.2.4 Problème quadratique

Problème quadratique • Lagrangien : • Conditions KKT :

• Méthode de Newton : → direction

• Différence avec le cas linéaire : matrice

≥=

=λ∇=−

0sx,0XS

0)s,,x(L0bAx

x

≥=+

∈ 0xbAxsousxcQxx

21min TT

Rx n

xsb)Ax(xcQxx21)s,,x(L TTTT +−λ++=λ

0heXSe

)s,,x(LbAx

)s,,x(F x =

−λ∇

−=λ→

)s,,x(Fddd

)s,,x(F

s

x

λ−=

λ∇ λ

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.4 Extensions

λ

s

x

ddd

−++λ+

−−=

⇒ λ

heXSecsAQx

bAx

ddd

X0SIAQ00A

T

s

xT

)s,,x(LQ 2xx λ∇=

→ barrière h

Page 466: Techniques d’optimisation

Techniques d’optimisation

466

3.2.4 Problème non linéaire

Problème non linéaire • Lagrangien : • Conditions KKT :

• Méthode de Newton : → direction

• Différence avec le cas linéaire : matrices

≥=

=λ∇=

0sx,0XS

0)s,,x(L0)x(c

x

≥=

∈ 0x0)x(csous)x(fmin

nRx

xs)x(cx)(f)s,,x(L TT +λ+=λ

0heXSe

)s,,x(L)x(c

)s,,x(F x =

−λ∇=λ→

)s,,x(Fddd

)s,,x(F

s

x

λ−=

λ∇ λ

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.4 Extensions

λ

s

x

ddd

−λ∇−=

∇λ∇∇

⇒ λheXSe

)s,,x(L)x(c

ddd

X0SI)x(c)s,,x(L00)x(c

x

s

x2xx

T

λ∇)x(c

)s,,x(L2xx

→ contraintes actives

→ barrière h

Page 467: Techniques d’optimisation

Techniques d’optimisation

467

3.2.4 Représentation

Tracé des itérations

3 Optimisation avec contraintes 3.2 Point intérieur 3.2.4 Extensions

Espace primal : variables x

x1

x2 chemin central

itérations

Espace primal-dual : produits xs

x1s1

x2s2 chemin central

borne voisinage

itérations

Page 468: Techniques d’optimisation

Techniques d’optimisation

468

Sommaire 1. Bases théoriques

2. Optimisation sans contraintes

3. Optimisation avec contraintes

3.1 Simplexe 3.2 Point intérieur 3.3 Gradient projeté 3.3.1 Principes 3.3.2 Direction de déplacement 3.3.3 Restauration 3.3.4 Algorithme 3.4 Lagrangien augmenté 3.5 Programmation quadratique séquentielle 3.6 Convergence

3 Optimisation avec contraintes 3.3 Gradient projeté

Page 469: Techniques d’optimisation

Techniques d’optimisation

469

3.3.1 Gradient projeté

Problème avec contraintes égalité → m contraintes actives Etapes principales A chaque itération • Construction d’une direction de descente dk à partir du point xk • Réglage du pas de déplacement sk suivant dk Direction de descente On construit la direction dk dans l’hyperplan tangent aux contraintes (= espace nul) en xk • Gradient projeté → projection du gradient sur l’hyperplan tangent • Gradient réduit → réduction du gradient sur une base de l’espace nul Pas de déplacement • Recherche linéaire suivant dk → pas sk • Restauration de l’admissibilité → méthode de Newton • Règles d’acceptation du pas → Armijo, Goldstein, Wolfe

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.1 Principes

≤=

∈ 0)x(c0)x(csousf(x)min

I

ERx n

0)x(csous)x(fminnRx

=∈

Page 470: Techniques d’optimisation

Techniques d’optimisation

470

3.3.2 Direction de déplacement

Hyperplan tangent aux contraintes

Gradient projeté

Gradient réduit

Exemple

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement

Page 471: Techniques d’optimisation

Techniques d’optimisation

471

3.3.2 Hyperplan tangent

Problème avec contraintes linéaires • x0 point admissible → Ax0 = b • d déplacement admissible à partir de x0 → A(x0 + d) = b • Ad = 0 définit l’espace nul des contraintes

= hyperplan des contraintes

• Le déplacement d∈Rn est admissible si d est dans l’hyperplan des contraintes. Problème avec contraintes non linéaires • On définit l’espace nul tangent ou hyperplan tangent en x0 avec A = ∇c(x0)T → Ad = 0

• On cherche un déplacement d∈Rn dans l’hyperplan tangent : ∇c(x0)Td = 0 Un déplacement complémentaire est ensuite nécessaire pour restaurer l’admissibilité.

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement

bAxsous)x(fminnRx

=∈

0Ad =→

0)x(csous)x(fminnRx

=∈

x0

d

c(x)=0

∇c(x0)

Page 472: Techniques d’optimisation

Techniques d’optimisation

472

3.3.2 Gradient projeté

Définition Le gradient projeté est la projection orthogonale du gradient de f sur l’hyperplan tangent. Expression du gradient projeté • Hyperplan tangent aux contraintes en x0 admissible

Ad = 0 avec A = ∇c(x0)T

• Matrice de projection sur l’hyperplan tangent • Notations

g(x0) gradient de f en x0 → g(x0) = ∇f(x0) gp(x0) gradient projeté → gp(x0) = Pg(x0) • gp vérifie :

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement

0)x(csous)x(fminnRx

=∈

( ) AAAAIP1TT −

−=

( )

=−=

0ggg0Ag

pTp

p → gp ∈ hyperplan tangent → g−gp ⊥ hyperplan tangent

x0

gp

c(x)=0

∇c(x0)

g ( )( ) T0

1TTp )x(cAavecgAAAAIg ∇=−=→

==

PPPPcar 2

T

Page 473: Techniques d’optimisation

Techniques d’optimisation

473

3.3.2 Gradient projeté

Direction de descente • La direction du gradient projeté est la direction de plus forte pente dans l’hyperplan tangent

= direction dans l’hyperplan qui maximise la dérivée directionnelle de f Preuve La direction d dans l’hyperplan maximisant la dérivée directionnelle de f est solution de Lagrangien : Conditions KKT : d est bien un vecteur normé colinéaire à • La méthode du gradient projeté équivaut à la méthode de plus forte pente appliquée dans

l’espace nul des contraintes → méthode d’ordre 1 peu efficace → amélioration par méthode de quasi-Newton

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement

( ) ( )1ddAddg,,dL TTt −++= µλµλ

=⇔==

∈ 1dd1d0Ad

sousdgmin Tt

Rd n

→ d ∈ hyperplan tangent → norme = 1

R,Ravec m ∈µ∈λ

==

=++

1d0Ad

0d2Ag T µλ

( )( )gAAAAI 1TT −−

( ) ( )µλ 2/Agd T+−=→0AAAg T =+→ λλµ TAg2 +±=→

( ) AgAA 1T −−=→ λ

Page 474: Techniques d’optimisation

Techniques d’optimisation

474

3.3.2 Gradient réduit

Définition Le gradient réduit est le gradient de la fonction réduite sur une base de l’espace nul tangent. Expression du gradient réduit • Base Z de l’espace nul tangent aux contraintes : AZ = 0 avec A = ∇c(x0)T

• Décomposition du déplacement :

• Déplacement admissible :

• Fonction réduite fr : • Notations

g(x0) gradient de f en x0 → g(x0) = ∇f(x0) → g ∈Rn

gr(x0) gradient réduit → gr(x0) = ∇fr(pZ=0) → gr ∈Rn−m (m = nombre de contraintes) → gr est le gradient de la fonction réduite fr (= fonction de n−m variables pZ)

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement

0)x(csous)x(fminnRx

=∈

gZg Tr =→

( )Z0ZrRp

00Rp

Zpxf)(pfminbp)A(xsousp)f(xminm-n

Zn

+=⇔=++∈∈

==⇒=

Z

YZpp

0p0Ap

( ) ( )Z0T

ZrZ0Zr ZpxfZ)(pfZpxf)(pf +∇=∇⇒+=

=+= inversibleAY

0ZAavecZppYp ZY

en pZ = 0

Page 475: Techniques d’optimisation

Techniques d’optimisation

475

3.3.2 Gradient réduit

Direction de descente • Le déplacement à partir du point x0 admissible est décomposé en • Le gradient réduit gr donne la direction de plus forte pente suivant les variables pZ. La direction de déplacement dans Rn est : d = Zgr . • On peut choisir les matrices Y et Z

- à partir de matrices orthogonales → factorisation QR de A - à partir d’une base de A → B∈Rm×m (= m colonnes indépendantes de A)

Gradient réduit sur une base B de A •

(E = matrice de permutation de colonnes de A)

• Le gradient réduit par rapport à la base B est :

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement

( ) BT1

NT

r gNBggZg −−==

==⇒=

Z

YZpp

0p0Ap =+= inversibleAY

0ZAavecZppYp ZY

=

−mnmNBAE

mn

m

m1

0B

Y−

=

mn

m

mn1

INB

Z−

−−

−=

=⇒

N

B

gg

g

Page 476: Techniques d’optimisation

Techniques d’optimisation

476

3.3.2 Direction de déplacement

Problème avec contraintes égalité → m contraintes actives • On construit la direction de déplacement d∈Rn dans l’hyperplan tangent aux contraintes en x0 Ad = 0 avec A = ∇c(x0)T → 2 méthodes de construction de la direction d

• Méthode du gradient projeté La direction d est celle du gradient projeté : d = gp (P = matrice de projection sur l’hyperplan tangent) • Méthode du gradient réduit La direction d est obtenue à partir du gradient de la fonction réduite : d = Zgr avec gr = ZTg (Z = base de l’hyperplan tangent) • On cherche un pas de déplacement suivant –d pour minimiser f.

Un déplacement complémentaire est nécessaire pour restaurer l’admissibilité.

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement

0)x(csous)x(fminnRx

=∈

( ) AAAAIPavecPgd1TT −

−==

0AZavecgZZd T ==

Page 477: Techniques d’optimisation

Techniques d’optimisation

477

3.3.2 Exemple

Exemple • Minimisation de • Changement de variables (coordonnées polaires) • Elimination variable r

• Minimum

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement

( ) 011xx)x(csousxx)x(f 22

2121 =−−+=+=

( )

=∇

11

xf ( )

=∇)1x(2

x2xc

2

1

-1

-0,5

0

0,5

1

1,5

2

2,5

-2 -1,5 -1 -0,5 0 0,5 1 1,5 2

+θ=θ=

1sinrxcosrx

2

1

−=θ+θ+θ=θ→ 1r),r(c

1)sin(cosr),r(f2

1sincos)(f1r +θ+θ=θ→=

π+π

=θ→

≥θ−→≥θ+θ−→≥θ−θ−=θ

π+ππ

=θ→=θ→=θ+θ−=θ4

*0cos0)tan1(cos0sincos)(''f4

ou4

1tan0cossin)('f

≈−=−≈−=→

29289.02/11*x70711.02/1*x

2

1

Page 478: Techniques d’optimisation

Techniques d’optimisation

478

3.3.2 Exemple

Gradient projeté • Minimisation de • Gradient projeté au point x0 • Direction de descente au point x0

→ tangente au cercle en x0

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement

( ) 011xx)x(csousxx)x(f 22

2121 =−−+=+=

( )

−=∇=∇=

= −AAAAIP

)x(fg,)x(cAavecPgg 1TT0

T0

p

( )000 sincosr2A θθ=

x1

x2

∇c

c(x)=0 x*

g=∇f

gp

x0 θ r

1

θθθθθθ

=0

200

0002

coscossincossinsin

P

( ) ( )

θθ

=

=∇

=∇→

0

00

2

100 sin

cosr2

)1x(2x2

xc,11

xfPoint admissible x0 (r0=1, θ0)

θθ−

==0

0

p

p

cossin

g

gd

( )

θθ−

θ−θ=→0

000p cos

sinsincosg

Page 479: Techniques d’optimisation

Techniques d’optimisation

479

3.3.2 Exemple

Gradient réduit • Minimisation de • Gradient réduit au point x0 • Direction de descente au point x0

→ tangente au cercle en x0

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.2 Direction de déplacement

( ) 011xx)x(csousxx)x(f 22

2121 =−−+=+=

( )000 sincosr2A θθ=

x1

x2

∇c

c(x)=0 x*

Zgr

x0 θ r

1

θ−=

1tan

Z 0

( ) ( )

θθ

=

=∇

=∇→

0

00

2

100 sin

cosr2

)1x(2x2

xc,11

xfPoint admissible x0 (r0=1, θ0)

0r tan1g θ−=→

( )

−==

∇=∇== −

INB

Z,NBAE

)x(fg,)x(cAavecgZg 1

0T

0T

r

θθ−

==0

0

r

r

cossin

ZgZgd

θθ−

θθ−θ

=→0

0

0

00r cos

sincos

sincosZg

Page 480: Techniques d’optimisation

Techniques d’optimisation

480

3.3.3 Restauration

Point initial

Itérations admissibles

Méthode de restauration

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.3 Restauration

Page 481: Techniques d’optimisation

Techniques d’optimisation

481

3.3.3 Restauration

Itérations admissibles La méthode du gradient projeté ou réduit construit une suite de solutions admissibles → point initial admissible → restauration de la faisabilité à chaque itération Point initial • On peut construire un point initial admissible du problème en résolvant le problème préliminaire sans contrainte • La solution x0 de ce problème préliminaire est admissible si le coût est nul Restauration de la faisabilité • La direction de descente d est dans l’hyperplan tangent aux contraintes au point courant. • Si les contraintes ne sont pas linéaires, un pas s suivant d donne un point non admissible

→ Il faut restaurer la faisabilité avant d’évaluer si le pas s est acceptable.

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.3 Restauration

≤=

∈ 0)x(c0)x(csousf(x)min

I

ERx n

( )2I2E

Rx(x)c,0max(x)cmin

n+

( ) ( )

≤=⇒

==⇒=+ 0)(xc

0)(xc0)(xc,0max

0)(xc0)(xc,0max)(xc0I

0E

0I

0E20I20E

Page 482: Techniques d’optimisation

Techniques d’optimisation

482

3.3.3 Restauration

Déplacement admissible → m contraintes actives On construit le déplacement p à partir du point initial x0 en 2 étapes : p = p1 + p2 • Le déplacement p1 est suivant la direction de descente d dans l’hyperplan tangent : p1 = –sd

d∈Rn = direction construite à partir du gradient projeté ou du gradient réduit s > 0 = pas de déplacement suivant –d (pour minimisation)

On obtient un point x1 = x0 + p1 dans l’hyperplan tangent → non admissible si contraintes non linéaires • Le déplacement p2 restaure un point admissible à partir du point x1.

→ linéarisation des contraintes en x1 → résolution d’un système sous-déterminé

On obtient un point x2 = x1 + p2 admissible. Recherche linéaire • On évalue le point x2 correspondant au pas s de recherche linéaire suivant d. • Le pas s est modifié par dichotomie jusqu’à trouver un point x2(s) acceptable

→ règles d’Armijo, Goldstein, Wolfe,…

0)x(csousf(x)minnRx

=∈

c(x)=0

x0

x1

p1

c(x)=c1

p2 x2

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.3 Restauration

Page 483: Techniques d’optimisation

Techniques d’optimisation

483

3.3.3 Restauration

Méthode de restauration Le déplacement p2 doit vérifier : • Solution de norme minimale → projection sur l’hyperplan tangent aux contraintes actives

(cf §1.2.4)

• Solution de base → pour ne pas dégrader la minimisation apportée par p1 (cf §1.2.3)

• Plusieurs pas de restauration peuvent être nécessaires.

−=−==∇≈∇==

111

0T

0T

1111 c)c(xb

A)c(x)c(xAavecbpA

( ) 11T

11T1211

RpbAAApbpAsouspmin

n

∈=→=

( ) ( ) 11

1211

1Y1ZY1 bYAYpbYApb)ZpYp(A −− =→=⇒=+

c(x)=0

x0 x1 p1

c(x)=c1

∇c(x0) ∇c(x1)

p2

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.3 Restauration

Page 484: Techniques d’optimisation

Techniques d’optimisation

484

3.3.3 Restauration

Illustrations

c(x)=0

c(x)=c1 p2

p3

p1 x1

x0

Restauration en plusieurs itérations : p2 , p3

c(x)=0

c(x)=c1

p2

p1 x1

x0

Restauration infructueuse (non linéarité)

Restauration avec dégradation du critère

c(x)=0 lignes de f p2

p1 x1 x0

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.3 Restauration

Page 485: Techniques d’optimisation

Techniques d’optimisation

485

3.3.4 Algorithme

Algorithme de gradient projeté / réduit

Exemple

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.4 Algorithme

Page 486: Techniques d’optimisation

Techniques d’optimisation

486

3.3.4 Algorithme

Algorithme de gradient projeté/réduit Les principales étapes d’une itération de gradient projeté/réduit sont • construire la direction de descente au point courant • effectuer une recherche linéaire avec restauration Direction de descente • Sélection des contraintes actives • Projection ou réduction dans l’hyperplan tangent • Mise à jour du hessien (quasi-Newton) Recherche linéaire • Méthode de dichotomie sur le pas de déplacement • Restauration avant évaluation du pas • Règles d’acceptation (Armijo,…) Principales difficultés • Amélioration critère → grands pas • Restauration contraintes → petits pas

→ difficultés sur problèmes très non-linéaires → réglages à adapter au cas par cas

Mise à jour xk , Hk

Projection ou réduction Direction dk

Recherche linéaire avec restauration

Pas sk

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.4 Algorithme

Page 487: Techniques d’optimisation

Techniques d’optimisation

487

3.3.4 Exemple

Exemple • Minimisation de • Solution :

Itérations • Point courant : • Descente : x’ = x − s1d1 avec

→ pas s1 suivant le gradient projeté • Restauration : x’’ = x’ − s2d2 avec → pas s2 suivant le gradient des contraintes • Réglage des pas : s2 est calculé pour restaurer c(x’’) = 0 s1 est choisi pour vérifier une décroissance suffisante f(x’’) < f(x)

-1

-0,5

0

0,5

1

1,5

2

2,5

-2 -1,5 -1 -0,5 0 0,5 1 1,5 2

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.4 Algorithme

( ) 011xx)x(csousxx)x(f 22

2121 =−−+=+=

≈−=−≈−=

29289.02/11*x70711.02/1*x

2

1

θ=

=

1sinrcosr

xx

x2

1

θθ−

=cossin

d1

θθ

=sincos

d2 ( )

=∇←)1x(2

x2xc

2

1

( )

θθ−

θ−θ=←cossin

sincosgp

Page 488: Techniques d’optimisation

Techniques d’optimisation

488

3.3.4 Exemple

Exemple • Minimisation de

• Point initial : → Restauration initiale :

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.4 Algorithme

( ) 011xx)x(csousxx)x(f 22

2121 =−−+=+=

=

11.0

xx

2

1

=

11

xx

2

1

Itération x1 x2 f(x) c(x) Descente s1 x1' x2' c(x') Restauration s2

1 0,10000 1,00000 1,10000 -0,99000 0,00000 0,10000 1,00000 -0,99000 4,50000

2 1,00000 1,00000 2,00000 0,00000 1,00000 1,00000 0,00000 1,00000 -0,50000

3 0,00000 0,00000 0,00000 0,00000 0,50000 -0,50000 0,00000 0,25000 -0,06699

4 -0,50000 0,13397 -0,36603 0,00000 0,18301 -0,65849 0,22548 0,03349 -0,00844

5 -0,65005 0,24011 -0,40994 0,00000 5,492E-02 -0,69178 0,27581 3,016E-03 -7,547E-04

6 -0,69080 0,27696 -0,41385 0,00000 1,612E-02 -0,70246 0,28809 2,599E-04 -6,497E-05

7 -0,70237 0,28819 -0,41418 0,00000 4,722E-03 -0,70573 0,29150 2,230E-05 -5,576E-06

8 -0,70572 0,29151 -0,41421 0,00000 1,383E-03 -0,70670 0,29249 1,913E-06 -4,783E-07

9 -0,70670 0,29249 -0,41421 0,00000 4,051E-04 -0,70699 0,29277 1,641E-07 -4,103E-08

10 -0,70699 0,29277 -0,41421 0,00000 1,187E-04 -0,70707 0,29286 1,408E-08 -3,520E-09

11 -0,70707 0,29286 -0,41421 0,00000 3,475E-05 -0,70710 0,29288 1,208E-09 -3,020E-10

12 -0,70710 0,29288 -0,41421 0,00000

Page 489: Techniques d’optimisation

Techniques d’optimisation

489

3.3.4 Exemple

Exemple Minimisation de Point initial Point initial admissible Solution

3 Optimisation avec contraintes 3.3 Gradient projeté 3.3.4 Algorithme

( ) 011xx)x(csousxx)x(f 22

2121 =−−+=+=

-1,0

-0,5

0,0

0,5

1,0

1,5

2,0

2,5

-2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0

-0,1

0,0

0,1

0,2

0,3

0,4

-0,8 -0,7 -0,6 -0,5 -0,4

=

11.0

xx

2

1

≈−−≈−=

29289.02/1170711.02/1

*x*x

2

1

=

11

xx

2

1restauration initiale itérations

Page 490: Techniques d’optimisation

Techniques d’optimisation

490

Sommaire 1. Bases théoriques

2. Optimisation sans contraintes

3. Optimisation avec contraintes

3.1 Simplexe 3.2 Point intérieur 3.3 Gradient projeté 3.4 Lagrangien augmenté 3.4.1 Principes 3.4.2 Pénalisation 3.4.3 Algorithme 3.5 Programmation quadratique séquentielle 3.6 Convergence

3 Optimisation avec contraintes 3.4 Lagrangien augmenté

Page 491: Techniques d’optimisation

Techniques d’optimisation

491

3.4.1 Lagrangien augmenté

Problème avec contraintes égalité → contraintes actives La difficulté de résolution vient des 2 objectifs antagonistes : • Minimiser le critère f(x) • Satisfaire les contraintes c(x)=0 Méthodes de pénalisation Les contraintes sont ajoutées à la fonction coût avec une pondération : • Critère augmenté → pondération = pénalisation des contraintes • Lagrangien → pondération = multiplicateurs de Lagrange • Lagrangien augmenté → pondération = pénalisation + multiplicateurs → On se ramène à un problème sans contraintes plus simple Les difficultés viennent du réglage de la pondération : • Le problème pénalisé sans contraintes doit être équivalent au problème avec contraintes. • Le problème pénalisé est mal conditionné lorsque la pénalisation est grande.

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.1 Principes

≤=

∈ 0)x(c0)x(csousf(x)min

I

ERx n

0)x(csous)x(fminnRx

=∈

Page 492: Techniques d’optimisation

Techniques d’optimisation

492

3.4.2 Pénalisation

Critère augmenté

Pénalisation quadratique

Pénalisation exacte

Mise en œuvre

Lagrangien augmenté

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation

Page 493: Techniques d’optimisation

Techniques d’optimisation

493

3.4.2 Critère augmenté

Problème avec contraintes égalité → contraintes actives On note x* la solution du problème avec contraintes. Critère augmenté On ajoute au critère un terme positif fonction de la violation des contraintes avec un coefficient de pénalisation ρ > 0 → 2 méthodes usuelles de pénalisation • Pénalisation en norme 2 (pénalisation quadratique) • Pénalisation en norme 1 Problème sans contraintes

( )( )2

2I2

2Eρ (x)c0,max(x)cρ21f(x)(x)f ++=

(x)fmin ρRx n∈

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation

0)x(csous)x(fminnRx

=∈

≤=

∈ 0)x(c0)x(csousf(x)min

I

ERx n

2

2ρ c(x)ρ21f(x)(x)f +=⇔

( )( )1I1Eρ (x)c0,max(x)cρf(x)(x)f ++=

1ρ c(x)ρf(x)(x)f +=⇔

→ solution xρ

Page 494: Techniques d’optimisation

Techniques d’optimisation

494

3.4.2 Pénalisation quadratique

Problème pénalisé l2 → contraintes actives Le critère l2 est différentiable deux fois pour un problème avec contraintes égalité On peut appliquer les algorithmes d’optimisation sans contraintes à base de gradient. Méthode de résolution • On résout une suite de problèmes pénalisés avec des valeurs croissantes de la pénalisation ρ.

• Chaque problème k+1 est initialisé avec la solution précédente xk. • Problème k avec pénalisation ρk : → solution xk • Il faut vérifier que la suite des solutions xk converge vers la solution x* du problème initial

→ 2 résultats de convergence selon que xk est une solution exacte ou approchée

( )( )2

2I2

2Eρ (x)c0,max(x)cρ21f(x)(x)favec ++=(x)fmin ρ

Rx n∈

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation

2

2ρ c(x)ρ21f(x)(x)f +=⇔

(x)fminkn ρ

Rx∈

∞+=ρ=∞→∞→ kkkk

limsi*xxlim

Page 495: Techniques d’optimisation

Techniques d’optimisation

495

3.4.2 Pénalisation quadratique

Problème pénalisé l2 • Problème avec contraintes : → solution x*

• Problème k avec pénalisation ρk : → solution xk Convergence • Si xk est le minimum global exact, alors • Si xk est un minimum local approché : avec

→ précision de résolution εk décroissante alors la limite x∞ est : - soit un point non admissible qui minimise - soit un point x* vérifiant les conditions KKT du problème initial On a dans ce 2ème cas : La solution exacte x* n’est obtenue qu’à la limite lorsque la pénalisation ρ tend vers l’infini.

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation

(x)fminkn ρ

Rx∈

0)x(csous)x(fminnRx

=∈

*xxlim kk=

∞→

kkρ )(xfk

ε≤∇ 0lim kk=ε

∞→

2

2c(x)

∞+=ρ∞→ kk

lim ∞∞→= xxlim kk

λ=ρ=

∞→

∞→*)c(xlim

*xxlim

kkk

kk→ multiplicateurs des contraintes actives → minimum local

Page 496: Techniques d’optimisation

Techniques d’optimisation

496

3.4.2 Pénalisation quadratique

Eléments de la démonstration • Critère d’arrêt sur xk : si les gradients sont linéairement indépendants • Multiplicateurs de Lagrange

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation

)c(xlim*avec kkkρλ

∞→=

2)x(c21)x(f)x(f ρρ += )x(c)x(c)x(f)x(f ∇+∇=∇⇒ ρρ

kkρ )(xfk

ε≤∇

)x(f)x(c)x(c)x(c)x(c)x(f)(xf k kkkkkkkkρk∇−∇≥∇+∇=∇ ρρ babacar −≥+

)x(f)x(c)x(c kkkkk ∇+≤∇⇒ ερ 0)x(f

)x(c)x(c kk

kkkk →

∇+≤∇⇒ ∞→ρ

ε

→=

→=∇⇒

admissible0*)x(cou

)x(cmin0*)x(c

0)x(c)x(c)x(f)(xf kkkkkkkρk →≤∇+∇=∇ ∞→ερ

0**)x(c*)x(f =∇+∇→ λ

Page 497: Techniques d’optimisation

Techniques d’optimisation

497

3.4.2 Pénalisation exacte

Problème pénalisé l1 → contraintes actives Le critère l1 n’est pas différentiable. Méthode de résolution • On résout une suite de problèmes pénalisés avec des valeurs croissantes de la pénalisation ρ.

• Chaque problème k+1 est initialisé avec la solution précédente xk. • Problème k avec pénalisation ρk : → solution xk Convergence • Si alors x* est un minimum local de fρ avec la pénalisation l1.

• La pénalisation l1 est exacte si est ρ est supérieur au plus grand multiplicateur. → ne nécessite pas d’augmenter indéfiniment ρ pour obtenir la solution exacte x*

(x)fmin ρRx n∈

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation

(x)fminkn ρ

Rx∈

imax** λ=λ=ρ>ρ∞

( )( )1I1Eρ (x)c0,max(x)cρf(x)(x)favec ++=

1ρ c(x)ρf(x)(x)f +=⇔

Page 498: Techniques d’optimisation

Techniques d’optimisation

498

3.4.2 Mise en oeuvre

Méthodes avec critère augmenté • Type de pénalisation

- Pénalisation l2 → différentiable, mais nécessite une pénalisation forte pour approcher x* - Pénalisation l1 → exacte, mais non différentiable

• Réglage de la pénalisation - Trop faible → risque de divergence (pas de minimum du problème pénalisé) - Trop forte → mauvais conditionnement, difficultés numériques

• Utilisation du critère augmenté

- Difficultés pratiques si l’on veut obtenir une bonne précision sur la solution x* - Le critère augmenté peut servir de fonction mérite dans le cadre d’autres algorithmes pour évaluer la progression vers l’optimum.

Méthodes avec lagrangien augmenté On cherche à se ramener à une suite de problèmes sans contraintes - en conservant un critère différentiable - en évitant le mauvais conditionnement du à une pénalisation trop forte → utilisation des multiplicateurs de Lagrange pour réduire la pénalisation

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation

Page 499: Techniques d’optimisation

Techniques d’optimisation

499

3.4.2 Lagrangien augmenté

Problème pénalisé l2 • La méthode de pénalisation consiste à minimiser le critère augmenté. • La convergence est obtenue pour des valeurs croissantes de pénalisation.

• La solution xk ne respecte qu’approximativement les contraintes : • Pour respecter précisément les contraintes, il faut augmenter fortement la pénalisation

→ cause de mauvais conditionnement et de difficultés numériques • On peut appliquer la méthode de pénalisation au problème équivalent

Rxc(x)ρ

21f(x)(x)fmin

n+=

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation

λ=ρ=

→∞→

∞→*)c(xlim

*xxlim

kkk

kk→ multiplicateurs des contraintes actives → minimum local

∞+=ρ∞→ kk

lim

kk

*)c(xρλ

2T2

2ρRx

c(x)ρ21c(x)*λf(x)c(x)ρ

21)*L(x,)*(x,Lmin

n++=+λ=λ→

0c(x)sous*)L(x,minnRx

=λ∈

0c(x)sousf(x)minnRx

=⇔∈

→ si l’on connait λ*

Page 500: Techniques d’optimisation

Techniques d’optimisation

500

3.4.2 Lagrangien augmenté

Lagrangien augmenté • La méthode de lagrangien augmenté consiste à résoudre une suite de problèmes : avec ρk = valeur de pénalisation du problème k λk = estimation des multiplicateurs pour le problème k • Si et les problèmes deviennent équivalents.

La solution xk du problème converge vers la solution x* du problème initial. • La solution xk vérifie également : (même démonstration que pour le critère augmenté avec pénalisation quadratique)

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation

2k

Tk

2

2kkkρRx

c(x)ρ21c(x)λf(x)c(x)ρ

21)L(x,)(x,Lmin

kn++=+λ=λ

( ) 0)c(xρλ)c(x)f(x),(xL kkkkkkkρx k=+∇+∇=λ∇

)(x,Lmin kρRx kn

λ∈

*lim kkλ=λ

∞→

*xxlim kk=→

∞→

0c(x)sous*)L(x,minnRx

=λ∈

0c(x)sousf(x)minnRx

=⇔∈

*)(x,LminnRx

λ⇔ ρ∈

(x)fminnRx

ρ∈

∞+=ρ∞→ kk

lim

*λ)c(xρλlim kkkk=+⇒

∞→

0*c(x*)f(x*))*L(x*,x =λ∇+∇=λ∇à comparer à x* qui vérifie :

Page 501: Techniques d’optimisation

Techniques d’optimisation

501

3.4.2 Lagrangien augmenté

Lagrangien augmenté • On peut estimer les multiplicateurs à l’itération k pour ρk assez grand • La valeur des contraintes à l’itération k est : On peut parvenir à respecter les contraintes sans augmenter indéfiniment la pénalisation si λk est une bonne estimation des multiplicateurs. → meilleur conditionnement → convergence plus rapide et précise que la méthode du critère augmenté → méthode de lagrangien augmenté appelée aussi méthode des multiplicateurs Convergence Pour ρ assez grand, la solution x* du problème initial est un minimum local du problème → ne nécessite pas d’augmenter indéfiniment ρ pour obtenir la solution exacte x*

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.2 Pénalisation

*λ)c(xρλlim kkkk=+

∞→)c(xρλλ* kkk +≈→

)c(xρλλ kkk1k +=→ +

k

kk ρ

λ*λ)c(x −≈

pour l’itération k+1

2Tρ

Rxc(x)ρ

21c(x)*λf(x))*(x,Lmin

n++=λ

0*λλk → →

→ pénalisation exacte si on connaît λ*

Page 502: Techniques d’optimisation

Techniques d’optimisation

502

3.4.3 Algorithme

Algorithme de lagrangien augmenté

Exemple

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Algorithme

Page 503: Techniques d’optimisation

Techniques d’optimisation

503

3.4.3 Algorithme

Méthode de lagrangien augmenté (ou méthode des multiplicateurs) Les principales étapes d’une itération de lagrangien augmenté sont • minimiser le lagrangien augmenté • mettre à jour les paramètres de réglage Minimisation du lagrangien augmenté • Méthode de quasi-Newton • Recherche linéaire ou région de confiance • Précision d’arrêt sur gradient Paramètres de réglage • Multiplicateurs • Pénalisation • Précisions (gradient, contraintes) Principales difficultés • Précision contraintes → pénalisation forte • Conditionnement → pénalisation faible → convergence précise difficile → réglages à adapter au cas par cas

Minimisation de Lρ Précision εk

Solution xk+1 Contraintes c(xk+1)

Mise à jour xk+1 , λk+1 , ρk+1 , εk+1

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Algorithme

Page 504: Techniques d’optimisation

Techniques d’optimisation

504

3.4.3 Algorithme

Méthode de lagrangien augmenté (ou méthode des multiplicateurs) • Réglages à l’itération k : - multiplicateurs λk

- pénalisation ρk - précision de résolution εk

- précision sur les contraintes ηk • Minimisation : initialisation xk → solution xk+1 → valeurs des contraintes = c(xk+1) • Mise à jour des réglages à l’itération k+1 en fonction du respect des contraintes

- Si → mise à jour des multiplicateurs

(contraintes bien respectées) → résolution plus précise - Si → augmentation de la pénalisation (contraintes mal respectées) → résolution moins précise

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Algorithme

( ) k1kxc η<+

)(x,Lmin kρRx kn

λ∈

( ) kk1kx ,xLk

ε≤λ∇ +ρ→ critère d’arrêt

)c(xρλλ kkk1k +=+

( ) k1kxc η>+ 10k1k ×→ρ>ρ +

k1kk1k , η<ηε<ε ++

k1kk1k , η>ηε>ε ++

Page 505: Techniques d’optimisation

Techniques d’optimisation

505

3.4.3 Exemple

Exemple • Minimisation de

• Point initial : Solution :

23,

01

*x −=λ

=

01xx)x(csousx)1xx(2)x(f 22

211

22

21 =−+=−−+=

0,3.15.0

x =λ

=

-1,5

-1

-0,5

0

0,5

1

1,5

-1,5 -1 -0,5 0 0,5 1 1,5

-0,1

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,7 0,8 0,9 1

Suivi de la contrainte

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Algorithme

Page 506: Techniques d’optimisation

Techniques d’optimisation

506

3.4.3 Exemple

Exemple • Minimisation de

• Point initial : Solution :

23,

01

*x −=λ

=

01xx)x(csousx)1xx(2)x(f 22

211

22

21 =−+=−−+=

0,3.15.0

x =λ

=

Itération

x1

x2

λ

ρ

c(x)

Newton

1 0,50000 1,30000 0,00000 1 -0,71238 0,90050 1 2 0,40707 0,34917 -0,71238 10 -0,05788 0,90016 1 3 0,73467 0,63433 -1,29122 10 -0,00905 0,50091 2 4 0,91556 0,39077 -1,38175 10 0,00635 0,41807 2 5 0,98869 0,16985 -1,38175 100 0,00188 0,62061 2 6 0,99953 0,04158 -1,30283 100 -0,00188 0,01728 2 7 0,99905 -0,00320 -1,49103 100 -0,00009 0,00172 1 8 0,99995 0,00171 -1,50003 100 2,06E-06 0,00057 3 9 1,00000 0,00045 -1,50003 100 1,85E-06 0,00031

),x(L λ∇ ρ

pénalisation

précision contrainte

précision résolution

itérations Newton

3 Optimisation avec contraintes 3.4 Lagrangien augmenté 3.4.3 Algorithme

Page 507: Techniques d’optimisation

Techniques d’optimisation

507

Sommaire 1. Bases théoriques

2. Optimisation sans contraintes

3. Optimisation avec contraintes

3.1 Simplexe 3.2 Point intérieur 3.3 Gradient projeté 3.4 Lagrangien augmenté 3.5 Programmation quadratique séquentielle 3.5.1 Equations KKT 3.5.2 Modèle quadratique 3.5.3 Globalisation 3.5.4 Algorithme 3.6 Convergence

3 Optimisation avec contraintes 3.5 Quadratique séquentiel

Page 508: Techniques d’optimisation

Techniques d’optimisation

508

3.5.1 Equations KKT

Problème non linéaire - Conditions de minimum local - Equations KKT

Méthode de Newton

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.1 Equations KKT

Page 509: Techniques d’optimisation

Techniques d’optimisation

509

3.5.1 Equations KKT

Problème avec contraintes égalité → m contraintes actives Conditions nécessaires de minimum local • Lagrangien :

• Gradient :

• Hessien :

• Conditions d’ordre 1 : → équations KKT

On cherche à résoudre les équations KKT par la méthode de Newton.

≤=

∈ 0)x(c0)x(csousf(x)min

I

ERx n

)x(c)x(f),x(L Tλ+=λ

0)x(csous)x(fminnRx

=∈

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.1 Equations KKT

λ∇+∇=

λ∇λ∇=λ∇

λ )x(c)x(c)x(f

),x(L),x(L),x(L x

∇∇λ∇

=

λ∇λ∇λ∇λ∇

=λ∇λλλ

λ

0)x(c)x(c),x(L

),x(L),x(L),x(L),x(L

),x(L T

2xx

22x

2x

2xx2

0),x(L),x(L),x(L x =

λ∇λ∇=λ∇

λ

Page 510: Techniques d’optimisation

Techniques d’optimisation

510

3.5.1 Equations KKT

Equations KKT Les conditions KKT donnent un système d’équations non linéaire en variables (x,λ) Méthode de Newton Au point (xk, λk), l’itération de Newton donne un déplacement d vérifiant → équations de Newton On peut écrire un problème quadratique-linéaire en variables (dx,dλ) dont les conditions d’optimalité sont les équations de Newton au point (xk, λk).

),x(Ld),x(L kkkk2 λ−∇=λ∇

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.1 Equations KKT

mnx Rdddavec +

λ∈

=

0),x(L),x(L),x(L x =

λ∇λ∇=λ∇

λ

λ∇+∇−=

∇∇λ∇

⇔λ )x(c

)x(c)x(fdd

0)x(c)x(c),x(L

k

kkkxT

k

kkk2xx

−=∇λ−∇=∇+λ∇⇔ λ

)x(cd)x(c),x(Ld)x(cd),x(L

kxT

k

kkxkxkk2xx

Page 511: Techniques d’optimisation

Techniques d’optimisation

511

3.5.2 Modèle quadratique

Problème quadratique local

Equivalence avec la méthode de Newton

Interprétation

Formulation simplifiée

Résolution

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique

Page 512: Techniques d’optimisation

Techniques d’optimisation

512

3.5.2 Modèle quadratique

Problème quadratique local Au point (xk, λk), on considère le problème d’optimisation sur la variable dQP∈Rn

→ problème quadratique-linéaire noté (QP) • Lagrangien LQP avec des multiplicateurs λQP sur les contraintes :

• Conditions d’ordre 1 : → système linéaire sur les variables primales dQP∈Rn et les variables duales λQP∈Rm

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique

0)x(cd)x(csousd),x(Ld21d),x(Lmin kQP

TkQPkk

2xx

TQPQP

Tkkx

Rd nQP

=+∇λ∇+λ∇∈

( ))x(cd)x(cd),x(Ld21d),x(L),d(L kQP

Tk

TQPQPkk

2xx

TQPQP

TkkxQPQPQP +∇λ+λ∇+λ∇=λ

0)x(cd)x(c kQPT

k =+∇

0),d(L),d(L

),d(LQPQPQP

QPQPQPdQPQPQP =

λ∇λ∇

=λ∇λ

=+∇=λ∇+λ∇+λ∇

⇔0)x(cd)x(c

0)x(cd),x(L),x(LkQP

Tk

QPkQPkk2xxkkx

Page 513: Techniques d’optimisation

Techniques d’optimisation

513

3.5.2 Modèle quadratique

Equivalence avec la méthode de Newton On se place au point (xk, λk). • L’itération de Newton pour résoudre les conditions KKT donne le système en variables (dx,dλ)

• Le problème quadratique-linéaire (QP) en variables dQP∈Rn

a pour conditions d’ordre 1 le système en variables (dQP,λQP) • Les 2 systèmes linéaires sont identiques en posant :

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique

=+∇=λ∇+λ∇+λ∇

0)x(cd)x(c0)x(cd),x(L),x(L

kQPT

k

QPkQPkk2xxkkx

−=∇λ−∇=∇+λ∇ λ

)x(cd)x(c),x(Ld)x(cd),x(L

kxT

k

kkxkxkk2xx

0)x(cd)x(csousd),x(Ld21d),x(Lmin kQP

TkQPkk

2xx

TQPQP

Tkkx

Rd nQP

=+∇λ∇+λ∇∈

∈=λ∈=

λm

QP

nxQP

RdRdd

Page 514: Techniques d’optimisation

Techniques d’optimisation

514

3.5.2 Modèle quadratique

Interprétation • L’itération de Newton au point (xk, λk) équivaut à la résolution du problème quadratique local • On peut formuler le problème quadratique local (QP) en → minimisation d’un modèle quadratique du lagrangien sous un modèle linéaire des contraintes Récapitulatif • Optimisation sans contrainte

Newton ⇔ Minimiser un modèle quadratique de la fonction • Optimisation avec contrainte

Newton ⇔ Minimiser un modèle quadratique du lagrangien sous un modèle linéaire des contraintes

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique

( )( )

++=

+λ+=

QPQPkQP

2QPkQPkQP

do)dx(c)d(c~do),dx(L)d(L~

avec0)d(c~sous)d(L~min QPQPRd n

QP

=∈

→ L à l’ordre 2 en x

→ c à l’ordre 1 en x

0)x(cd)x(csousd),x(Ld21d),x(Lmin kQP

TkQPkk

2xx

TQPQP

Tkkx

Rd nQP

=+∇λ∇+λ∇∈

λ==

→λ QP

QPxd

dd

→ multiplicateur λQP

Page 515: Techniques d’optimisation

Techniques d’optimisation

515

3.5.2 Modèle quadratique

Formulation simplifiée • L’itération de Newton au point (xk, λk) s’écrit en variables (dx,dλ) :

• En faisant le changement de variable dl = λk + dλ , on obtient

• L’itération de Newton en variables (dx,dl) équivaut au problème quadratique local → même formulation avec au lieu de

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique

0)x(cd)x(csousd),x(Ld21d)x(fmin kQP

TkQPkk

2xx

TQPQP

Tk

Rd nQP

=+∇λ∇+∇∈

−=∇λ∇−−∇=λ−∇=∇+λ∇ λ

)x(cd)x(c)x(c)x(f),x(Ld)x(cd),x(L

kxT

k

kkkkkxkxkk2xx

−=∇−∇=∇+λ∇

)x(cd)x(c)x(fd)x(cd),x(L

kxT

k

klkxkk2xx

)x(f k∇ ),x(L kkx λ∇

λ==

→QPl

QPxd

dd

→ multiplicateur λQP

λ−λ==

→λ kQP

QPxd

dd

Page 516: Techniques d’optimisation

Techniques d’optimisation

516

3.5.2 Modèle quadratique

Solution du problème quadratique • On peut calculer explicitement la solution du problème quadratique local • Si Q est définie positive, la solution est : • Si Q n’est pas définie positive, on remplace Q par une matrice H définie positive « proche »

→ factorisation de Cholesky modifiée → ou avec τ suffisamment grand

• Le déplacement à partir du point courant (xk, λk) est : • La résolution explicite est généralement trop coûteuse à cause des inversions de matrices.

On résout le problème quadratique-linéaire par un algorithme itératif dédié.

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.2 Modèle quadratique

0)x(cd)x(csousd),x(Ld21d)x(fmin kQP

TkQPkk

2xx

TQPQP

Tk

Rd nQP

=+∇λ∇+∇∈

λ=λ+=

λ−λ==

+

+

λ QP1k

QPk1k

kQP

QPx dxxd

dd

−=∇=

∇=λ∇==+⇔

∈ )x(cb)x(cAet)x(fc

),x(LQavecbAdsousdcQdd21min

k

Tk

k

kk2xx

QPQPT

QPTQP

Rd nQP

( ) ( )( )

−λ=+=λ

−−−

cAQdbcAQAAQ

QPT1

QP

11T1QP

IQH τ+=

Page 517: Techniques d’optimisation

Techniques d’optimisation

517

3.5.3 Globalisation

Méthode de Newton

SQP avec recherche linéaire

SQP avec région de confiance

Correction d’ordre 2

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation

Page 518: Techniques d’optimisation

Techniques d’optimisation

518

3.5.3 Globalisation

Méthode de Newton • La résolution des équations KKT par la méthode de Newton équivaut à

la résolution d’une suite de problèmes quadratiques → programmation quadratique séquentielle (SQP)

• La méthode de Newton n’est pas globalement convergente. → globalisation nécessaire par recherche linéaire ou région de confiance

→ fonction mérite F mesurant la progression de l’algorithme vis-à-vis - de l’amélioration du critère - du respect des contraintes → critère augmenté, lagrangien augmenté Globalisation Deux grandes méthodes de globalisation • Recherche linéaire

La solution du problème QP sert de direction de descente pour une recherche linéaire. → réglage du pas de déplacement pour améliorer la fonction mérite

• Région de confiance On ajoute au problème QP une contrainte de région de confiance. → réglage du rayon de confiance en fonction du rapport de réduction de la fonction mérite

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation

Page 519: Techniques d’optimisation

Techniques d’optimisation

519

3.5.3 SQP avec recherche linéaire

Principe • On effectue une recherche linéaire suivant la direction dx de la solution du problème QP. • L’amélioration est mesurée par une fonction mérite F.

La fonction F doit prendre en compte l’amélioration du critère et le respect des contraintes. → pénalisation de la violation des contraintes → différents choix possibles

• La fonction F doit permettre de converger vers l’optimum du problème initial.

Fonction de mérite exacte F est une fonction de mérite exacte si tout minimum local x* de (PO) est aussi un minimum local sans contrainte de F x* minimum local de ⇒ x* minimum local de

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation

≤=

∈ 0)x(c0)x(csous)x(fmin

I

ERx n

)x(FminnRx∈

≤=

∈ 0)x(c0)x(csous)x(fmin

I

ERx n

→ problème (PO)

Page 520: Techniques d’optimisation

Techniques d’optimisation

520

3.5.3 SQP avec recherche linéaire

Fonction mérite l1 • Problème avec contraintes égalité → contraintes actives

• Critère augmenté avec la norme 1 : F1,ρ est une fonction de mérite exacte lorsque le coefficient de pénalisation ρ est assez grand Théorème On suppose que (x*,λ*) vérifient les conditions suffisantes d’optimalité du problème (PO) F1,ρ est une fonction de mérite exacte si Réglage de ρ • ρ trop grand → mauvais conditionnement de la fonction mérite F1,ρ

difficulté de convergence • ρ trop petit → respect insuffisant des contraintes

optimum ≠ problème initial (fonction mérite F1,ρ non exacte)

0)x(csous)x(fminnRx

=∈

∑=

ρ =ρ+=m

1ii11,1 )x(c)x(cavec)x(c)x(f)x(F

∈∀≥λ∇=λ∇

*)x(Dd,0d*)*,x(Ld0*)*,x(L

2xx

T

*max im,,1iλ>ρ

=

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation

avec D(x*) = cône des directions en x*

Page 521: Techniques d’optimisation

Techniques d’optimisation

521

3.5.3 SQP avec recherche linéaire

Dérivée directionnelle de F1,ρ • La direction de recherche linéaire est donnée par la solution dx du problème QP • F1,ρ n’est pas dérivable → évaluation de la dérivée directionnelle suivant la direction dx

• vérifie avec dl = λk + dλ Valeur minimale de ρ • dx est une direction de descente pour F1,ρ si

• Condition suffisante

• F1,ρ est une fonction de mérite exacte si → conditions cohérentes car dl = λk + dλ avec dλ*=0

1,1 )x(c)x(f)x(F ρ+=ρ

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation

0)x(cd)x(csousd),x(Ld21d)x(fmin kQP

TkQPkk

2xx

TQPQP

Tk

Rd nQP

=+∇λ∇+∇∈

QPx dd =→

( )1kx

Tk

0s

xk,1'd,1 )x(cd)x(f

ds)sdx(dF

Fx

ρ−∇=

+=→

=

ρρ

1

xkk2xx

Tx

l )x(cd),x(Ldd λ∇

−>ρ∞

( ) ( )1lxkk

2xx

Tx

'd,1 )x(cdd),x(LdF

x ∞ρ −ρ−λ∇−≤( )'d,1

xF ρ

0),x(Lsid kk2xxl >λ∇>ρ

*max im,,1iλ>ρ

=

Page 522: Techniques d’optimisation

Techniques d’optimisation

522

3.5.3 SQP avec région de confiance

Principe • On ajoute au problème quadratique local une contrainte de région de confiance.

• On peut exprimer la contrainte de région de confiance en norme 2 ou en norme ∞. • L’amélioration est mesurée par une fonction mérite F.

Le rayon de confiance est réglé en fonction du rapport de réduction de la fonction mérite. Fonction de mérite l2 • On peut prendre une fonction mérite avec pénalisation quadratique • La fonction modèle quadratique correspondante est

• Le rapport de réduction est défini par

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation

≤=+∇

λ∇+∇∈ rd

0)x(cd)x(csousd),x(Ld

21d)x(fmin

QP

kQPT

kQPkk

2xx

TQPQP

Tk

Rd nQP

)dx(F)x(F

)dx(F)x(F

PQk,2k,2

PQk,2k,2

+−

+−

ρρ

ρρ

∑=

ρ =ρ+=m

1i

2i22,2 )x(c)x(cavec)x(c)x(f)x(F

2kQPT

kQPkk2xx

TQPQP

TkQP,2 )x(cd)x(cd),x(Ld

21d)x(f)d(F +∇ρ+λ∇+∇=ρ

Page 523: Techniques d’optimisation

Techniques d’optimisation

523

3.5.3 Correction d’ordre 2

Effet Maratos • La direction de déplacement obtenue en résolvant le problème QP peut simultanément :

- rapprocher de l’optimum - dégrader la fonction mérite basée sur l’amélioration du critère et des contraintes

• Ceci peut conduire à bloquer un algorithme SQP en rejetant des déplacements favorables.

Correction d’ordre 2 • On résout une 1ère fois le problème QP au point xk → solution dQP

• On évalue la valeur des contraintes au point xk + dQP → c(xk + dQP) = δc • Si la valeur de c(xk + dQP) est trop différente de 0 (non-linéarité des contraintes),

on résout une 2ère fois le problème QP au point xk en corrigeant la valeur des contraintes • On obtient une direction de déplacement qui tient compte de la non-linéarité des contraintes.

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation

0cdcsousdLd21dfmin kQP

TkQPk

2xx

TQPQP

Tk

Rd nQP

=+∇∇+∇∈

→ correction d’ordre 2 ccdcsousdLd21dfmin kQP

TkQPk

2xx

TQPQP

Tk

Rd nQP

δ−=+∇∇+∇∈

Page 524: Techniques d’optimisation

Techniques d’optimisation

524

3.5.3 Exemple

Effet Maratos • Minimisation de • Solution : Point courant : • Problème QP : en prenant • Solution QP :

• Nouveau point :

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation

01xx)x(csousx)1xx(2)x(f 22

211

22

21 =−+=−−+=

θθ

=sincos

x k

θθ

=∇

θ

−θ=∇→

sin2cos2

c,sin4

1cos4f

( ) ( ) 0sindcosdsousdd21sind4d1cos4min 21

22

2121d,d 21

=θ+θ++θ+−θ

23*,

01

*x −=λ

= ( )

==λ∇→

1001

I**,xL2xx

IL2xx =∇

θθ−=→θ

+θ→θ−= cossinddcos2

1tandmintandd 22222d21

2

θ−θ

θ=

θθ−θ

=→cossin

sincossin

sind

2

k

θθ−θθ+θ

=+ cossinsinsincos

x2

1k

Page 525: Techniques d’optimisation

Techniques d’optimisation

525

3.5.3 Exemple

Effet Maratos • Minimisation de On évalue en et • La contrainte : • Le critère : • L’écart à l’optimum :

Le point xk+1 est plus proche de l’optimum que le point xk, alors que : - la valeur du critère est dégradée : f(xk+1) > f(xk) - la valeur de la contrainte est dégradée : c(xk+1) ≠ 0

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation

( ) ( )

θ==

−θθ−θ+θ+θ=−θ+θ=

++2

1k

k222

1k

22k

sin)x(c0)x(c

1cossinsinsincos)x(c1sincos)x(c

θθ

=sincos

x k

=

01

*x

θθ−θθ+θ

=+ cossinsinsincos

x2

1k

01xx)x(csousx)1xx(2)x(f 22

211

22

21 =−+=−−+=

( )

θ−θ=θ−=

θ+θ−=θ−=

+++ cossin)x(fcos)x(f

sincos)x(c2)x(fcos)x(c2)x(f

21k

k2

1k1k

kk

( )

( )

θ−=−⇒

θθ

θ−=−

θ−=−⇒

θ

−θ=−

++ cos1*xxsincos

cos1*xx

cos12*xxsin

1cos*xx

21k1k

2

kk

→ déplacement rejeté

Page 526: Techniques d’optimisation

Techniques d’optimisation

526

3.5.3 Exemple

Correction d’ordre 2 • Minimisation de On évalue la contrainte au point • Le problème QP est résolu une 2ème fois en corrigeant la valeur de la contrainte :

• Solution QP :

• Déplacement d’ordre 1 : tangent de norme sinθ → suppose la contrainte linéaire

• Déplacement d’ordre 2 : radial de norme sin2θ → corrige la non-linéarité

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation

csin)x(c 21k δ=θ=→ +

θθ−θθ+θ

=+ cossinsinsincos

x2

1k

01xx)x(csousx)1xx(2)x(f 22

211

22

21 =−+=−−+=

( ) ( ) θ−=θ+θ++θ+−θ 221

22

2121d,d

sinsindcosdsousdd21sind4d1cos4min

21

( ) ( ) θ−θθ−=→θ+θ

++θ→θθ+−= 32

222

222d21 sincossindsind

cos21d

21tandmintansindd

2

θθ

θ−

θ−θ

θ=→sincos

sincossin

sind 2k → correction d’ordre 2

Page 527: Techniques d’optimisation

Techniques d’optimisation

527

3.5.3 Exemple

Correction d’ordre 2 • Minimisation de

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.3 Globalisation

01xx)x(csousx)1xx(2)x(f 22

211

22

21 =−+=−−+=

-1,5

-1

-0,5

0

0,5

1

1,5

-1,5 -1 -0,5 0 0,5 1 1,5

θ

Ordre 1

θ−θ

θ=→cossin

sind

Ordre 2

θθ

θ−=→sincos

sind 2

Page 528: Techniques d’optimisation

Techniques d’optimisation

528

3.5.4 Algorithme

Algorithme SQP

Exemples - Exemple 1 : comparaison Newton − SQP - Exemple 2 : SQP sans − avec globalisation - Exemple 3 : comparaison SQP − Lagrangien augmenté

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

Page 529: Techniques d’optimisation

Techniques d’optimisation

529

3.5.4 Algorithme

Algorithme SQP Les principales étapes d’une itération SQP sont • construire le modèle quadratique local au point courant • résoudre le problème quadratique-linéaire • appliquer une technique de globalisation Modèle quadratique local • Sélection des contraintes actives • Mise à jour du hessien (quasi-Newton) Résolution du problème quadratique-linéaire • Modification pour avoir un hessien défini positif • Algorithme spécialisé problème quadratique Globalisation • Mise à jour de la pénalisation de la fonction mérite • Recherche linéaire ou région de confiance → grand nombre de variantes possibles → stratégies et réglages à adapter au cas par cas

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

Mise à jour xk , HLk , ρk

Solution problème quadratique dQP

Globalisation dk

Page 530: Techniques d’optimisation

Techniques d’optimisation

530

3.5.4 Exemples

Exemple 1 : Comparaison Newton − SQP • Minimisation de • Comparaison de 3 méthodes : résolution exacte , méthode de Newton , algorithme SQP

Résolution exacte • Lagrangien : • Conditions KKT : → solution

Matrices utiles

• Newton :

• SQP :

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

0xx2)x(csousx6x4xx2x2x2)x(f 2212121

22

21 =−=−−−+=

( )2212121

22

21 xx2x6x4xx2x2x2),x(L −λ+−−−+=λ

=−=λ−−−

=λ+−−

0xx206x2x4

0x44x2x4

221

12

121

≈λ≈≈

00446.1*28563.2*x06902.1*x

2

1

( )

−λ−−−λ+−−

221

12

121

21

xx26x2x4

x44x2x4,x,xF ( )

−−−

−λ+=λ∇⇒

01x4142

x4244,x,xF

1

1

21

( )

−λ+=λ∇

42244

,xL2xx( )

=∇1

x4xc 1( )

−−−−

=∇6x2x44x2x4

xf12

21

Page 531: Techniques d’optimisation

Techniques d’optimisation

531

3.5.4 Exemples

Exemple 1 : Méthode de Newton

• Itération de Newton : • Point initial :

• Itération 1 :

• Nouveau point :

• La méthode de Newton converge en 7 itérations, sans globalisation.

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

( ) ( )λ−=

λ∇

λ

,x,xFddd

,x,xF 212x

1x

21

( )

−−−

−=λ∇

010142

024,x,xF 21

=

−−−

λ 126

ddd

010142

024

2x

1x

−−=

λ 81

1

ddd

2x

1x

−=

λ⇒

801

xx

2

1

( )

−−−

=λ→126

,x,xF 21

=

λ 010

xx

2

1

+λ++

λ λddxdx

xx

2x2

1x1

2

1

Page 532: Techniques d’optimisation

Techniques d’optimisation

532

3.5.4 Exemples

Exemple 1 : Méthode de Newton

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

Itération x1 x2 λ f(x1,x2) c(x1,x2) F(x1,x2,λ) dF(x1,x2,λ) -6,000 4,000 -2,000 0,000 1 0,00000 1,00000 0,00000 -4,00000 -1,00000 -2,000 -2,000 4,000 -1,000 -1,000 0,000 -1,000 0,000 -32,000 -28,000 -2,000 4,000 2 1,00000 0,00000 -8,00000 -2,00000 2,00000 0,000 -2,000 4,000 -1,000 2,000 4,000 -1,000 0,000 8,640 15,200 -2,000 4,800 3 1,20000 2,80000 2,80000 -9,76000 0,08000 0,000 -2,000 4,000 -1,000 0,080 4,800 -1,000 0,000 7,4E-01 8,664 -2,000 4,346 4 1,08639 2,33466 1,16588 -10,16445 0,02582 0,0E+00 -2,000 4,000 -1,000 2,6E-02 4,346 -1,000 0,000 1,1E-02 8,027 -2,000 4,277 5 1,06933 2,28636 1,00676 -10,14342 0,00058 0,0E+00 -2,000 4,000 -1,000 5,8E-04 4,277 -1,000 0,000 2,8E-06 8,018 -2,000 4,276 6 1,06902 2,28563 1,00446 -10,14283 1,88E-07 0,0E+00 -2,000 4,000 -1,000 1,9E-07 4,276 -1,000 0,000 2,1E-13 8,018 -2,000 4,276 7 1,06902 2,28563 1,00446 -10,14283 1,60E-14 0,0E+00 -2,000 4,000 -1,000

1,6E-14 4,276 -1,000 0,000

Page 533: Techniques d’optimisation

Techniques d’optimisation

533

3.5.4 Exemples

Exemple 1 : Algorithme SQP

• Problème quadratique linéaire : • Point initial :

• Itération 1 :

• Nouveau point :

• On retrouve les itérations de la méthode de Newton sans globalisation. Le multiplicateur λ est directement le multiplicateur λQP du problème quadratique.

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

−=

λ⇒

801

xx

2

1

=

λ 010

xx

2

1

λ++

λ QP

2x2

1x1

2

1

dxdx

xx

0)x(cd)x(csousd),x(Ld21d)x(fmin x

Tx

2xx

Txx

T

Rd 2x

=+∇λ∇+∇∈

( )

−−

=∇→26

xf ( )

=∇1

0xc ( )

−=λ∇

4224

,xL2xx

01dd

10

sousdd

4224

dd

21

dd

26

minx2x

1x

2x

1xT

2x

1x

2x

1xT

d,d 2x1x

=−

+

−−

−=

−⇒

1dd4d2min

2x

1x2

1xd 1x

−==⇒ 1d

1d2x

1x 8avec QP −=λ

Page 534: Techniques d’optimisation

Techniques d’optimisation

534

Itération x1 x2 λ f(x1,x2) c(x1,x2) ∇f ∇c ∇L ∇2L(x1,x2,λ) 1 0,00000 1,00000 0,00000 -4,00000 -1,00000 -6,000 0,000 -6,000 4,000 -2,000

-2,000 -1,000 -2,000 -2,000 4,000

2 1,00000 0,00000 -8,00000 -2,00000 2,00000 0,000 4,000 -32,000 -28,000 -2,000

-8,000 -1,000 0,000 -2,000 4,000

3 1,20000 2,80000 2,80000 -9,76000 0,08000 -4,800 4,800 8,640 15,200 -2,000

2,800 -1,000 0,000 -2,000 4,000

4 1,08639 2,33466 1,16588 -10,16445 0,02582 -4,324 4,346 0,74262 8,664 -2,000

1,166 -1,000 0,00000 -2,000 4,000

5 1,06933 2,28636 1,00676 -10,14342 0,00058 -4,295 4,277 1,1E-02 8,027 -2,000

1,007 -1,000 0,0E+00 -2,000 4,000

6 1,06902 2,28563 1,00446 -10,14283 1,9E-07 -4,295 4,276 2,8E-06 8,018 -2,000

1,004 -1,000 0,0E+00 -2,000 4,000

7 1,06902 2,28563 1,00446 -10,14283 1,6E-14 -4,295 4,276 2,1E-13 8,018 -2,000

1,004 -1,000 0,0E+00 -2,000 4,000

3.5.4 Exemples

Exemple 1 : Algorithme SQP

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

Page 535: Techniques d’optimisation

Techniques d’optimisation

535

3.5.4 Exemples

Exemple 2 : SQP sans − avec globalisation • Minimisation de • Différents points initiaux → globalisation nécessaire pour assurer la convergence Résolution exacte • Lagrangien : • Conditions KKT : → solution

Matrices utiles

• Gradient :

• Modification du hessien :

• Recherche linéaire : pas s suivant la direction dx (= solution du problème QP)

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

( ) 011xx)x(csousxx)x(f 22

2121 =−−+=+=

( )1)1x(xxx),x(L 22

2121 −−+λ++=λ

( )

=−−+=−λ+

=λ+

011xx0)1x(21

0x21

22

21

2

1

≈=λ≈−=

−≈−=

70711.02/1*29289.02/11*x70711.02/1*x

2

1

( )

λ

λ=λ∇

2002

,xL2xx( )

=∇)1x(2

x2xc

2

1( )

=∇

11

xf

( ) ( ) 02avec1001

2I,xLH 2xx >τ+λ

τ+λ=τ+λ∇=

Page 536: Techniques d’optimisation

Techniques d’optimisation

536

3.5.4 Exemples

Exemple 2 : SQP sans globalisation • Minimisation de

• Point initial : • Algorithme SQP sans globalisation → convergence rapide

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

( ) 011xx)x(csousxx)x(f 22

2121 =−−+=+=

−=

λ 11

1xx

2

1

-1

-0,5

0

0,5

1

1,5

2

2,5

-2 -1,5 -1 -0,5 0 0,5 1 1,5 2

Itération x1 x2 λ 1 1,00000 -1,00000 1,00000 2 0,00000 -0,50000 0,50000 3 -1,00000 -0,08333 0,47222 4 -0,77401 0,24973 0,60672 5 -0,70743 0,28900 0,69818 6 -0,70714 0,29291 0,70707 7 -0,70711 0,29289 0,70711

Page 537: Techniques d’optimisation

Techniques d’optimisation

537

-1

-0,5

0

0,5

1

1,5

2

2,5

-2 -1,5 -1 -0,5 0 0,5 1 1,5 2

3.5.4 Exemples

Exemple 2 : SQP sans globalisation • Minimisation de

• Point initial : • Algorithme SQP sans globalisation → convergence rapide

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

( ) 011xx)x(csousxx)x(f 22

2121 =−−+=+=

−=

λ 12

5.1xx

2

1

Itération x1 x2 λ 1 -1,50000 2,00000 1,00000 2 -1,36538 1,07692 0,42308 3 -1,11784 -0,18542 0,44290 4 -0,80352 0,21615 0,57183 5 -0,70990 0,28607 0,68889 6 -0,70718 0,29293 0,70697 7 -0,70711 0,29289 0,70711

Page 538: Techniques d’optimisation

Techniques d’optimisation

538

-1

-0,5

0

0,5

1

1,5

2

2,5

-2 -1,5 -1 -0,5 0 0,5 1 1,5 2

3.5.4 Exemples

Exemple 2 : SQP sans globalisation • Minimisation de

• Point initial : • Algorithme SQP sans globalisation → convergence lente

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

( ) 011xx)x(csousxx)x(f 22

2121 =−−+=+=

−=

λ 11

1.0xx

2

1

Itération x1 x2 λ 1 -0,10000 1,00000 1,00000 2 -5,05000 0,50000 -44,50000 3 -2,62404 0,75032 -21,27825 4 -1,50286 0,87826 -8,90106 5 -1,08612 0,96364 -2,13558 6 -1,01047 1,19247 0,31161 7 -1,33383 -0,65614 0,39510 8 -0,96379 0,10912 0,48447 9 -0,72273 0,25387 0,63996 10 -0,70890 0,29344 0,70407 11 -0,70710 0,29289 0,70710 12 -0,70711 0,29289 0,70711

Page 539: Techniques d’optimisation

Techniques d’optimisation

539

-1

-0,5

0

0,5

1

1,5

2

2,5

-2 -1,5 -1 -0,5 0 0,5 1 1,5 2

3.5.4 Exemples

Exemple 2 : SQP avec globalisation • Minimisation de

• Point initial : • Algorithme SQP avec globalisation → convergence plus rapide

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

( ) 011xx)x(csousxx)x(f 22

2121 =−−+=+=

−=

λ 11

1.0xx

2

1

Itération x1 x2 λ 1 -0,10000 1,00000 1,00000 2 -1,33750 0,87500 -44,50000 3 -1,03171 0,82117 1,63129 4 -0,94371 0,58304 0,62377 5 -0,74975 0,22132 0,65803 6 -0,71035 0,29156 0,70147 7 -0,70710 0,29288 0,70708 8 -0,70711 0,29289 0,70711

Page 540: Techniques d’optimisation

Techniques d’optimisation

540

3.5.4 Exemples

Exemple 2 : SQP avec globalisation

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

Itération x1 x2 λ ∇L ∇2L(x1,x2,λ) τ dx Pas s 1 -0,10000 1,00000 1,00000 9,90000 2,00000 0,00000 0,0 -4,95000 0,25

1,00000 0,00000 2,00000 0,0 -0,50000 0,25

2 -1,33750 0,87500 -44,50000 -3,36370 -89,00000 0,00000 100,0 0,30579 1,00

0,59218 0,00000 -89,00000 100,0 -0,05383 1,00

3 -1,03171 0,82117 1,63129 -0,28710 3,26258 0,00000 0,0 0,08800 1,00

0,77690 0,00000 3,26258 0,0 -0,23812 1,00

4 -0,94371 0,58304 0,62377 -0,24198 1,24754 0,00000 0,0 0,19396 1,00

0,45126 0,00000 1,24754 0,0 -0,36172 1,00

5 -0,74975 0,22132 0,65803 -0,05185 1,31605 0,00000 0,0 0,03940 1,00

-0,09244 0,00000 1,31605 0,0 0,07024 1,00

6 -0,71035 0,29156 0,70147 -4,6E-03 1,40294 0,00000 0,0 3,2E-03 1,00

-1,9E-03 0,00000 1,40294 0,0 1,3E-03 1,00

7 -0,70710 0,29288 0,70708 4,7E-06 1,41417 0,00000 0,0 -3,3E-06 1,00

-1,7E-05 0,00000 1,41417 0,0 1,2E-05 1,00

8 -0,70711 0,29289 0,70711 -4,2E-10 1,41421 0,00000 0,0 3,0E-10 1,00

2,7E-10 0,00000 1,41421 0,0 -1,9E-10 1,00

Page 541: Techniques d’optimisation

Techniques d’optimisation

541

-1

-0,5

0

0,5

1

1,5

2

2,5

-2 -1,5 -1 -0,5 0 0,5 1 1,5 2

3.5.4 Exemples

Exemple 2 : SQP sans globalisation • Minimisation de

• Point initial : • Algorithme SQP sans globalisation → solution = maximum local

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

( ) 011xx)x(csousxx)x(f 22

2121 =−−+=+=

=

λ 111.0

xx

2

1

Itération x1 x2 λ 1 0,10000 1,00000 1,00000 2 5,05000 0,50000 -54,50000 3 2,62404 0,75028 -26,28019 4 1,50282 0,87782 -11,41974 5 1,08576 0,95907 -3,50192 6 1,00831 1,11015 -0,71030 7 0,92650 1,72824 -0,55351 8 0,70291 1,74580 -0,67324 9 0,70870 1,70662 -0,70579 10 0,70711 1,70711 -0,70710

Page 542: Techniques d’optimisation

Techniques d’optimisation

542

-1

-0,5

0

0,5

1

1,5

2

2,5

-2 -1,5 -1 -0,5 0 0,5 1 1,5 2

3.5.4 Exemples

Exemple 2 : SQP avec globalisation • Minimisation de

• Point initial : • Algorithme SQP avec globalisation → convergence

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

( ) 011xx)x(csousxx)x(f 22

2121 =−−+=+=

=

λ 111.0

xx

2

1

Itération x1 x2 λ 1 0,10000 1,00000 1,00000 2 1,33750 0,87500 -54,50000 3 1,03687 0,87643 4,23389 4 0,97837 0,75123 -0,24333 5 0,94133 0,60794 -0,35556 6 0,50173 -0,43482 -0,26135 7 -0,82925 -0,67191 0,26961 8 -1,05655 -0,18790 0,45516 9 -0,80511 0,23137 0,58156 10 -0,70800 0,28512 0,69118 11 -0,70721 0,29295 0,70699 12 -0,70711 0,29289 0,70711

Page 543: Techniques d’optimisation

Techniques d’optimisation

543

Itération x1 x2 λ ∇L ∇2L(x1,x2,λ) τ dx Pas s 1 0,10000 1,00000 1,00000 -9,90000 2,00000 0,00000 0,0 4,95000 0,25 1,00000 0,00000 2,00000 0,0 -0,50000 0,25 2 1,33750 0,87500 -54,50000 12,32567 -109,00000 0,00000 150,0 -0,30063 1,00 -0,05847 0,00000 -109,00000 150,0 0,00143 1,00 3 1,03687 0,87643 4,23389 0,49539 8,46779 0,00000 0,0 -0,05850 1,00 1,06014 0,00000 8,46779 0,0 -0,12520 1,00 4 0,97837 0,75123 -0,24333 0,30426 -0,48667 0,00000 1,0 -0,59272 0,06 1,17691 0,00000 -0,48667 1,0 -2,29267 0,06 5 0,94133 0,60794 -0,35556 0,50796 -0,71112 0,00000 1,0 -1,75838 0,25 1,20493 0,00000 -0,71112 1,0 -4,17104 0,25 6 0,50173 -0,43482 -0,26135 1,27054 -0,52271 0,00000 1,0 -2,66197 0,50 0,22632 0,00000 -0,52271 1,0 -0,47418 0,50 7 -0,82925 -0,67191 0,26961 0,24512 0,53921 0,00000 0,0 -0,45458 0,50 -0,52197 0,00000 0,53921 0,0 0,96802 0,50 8 -1,05655 -0,18790 0,45516 -0,22888 0,91032 0,00000 0,0 0,25143 1,00 -0,38167 0,00000 0,91032 0,0 0,41927 1,00 9 -0,80511 0,23137 0,58156 -0,11295 1,16311 0,00000 0,0 0,09711 1,00 -0,06252 0,00000 1,16311 0,0 0,05376 1,00

10 -0,70800 0,28512 0,69118 -1,1E-03 1,38235 0,00000 0,0 8,0E-04 1,00 -1,1E-02 0,00000 1,38235 0,0 7,8E-03 1,00

11 -0,70721 0,29295 0,70699 -1,4E-04 1,41398 0,00000 0,0 1,0E-04 1,00 8,0E-05 0,00000 1,41398 0,0 -5,7E-05 1,00

12 -0,70711 0,29289 0,70711 1,2E-08 1,41421 0,00000 0,0 -8,4E-09 1,00 -2,5E-08 0,00000 1,41421 0,0 1,8E-08 1,00

3.5.4 Exemples

Exemple 2 : SQP avec globalisation

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

Page 544: Techniques d’optimisation

Techniques d’optimisation

544

3.5.4 Exemples

Exemple 3 : Comparaison SQP − Lagrangien augmenté • Minimisation de

• Point initial : Solution :

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

23,

01

*x −=λ

=

01xx)x(csousx)1xx(2)x(f 22

211

22

21 =−+=−−+=

0,3.15.0

x =λ

=

-1,5

-1

-0,5

0

0,5

1

1,5

-1,5 -1 -0,5 0 0,5 1 1,5

-1,5

-1

-0,5

0

0,5

1

1,5

-1,5 -1 -0,5 0 0,5 1 1,5

SQP Lagrangien augmenté

Page 545: Techniques d’optimisation

Techniques d’optimisation

545

3.5.4 Exemples

Exemple 3 : Comparaison SQP − Lagrangien augmenté

3 Optimisation avec contraintes 3.5 Quadratique séquentiel 3.5.4 Algorithme

SQP Lagrangien augmenté Itération x1 x2 λ x1 x2 λ

1 0,50000 1,30000 0,00000 0,50000 1,30000 0,00000 2 0,59665 0,90129 -1,38660 0,40707 0,34917 -0,71238 3 1,12042 0,46118 -1,70047 0,73467 0,63433 -1,29122 4 1,18366 -0,19988 -1,57065 0,91556 0,39077 -1,38175 5 1,03482 0,02190 -1,52359 0,98869 0,16985 -1,38175 6 1,00084 -0,00103 -1,50118 0,99953 0,04158 -1,30283 7 1,00000 0,00000 -1,50000 0,99905 -0,00320 -1,49103 8 0,99995 0,00171 -1,50003 9 1,00000 0,00045 -1,50003

Convergence rapide, très précise Convergence plus lente, moins précise → suivi de la contrainte → conditionnement

Page 546: Techniques d’optimisation

Techniques d’optimisation

546

Sommaire 1. Bases théoriques

2. Optimisation sans contraintes

3. Optimisation avec contraintes

3.1 Simplexe 3.2 Point intérieur 3.3 Gradient projeté 3.4 Lagrangien augmenté 3.5 Programmation quadratique séquentielle 3.6 Convergence

3.6.1 Convergence globale 3.6.2 Comparaison des algorithmes 3.6.3 Difficultés pratiques

3 Optimisation avec contraintes 3.6 Convergence

Page 547: Techniques d’optimisation

Techniques d’optimisation

547

3.6.1 Convergence globale

Problème sans contraintes Convergence globale • Un algorithme générant une suite (xk)k∈N à partir du point x0 est globalement convergent si

• Convergence globale = convergence vers un point stationnaire

≠ convergence vers le minimum global

• Le domaine de convergence est l’ensemble des points initiaux x0 à partir desquels on a la convergence globale.

• Le domaine de convergence peut être très réduit lorsque :

- la fonction est très non linéaire - la fonction est mal conditionnée → difficulté principale de la méthode de Newton

0)x(flim kk=∇

∞→

3 Optimisation avec contraintes 3.6 Convergence 3.6.1 Convergence globale

)x(fminnRx∈

Page 548: Techniques d’optimisation

Techniques d’optimisation

548

3.6.1 Convergence globale

Descente avec recherche linéaire • Un algorithme à base de recherche linéaire génère une suite (xk)k∈N à partir du point x0 :

- suivant des directions dk - avec des pas sk

• On suppose que : - les directions dk sont des directions de descente - les pas sk vérifient les conditions de Wolfe - le gradient de la fonction est continu au sens de Lipschitz • Si les directions ne deviennent pas « trop » orthogonales au gradient :

alors l’algorithme est globalement convergent pour tout x0∈Rn :

→ condition vérifiée par : - la méthode de plus forte pente - la méthode de Newton si le conditionnement du hessien est borné - les méthodes incluant des itérations périodiques de plus forte pente → méthodes globalement convergentes

kkk1k dsxx +=→ +

3 Optimisation avec contraintes 3.6 Convergence 3.6.1 Convergence globale

∇>+∇∇+<+→

kT

k2kT

kk

kT

k1kkk

d)x(fcd)sdx(fd)x(fsc)x(f)sdx(f

0d)x(f kT

k <∇→

k,d)x(fd)x(f

kk

kT

k ∀ε≥∇∇

0)x(flim kk=∇

∞→

Page 549: Techniques d’optimisation

Techniques d’optimisation

549

3.6.1 Convergence globale

Eléments de la démonstration θk = angle entre le gradient ∇f(xk) et la direction de descente dk • Théorème de Zoutendijk : Démontré à partir de : (condition de Lipschitz) et (conditions de Wolfe) • Méthode de plus forte pente : • Méthode de Newton : (conditionnement borné)

En utilisant le théorème de Rayleigh-Ritz : (valeurs propres σ1≥… ≥ σn)

kk

kT

kk

k

2kk

2

dfdfcosavecfcos

∇∇

−=∞<∇∑ θθ

3 Optimisation avec contraintes 3.6 Convergence 3.6.1 Convergence globale

∇>+∇∇+<+

kT

k2kT

kk

kT

k1kkk

d)x(fcd)sdx(fd)x(fsc)x(f)sdx(f

MHHavecfHd 1kkkkk <∇−= −

kk fd −∇=

0)x(flimM/1cos kkk =∇⇒>⇒∞→

θ

y,x,xyL)x(f)y(f ∀−≤∇−∇

xxAxxminσ,

xxAxxmaxσ T

T

0xnT

T

0x1 ≠≠==

0)x(flim1cos kkk =∇⇒=⇒∞→

θ

0f0cos

ouk

k2

→∇→

⇒θ

Page 550: Techniques d’optimisation

Techniques d’optimisation

550

3.6.2 Comparaison des algorithmes

Classification • Méthodes primales • Méthodes primales-duales • Méthodes duales

3 Optimisation avec contraintes 3.6 Convergence 3.6.2 Comparaison des algorithmes

Méthode primale Méthode primale-duale Méthode duale

Problème traité problème primal problème primal problème dual

Objectif min f - méthode directe - point stationnaire

solution KKT - méthode indirecte - point stationnaire

max w - méthode indirecte - point col

Itérations admissibles admissibles ou non non admissibles

Variables primales x primales x , duales λ primales x , duales λ

Algorithmes - simplexe (LP) - gradient projeté - pénalisation

- point intérieur (LP, NLP) - séquentiel quadratique - lagrangien augmenté

- Uzawa

Page 551: Techniques d’optimisation

Techniques d’optimisation

551

3.6.2 Comparaison des algorithmes

3 Optimisation avec contraintes 3.6 Convergence 3.6.2 Comparaison des algorithmes

Méthode (auteurs, date) Type Convergence Avantages Difficultés

Plus forte pente (Cauchy 1847)

sans contraintes linéaire convergence globale convergence lente si mauvais conditionnement

Quasi-Newton (DFP 1959, BFGS 1970)

sans contraintes superlinéaire quadratique

1 minimisation par itération hessien défini positif stockage mémoire (n2)

Gradient conjugué (Hestenes 1951, Stiefel 1952) (Fletcher-Reeves 1964)

sans contraintes superlinéaire quadratique

stockage mémoire réduit hessien défini positif n minimisations par itération

Simplexe (Dantzig 1950)

problème linéaire exponentiel vitesse de convergence itérations admissibles

algorithme exponentiel dégénérescence

Gradient projeté, réduit (Rosen 1960, Wolfe 1962) (Abadie-Carpentier 1969)

primale itérations admissibles convergence lente si - mauvais conditionnement - non linéarités fortes

Séquentiel quadratique primale-duale quadratique (Newton)

vitesse de convergence globalisation nécessaire itérations non admissibles

Pénalisation extérieure (Fiacco-Mc Cormick 1968)

primale quadratique (Newton)

sans contraintes précision contraintes conditionnement

Pénalisation intérieure Point intérieur (Karmarkar 1984)

primale-duale problème linéaire

quadratique (Newton)

algorithme polynomial (LP) précision contraintes

Lagrangien augmenté (Hestenes 1969, Powell 1969)

primale-duale quadratique (Newton)

sans contraintes précision contraintes

Uzawa (1958) duale linéaire sans contraintes précision contraintes

Page 552: Techniques d’optimisation

Techniques d’optimisation

552

3.6.3 Difficultés pratiques

Qualité du minimum recherché • Minimum global approché → méthodes aléatoires (heuristiques), dites « globales » • Minimum local précis → méthodes déterministes (gradient), dites « locales » Principales difficultés des méthodes locales • Initialisation : le minimum est recherché au voisinage du point initial.

→ Essayer plusieurs points initiaux → Evaluer la qualité de la solution obtenue (connaissance expérimentale du problème)

• Contraintes actives : il faut identifier à chaque itération les contraintes actives (→ égalité)

→ Stratégie d’activation / désactivation des contraintes en fonction du déplacement • Précision numérique : l’évaluation du critère et des contraintes est bruitée. → Adapter les incréments pour les gradients → Adapter les seuils de précision et les tests d’arrêts • Conditionnement : les valeurs numériques doivent être du même ordre de grandeur

→ Mise à l’échelle des variables et des fonctions (critère, contraintes) → Mise à l’échelle des dérivées premières (jacobien) et secondes (hessien) On ne peut pas tout mettre à l’échelle simultanément → essais

3 Optimisation avec contraintes 3.6 Convergence 3.6.3 Difficultés pratiques

Page 553: Techniques d’optimisation

Techniques d’optimisation

553

Résumé

Bases théoriques • Différentiabilité : gradient, hessien, jacobien, lignes de niveau (§1.1.3) • Contraintes linéaires : base, solution de base, direction de base (§1.2.2) • Conditions d’optimalité : lagrangien, conditions KKT (§1.4.3) Optimisation sans contraintes • Méthode de Newton : principe, quasi-Newton, globalisation (§2.2) • Moindres carrés linéaires : équations normales (§2.5.3) Optimisation avec contraintes • Programmation linéaire : simplexe (§3.1.3)

→ méthode des tableaux, méthode des 2 phases • Programmation non linéaire : gradient projeté/réduit (§3.3)

lagrangien augmenté (§3.4) SQP (§3.5) → principes de chaque algorithme

Difficultés pratiques • Minima locaux • Précision numérique

Page 554: Techniques d’optimisation

Techniques d’optimisation

554

Bibliographie

Livres en français

• Programmation mathématique (M. Minoux) • Introduction à l’optimisation différentiable (M. Bierlaire) • Optimisation continue (F. Bonnans) • Optimisation discrète (A. Billionnet) Livres en anglais

• Practical optimization (P. E. Gill, W. Murray, M. H. Wright) • Numerical optimization (J. Nocedal, S. J. Wright) • Practical methods of optimization (R. Fletcher) • Practical mathematical optimization (J. A. Snyman) • Numerical optimization (J. F. Bonnans, J. C. Gilbert, C. Lemaréchal, C. A. Sagastizabal) • Numerical recipes in Fortran (W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery) • Numerical methods for unconstrained optimization and nonlinear equations (J. E. Dennis, R. B.

Schnabel)