info-f-524 : optimisation continue

70
INFO-F-524 : Optimisation continue Bernard Fortz http://homepages.ulb.ac.be/˜bfortz/INFO-F-524.html 2012-2013 Table des matières I Optimisation libre et sous contraintes 3 1 Optimisation libre dans R n 3 1.1 Définitions ............................................... 3 1.2 Conditions du premier ordre ..................................... 3 1.3 Conditions du second ordre ...................................... 4 1.4 Maxima et minima globaux ...................................... 6 1.5 Applications .............................................. 7 2 Optimisation sous contraintes 8 2.1 Introduction .............................................. 8 2.2 Problèmes de maximisation sous contraintes ............................. 10 2.2.1 Contraintes prenant la forme d’équations .......................... 10 2.2.2 Contraintes prenant la forme d’inéquations ......................... 14 2.2.3 Contraintes mixtes ...................................... 16 2.3 Problèmes de minimisation sous contraintes ............................. 17 II Dualité lagrangienne 19 3 Relaxation lagrangienne 19 4 Qualité du dual lagrangien 23 5 Résolution du dual lagrangien 24 6 Heuristiques lagrangiennes et fixation de variables 27 7 Choix d’un dual lagrangien 29 III Génération de colonnes 30 8 Rappel : l’algorithme du simplexe 30 9 Dualité 32 10 Le simplexe révisé 35 11 Algorithmes de génération de colonnes 38 IV Algorithmes pour l’optimisation non linéaire 51 1

Upload: lythuan

Post on 05-Jan-2017

237 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: INFO-F-524 : Optimisation continue

INFO-F-524 : Optimisation continue

Bernard Fortz

http://homepages.ulb.ac.be/˜bfortz/INFO-F-524.html2012-2013

Table des matières

I Optimisation libre et sous contraintes 3

1 Optimisation libre dans Rn 31.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Conditions du premier ordre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Conditions du second ordre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.4 Maxima et minima globaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.5 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Optimisation sous contraintes 82.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2 Problèmes de maximisation sous contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2.1 Contraintes prenant la forme d’équations . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2.2 Contraintes prenant la forme d’inéquations . . . . . . . . . . . . . . . . . . . . . . . . . 142.2.3 Contraintes mixtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.3 Problèmes de minimisation sous contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

II Dualité lagrangienne 19

3 Relaxation lagrangienne 19

4 Qualité du dual lagrangien 23

5 Résolution du dual lagrangien 24

6 Heuristiques lagrangiennes et fixation de variables 27

7 Choix d’un dual lagrangien 29

III Génération de colonnes 30

8 Rappel : l’algorithme du simplexe 30

9 Dualité 32

10 Le simplexe révisé 35

11 Algorithmes de génération de colonnes 38

IV Algorithmes pour l’optimisation non linéaire 51

1

Page 2: INFO-F-524 : Optimisation continue

12 Optimisation sans contraintes 5112.1 Optimisation à une dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5112.2 Optimisation à plusieurs dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

13 Optimisation sous contraintes 5513.1 Contraintes linéaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5513.2 Techniques de maximisation non contrainte séquentielle . . . . . . . . . . . . . . . . . . . . . . 56

V Méthodes de points intérieurs pour la programmation linéaire 60

14 Notions de base 60

15 Affine scaling 62

16 Barrières logarithmiques 6516.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6516.2 Primal Path Following . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6616.3 Dual Path Following . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6816.4 Primal-Dual Path Following . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

2

Page 3: INFO-F-524 : Optimisation continue

Première partie

Optimisation libre et sous contraintes1 Optimisation libre dans Rn

1.1 DéfinitionsOptimisation à une variable

-25

-20

-15

-10

-5

0

5

10

15

-4 -2 0 2 4

-x**2-2*x+10

Condition nécessaire– Soit une fonction y = f(x) définie sur un intervalle U ⊆ R.– Si x0 est un minimum (maximum) intérieur de y = f(x), alors

f ′(x0) = 0

Conditions suffisantes– Si f ′(x0) = 0 et f ′′(x0) > 0 (f ′′(x0) < 0), x0 est un minimum (maximum) local strict de y = f(x).– Si f ′(x0) = 0 et f ′′(x) ≥ 0 (f ′′(x0) ≤ 0) pour tout x ∈ U , x0 est un minimum (maximum) global de y = f(x)

sur U .

Conditions similaires dans Rn

Maximum (et minimum) dans RnSoit F : U → R une fonction de n variables réelles, avec U ⊆ Rn.

Définition 1 (Maximum global, strict, local).

1. Un point x∗ ∈ U est un maximum (global) de F sur U si F (x∗) ≥ F (x) pour tout x ∈ U .2. Un point x∗ ∈ U est un maximum strict de F sur U si F (x∗) > F (x) pour tout x ∈ U, x 6= x∗.3. Un point x∗ ∈ U est un maximum local (ou relatif) de F s’il existe une sphère Br(x∗) autour de x∗, tel queF (x∗) ≥ F (x) pour tout x ∈ Br(x∗) ∩ U .

4. Un point x∗ ∈ U est un maximum local strict de F s’il existe une sphère Br(x∗) autour de x∗, tel queF (x∗) > F (x) pour tout x 6= x∗, x ∈ Br(x∗) ∩ U .

Les définitions de minimum, minimum strict, minimum local, minimum local strict sont similaires (changer ≥ et> en ≤ et <).

1.2 Conditions du premier ordrePoint stationnaire et point intérieurDans le cas à une variable, si x∗ est un minimum ou un maximum de f , alors f ′(x∗) = 0.

Définition 2 (Point stationnaire). Soit F : U → R une fonction de classe C1 définie sur U ⊆ Rn. Un pointstationnaire de F est un point x∗ tel que

∂F

∂xi(x∗) = 0 pour tout i = 1, . . . , n.

Définition 3 (Point intérieur). x∗ ∈ U est un point intérieur de U s’il existe une sphère Br(x∗) ⊂ U .

3

Page 4: INFO-F-524 : Optimisation continue

Conditions du premier ordreThéorème 4 (Conditions du premier ordre). Soit F : U → R une fonction de classe C1 de n variables réelles,avec U ⊆ Rn. Si x∗ est un maximum local ou un minimum local de F sur U et si x∗ est un point intérieur de U ,alors x∗ est un point stationnaire de F .

Conditions du premier ordre

Démonstration. (Cas du maximum uniquement)

– Soit B = Br(x∗) ⊂ U une sphère de centre x∗ telle que F (x∗) ≥ F (x) pour tout x ∈ B.

– x∗i doit aussi maximiser la fonction xi 7→ F (x∗1, . . . , x∗i−1, xi, x

∗i+1, . . . , x

∗n) pour tout xi ∈]x∗i − r, x∗i + r[.

– Optimisation à une variable pour i = 1, . . . n :

∂F

∂xi(x∗) = 0 pour tout i = 1, . . . , n.

Conditions du premier ordre

-4-2

0 2

4 6

8 -8-6

-4-2

0 2

4

-600

-400

-200

0

200

400

600

800

Exemple 5 (Conditions du premier ordre).x3 − y3 + 9xy

– Conditions du premier ordre :

∂F∂x = 3x2 + 9y = 0∂F∂y = −3y2 + 9x = 0

– Solutions : (0, 0) et (3,−3)

Minimum, maximum ? ? ?

1.3 Conditions du second ordreMatrice hessienneDéfinition 6 (Matrice hessienne). Une fonction F : U → R une fonction de classe C2 définie sur U ⊆ Rn admeten chaque point de son domaine de définition n2 dérivées partielles du second ordre.Ces dérivées peuvent être classés dans une matrice n× n appelée matrice hessienne de la fonction F .

D2F (x) =

∂2F∂x2

1(x) · · · ∂2F

∂xn∂x1(x)

.... . .

...∂2F

∂x1∂xn(x) · · · ∂2F

∂xn∂xn(x)

Remarque : cette matrice est symétrique

4

Page 5: INFO-F-524 : Optimisation continue

Conditions suffisantesThéorème 7 (Conditions suffisantes du second ordre). Soit F : U → R une fonction de classe C2 de n variablesréelles, avec U ⊆ Rn un ensemble ouvert.Soit x∗ un point stationnaire de F . Alors,

1. si la matrice hessienne D2F (x∗) est définie négative, x∗ est un maximum local strict de F ;

2. si la matrice hessienne D2F (x∗) est définie positive, x∗ est un minimum local strict de F ;

3. si la matrice hessienne D2F (x∗) est une matrice indéfinie, x∗ n’est ni un minimum local ni un maximumlocal de F ;

Définition 8 (Point-selle ou point-col). On appelle point-selle ou point-col de F un point stationnaire x∗ tel queD2F (x∗) est une matrice indéfinie.

Vérification du caractère défini positif/négatif :Si x∗ est un point stationnaire de F :

1. Si les n mineurs diagonaux principaux de D2F (x∗) alternent en signe, le premier étant négatif,

|Fx1x1| < 0,

∣∣∣∣ Fx1x1Fx2x1

Fx1x2Fx2x2

∣∣∣∣ > 0,

∣∣∣∣∣∣Fx1x1

Fx2x1Fx3x1

Fx1x2 Fx2x2 Fx3x2

Fx1x3 Fx2x3 Fx3x3

∣∣∣∣∣∣ < 0, . . .

alors x∗ est un maximum local strict de F .

2. Si les n mineurs diagonaux principaux de D2F (x∗) sont tous positifs,

|Fx1x1 | > 0,

∣∣∣∣ Fx1x1Fx2x1

Fx1x2 Fx2x2

∣∣∣∣ > 0,

∣∣∣∣∣∣Fx1x1 Fx2x1 Fx3x1

Fx1x2Fx2x2

Fx3x2

Fx1x3Fx2x3

Fx3x3

∣∣∣∣∣∣ > 0, . . .

alors x∗ est un minimum local strict de F .

3. Sinon, x∗ est un point-selle de F .

Conditions nécessairesThéorème 9 (Conditions nécessaires du second ordre). Soit F : U → R une fonction de classe C2 de n variablesréelles, et x∗ un point intérieur de U .

1. Si x∗ est un minimum local de F , alors (∂F/∂xi)(x∗) = 0 pour tout i = 1, . . . , n ; de plus, tous les mineurs

principaux de la matrice D2F (x∗) sont ≥ 0.

2. Si x∗ est un maximum local de F , alors (∂F/∂xi)(x∗) = 0 pour tout i = 1, . . . , n ; de plus, tous les mineurs

principaux de la matrice D2F (x∗) d’ordre impair sont ≤ 0 et tous les mineurs principaux d’ordre pair sont≥ 0.

Conditions nécessaires

-4-2

0 2

4 6

8 -8-6

-4-2

0 2

4

-600

-400

-200

0

200

400

600

800

Exemple 10 (Conditions du second ordre).x3 − y3 + 9xy

– Points stationnaures : (0, 0) et (3,−3)

5

Page 6: INFO-F-524 : Optimisation continue

– Matrice hessienne : (Fxx FyxFyx Fyy

)=

(6x 99 −6y

)– Mineurs principaux diagonaux :

Fxx = 6x et detD2F (x) = −36xy − 81

Fxx(0, 0) = 0 et detD2F (0, 0) = −81

Fxx(3,−3) = 18 et detD2F (3,−3) = 243

– (0, 0) : point-selle, (3,−3) : minimum local strict.

Notons que (3,−3) ne constitue pas un minimum global deF car la fonctionF au point (0, n) vautF (0, n) = −n3

et elle tend vers −∞ lorsque n tend vers +∞.

1.4 Maxima et minima globauxOptimisation à une variableSoit une fonction y = f(x) définie sur un intervalle U ⊆ R, et soit x∗ un point stationnaire de f .x∗ constitue un maximum global de f sur U si

1. x∗ est un maximum local de f et c’est le seul point stationnaire de f dans U , ou

2. f ′′ ≤ 0 sur tout U (i.e. f est concave sur U ).

La condition 1. n’est pas vraie dans le cas multivarié

Maximum global de fonctions concavesEquivalent de f ′′ ≤ 0 pour une fonction de n variables : D2F (x) semi-définie négative.

Théorème 11 (Critères de maxima globaux). Soit F : U → R une fonction de classe C2 de n variables réelles,avec U ⊆ Rn un ensemble ouvert convexe.

1. Les trois conditions suivantes sont équivalentes :

(a) F est une fonction concave sur U .

(b) F (y)− F (x) ≤ DF (x)(y − x) pour tout (x, y) ∈ U2.

(c) D2F (x) est semi-définie négative pour tout x ∈ U .

2. Si F est une fonction concave sur U et s’il existe un point x∗ de U tel que DF (x∗) = 0 alors x∗ est unmaximum global de F sur U .

Minimum global de fonctions convexesEquivalent de f ′′ ≥ 0 pour une fonction de n variables : D2F (x) semi-définie positive.

Théorème 12 (Critères de minima globaux). Soit F : U → R une fonction de classe C2 de n variables réelles,avec U ⊆ Rn un ensemble ouvert convexe.

1. Les trois conditions suivantes sont équivalentes :

(a) F est une fonction convexe sur U .

(b) F (y)− F (x) ≥ DF (x)(y − x) pour tout (x, y) ∈ U2.

(c) D2F (x) est semi-définie positive pour tout x ∈ U .

2. Si F est une fonction convexe sur U et s’il existe un point x∗ de U tel que DF (x∗) = 0 alors x∗ est unminimum global de F sur U .

6

Page 7: INFO-F-524 : Optimisation continue

1.5 ApplicationsMaximisation du profit

– Firme cherchant à maximiser son profit en produisant un bien unique à partir de n inputs.– Combinaison de facteurs x ∈ Rn+, production y = G(x) continûment différentiable, prix de vente unitaire p et

coût C(x) associé à l’emploi de la combinaison de facteurs x.– Recette : R(X) = pG(x), profit : F (x) = R(x)− C(x).– Supposons que R et C soient tels qu’à l’optimum la firme utilise un montant strictement positif de chaque

facteur⇒ x∗ est un point intérieur.– Conditions de premier ordre :

0 =∂F

∂xi(x∗) =

∂R

∂xi(x∗)− ∂C

∂xi(x∗)

– A l’optimum, la recette marginale associée à l’utilisation d’une unité supplémentaire de facteur i est égale aucoût marginal associé à l’utilisation de cette même unité.

– Si coût unitaire wi de chaque facteur i constant : C(x) = w1x1 + . . . wnxn,

∂R

∂xi(x∗) = p

∂G

∂xi(x∗) = wi ⇔

∂G

∂xi(x∗) =

wip

pour tout i = 1, . . . , n.

Monopole discriminant

– Un monopole intervient sur deux marchés distincts et séparés (e.g. national et étranger)– Fonction de demande inverse : Pi = Gi(Qi), avec Qi le niveau de production sur le marché i (i = 1, 2).– Recette : Q1G1(Q1) +Q2G2(Q2).– Si une seule usine, les coûts dépendent du niveau de production totale Q = Q1 +Q2. Fonction de coût C(Q1 +Q2).

– Profit : F (Q1, Q2) = Q1G1(Q1) +Q2G2(Q2)− C(Q1 +Q2).– Conditions de premier ordre (si Q1 > 0 et Q2 > 0) :

0 = ∂F∂Q1

= d(Q1G1(Q1))dQ1

− C ′(Q1 +Q2)

0 = ∂F∂Q2

= d(Q2G2(Q2))dQ2

− C ′(Q1 +Q2)

ou d(Q1G1(Q1))dQ1

= d(Q2G2(Q2))dQ2

= C ′(Q1 +Q2)

– A l’optimum, la recette marginale sur chaque marché doit être égale au coût marginal de la production totale.

Méthode des moindres carrés

– Etude de données tirées d’observations ou d’expériences : recherche d’un graphe linéaire représentant au mieuxces données.

– Supposons que chaque observation est représentée par un point (xi, yi) ∈ R2.– Deux données : droite unique. Trois données ou plus : il est peu probable que toutes les observations s’alignent

exactement le long d’une seule droite.– Recherche d’une droite qui ajusterait au mieux ces données.– n couples de données (x1, y1), . . . , (xn, yn).– Pour toute droite y = mx+ b, il est possible de calculer les distances verticales entre chaque point et la droite.

(x3, y3)

(x2, y2)

(x1,mx1 + b)

(x1, y1)

(x2,mx2 + b)

(x3,mx3 + b)

Distance entre xi, yi et la droite : |yi − (mxi + b)|.

7

Page 8: INFO-F-524 : Optimisation continue

– Distance agrégée : (fonction de m et de b)

S(m, b) =

n∑i=1

(mxi + b− yi)2

– Conditions de premier ordre :

∂S∂m =

∑ni=1 2(mxi + b− yi)xi = 0

∂S∂b =

∑ni=1 2(mxi + b− yi) = 0

– Ces équations peuvent se réécrire :(∑ni=1 x

2i

)m+ (

∑ni=1 xi) b =

∑ni=1 xiyi

(∑ni=1 xi)m+ nb =

∑ni=1 yi

– Solution :

m∗ =n∑ni=1 xiyi − (

∑ni=1 xi)(

∑ni=1 yi)

n∑ni=1 x

2i − (

∑ni=1 xi)

2

b∗ =(∑ni=1 x

2i )(∑ni=1 yi)− (

∑ni=1 xi)(

∑ni=1 xiyi)

n∑ni=1 x

2i − (

∑ni=1 xi)

2

Méthode des moindres carrésDéfinition 13 (Droite de régression). La méthode décrite s’appelle méthode des moindres carrés et la droitey = m∗x+ b∗, droite de régression.

Exemple 14 (Méthode des moindres carrés). Droite qui passe au mieux par (0, 4), (3, 3), (4, 2), (3, 1) et (5, 0) ?

i xi yi xiyi x2i

1 0 4 0 02 3 3 9 93 4 2 8 164 3 1 3 95 5 0 0 25∑

15 10 20 59

m∗ =5 · 20− 15 · 10

5 · 59− 15 · 15= −5

7

b∗ =59 · 10− 15 · 20

5 · 59− 15 · 15=

29

7

y = −5

7x+

29

7ou 5x+ 7y = 29

2 Optimisation sous contraintes

2.1 IntroductionIntroduction

Forme générale

8

Page 9: INFO-F-524 : Optimisation continue

max f(x1, . . . , xn)

sous les contraintes g1(x1, . . . , xn) ≤ b1. . .

gk(x1, . . . , xn) ≤ bkh1(x1, . . . , xn) = c1

. . .

hm(x1, . . . , xn) = cm

– f : fonction objectif.– g, h : fonctions contrainte.– gj définissent des contraintes en inéquation.– hi définissent des contraintes en équation.– Non négativité (xi ≥ 0) éventuellement contenues dans les inéquations gj(x1, . . . , xn) ≤ bj .

IntroductionExemple 15 (Problème du consommateur).– xi : quantité consommée d’un bien i (1 ≤ i ≤ n).– U(x1, . . . , xn) : indice de satisfaction lié à la consommation de x1 unités du bien 1, x2 unités du bien 2, . . .– pi : prix du bien i.– l : revenu du consommateur.

max U(x1, . . . , xn)

sous les contraintesn∑i=1

pixi ≤ I,

xi ≥ 0 i = 1, . . . , n

IntroductionExemple 16 (Détermination de l’offre de travail).– xi : quantité consommée d’un bien i, pi : prix du bien i (1 ≤ i ≤ n)– Taux de salaire horaire w, revenu non salarial I ′.– l0 temps consacré au travail, l1 temps consacré aux loisirs.– U(x1, . . . , xn, l1) : indice de satisfaction lié à la consommation de x1 unités du bien 1, x2 unités du bien 2, . . .et

à l1 heures de loisirs.

max U(x1, . . . , xn, l1)

sous les contraintesn∑i=1

pixi ≤ I ′ + wl0,

l0 + l1 = 24

xi ≥ 0 i = 1, . . . , n

l0, l1 ≥ 0

IntroductionExemple 17 (Maximisation du profit pour une entreprise).– Entreprise utilisant n facteurs pour la production d’un seul bien. y : quantité de ce bien, xi : quantité des

facteurs avec y = f(x1, . . . , xn) la fonction de production donnant la quantité maximale produite à partir de(x1, . . . , xn).

– p : prix de vente d’une unité du bien, wi : prix d’achat d’une unité du facteur i, gj(x1, . . . , xn) ≤ bj , j =1, . . . , k : contraintes sur les ressources disponibles (stocks, . . .).

9

Page 10: INFO-F-524 : Optimisation continue

max Π(x1, . . . , xn) = pf(x1, . . . , xn)−n∑i=1

wixi

sous les contraintes pf(x1, . . . , xn)−n∑i=1

wixi ≥ 0

gj(x1, . . . , xn) ≤ bj j = 1, . . . , k

xi ≥ 0 i = 1, . . . , n

2.2 Problèmes de maximisation sous contraintes2.2.1 Contraintes prenant la forme d’équations

Cas à deux variables et une contrainte en équation

Problème étudiémax f(x1, x2)

s.c. h(x1, x2) = c

A titre d’exemple, maximisation de l’utilité d’un consommateur portant sur deux produits, en négligeant lescontaintes de non-négativité, et en supposant que tout le budget disponible est dépensé.Dans ce cas :

h(x1, x2) = p1x1 + p2x2 et c = I.

Résolution géométrique

C

x*b

– C = {(x1, x2) ∈ R2 : h(x1, x2) = c}.– Objectif : trouver la courbe de niveau correspondant à la valeur la plus élevée et rencontrant le graphe de la

contrainte.– Cette courbe de niveau ne peut pas couper C (sinon il existe une courbe de niveau plus élevée : cf. point b).– La courbe de niveau à valeur maximale doit donc être tangente à la courbe C (comme au point x∗).

Résolution géométrique– Les deux courbes sont tangentes au point x∗ si leurs pentes sont égales en ce point.– Pente de la courbe de niveau de f : − ∂f

∂x1(x∗)/ ∂f∂x2

(x∗). Pente de C : − ∂h∂x1

(x∗)/ ∂h∂x2(x∗).

− ∂f∂x1

(x∗)∂f∂x2

(x∗)=− ∂h∂x1

(x∗)∂h∂x2

(x∗)ou

∂f∂x1

(x∗)∂h∂x1

(x∗)=

∂f∂x2

(x∗)∂h∂x2

(x∗)= µ

10

Page 11: INFO-F-524 : Optimisation continue

– Ces équations peuvent être réécrites :

∂f

∂x1(x∗)− µ ∂h

∂x1(x∗) = 0,

∂f

∂x2(x∗)− µ ∂h

∂x2(x∗) = 0.

Système de 2 équations à 3 inconnues (x1, x2, µ).

Résolution géométrique– En ajoutant la contrainte

h(x1, x2) = c,

on obtient un système de 3 équations à 3 inconnues définissant l’optimum :

∂f

∂x1(x1, x2)− µ ∂h

∂x1(x1, x2) = 0,

∂f

∂x2(x1, x2)− µ ∂h

∂x2(x1, x2) = 0,

h(x1, x2)− c = 0.

– Ces contraintes sont les conditions de premier ordre pour l’optimisation (sans contraintes) de la fontion à 3variables

L(x1, x2, µ) = f(x1, x2)− µ(h(x1, x2)− c).

LagrangienDéfinition 18 (Lagrangien). La fonction de Lagrange ou Lagrangien associée au problème

max f(x1, x2)s.c. h(x1, x2) = c

estL(x1, x2, µ) = f(x1, x2)− µ(h(x1, x2)− c).

La variable µ est appelée multiplicateur de Lagrange.

– Le multiplicateur µ peut être interprété économiquement comme la valeur de la ressource associée à la contrainte.– Pour que le raisonnement ait du sens, il faut que ∂h

∂x1(x∗) 6= 0 ou ∂h

∂x2(x∗) 6= 0 (condition de qualification de la

contrainte).

Optimisation à deux variables et une contrainte en équationThéorème 19 (Optimisation à deux variables et une contrainte en équation). Soient f et h deux fonctions conti-nûment différentiables de deux variables. Supposons que x∗ = (x∗1, x

∗2) soit la solution du problème :

max f(x1, x2)s.c. h(x1, x2) = c

Supposons de plus que (x∗1, x∗2) ne soit pas un point stationnaire de la fonction h. Alors, il existe un réel µ∗ tel que

(x∗1, x∗2, µ∗) est un point stationnaire du Lagrangien

L(x1, x2, µ) = f(x1, x2)− µ(h(x1, x2)− c).

Remarque : cette condition du premier ordre ne permet pas de distinguer minimum et maximum.

11

Page 12: INFO-F-524 : Optimisation continue

Optimisation à deux variables et une contrainte en équationExemple 20 (Lagrangien 1).– Considérons le problème défini par f(x1, x2) = x1x2, h(x1, x2) = x1 + 4x2, c = 16 :

max x1x2

s.c. x1 + 4x2 = 16.

– h n’admet pas de point stationnaire (fonction linéaire), donc la condition de qualification est satisfaite.– L(x1, x2, µ) = x1x2 − µ(x1 + 4x2 − 16),

∂L∂x1

= x2 − µ = 0∂L∂x2

= x1 − 4µ = 0∂L∂µ = −(x1 + 4x2 − 16) = 0

– Point candidat à la solution : x1 = 8, x2 = 2, µ = 2.

Optimisation à deux variables et une contrainte en équationExemple 21 (Lagrangien 2).– Considérons le problème défini par f(x1, x2) = x2

1x2, h(x1, x2) = 2x21 + x2

2, c = 3 :

max x21x2

s.c. 2x21 + x2

2 = 3.

– h admet un point stationnaire (0, 0), mais ce point n’appartient pas à l’ensemble réalisable, donc la conditionde qualification est satisfaite.

– L(x1, x2, µ) = x21x2 − µ(2x2

1 + x22 − 3),

∂L∂x1

= 2x1x2 − 4µx1 = 0∂L∂x2

= x21 − 2µx2 = 0

∂L∂µ = −(2x2

1 + x22 − 3) = 0

– De la première contrainte, on déduit x1 = 0 ou x2 = 2µ.– Si x1 = 0, alors x2 = ±

√3 et µ = 0.

– Si x1 6= 0, x2 = 2µ, on obtient x21 = x2

2 et 3x21 = 3. Donc x1 = ±1 et x2 = ±1. Si x2 = 1, µ = 0.5 et si

x2 = −1, µ = −0.5.– Points candidats :

(0,√

3, 0), (0,−√

3, 0), (1, 1, 0.5),(−1,−1,−0.5), (1,−1,−0.5) et (−1, 1, 0.5)

– En comparant les fonctions objectifs, on voit que la fonction est maximisée en (1, 1) et (−1, 1).

12

Page 13: INFO-F-524 : Optimisation continue

Cas de plusieurs contraintes en équation

Problème étudiémax f(x1, . . . , xn)

s.c. h1(x1, . . . , xn) = a1

...hm(x1, . . . , xn) = am

– Notation : Ch = {(x1, . . . , xn) : h1(x1 . . . , xn) = a1, . . . , hm(x1, . . . , xn) = am}.– Nous devons généraliser la condition de qualification(

∂h

∂x1(x∗),

∂h

∂x2(x∗)

)6= (0, 0).

Matrice jacobienne– Matrice jacobienne des fonctions contraintes :

Dh(x∗) =

∂h1

∂x1(x∗) . . . ∂h1

∂xn(x∗)

∂h2

∂x1(x∗) . . . ∂h2

∂xn(x∗)

.... . .

...∂hm∂x1

(x∗) . . . ∂hm∂xn

(x∗)

– Un vecteur x∗ est un point stationnaire de h = (h1, . . . , hm) si le rang de la matrice Dh(x∗) est strictement

inférieur à m.– Les fonctions (h1, . . . , hm) satisfont la condition de qualification non dégénérée (CQND) si le rang de leur

matrice jacobienne en x∗, Dh(x∗), est égal à m.

Optimisation à plusieurs variables et contraintes en équationThéorème 22 (Optimisation à plusieurs variables et contraintes en équation). Soient f, h1, . . . , hm des fonctionscontinûment différentiables de n variables. Supposons qu’on cherche à maximiser (ou minimiser) la fonction f(x)sur un ensemble de réalisables défini par :

Ch = {(x1, . . . , xn) : h1(x1 . . . , xn) = a1, . . . , hm(x1, . . . , xn) = am}.

Supposons que le point x∗ ∈ Ch constitue un maximum ou un minimum local de f sur Ch, et que x∗ satisfait laCQND.Alors, il existe des réels µ∗1, . . . , µ

∗m tels que (x∗1, . . . , x

∗n, µ∗1, . . . , µ

∗m) = (x∗, µ∗) soit un point stationnaire du

Lagrangien

L(x, µ) = f(x)−m∑i=1

µi(hi(x)− ai).

Optimisation à plusieurs variables et contraintes en équation

��

������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������

13

Page 14: INFO-F-524 : Optimisation continue

Exemple 23 (Lagrangien - plusieurs contraintes en équation). – Considérons le problème

max f(x) = xyz

s.c. h1(x, y, z) = x2 + y2 = 1

h2(x, y, z) = x+ z = 1

– Matrice jacobienne des contraintes

Dh(x, y, z) =

(2x 2y 01 0 1

).

Rang < 2 si et seulement x = y = 0 (non réalisable)→ CQND satisfaite.– Lagrangien : L(x, y, z, µ1, µ2) = xyz − µ1(x2 + y2 − 1)− µ2(x+ z − 1).– Maximum : (−0.7676,−0.6409, 1.7676).

2.2.2 Contraintes prenant la forme d’inéquations

Cas à deux variables et une contrainte en inéquation

Problème étudiémax f(x, y)

s.c. g(x, y) ≤ b

g(x,y)=b

f(x*)

g(x*)x*

– Le point x∗ (maximum) se trouve sur la frontière de g(x, y) ≤ b) (contrainte saturée, active ou serrée).– Les courbes de niveau de f et g sont tangentes ;∇f(x∗) et ∇g(x∗) sont alignés :

∇f(x∗)− λ∇g(x∗) = 0.

Lagrangien généralisé– Le signe du multiplicateur joue maintenant un rôle important.– ∇f(x∗) indique la direction dans laquelle f augmente le plus rapidement au point x∗. Si x∗ maximise la

fonction, ce gradient ne peut donc pas s’orienter vers le domaine réalisable.– Il faut donc que λ ≥ 0.– Lagrangien généralisé :

L(x, y, λ) = f(x, y)− λ(g(x, y)− b).

Il faut que∂L

∂x(x∗) =

∂L

∂y(x∗) = 0.

Le cas de ∂L∂λ sera étudié plus loin.

14

Page 15: INFO-F-524 : Optimisation continue

Contrainte non saturée à l’optimum

g(r)

f(r)r

q

g(x,y)=b

– Supposons que le maximum de f se produise en un point q où g(x, y) < b.– Il existe un point r tel que les courbes de niveau de f et g sont tangentes, i.e.∇f(r) = λ∇g(r), mais λ < 0.– Par contre, q est un maximum local non contraint de f , donc

∂f

∂x(q) =

∂f

∂y(q) = 0.

De plus, g(q) 6= b.

Complémentarité– Nous pouvons utiliser le Lagrangien généralisé et annuler ∂L∂x et ∂L∂y pourvu que λ = 0.– En résumé :

– soit la contrainte est saturée et λ ≥ 0,– soit la contrainte est non saturée et λ = 0.

– Relation de complémentarité :λ (g(x, y)− b) = 0.

Optimisation à deux variables et une contrainte en inéquationThéorème 24 (Optimisation à deux variables et une contrainte en inéquation). Soient f et g deux fonctions conti-nûment différentiables de deux variables. Supposons que x∗ = (x∗, y∗) maximise f sur le domaine défini parg(x, y) ≤ b.Si g(x∗, y∗) = b, supposons de plus que (x∗, y∗) ne soit pas un point stationnaire de la fonction g.Alors, il existe un réel λ∗ tel le Lagrangien généralisé

L(x, y, λ) = f(x, y)− λ(g(x, y)− b)

et x∗, y∗, λ∗ satisfont :

1. ∂L∂x (x∗, y∗, λ∗) = 0,

2. ∂L∂y (x∗, y∗, λ∗) = 0,

3. λ∗(g(x∗, y∗)− b) = 0,

4. λ∗ ≥ 0,

5. g(x∗, y∗) ≤ b.

15

Page 16: INFO-F-524 : Optimisation continue

Cas de plusieurs contraintes en inéquation

Problème étudiémax f(x1, . . . , xn)

s.c. g1(x1, . . . , xn) ≤ b1...gk(x1, . . . , xn) ≤ bk

Condition de qualification non dégénérée– Sans perte de généralité, supposons que les k0 premières contraintes soient saturées en x∗ et que les k − k0

dernières ne le soient pas.– Les fonctions (g1, . . . , gk) satisfont la condition de qualification non dégénérée (CQND) si le rang de la matrice

jacobienne des contraintes saturées en x∗,∂g1∂x1

(x∗) . . . ∂g1∂xn

(x∗)∂g2∂x1

(x∗) . . . ∂g2∂xn

(x∗)...

. . ....

∂gk0∂x1

(x∗) . . .∂gk0∂xn

(x∗)

est égal à k0.

Conditions de Karush, Kuhn et TuckerThéorème 25 (Conditions de Karush, Kuhn et Tucker). Soient f, g1, . . . , gk des fonctions continûment différen-tiables de n variables. Soit x∗ ∈ Rn un maximum local de f sur un ensemble de réalisables défini par :

g1(x1 . . . , xn) ≤ b1, . . . , gk(x1, . . . , xn) ≤ bk.

Supposons que la CQND soit satisfaite. Considérons le Lagrangien généralisé

L(x1, . . . , xm, λ1, . . . , λk) = f(x∗)−k∑j=1

λj(gj(x∗)− bj).

Alors, il existe k multiplicateurs réels λ∗1, . . . , λ∗k tels que :

1. ∂L∂xi

(x∗, λ∗) = 0, pour i = 1, . . . n,

2. λ∗j (gj(x∗)− bj) = 0, pour j = 1, . . . , k,

3. λ∗j ≥ 0, pour j = 1, . . . , k,

4. gj(x∗) ≤ bj , pour j = 1, . . . , k.

2.2.3 Contraintes mixtes

Contraintes mixtes

Problème étudié

max f(x1, . . . , xn)

s.c. g1(x1, . . . , xn) ≤ b1. . .

gk(x1, . . . , xn) ≤ bkh1(x1, . . . , xn) = c1

. . .

hm(x1, . . . , xn) = cm

16

Page 17: INFO-F-524 : Optimisation continue

Condition de qualification non dégénérée– Sans perte de généralité, supposons que les k0 premières contraintes en inéquations soient saturées en x∗ et que

les k − k0 dernières ne le soient pas.– Les fonctions (g1, . . . , gk, ) satisfont la condition de qualification non dégénérée (CQND) si le rang de la ma-

trice jacobienne des contraintes en inéquation saturées et des contraintes en équation en x∗,

∂g1∂x1

(x∗) . . . ∂g1∂xn

(x∗)...

. . ....

∂gk0∂x1

(x∗) . . .∂gk0∂xn

(x∗)∂h1

∂x1(x∗) . . . ∂h1

∂xn(x∗)

.... . .

...∂hm∂x1

(x∗) . . . ∂hm∂xn

(x∗)

est égal à k0 +m.

Maximisation sous contraintes mixtesThéorème 26 (Maximisation sous contraintes mixtes). Soient f, g1, . . . , gk, h1, . . . , hm des fonctions continûmentdifférentiables de n variables. Soit x∗ ∈ Rn un maximum local de f sur un ensemble de réalisables défini par

g1(x1 . . . , xn) ≤ b1, . . . , gk(x1, . . . , xn) ≤ bk,h1(x1 . . . , xn) = c1, . . . , hm(x1, . . . , xn) = ck

Supposons que la CQND soit satisfaite.Considérons le Lagrangien généralisé

L(x1, . . . , xm, λ1, . . . , λk, µ1, . . . , µm)

= f(x∗)−k∑j=1

λj(gj(x∗)− bj)−

m∑i=1

µi(hi(x∗)− ci)

Alors, il existe k +m multiplicateurs réels λ∗1, . . . , λ∗k, µ∗1, . . . , µ

∗m tels que :

1. ∂L∂xi

(x∗, λ∗, µ∗) = 0, pour i = 1, . . . n,

2. λ∗j (gj(x∗)− bj) = 0, pour j = 1, . . . , k,

3. hi(x∗) = ci, pour i = 1, . . . ,m,

4. λ∗j ≥ 0, pour j = 1, . . . , k,

5. gj(x∗) ≤ bj , pour j = 1, . . . , k.

2.3 Problèmes de minimisation sous contraintes– Contraintes en équations : caractérisation du premier ordre d’un minimum identique à la caractérisation du

premier ordre d’un maximum.– Pour des contraintes en inéquations, le raisonnement géométrique précédent appliqué à un minimum nous aurait

amené à écrire un Lagrangien généralisé dans lequels les multiplicateurs sont négatifs ou nuls.– Autre approche : écrire les contraintes en inéquations sous la forme g(x) ≥ b. Avantages : approche plus

intuitive, dualité.

Problèmes de minimisation sous contraintes

Problème étudié

17

Page 18: INFO-F-524 : Optimisation continue

min f(x1, . . . , xn)

s.c. g1(x1, . . . , xn) ≥ b1. . .

gk(x1, . . . , xn) ≥ bkh1(x1, . . . , xn) = c1

. . .

hm(x1, . . . , xn) = cm

Condition de qualification non dégénérée– Sans perte de généralité, supposons que les k0 premières contraintes en inéquations soient saturées en x∗ et que

les k − k0 dernières ne le soient pas.– Les fonctions (g1, . . . , gk, ) satisfont la condition de qualification non dégénérée (CQND) si le rang de la ma-

trice jacobienne des contraintes en inéquation saturées et des contraintes en équation en x∗,

∂g1∂x1

(x∗) . . . ∂g1∂xn

(x∗)...

. . ....

∂gk0∂x1

(x∗) . . .∂gk0∂xn

(x∗)∂h1

∂x1(x∗) . . . ∂h1

∂xn(x∗)

.... . .

...∂hm∂x1

(x∗) . . . ∂hm∂xn

(x∗)

est égal à k0 +m.

Minimisation sous contraintes mixtesThéorème 27 (Minimisation sous contraintes mixtes). Soient f, g1, . . . , gk, h1, . . . , hm des fonctions continûmentdifférentiables de n variables. Soit x∗ ∈ Rn un minimum local de f sur un ensemble de réalisables défini par

g1(x1 . . . , xn) ≥ b1, . . . , gk(x1, . . . , xn) ≥ bk,h1(x1 . . . , xn) = c1, . . . , hm(x1, . . . , xn) = ck

Supposons que la CQND soit satisfaite.Considérons le Lagrangien généralisé

L(x1, . . . , xm, λ1, . . . , λk, µ1, . . . , µm)

= f(x∗)−k∑j=1

λj(gj(x∗)− bj)−

m∑i=1

µi(hi(x∗)− ci)

Alors, il existe k +m multiplicateurs réels λ∗1, . . . , λ∗k, µ∗1, . . . , µ

∗m tels que :

1. ∂L∂xi

(x∗, λ∗, µ∗) = 0, pour i = 1, . . . n,

2. λ∗j (gj(x∗)− bj) = 0, pour j = 1, . . . , k,

3. hi(x∗) = ci, pour i = 1, . . . ,m,

4. λ∗j ≥ 0, pour j = 1, . . . , k,

5. gj(x∗) ≥ bj , pour j = 1, . . . , k.

18

Page 19: INFO-F-524 : Optimisation continue

Deuxième partie

Dualité lagrangienne3 Relaxation lagrangienneProblèmes considérés

Programme en nombres entiers

z = max cx

s.c. Ax ≤ b, contraintes “faciles”Dx ≤ d, contraintes “compliquantes”x ∈ Zn+.

Exemple :

Voyageur de commerce (TSP)= Affectation︸ ︷︷ ︸

facile

∩ Élimination de sous-tours (SEC)

Relaxation lagrangienne

Forme générale (PE)

z = max cx

s.c. Dx ≤ d, m contraintes “compliquantes”x ∈ X.

Pour tout u = (u1, . . . , um) ≥ 0, définissons le problème RL(u) :

Relaxation lagrangienne (RL(u))

z(u) = max cx+ u(d−Dx)

s.c. x ∈ X.

Proposition 28. RL(u) est une relaxation de (PE) pour tout u ≥ 0.

Rappel : RL(u) est une relaxation de (PE) si :

1. dom réal(RL(u)) ⊇ dom réal(PE).

2. ∀x ∈ dom réal(PE) : zRL(u)(x) ≥ zPE(x).

u ≥ 0, Dx ≤ d ⇒ cx+ u(d−Dx) ≥ cx.

Dual lagrangienMeilleure relaxation possible :

wLD = min{z(u) : u ≥ 0}.

Remarque : contrainte d’égalité⇒ multiplicateur libre.

Proposition 29. Si u ≥ 0,

1. x(u) est une solution optimale de RL(u), et

2. Dx(u) ≤ d, et

19

Page 20: INFO-F-524 : Optimisation continue

3. (Dx(u))i = di si ui > 0 (complémentarité),

alors x(u) est optimal pour (PE).

Contraintes d’égalités : (3) est toujours vrai et x(u) est optimal dès qu’il est admissible pour (PE).–

wLD = minu≥0

z(u)

≤ cx(u) + u(d−Dx(u))︸ ︷︷ ︸=0 (complémentarité)

= cx(u).

–x(u) ∈ XDx(u) ≤ d

}⇒ cx(u) ≤ z∗

–z∗ ≤ wLD ⇒ x(u) = sol. opt. de (PE)

Uncapacitated Facility Location Problem

(PE) z = max∑i∈M

∑j∈N

cijxij −∑j∈N

fjyj

s.c.∑j∈N

xij = 1 i ∈M

xij − yj ≤ 0 i ∈M, j ∈ Nx ∈ R|M |×|N |, y ∈ B|N |.

Dualisation des contraintes de demande :

(RL(u)) z(u) = max∑i∈M

∑j∈N

(cij − ui)xij−∑j∈N

fjyj +∑i∈M

ui

xij − yj ≤ 0 i ∈M, j ∈ Nx ∈ R|M |×|N |, y ∈ B|N |.

Problème décomposable par localisation :

z(u) =∑j∈N

zj(u) +∑i∈M

ui

(RLj(u)) zj(u) = max∑i∈M

(cij − ui)xij − fjyj

xij − yj ≤ 0 i ∈Mxij ≥ 0, i ∈M, yj ∈ B1.

Solution :

x∗ij =

{y∗j si cij − ui > 00 sinon

zj(u) =

(∑i∈M

(cij − ui)+ − fj

)+

Exemple :m = 6, n = 5, f = (2, 4, 5, 3, 3).

20

Page 21: INFO-F-524 : Optimisation continue

(cij) =

6 2 1 3 54 10 2 6 13 2 4 1 32 0 4 1 41 8 6 2 53 2 4 8 1

u = (5, 6, 3, 2, 5, 4) →

∑i

ui = 25

(cij − ui) =

1 −3 −4 −2 0−2 4 −4 0 −50 −1 1 −2 00 −2 2 −1 2−4 3 1 −3 0−1 −2 0 4 −3

z(u) =∑j∈N

(∑i∈M

(cij − ui)+ − fj

)+

+∑i∈M

ui

= (1− 2)+︸ ︷︷ ︸0

+ (7− 4)+︸ ︷︷ ︸3

+ (4− 5)+︸ ︷︷ ︸0

+ (4− 3)+︸ ︷︷ ︸1

+ (2− 3)+︸ ︷︷ ︸0

+25

= 29.

Solution : y1 = y3 = y5 = 0, y2 = x22 = x52 = 1, y4 = x64 = 1.

Voyageur de commerceRappel : 1-arbre = arbre sur le sous-graphe induit sur {2, . . . , n} + 2 arêtes incidentes à 1.Formulation :

min z =∑e∈E

cexe

s.c.∑e∈δ(i)

xe = 2 i ∈ V

∑e∈E(S)

xe ≤ |S| − 1 ∅ 6= S 6= V

xe ∈ {0, 1} e ∈ E.

ObservationLa moitié des SEC’s sont redondantes.

x(E) = n ⇒ 2|S| = 2x(E(S)) + x(δ(S))

⇒ x(E(S)) ≤ |S| − 1

⇔ x(δ(S)) ≥ 2

⇔ x(δ(V \ S)) ≥ 2

⇔ x(E(V \ S)) ≤ |V \ S| − 1

– Supprimer toutes les SEC’s avec 1 ∈ S.– Dualiser les contraintes de degré.– Conserver la contrainte de degré pour le noeud 1.

21

Page 22: INFO-F-524 : Optimisation continue

– Ajouter x(E) = n.

z(u) = min∑

e=ij∈E(ce − ui − uj)xe + 2

∑i∈V

ui

s.c.∑e∈δ(1)

xe = 2

∑e∈E(S)

xe ≤ |S| − 1 ∅ 6= S 6= V, 1 /∈ S

x(E) = n

xe ∈ {0, 1} e ∈ E.

wLD = maxu

z(u)

Exemple :

(ce) =

− 30 26 50 40− − 24 40 50− − − 24 26− − − − 30− − − − −

u = (0, 0,−15, 0, 0, 0) ce = ce − ui − uj

(ce) =

− 30 41 50 40− − 39 40 50− − − 39 41− − − − 30− − − − −

z(u) = 148 ≤ z

C’est un tour⇒ sol. optimale !

Questions– Qualité de wLD ?– Comment mettre à jour les multiplicateurs ?

22

Page 23: INFO-F-524 : Optimisation continue

4 Qualité du dual lagrangienSupposons que X = {x1, . . . , xT } (T très grand)

wLD = minu≥0

z(u)

= minu≥0

{maxx∈X{cx+ u(d−Dx)}

}= min

u≥0

{max

t=1,...,T{cxt + u(d−Dxt)}

}

=

min ηs.c. η ≥ cxt + u(d−Dxt) t = 1, . . . , T

u ∈ Rm+ , η ∈ R

min ηs.c. η ≥ cxt + u(d−Dxt) t = 1, . . . , T

u ∈ Rm+ , η ∈ R

Programme linéaire. Son dual est :

wLD = max

T∑t=1

µt(cxt)

s.c.T∑t=1

µt = 1

−T∑t=1

µt(d−Dxt) ≤ 0

µ ∈ RT+

En posant

x =

T∑t=1

µtxt avec

T∑t=1

µt = 1

nous obtenons :

Théorème 30.

wLD = max cx

s.c. Dx ≤ dx ∈ conv(X)

Corollaire 31. Si X = {x ∈ Zn+ : Ax ≤ b} et conv(X) = {x ∈ Rn+ : Ax ≤ b}, alors

wLD = max{cx : Ax ≤ b,Dx ≤ d, x ∈ Rn+}.

Application : la relaxation lagrangienne de STSP en 1-arbre est entière ⇒ wLD = zrel. linéaire.

Méthode pour résoudre un programme linéaire avec un nombre exponentiel de contraintes sans les traiter explici-tement.

wLD = minu≥0

{max

t=1,...,T{cxt + u(d−Dxt)}

}

23

Page 24: INFO-F-524 : Optimisation continue

z(u) est convexe, linéaire par morceaux, non différentiable.

5 Résolution du dual lagrangienProgramme linéaire :

wLD = min ηs.c. η ≥ cxt + u(d−Dxt) t = 1, . . . , T

u ∈ Rm+ , η ∈ R

Grand nombre de contraintes⇒ algorithme de plans coupants.

Souvent difficile et peu efficace.Alternative plus simple à implémenter : algorithme de sous-gradient.

Minimisation d’une fonction convexe linéaire par morceaux

minu≥0

f(u)

avecf(u) = max

t=1,...,T[atu− bt]

Dans notre cas :wLD = min

u≥0z(u)

oùz(u) = max

t=1,...,T{cxt + u(d−Dxt)}

Définition 32 (Sous-gradient). Un sous-gradient en u d’une fonction convexe f : Rm → R est un vecteurγ(u) ∈ Rm tel que

f(v) ≥ f(u) + γ(u)T (v − u) ∀v ∈ Rm.

f de classe C1 ⇒ γ(u) = ∇f(u)

24

Page 25: INFO-F-524 : Optimisation continue

Algorithme de sous-gradientAlgorithme 33 (Sous-gradient pour le dual lagrangien). Initialisation : u = u0.

Itération k : – u = uk.– Résoudre RL(uk), solution optimale x(uk).– uk+1 = max{uk − µk(d−Dx(uk)), 0}.– k ← k + 1.

d−Dx(uk) est un sous-gradient de z(u) en uk.Difficulté : choix des pas µk.

Théorème 34. (a) Si∑k

µk →∞ et µk → 0 quand k →∞, alors z(µk)→ wLD.

(b) Si µk = µ0ρk avec ρ < 1, alors z(µk)→ wLD si µ0 et ρ sont suffisamment grands.

(c) Si w ≥ wLD et µk = εkz(uk)−w

||d−Dx(uk)||2 , avec 0 < εk < 2, alors z(µk) → w ou l’algorithme trouve uk tel quew ≥ z(uk) ≥ wLD pour un k fini.

(a) implique la convergence, mais trop lente en pratique (exemple : µk = 1k ).

(b) il faut choisir µ0 et ρ suffisamment grands sinon µ0ρk → 0. En pratique, diviser µk par 2 toutes les ν itérations.

(c) w est une borne supérieure, généralement inconnue. Si on utilise une borne inférieure w ≤ wLD, z(uk) − wne tend pas vers 0, et les suites {uk}, {z(uk)} ne convergent pas. Si cela se produit, augmenter w.

Voyageur de commerce

min z =∑e∈E

cexe

s.c.∑e∈δ(i)

xe = 2 i ∈ V

∑e∈E(S)

xe ≤ |S| − 1 ∅ 6= S 6= V

xe ∈ {0, 1} e ∈ E.

– Supprimer toutes les SEC’s avec 1 ∈ S.– Dualiser les contraintes de degré.– Conserver la contrainte de degré pour le noeud 1.– Ajouter x(E) = n.On dualise des contraintes d’égalité :

x(δ(i)) = 2 i ∈ V.

Mise à jour :

uk+1 = uk + µk

2−∑e∈δ(i)

xe(u)

.

Longueur du pas :

µk = εkz(uk)− w∑

i∈V

(2−

∑e∈δ(i) xe(u)

)2 .

Exemple :

(ce) =

− 30 26 50 40− − 24 40 50− − − 24 26− − − − 30− − − − −

Supposons que nous avons trouvé le tour (1, 2, 3, 4, 5, 1) de coût 148 avec une heuristique, mais pas de borneinférieure.Nous utilisons εk = 1 et w = 148.

25

Page 26: INFO-F-524 : Optimisation continue

Itération 1 u1 = (0, 0, 0, 0, 0).

c1 = c

z(u1) = 130

2−∑e∈δ(i)

xe(u)

= (0, 0,−2, 1, 1)

u2 = u1 +148− 130

6(0, 0,−2, 1, 1) = (0, 0,−6, 3, 3)

Itération 2 u2 = (0, 0,−6, 3, 3).

c2 =

− 30 32 47 37− − 30 37 47− − − 27 29− − − − 24− − − − −

.

z(u2) = 143

2−∑e∈δ(i)

xe(u)

= (0, 0,−1, 0, 1)

u3 = u2 +148− 143

2(0, 0,−1, 0, 1) = (0, 0,−17

2, 3,

11

2)

Itération 3 u3 = (0, 0,− 172 , 3,

112 ).

26

Page 27: INFO-F-524 : Optimisation continue

c3 =

− 30 34.5 47 34.5− − 32.5 37 44.5− − − 29.5 29− − − − 21.5− − − − −

.

z(u3) = 147.5

Données entières, z ≤ d147.5e = 148 et solution admissible de coût 148⇒ solution optimale.

Saut de dualitéSouvent, l’algorithme de sous-gradient se termine avant d’atteindre wLD, et de plus, il y a un saut de dualité(duality gap) wLD > z∗.

⇒ Branch-and-Bound

6 Heuristiques lagrangiennes et fixation de variablesQuand les variables duales u commencent à se rapprocher de l’ensemble des solutions optimales, on a de bonneschances que x(u) soit “presque” réalisable.

STSP : beaucoup de noeuds de degré 2 dans le 1-arbre.

UFLP : beaucoup de clients servis une et une seule fois, peu ne sont pas servis du tout.

Idée : convertir x(u) en une solution réalisable en changeant peu sa valeur.

Set covering

min∑j∈N

cjxj

s.c.∑j∈N

aijxj ≥ 1 i ∈M

x ∈ Bn

avec aij ∈ {0, 1} pour i ∈M, j ∈ N .Dualisation de toutes les contraintes :

z(u) =∑i∈M

ui + min

∑j∈N

(cj −

∑i∈M

uiaij

)xj : x ∈ Bn

avec u ≥ 0.– Eliminer toutes les lignes couvertes par x(u) ;

27

Page 28: INFO-F-524 : Optimisation continue

– résoudre le problème de couverture restant (heuristique gloutonne)→ solution y∗ ;

xH = x(u) + y∗;

– vérifier si la solution peut être améliorée en mettant à 0 certaines variables xj(u) = 1.Fixation de variables : soit z la valeur de la solution courante.Pour toute solution x meilleure, on a :

∑i∈M

ui + min

∑j∈N

(cj −

∑i∈M

uiaij

)xj

≤ cx < z.

Soit

N0 =

{j ∈ N : cj −

∑i∈M

uiaij < 0

}

N1 =

{j ∈ N : cj −

∑i∈M

uiaij > 0

}

Proposition 35. – Si k ∈ N1 et

∑i∈M

ui +∑j∈N0

(cj −

∑i∈M

uiaij

)+

(ck −

∑i∈M

uiaik

)≥ z,

alors xk = 0 dans toute solution meilleure.– Si k ∈ N0 et ∑

i∈Mui +

∑j∈N0\{k}

(cj −

∑i∈M

uiaij

)≥ z,

alors xk = 1 dans toute solution meilleure.

Exemple : m = 4, n = 6

c = (6, 6, 11, 5, 8, 8) et (aij) =

1 0 1 0 0 10 1 0 1 1 01 1 1 0 0 00 0 1 0 1 0

u = (4, 3, 3, 4)

z(u) = 14 + min{−1x1 + 0x2 + 0x3 + 2x4 + 1x5 + 4x6 : x ∈ B6}

x(u) = (1, 0, 0, 0, 0, 0) z(u) = 13

Reste à résoudre par heuristique :

min 6x1 + 6x2 + 11x3 + 5x4 + 8x5 + 8x6

s.c. x2 + x4 + x5 ≥ 1

x3 + x5 ≥ 1

x ∈ B6

y∗ = (0, 0, 0, 0, 1, 0) et xH = (1, 0, 0, 0, 1, 0) de coût 14.N0 = {1} et N1 = {4, 5, 6}. Par la proposition, x1 = 1 et x4 = x5 = x6 = 0 dans toute solution de valeurinférieure à 14.

28

Page 29: INFO-F-524 : Optimisation continue

7 Choix d’un dual lagrangienQuelles contraintes dualiser ?Éléments de réponse :

1. qualité de wLD2. facilité de résolution de RL(u)

3. facilité de résolution de wLD = minu≥0

z(u)

Exemple : GAP

z = max

n∑j=1

m∑i=1

cijxij

s.c.n∑j=1

xij ≤ 1 i = 1, . . . ,m

m∑i=1

aijxij ≤ bj j = 1, . . . , n

x ∈ Bmn

(i)

w1(u, v) = maxx∈Bmn

n∑j=1

m∑i=1

(cij − ui − aijvj)xij +

m∑i=1

ui +

n∑j=1

bjvj

Résolution par inspection.(ii)

w2(u) = max

n∑j=1

m∑i=1

(cij − ui)xij +

m∑i=1

ui

s.c.m∑i=1

aijxij ≤ bj j = 1, . . . , n

x ∈ Bmn

n sac-à-dos 0− 1.(iii)

w3(u, v) = max

n∑j=1

m∑i=1

(cij − aijvj)xij +

n∑j=1

bjvj

s.c.n∑j=1

xij ≤ 1 i = 1, . . . ,m

x ∈ Bmn

Décomposable en m problèmes faciles

Comparaison des relaxationsw1LD = w3

LD = zLP ≤ w2LD.

29

Page 30: INFO-F-524 : Optimisation continue

Troisième partie

Génération de colonnes8 Rappel : l’algorithme du simplexeForme standard d’un programme linéaireDéfinition 36 (Forme standard). Un programme linéaire est sous forme standard lorsque toutes ses contraintessont des égalités et toutes ses variables sont non-négatives.

Représentation matricielle

max cTx

s.c. Ax = b

x ≥ 0

n variables, m contraintes, m < n, c, x ∈ Rn, b ∈ Rm, A ∈ Rm×n.

Idées de base– Solution optimale : sommet (point extrême).– Idée fondamentale du simplexe : déplacement de sommet en sommet adjacent de manière à améliorer la fonction

objectif.– Transformation des inégalités en égalités : forme standard du programme linéaire - système de m équations àn inconnues (m < n).

– Identification algébrique des sommets : correspondance avec les bases d’un système d’équations.

Solutions de base– Système de m équations linéaires à n inconnues (m < n) : infinité de solutions.– Si on fixe à zéro n−m variables : système de m équations à m inconnues possédant une solution unique (si la

matrice est inversible). C’est une solution de base.

Définition 37 (Solution de base). Une solution de base d’un programme linéaire est la solution unique du systèmede m équations à m inconnues obtenu en fixant à zéro n −m variables (pourvu que la matrice du système soitinversible).Les variables fixées à zéro sont appelées variables hors base et les autres variables en base.

Représentation matricielle (dictionnaire)– B = indices des variables en base, N = indices des variables hors base.– “Décomposition” des données et variables (en réarrangeant l’ordre des variables) :

A =(AB AN

), x =

(xBxN

), c =

(cBcN

)avec xB , cB ∈ Rm, xN , cN ∈ Rn−m, AB ∈ Rm×m, AN ∈ Rm×(m−n).

Equations du simplexeSi AB est inversible :

Ax = b ⇔ ABxB +ANxN = b

⇔ xB +A−1B ANxN = A−1

B b

30

Page 31: INFO-F-524 : Optimisation continue

z = cTx = cTBxB + cTNxN

= cTB(A−1B b−A−1

B ANxN ) + cTNxN

= cTBA−1B b+ (cTN − cTBA−1

B AN )︸ ︷︷ ︸coûts réduits ou profits marginaux

xN

Notation :

xl +∑k∈N

alkxk = bl l ∈ B

z = z +∑k∈N

ckxk

Exemple

max z = 5x1 + 4x2

s.c. 6x1 + 4x2 ≤ 24

x1 + 2x2 ≤ 6

x2 ≤ 2

x2 − x1 ≤ 1

x1, x2 ≥ 0

Forme standardmax z = 5x1 +4x2

s.c. 6x1 +4x2 +s1 = 24x1 +2x2 +s2 = 6

x2 +s3 = 2−x1 +x2 +s4 = 1x1, x2, s1, s2, s3, s4 ≥ 0

Règles de pivotage

Variable entranteChoisir la variable k hors base avec le profit marginal maximum (max z) ou le coût réduit minimum (min z).

max z → k = arg maxi∈N

ci

min z → k = arg mini∈N

ci

Si ck ≤ 0 (max) ou ck ≥ 0 (min) pour tout k ∈ N , solution optimale, STOP.

−z +5x1 +4x2 = 0

s1 +6x1 +4x2 = 24s2 +x1 +2x2 = 6s3 +x2 = 2s4 −x1 +x2 = 1

Variable sortanteChoisir la variable l en base telle que

l = arg minj∈B:ajk>0

bjajk

31

Page 32: INFO-F-524 : Optimisation continue

Si alk ≤ 0 pour tout l ∈ B, problème non borné, STOP.

−z +5x1 +4x2 = 0

s1 +6x1 +4x2 = 24

s2 +x1 +2x2 = 6s3 +x2 = 2s4 −x1 +x2 = 1

Pivotage

aij′ =

aljalk

i = l

aij −aikaljalk

i 6= l

bi′

=

blalk

i = l

bi −aikblalk

i 6= l

−z +5x1 +4x2 = 0

s1 +6x1 +4x2 = 24

s2 +x1 +2x2 = 6

s3 +x2 = 2

s4 −x1 +x2 = 1

−z − 56s1 + 2

3x2 = −20

x1 + 16s1 + 2

3x2 = 4

s2 − 16s1 +

4

3x2 = 2

s3 +x2 = 2

s4 + 16s1 + 5

3x2 = 5

−z − 34s1 − 1

2s2 = −21

x1 + 14s1 − 1

2s2 = 3

x2 − 18s1 + 3

4s2 = 32

s3 + 18s1 − 3

4s2 = 12

s4 + 38s1 − 5

4s2 = 52

9 DualitéProblème primal et problème dual

Problème primal

max cTx

s.c. Ax = b

x ≥ 0

n variables, m contraintes, m < n, c, x ∈ Rn, b ∈ Rm, A ∈ Rm×n.

Problème dual

min bT y

s.c. AT y ≥ c(y non restreint)

m variables, n contraintes, m < n, c ∈ Rn, b, y ∈ Rm, A ∈ Rm×n.

Exemple 38 (Problème primal et dual - forme standard).

32

Page 33: INFO-F-524 : Optimisation continue

Problème primal :max z = x1 +x2

s.c. 2x1 +x2 = 5 (y1)3x1 −x2 = 6 (y2)x1, x2 ≥ 0

Problème dual :min w = 5y1 +6y2

s.c 2y1 +3y2 ≥ 1 (x1)y1 −y2 ≥ 1 (x2)

Propriétés et règles de construction du dualThéorème 39. Le problème dual du problème dual est le problème primal.

Règles de construction

Problème max Problème minContrainte Variable≤ ≥ 0= non restreinte

Variable Contrainte≥ 0 ≥

non restreinte =

Exemple 40 (Problème primal et dual - forme générale).

Problème primal :max z = 5x1 +12x2 +4x3

s.c. x1 +2x2 +x3 ≤ 10 (y1)2x1 −x2 +3x3 = 8 (y2)x1, x2, x3 ≥ 0

Problème dual :min w = 10y1 +8y2

s.c y1 +2y2 ≥ 5 (x1)2y1 −y2 ≥ 12 (x2)y1 +3y2 ≥ 4 (x3)y1 ≥ 0

Théorème 41 (Dualité faible). Considérons la paire primale-duale :

max cTx

s.c. Ax = b

x ≥ 0

min bT y

s.c. AT y ≥ c

– Si x est une solution admissible du primal et y une solution admissible du dual, alors

cTx ≤ bT y

– S’il y a égalité, alors x est une solution optimale du primal et y une solution optimale du dual.

33

Page 34: INFO-F-524 : Optimisation continue

Théorème 42 (Dualité forte). Considérons la paire primale-duale :

max cTx

s.c. Ax = b

x ≥ 0

min bT y

s.c. AT y ≥ c

– Si le primal et le dual admettent tous les deux une solution admissible, ils ont tous deux une solution optimalefinie et la même valeur objectif optimale.

– Si le primal (dual) est non borné, le dual (primal) n’admet pas de solution admissible.

Théorème 43 (Complémentarité). Considérons la paire primale-duale :

max cTx

s.c. Ax = b

x ≥ 0

min bT y

s.c. AT y ≥ c

Si x est une solution optimale du primal et y une solution optimale du dual, alors

xi(aTi y − ci) = 0.

où ai est la i-ème colonne de A.

En d’autres termes :

xi > 0 ⇒ aTi y = ci,

aTi y > ci ⇒ xi = 0.

Exemple 44 (Résolution du dual par les règles de complémentarité).Primal (P ) :

max z = 5x1 +12x2 +4x3

s.c. x1 +2x2 +x3 ≤ 10 (y1)2x1 −x2 +3x3 = 8 (y2)x1, x2, x3 ≥ 0

Dual (D) :min w = 10y1 +8y2

s.c y1 +2y2 ≥ 5 (x1)2y1 −y2 ≥ 12 (x2)y1 +3y2 ≥ 4 (x3)y1 ≥ 0

34

Page 35: INFO-F-524 : Optimisation continue

Solution optimale de (P ) :

(x1, x2, x3) =

(26

5,

12

5, 0

)z =

274

5

x1 > 0 ⇒ y1 + 2y2 = 5

x2 > 0 ⇒ 2y1 − y2 = 12

Solution optimale de (D) :

(y1, y2) =

(29

5,−2

5

)w =

274

5

10 Le simplexe révisé– Le tableau du simplexe doit être mis à jour à chaque itération.– Nombre d’opérations proportionnel à mn.– Toute l’information du tableau peut être retrouvée à partir des données de départ et de l’inverse de la base.– Idée du simplexe révisé : stocker et mettre à jour uniquement l’inverse de la base (de taille m×m).– Intéressant si n >> m.

Itération du simplexe révisé– Calcul des profits marginaux et sélection de la variable entrante (pricing).– Calcul de la colonne du tableau correspondant à la variable entrante et détermination de la variable sortante.– Mise à jour de la solution et de l’inverse de la base.

Calcul des profits marginaux et sélection de la variable entrante

max z = 5x1 +4x2

s.c. 6x1 +4x2 +s1 = 24x1 +2x2 +s2 = 6

x2 +s3 = 2−x1 +x2 +s4 = 1x1, x2, s1, s2, s3, s4 ≥ 0

B = {s1, s2, s3, s4}

A−1B =

1 0 0 00 1 0 00 0 1 00 0 0 1

, xB =

s1

s2

s3

s4

= A−1B b =

24621

cNT = cTN − cTBA−1

B AN = (5 4)− (0 0 0 0)

6 41 20 1−1 1

= (5 4)

35

Page 36: INFO-F-524 : Optimisation continue

Détermination de la variable sortante

ax1 = A−1B Ax1 =

1 0 0 00 1 0 00 0 1 00 0 0 1

610−1

=

610−1

Rapports bi

aix1pour aix1

> 0 :

(s1)24

6= 4

(s2)6

1= 6

→ s1 sort de la base.

Mise à jour de la solution et de l’inverse de la baseForme produit de l’inverse :

A = (a1 . . . ar−1 ar ar+1 . . . am) A−1connue,B = (a1 . . . ar−1 b ar+1 . . . am) ? B−1 ?

B = AF avec F = (e1 . . . er−1 A−1b er+1 . . . em)

où ej est le j-ème vecteur unité.B−1 = F−1A−1

F = ( e1 . . . er−1 A−1b er+1 . . . em )F−1 = ( e1 . . . er−1 ξ er+1 . . . em )

ξ =1

(A−1b)r

−(A−1b)1

. . .−(A−1b)r−1

1−(A−1b)r+1

. . .−(A−1b)m

Ici, A−1b correspond à la colonne entrante du tableau.

A−1B =

16 0 0 0− 1

6 1 0 00 0 1 016 0 0 1

1 0 0 00 1 0 00 0 1 00 0 0 1

=

16 0 0 0− 1

6 1 0 00 0 1 016 0 0 1

xB =

x1

s2

s3

s4

= A−1B b =

4225

36

Page 37: INFO-F-524 : Optimisation continue

Calcul des profits marginaux et sélection de la variable entrante

cNT = cTN − cTBA−1

B AN

= (0 4)− (5 0 0 0)

16 0 0 0− 1

6 1 0 00 0 1 016 0 0 1

1 40 20 10 1

= (−5

6

2

3)

Détermination de la variable sortante

ax2 = A−1B Ax2 =

16 0 0 0− 1

6 1 0 00 0 1 016 0 0 1

4211

=

2343153

Rapports bi

aix1pour aix1 > 0 :

(x1) 6

(s2)3

2(s3) 2

(s4) 3

→ s2 sort de la base.

Mise à jour de la solution et de l’inverse de la base

A−1B =

1 − 1

2 0 00 3

4 0 00 − 3

4 1 00 − 5

4 0 1

16 0 0 0− 1

6 1 0 00 0 1 016 0 0 1

=

14 − 1

2 0 0− 1

834 0 0

18 − 3

4 1 038 − 5

4 0 1

xB =

x1

x2

s3

s4

= A−1B b =

3321252

Calcul des profits marginaux et sélection de la variable entrante

cNT = cTN − cTBA−1

B AN

= (0 0)− (5 4 0 0)

14 − 1

2 0 0− 1

834 0 0

18 − 3

4 1 038 − 5

4 0 1

1 00 10 00 0

= (−3

4− 1

2)

37

Page 38: INFO-F-524 : Optimisation continue

Solution optimale.

11 Algorithmes de génération de colonnesIdée de décomposition :

(PLE) max{cx : x ∈ X} avec X =

K⋂k=0

Xk, k ≥ 1

Cas particulier : contraintes de la forme

A1x1 +A2x2 + . . . +AKxK = bD1x1 ≤ d1

. . . ≤ . . .. . . ≤ . . .

+DKxK ≤ dKx1 ∈ Zn1

+ , . . . , . . . , xK ∈ ZnK+

X0 = {x ∈ Zn :K∑k=1

Akxk = b} contraintes communes XK = {xk ∈ Znk+ : Dkxk ≤ dk} indépendantes pour

k = 1, . . . ,K.Approches possibles :

1. Générer des coupes valides pour Xk, k = 1, . . . ,K.

2. Dualiser (Lagrange)K∑k=1

Akxk = b.

3. Reformulation→ génération de colonnes.

Supposons que Xk est borné pour k = 1, . . .K.Problème équivalent :

maxλ

{K∑k=1

γkλk :

K∑k=1

Bkλk = β, λk ≥ 0, entiers, k = 1, . . . ,K

}

où chaque matrice Bk a un très grand nombre de colonnes représentants les points admissibles de Xk, et chaquevecteur λk contient les variables correspondantes.

Uncapacitated Facility Location Problem

min∑i∈M

∑j∈N

cijxij +∑j∈N

fjyj

s.c.∑j∈N

xij = 1 i ∈M

0 ≤ xij ≤ yj i ∈M, j ∈ Nyj ∈ {0, 1} j ∈ N

Une solution ≡ un sous-ensemble de facilités + une affectation des clients.

λjS =

{1 si j satisfait tous les clients de S,0 sinon.

38

Page 39: INFO-F-524 : Optimisation continue

min∑j∈N

∑S 6=∅

(∑i∈S

cij + fj

)λjS

s.c.∑j∈N

∑S 6=∅,i∈S

λjS = 1 i ∈M

∑S 6=∅

λjS ≤ 1 j ∈ N

λjS ∈ {0, 1} ∅ 6= S ⊆M, j ∈ N

Problème maître– Comment l’obtenir en général ?– Comment le résoudre ?– Comparaison avec coupes, relaxation lagrangienne.

Reformulation de Dantzig-Wolfe d’un PLE

(PLE) z = max

K∑k=1

ckxk

s.c.K∑k=1

Akxk = b

xk ∈ Xk k = 1, . . . ,K

Xk ={xk ∈ Znk+ : Dkxk ≤ dk

}k = 1, . . . ,K

={xk,t

}Tkt=1

(Tk très grand)

=

xk ∈ Rnk :xk =

Tk∑t=1

λk,txk,t,

Tk∑t=1

λk,t = 1

λk,t ∈ {0, 1} t = 1, . . . , Tk

Problème maître en nombres entiers :

(PME) z = max

K∑k=1

Tk∑t=1

(ckxk,t)λk,t

s.c.K∑k=1

Tk∑t=1

(Akxk,t)λk,t = b

Tk∑t=1

λk,t = 1 k = 1, . . .K,

λk,t ∈ {0, 1} t = 1, . . . , Tk, k = 1, . . .K.

Uncapacitated Facility Location ProblemFormulation faible :

39

Page 40: INFO-F-524 : Optimisation continue

min∑i∈M

∑j∈N

cijxij +∑j∈N

fjyj

s.c.∑j∈N

xij = 1 i ∈M

∑i∈M

xij ≤ myj j ∈ N

x ∈ Bmn, y ∈ Bn

Xk =

(x1k, . . . , xmk, yk) :

∑i∈M

xik ≤ myk,

xik ∈ {0, 1}, i ∈M, yk ∈ {0, 1}

=

(xkS , 1)︸ ︷︷ ︸var. λkS

: S ⊆M

∪(0, 0)︸ ︷︷ ︸

var. νk

où xkS est le vecteur d’incidence de S.

(PME) min∑j∈N

∑S 6=∅

(∑i∈S

cij + fj

)λjS + f jλj∅

s.c.

∑j∈N

∑S 6=∅, i∈S

λjS = 1 i ∈M,

∑S 6=∅

λjS + λj∅ + νj = 1 j ∈ N,

λjS ∈ {0, 1} S ⊆M, j ∈ N,νj ∈ {0, 1} j ∈ N.

– fj ≥ 0 ⇒ λj∅ = 0.– Si νj est considéré comme variable d’écart→ même formulation qu’en décomposant la formulation forte.

Résolution du problème maître linéaireGénération de colonnes pour la relaxation linéaire de (PME) :

(PML) z = max

K∑k=1

Tk∑t=1

(ckxk,t)λk,t

s.c.K∑k=1

Tk∑t=1

(Akxk,t)λk,t = b {πi}mi=1

Tk∑t=1

λk,t = 1 k = 1, . . .K, {µk}Kk=1

λk,t ≥ 0t = 1, . . . , Tk,k = 1, . . .K.

Pour chaque x ∈ Xk, on a une colonne

ckxAkxek

.

Pricing : résolution de K problèmes d’optimisation.

40

Page 41: INFO-F-524 : Optimisation continue

Initialisation Supposons que nous avons un sous-ensemble de colonnes (au moins une pour chaque k), quiforment un Problème Maître Linéaire Restreint.

(PMLR) zPML = max cλ

s.c. Aλ = b

λ ≥ 0

où b =

(b1

)et A est générée par le sous-ensemble de colonnes et est une sous-matrice de :

A1x1,1 . . . A1x1,T1 A2x2,1 . . . A2x2,T2 . . . AKxK,1 . . . AKxK,TK

1 . . . 11 . . . 1

. . .1 . . . 1

λ∗ = solution optimale de (PMLR) (π, µ) = solution optimale duale ∈ Rm × Rk.

Admissibilité primale λ∗ = solution réalisable pour (PMLR)⇒ λ∗ = solution réalisable pour (PML)

zPML = cλ∗ =

m∑i=1

πibi +

K∑k=1

µk ≤ zPML.

Test d’optimalité pour (PML) (π, µ) duale réalisable ?

∀k ∈ {1, . . . ,K}, ∀x ∈ Xk : ckx− πAkx− µk ≤ 0

⇔ ζk = max{(ck − πAk)x− µk : x ∈ Xk} ≤ 0.

Critère d’arrêt Si ζk = 0 pour k = 1, . . . ,K,⇒ (π, µ) est duale réalisable pour (PML)⇒ zPML ≤m∑i=1

πibi+

K∑k=1

µk ⇒ λ∗ est solution optimale de (PML).

Génération d’une nouvelle colonne Si ζk > 0 pour un k donné, la colonne correspondant à la solution optimale

xk du sous-problème a un coût réduit > 0 ⇒ introduire la colonne

ckxk

Akxk

ek

et réoptimiser.

Une borne (supérieure) duale

ζk ≥ (ck − πAk)x− µk ∀x ∈ Xk

⇒ (ck − πAk)x− µk − ζk ≤ 0 ∀x ∈ Xk

⇒ (π, µ+ ζ) est duale réalisable pour (PML)

(avec ζ = (ζ1, . . . , ζk))

⇒ zPML ≤ πb+∑Kk=1 µk +

∑Kk=1 ζk

Un autre critère d’arrêt Si les solutions (x1, . . . , xk) des sous-problèmes satisfont les contraintes liantesK∑k=1

Akxk =

b, alors (x1, . . . , xk) est optimale.

ζk = (ck − πAk)xk − µk

⇒K∑k=1

ckxk =

K∑k=1

πAkxk +

K∑k=1

µk +

K∑k=1

ζk

= πb+

K∑k=1

µk +

K∑k=1

ζk

41

Page 42: INFO-F-524 : Optimisation continue

→ la solution primale a la même valeur que la borne supérieure.

42

Page 43: INFO-F-524 : Optimisation continue

Le STSP par génération de colonnes

min

∑e∈E

cexe :∑e∈δ(i)

xe = 2, i ∈ N, x ∈ X1

avec

X1 =

x ∈ Zm+ :

∑e∈δ(1)

xe = 2,∑e∈E(S)

xe ≤ |S| − 1, ∅ ⊂ S ⊂ N \ {1},∑e∈E

xe = n

l’ensemble des vecteurs d’incidence des 1-arbres.Remarque : 1 seul sous-problème !

xe =∑

t: e∈Etλt où Gt = (N,Et) est le tème 1-arbre.

∑e∈δ(i)

xe =∑e∈δ(i)

∑t: e∈Et

λt =∑t

dtiλt = 2

avec dti le degré du noeud i dans le 1-arbre Gt.

(PML) min

T1∑t=1

(cxt)λt

s.c.T1∑t=1

dtiλt = 2 i ∈ N (ui)

T1∑t=1

λt = 1 (µ)

λt ≥ 0 t = 1, . . . , T1

Sous-problème :

ζ1 = min

{∑e∈E

(ce − ui − uj)xe − µ : x ∈ X1

}car le coût réduit du 1-arbre Gt est

cxt −∑i∈N

dtiui − µ = cxt −∑i∈N

ui∑e∈δ(i)

xte − µ =∑e∈E

(ce − ui − uj)xte − µ.

Remarque : la contrainte de convexité est redondante avec la contrainte de degré pour i = 1.Exemple :

ce =

· 7 2 1 5· 3 6 8· 4 2· 9·

.

Initialisation : un tour de longueur 28 et 6 1-arbres arbitraires.

min 28λ1 +25λ2 +21λ3 +19λ4 +22λ5 +18λ6 +28λ7

2 λ1 + 2 λ2 + 2 λ3 + 2 λ4 + 2 λ5 + 2 λ6 + 2 λ7 = 22 λ1 + 2 λ2 + 2 λ3 + 1 λ4 + 1 λ5 + 2 λ6 + 3 λ7 = 22 λ1 + 3 λ2 + 2 λ3 + 3 λ4 + 2 λ5 + 3 λ6 + 1 λ7 = 22 λ1 + 2 λ2 + 3 λ3 + 3 λ4 + 3 λ5 + 1 λ6 + 1 λ7 = 22 λ1 + 1 λ2 + 1 λ3 + 1 λ4 + 2 λ5 + 2 λ6 + 3 λ7 = 2

λ ≥ 0

43

Page 44: INFO-F-524 : Optimisation continue

Solution du programme linéaire : λ = (0, 0, 14 , 0,

14 ,

14 ,

14 ) de coût 22.5. Solution duale : u = ( 151

8 ,−1,− 112 ,−

54 , 0).

Coûts réduits : · − 87

8 − 918 − 133

8 − 1118

· 192

334 9

· 434

152

· 414·

.

1-arbre optimal : x14 = x15 = x24 = x25 = x35 = 1, ζ = − 234 .

22.5 + ζ = 16.75 ≤ zLP ≤ 22.5

Nouvelle colonne (de coût 22). Solution du programme linéaire : λ = (0, 0, 13 , 0, 0,

13 , 0,

13 ) de coût 20.333.

Solution duale : u = ( 656 ,

13 ,−

53 ,

23 , 0).

Coûts réduits : · − 25

6 − 436 − 21

2 − 356

· 133 5 23

3· 5 11

3· 25

.

1-arbre optimal : x13 = x14 = x23 = x24 = x35 = 1, ζ = − 143 .

20.333 + ζ = 15.667 ≤ 16.75 ≤ zLP ≤ 20.333

Nouvelle colonne (de coût 14). Solution du programme linéaire : λ = (0, 0, 0, 0, 0, 0, 0, 12 ,

12 ) de coût 18. Solution

duale : u = (13, 0,−4, 0, 0).Coûts réduits :

· −6 −7 −12 −8· 7 6 8

· 8 6· 9

·

.

1-arbre optimal : x14 = x15 = x23 = x24 = x35 = 1, ζ = −1.

18 + ζ = 17 ≤ zLP ≤ 18

C’est un tour→ optimal (et de coût 17).

Qualité du problème maître linéaireProposition 45.

zPML = max

K∑k=1

ckxk :

K∑k=1

Akxk = b,

xk ∈ conv(Xk), k = 1, . . . ,K

.

(LPM) obtenu de (PE) par :

xk =

Tk∑t=1

λk,txk,t,

Tk∑t=1

λk,t = 1,

λk,t ≥ 0 t = 1, . . . , Tk,

ce qui est équivalent à xk ∈ conv(Xk).

44

Page 45: INFO-F-524 : Optimisation continue

Soit

wLD : Relaxation lagrangienne où on dualiseK∑k=1

Akxk = b

zCUT : Algorithme de séparation exacte pour conv(Xk).

Théorème 46.zPML = wLD = zCUT .

Génération de colonnes pour programmes 0-1Si la solution optimale de (PML), λ = (λ1, . . . , λK), n’est pas entière, alors (PME) n’est pas résolu maiszPML ≥ z.

Branch-and-PriceBranch-and-Bound avec génération de colonnes

(PLE) z = max

K∑k=1

ckxk

s.c.K∑k=1

Akxk = b

Dkxk ≤ dk k = 1, . . . ,K

xk ∈ Bnk k = 1, . . . ,K

(PME) z = max

K∑k=1

Tk∑t=1

(ckxk,t)λk,t

s.c.K∑k=1

Tk∑t=1

(Akxk,t)λk,t = b

Tk∑t=1

λk,t = 1 k = 1, . . .K,

λk,t ∈ {0, 1} t = 1, . . . , Tk, k = 1, . . .K.

Solution optimale de la relaxation linéaire de (PME) : λ.

xk =

Tk∑t=1

λk,txk,t ∈ {0, 1}nk ⇔ λ entier.

Si λ n’est pas entier :∃κ, j tels que xκj fractionnaire.

Branchement :

45

Page 46: INFO-F-524 : Optimisation continue

Si = S ∩ {x : xκj = i} i = 0, 1.

Modifications du problème maître :

xkj =∑Tkt=1 λk,tx

k,tj ∈ {0, 1}

xkj = δ ∈ {0, 1}

}⇒ xk,tj = δ pour k, t : λk,t > 0.

(PME(Si)) z(Si) = max

K∑k 6=κ

∑t

(ckxk,t)λk,t +∑

t: xκ,tj =i

(cκxκ,t)λκ,t

s.c.∑k 6=κ

∑t

(Akxk,t)λk,t +∑

t: xκ,tj =i

(Aκxκ,t)λκ,t = b

∑t

λk,t = 1 k 6= κ∑t: xκ,tj =i

λκ,t = 1

λk,t ∈ {0, 1} t = 1, . . . , Tk,

k = 1, . . .K.

– Problèmes (PME(Si) similaires à (PME) (colonnes exclues).– Pour k 6= κ, sous-problème inchangé.– Pour le sous problème κ et i = 0, 1, on a :

ζk(Si) = max{(cκ − πAκ)x− µκ : x ∈ Xk, xj = i}

Autre idée : brancher sur 0 < λk,t < 1.

– Une seule colonne exclue→ arbre de Branch-and-Bound déséquilibré.– Souvent difficile d’imposer λk,t = 0.

Avantage de l’approche de génération de colonnes(PML) est souvent entier ou proche de l’entier. Une bonne solution entière peut souvent être trouvée par uneheuristique d’arrondi simple.

Problèmes de partitionnement/packing implicitesClasse de problèmes décomposables importante.Etant donné :– un ensemble fini M = {1, . . . ,m},– K sous-ensembles de M réalisables (décrits implicitement),trouver un “packing” ou une partition de M consistant en certains de ces sous-ensembles.Variables xk = (yk, wk) avec yk ∈ {0, 1}m le vecteur d’incidence du sous-ensemble k de M , et wk des variablesauxiliaires pour déterminer si yk est admissible.

z = max

K∑k=1

(ekyk + fkwk) :

K∑k=1

yki ≤ 1, i ∈M

(yk, wk) ∈ Xk, k = 1, . . . ,K

46

Page 47: INFO-F-524 : Optimisation continue

(PME) z = max

K∑k=1

Tk∑t=1

(ekyk,t + fkwk,t)λk,t

s.c.K∑k=1

∑t: yk,ti =1

λk,t ≤ 1 i ∈M,

Tk∑t=1

λk,t = 1 k = 1, . . .K,

λk,t ∈ {0, 1} t = 1, . . . , Tk,

k = 1, . . .K.

Exemple 47 (Multi-Item Lot-Sizing). – Demandes dkt pour items k!1, . . . ,K et périodes t = 1, . . . , T .– Une seule machine qui produit un item par période et a une capacité Ckt si l’item k est produit en période t.

min

K∑k=1

T∑t=1

(pkt xkt + hkt s

kt + fkt y

kt )

s.c.K∑k=1

ykt ≤ 1 t = 1, . . . , T,

(xk, sk, yk) ∈ Xk k = 1, . . .K.

avec

Xk =

{(xk, sk, yk) ∈ RT+ × RT+ ×BT :

skt−1 + xkt = dkt + skt ,xkt ≤ Ckt ykt , t = 1, . . . T.

}Exemple 48 (Clustering). Etant donné un graphe G = (V,E) avec– un coût ce pour tout e ∈ E,– un poids di pour tout i ∈ V ,– une capacité C,répartir les sommets de V en au plus K clusters tels que la somme des poids des sommets de chaque cluster estinférieure ou égale à C et de façon à minimiser la somme des coûts des arêtes entre les clusters (≡ maximiser lasomme des coûts des arêtes dans les clusters).

Exemple avec C = 9 et K = 3.

max

K∑k=1

∑e∈E

cewke

s.c.K∑k=1

yki ≤ 1 i ∈ V,

(wk, yk) ∈ Xk k = 1, . . .K.

47

Page 48: INFO-F-524 : Optimisation continue

avec

Xk =

(wk, yk) ∈ Bm ×Bn :

wke ≤ yki e = (i, j) ∈ E,wke ≤ ykj e = (i, j) ∈ E,wke ≥ yki + ykj − 1 e = (i, j) ∈ E,∑i∈V diy

ki ≤ C

Exemple 49 (Capacitated Vehicle Routing Problem (CVRP)). Etant donné un graphe G = (V,E) avec– un dépôt 0,– un coût ce pour tout e ∈ E,– K véhicules identiques de capacité C,– une demande di pour tout i ∈ V \ {0},déterminer un ensemble de K sous-tours pour les K véhicules, de longueur totale minimum, tels que :

1. chaque sous-tour contient le dépôt ;

2. chaque noeud i ∈ V \ {0} appartient à un et un seul sous-tour ;

3. la demande totale de chaque sous-tour est inférieure ou égale à C.

Exemple 50 (Generalized Assignment Problem (GAP)).

z = max

n∑j=1

m∑i=1

cijxij

s.c.n∑j=1

xij ≤ 1 i = 1, . . . ,m

m∑i=1

aijxij ≤ bj j = 1, . . . , n

x ∈ Bmn

Partitionnement à l’aide d’ensembles identiques– Clustering et CVRP : les ensembles sont interchangeables.– La numérotation des sous-ensembles dans la solution est arbitraire.– Beaucoup de solutions identiques– On peut spécialiser l’algorithme de génération de colonnes pour prendre cette symétrie en compte.

z = max

K∑k=1

(ekyk + fkwk) :

K∑k=1

yki ≤ 1, i ∈M

(yk, wk) ∈ Xk, k = 1, . . . ,K

En fait, Xk = X , (ek, fk) = (e, f) pour tout k→ T k = T pour tout k et on peut poser

λt =

K∑k=1

λk,t.

(PME) z = max

T∑t=1

(eyt + fwt)λt

s.c.∑

t: yti=1

λt = 1 i ∈M, {πi}mi=1

T∑t=1

λt = K µ

λt ∈ {0, 1} t = 1, . . . , T.

Un seul sous-problème de génération de colonnes

ζ = max{(e− π)y + fw − µ : (y, w) ∈ X}.

48

Page 49: INFO-F-524 : Optimisation continue

Si la solution optimale λ de (PML) est fractionnaire, comment brancher ? Le lien avec xk ou λkt n’est pas clair.Règles de branchement :

(i) SiT∑t=1

λt = α /∈ Z, brancher surT∑t=1

λt ≤ bαc etT∑t=1

λt ≥ dαe.

(ii) Observation : pour toute paire i, j ∈ M , i et j sont soit dans le même ensemble, soit dans des ensemblesdifférents→ choisir une paire d’éléments (lignes) i, j ∈M telle que

0 <∑

t: yti=ytj=1

λt < 1.

et brancher sur∑

t: yti=ytj=1

λt = 1 et∑

t: yti=ytj=1

λt = 0.

S1 i et j sont dans des sous-ensembles différents :– éliminer toutes les colonnes contenant i et j de (PML) ;– ajouter yi + yj ≤ 1 dans le sous-problème.

S2 i et j sont dans le même sous-ensemble :– éliminer toutes les colonnes contenant soit i, soit j (mais pas les deux) de (PML) ;– ajouter yi = yj dans le sous-problème.

Proposition 51. Si λ /∈ BT , il existe des lignes i et j telles que

0 <∑

t: yti=ytj=1

λt < 1.

Exemple 52 (Clustering). Considérons le problème de clustering avec G = (V,E) un graphe complet sur 3noeuds, K = 3, l’objectif de choisir un nombre maximal d’arêtes dans le cluster, et au plus 2 noeuds par cluster.

di = 1, i ∈ V ce = 1, e ∈ E, C = 2.

1. Problème maître restreint avec clusters consistant en un seul noeud :

max 0λ1 + 0λ2 + 0λ3

1λ1 + 0λ2 + 0λ3 = 10λ1 + 1λ2 + 0λ3 = 10λ1 + 0λ2 + 1λ3 = 11λ1 + 1λ2 + 1λ3 ≤ 3

λ ≥ 0

Solution primale λ = (1, 1, 1) de valeur 0, solution duale π = (0, 0, 0), µ = 0.z = 0 (car admissible).

2. Sous-problème :

ζ = maxw12 + w13 + w23 − 0y1 − 0y2 − 0y3 − 0

w12 ≤ y1, w12 ≤ y2, w12 ≥ y1 + y2 − 1

w13 ≤ y1, w13 ≤ y3, w13 ≥ y1 + y3 − 1

w23 ≤ y2, w23 ≤ y3, w23 ≥ y2 + y3 − 1

y1 + y2 + y3 ≤ 2

w ∈ B|E|, y ∈ B|V |

49

Page 50: INFO-F-524 : Optimisation continue

ζ = 1 w12 = y1 = y2 = 1.

3. . . .après 3 itérations . . .Problème maître restreint :

max 0λ1 + 0λ2 + 0λ3 + 1λ4 + 1λ5 + 1λ6

1λ1 + 0λ2 + 0λ3 + 1λ4 + 1λ5 + 0λ6 = 10λ1 + 1λ2 + 0λ3 + 1λ4 + 0λ5 + 1λ6 = 10λ1 + 0λ2 + 1λ3 + 0λ4 + 1λ5 + 1λ6 = 11λ1 + 1λ2 + 1λ3 + 1λ4 + 1λ5 + 1λ6 ≤ 3

λ ≥ 0

Solution primale λ = (0, 0, 0, 12 ,

12 ,

12 ) de valeur 3

2 .4. Branchement : lignes 1 et 2.

– S1 : 1 et 2 ne sont pas dans le même cluster→ λ4 = 0.– S2 : un cluster qui contient 1 ou 2 doit contenir les deux. λ1 = λ2 = λ5 = λ6 = 0.

5. Ré-optimisation de S1 :max 0λ1 + 0λ2 + 0λ3 + 1λ5 + 1λ6

1λ1 + 0λ2 + 0λ3 + 1λ5 + 0λ6 = 10λ1 + 1λ2 + 0λ3 + 0λ5 + 1λ6 = 10λ1 + 0λ2 + 1λ3 + 1λ5 + 1λ6 = 11λ1 + 1λ2 + 1λ3 + 1λ5 + 1λ6 ≤ 3

λ ≥ 0

Solution primale λ1 = λ6 = 1 de valeur 1, solution duale π = (0, 0, 1), µ = 0, z = 1.6. Sous-problème pour S1 :

ζ = maxw12 + w13 + w23 − 0y1 − 0y2 − 1y3 − 0

w12 ≤ y1, w12 ≤ y2, w12 ≥ y1 + y2 − 1

w13 ≤ y1, w13 ≤ y3, w13 ≥ y1 + y3 − 1

w23 ≤ y2, w23 ≤ y3, w23 ≥ y2 + y3 − 1

y1 + y2 + y3 ≤ 2

y1 + y2 ≤ 1

w ∈ B|E|, y ∈ B|V |

ζ = 0 et (PML(S1)) est résolu optimalement avec zPML(S1) = 1.7. Ré-optimisation de S2 :

λ1 = λ2 = λ5 = λ6 = 0⇒ λ3 = λ4 = 1

Itérer entre sous-problème et problème maître restreint→ zPML(S2) = 1→ noeud éliminé par borne→ λ1 = λ6 = 1 optimale.

50

Page 51: INFO-F-524 : Optimisation continue

Quatrième partie

Algorithmes pour l’optimisation non linéaire12 Optimisation sans contraintes

12.1 Optimisation à une dimensionOptimisation à une dimension

minx∈R

f(x)

avec f : R→ R continue et dérivable.Cas le plus simple d’optimisation non linéaire mais important :– problèmes à une dimension ;– sous-problème (line search) pour la détermination de la longueur de pas dans des algorithmes plus généraux.Difficulté : possibilité d’optima locaux multiples. Problèmatiques s’il ne sont pas optima globaux.

Définition 53 (Direction d’amélioration). Un vecteur ∆x est une direction d’amélioration pour une fonction f(x)au point x si f(x+ λ∆x) < f(x) pour tout λ > 0 suffisamment petit.

Définition 54 (Fonction unimodale). Une fonction f(x) est unimodale si la direction de tout point du domainevers un meilleur point est une direction d’amélioration.

Si f est unimodale, un optimum local est aussi un optimum global.

Golden Section SearchMéthode simple mais efficace, n’utilisant pas de dérivée, pour trouver l’optimum d’une fonction unimodale à unedimension.Idée : comparer les valeurs de la fonction en 4 points soigneusement choisis x(lo) < x(1) < x(2) < x(hi) avecx(lo) < x∗ < x(hi).

Initialisation Choisir une borne inférieure x(lo) et une borne supérieure x(hi) sur la solution optimale x∗, ainsiqu’une tolérance ε > 0.

x(1) = x(hi) − α(x(hi) − x(lo))

x(2) = x(lo) + α(x(hi) − x(lo))

Critère d’arrêt Si x(hi) − x(lo) < ε, stop. Renvoyer

x∗ :=1

2

(x(lo) + x(hi)

)

51

Page 52: INFO-F-524 : Optimisation continue

Itération principale Si f(x(1)) < f(x(2)), mettre à jour l’intervalle avec

x(hi) := x(2)

x(2) := x(1)

x(1) := x(hi) − α(x(hi) − x(lo))

Sinon :

x(lo) := x(1)

x(1) := x(2)

x(2) = x(lo) + α(x(hi) − x(lo))

Remarque : la longueur de l’intervalle est multipliée par α à chaque itération.Choix de α : supposons que f(x(1)) < f(x(2)).Pour garder les règles d’espacement, on veut :

x(2)new = x

(lo)(new) + α(x(hi)

new − x(lo)new)

= x(lo) + α(x(2) − x(lo))

= x(lo) + α(x(lo) + α(x(hi) − x(lo))− x(lo)

),

= x(lo) + α2(x(hi) − x(lo)),

De plus, x(2)new = x(1) = x(hi) − α(x(hi) − x(lo)), donc

(α2 + α− 1

)(x(hi) − x(lo)) = 0⇒ α =

−1±√

5

2.

Comme il faut 0 < α < 1, on choisit α = −1+√

52 ≈ 0.681 (nombre d’or).

Exemple :max

0≤x≤πx cosx.

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

0.5

1

0 0.5 1 1.5 2 2.5 3

x*cos(x)

52

Page 53: INFO-F-524 : Optimisation continue

k x(lo) x(1) x(2) x(hi) f(x(lo)) f(x(1)) f(x(2)) f(x(hi)) x(hi) − x(lo)

0 0.00 1.20 1.94 3.14 0.00 0.43 − 0.70 − 3.14 3.141 0.00 0.74 1.20 1.94 0.00 0.55 0.43 − 0.70 1.942 0.00 0.46 0.74 1.20 0.00 0.41 0.55 0.43 1.203 0.46 0.74 0.92 1.20 0.41 0.55 0.56 0.43 0.744 0.74 0.92 1.02 1.20 0.55 0.56 0.53 0.43 0.465 0.74 0.85 0.92 1.02 0.55 0.56 0.56 0.53 0.286 0.74 0.81 0.85 0.92 0.55 0.56 0.56 0.56 0.187 0.81 0.85 0.88 0.92 0.56 0.56 0.56 0.56 0.118 0.81 0.83 0.85 0.88 0.56 0.56 0.56 0.56 0.079 0.83 0.85 0.86 0.88 0.56 0.56 0.56 0.56 0.0410 0.85 0.86 0.87 0.88 0.56 0.56 0.56 0.56 0.0311 0.85 0.86 0.86 0.87 0.56 0.56 0.56 0.56 0.0212 0.86 0.86 0.86 0.87 0.56 0.56 0.56 0.56 0.01

12.2 Optimisation à plusieurs dimensions

minx∈Rn

f(x)

avec f : Rn → R, f ∈ C2.Condition nécessaire d’optimalité :

∇f(x) = 0

Système d’équations non-linéaires, parfois difficile à résoudre numériquement→méthode itérative de Newton-Raphsonpour les systèmes d’équations.

Méthode de Newton-RaphsonConsidérons le système d’équations

gi(x) = 0 i = 1, . . . ,m

où gi : Rn → R, gi ∈ C1, i = 1, . . . ,m.Soit xk le point courant. Approximation de Taylor du premier ordre en xk :

gi(x) ≈ gi(xk) +∇gi(xk)T (x− xk) i = 1, . . . ,m.

Donc gi(x) = 0, i = 1, . . . ,m, peut être approximé par

gi(xk) +∇gi(xk)T (x− xk) = 0 i = 1, . . . ,m.

Si Dg(x) est le Jacobien de g au point x,

Dg(x) = (∇g1(x)T . . . ∇gm(x)T ),

le système peut être réécrit :g(xk) +Dg(xk)(x− xk) = 0.

Soit xk+1 = xk + ∆x, alors ∆x est solution du système d’équations linéaires :

Dg(xk)∆x = −g(xk).

Application à g(x) = ∇f(x) = 0 :Dg(x) = H(x) avec H(x) le Hessien de f au point x.

53

Page 54: INFO-F-524 : Optimisation continue

Définition 55 (Pas de Newton). Le pas de Newton ∆x pour la recherche d’un point stationnaire de f(x) est lasolution du système linéaire

H(xk)∆x = −∇f(xk)

et le point suivant estxk+1 = xk + ∆x.

Exemple :maxx cosx.

f ′(x) = cosx− x sinx

f ′′(x) = −2 sinx− cosx

∆x = − f′(x)

f ′′(x)

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0 0.5 1 1.5 2

x*cos(x)"newton.data"

k x f(x) f ′(x) f ′′(x)0 0.20 0.20 0.94 − 0.591 1.78 − 0.38 − 1.96 − 1.582 0.54 0.46 0.58 − 1.503 0.93 0.56 − 0.14 − 2.164 0.86 0.56 − 0.00 − 2.08

Si la fonction n’est pas unimodale, convergence vers un optimum local, dépendant du point de départ.

k x f(x) f ′(x) f ′′(x)0 0.10 0.10 0.99 − 0.301 3.39 − 3.29 − 0.13 3.782 3.43 − 3.29 0.00 3.85

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

0.5

1

0 0.5 1 1.5 2 2.5 3 3.5 4

x*cos(x)"newton.data"

Autre interprétation du pas de Newton :Approximation de Taylor du deuxième ordre en xk :

f(x) ≈ f(xk) +∇f(xk)T (x− xk) +1

2H(xk)(x− xk)2

54

Page 55: INFO-F-524 : Optimisation continue

x(k+1) optimise cette fonction quadratique.

Méthode du gradientApproximation de Taylor du premier ordre en xk :

f(x) ≈ f(xk) +∇f(xk)T (x− xk)

= (f(xk)−∇f(xk)Txk) +∇f(xk)Tx

Dès lors,– dans un problème de maximisation,∇f(xk) est une direction d’amélioration pour f au point xk ;– dans un problème de minimisation, −∇f(xk) est une direction d’amélioration pour f au point xk ;Pour un pas suffisamment petit dans cette direction, la fonction objectif est améliorée.Itération k (problème max) :– Fixer ∆xk+1 = ∇f(xk).– Line search : résoudre

maxλ≥0

f(xk + λ∆xk+1) → λk+1

– Mise à jour :xk+1 = xk + λk+1∆xk+1

Gradient vs Newton– Convergence très rapide de Newton (nombre d’itérations)– ... mais requiert le calcul du Hessien et la résolution d’un système linéaire à chaque itération.– Itération plus simple pour le gradient (calcul du gradient + line search)– ... mais convergence plus lente.

13 Optimisation sous contraintes

13.1 Contraintes linéairesConsidérons un problème de la forme :

max f(x)

s.c Ax ≤ bx ≥ 0

Méthode du gradient→ direction peut ne pas être admissible.Approximation de Taylor du premier ordre en xk :

f(x) ≈ f(xk) +∇f(xk)T (x− xk)

= (f(xk)−∇f(xk)Txk) +∇f(xk)Tx

Idée : Déterminer un point admissible x∗ qui maximise l’approximation de f(x) sous les contraintes linéaires.Détermination de la direction d’amélioration admissible en xk :

max wk(x) = ∇f(xk)Tx

s.c Ax ≤ bx ≥ 0

Soit x∗ la solution optimale de ce programme linéaire. Une direction d’amélioration admissible existe si et seule-ment si

wk(x∗) > wk(xk),

mais cela n’assure pas nécessairement que f(x∗) > f(xk).Cependant, il doit exister un point xk+1 sur le segment (xk, x∗) tel que f(xk+1) > f(xk).

55

Page 56: INFO-F-524 : Optimisation continue

Line Search :xk+1 = xk + λk+1(x∗ − xk)

avec λk+1 solution de :max

0≤λ≤1f(xk + λ(x∗ − xk))

Remarques :– xk+1 est toujours admissible (Pourquoi ?)– Si wk(x∗) = wk(xk), xk est un maximum local (global si f est concave).

13.2 Techniques de maximisation non contrainte séquentielleConsidérons un problème de la forme :

max f(x)

s.c gi(x) ∆i bi i = 1, . . . ,m

avec ∆i ∈ {≥,≤,=}, i = 1, . . . ,m.Une approche possible pour résoudre des problèmes non-linéaires contraints est de les convertir en une série deproblèmes non contraints.Sequential Unconstrained Min/Maximization Techniques (SUMT)– Méthodes de pénalités– Méthodes de barrières

Méthodes de pénalitésIdée : introduire les contraintes dans l’objectif sous forme de pénalités qui pénalisent l’infaisabilité.

maxF (x) = f(x)− µ∑i

pi(x)

où µ > 0 est un multiplicateur de pénalité et les pi sont des fonctions telles que

pi(x)

{= 0 si x satisfait la contrainte i,> 0 sinon.

Pénalités couramment utilisées :

Type de contrainte pi(x)≥ max{0, bi − gi(x)}

(max{0, bi − gi(x)})2

≤ max{0, gi(x)− bi}(max{0, gi(x)− bi})2

= |bi − gi(x)||bi − gi(x)|2

Avantage des ()2 : différentiables si gi() différentiables.

Proposition 56. Si une solution optimale x∗ du problème non contraint pénalisé F (x) est admissible pour leproblème contraint original, alors elle est optimale pour ce problème original.

Justification : Par définition, la pénalité est nulle si x est admissible. Montrer que le problème non contraintpénalisé est une relaxation du problème original.

Pénalités exactesDéfinition 57. Un fonction de pénalité est dite exacte s’il existe µ > 0 suffisamment grand tel que le problèmenon contraint pénalisé F (x) conduit à une solution optimale du problème contraint original.

56

Page 57: INFO-F-524 : Optimisation continue

Considérons

min y

s.c. y ≥ 0

avec la fonction de pénalité (max{0, bi − gi(x)})2

F (y) = y + µ(max{0,−y})2

=

{y si y ≥ 0y + µy2 si y < 0

∂F

∂y=

{1 si y ≥ 01 + 2µ si y < 0

Seul point stationnaire :

y∗ = − 1

2µ.

Mais ce point n’est pas admissible pour le problème de départ→ pas une pénalité exacte.Considérons maintenant la fonction de pénalité max{0, bi − gi(x)}.

F (y) = y + µmax{0,−y}

=

{y si y ≥ 0y − µy si y < 0

Pour tout µ > 1, F (y) est minimisé en y = 0, et donc il existe un µ fini, suffisamment grand pour rendrel’optimum pénalisé optimal pour le problème original.On peut montrer que sous des hypothèses faibles, les pénalités

(pour ≥) max{0, bi − gi(x)}(pour ≤) max{0, gi(x)− bi}(pour =) |bi − gi(x)|

sont exactes.

Mise à jour du multiplicateur de pénalité– Quand la pénalité n’est pas exacte, un optimum sous contrainte peut être obtenu seulement avec µ→∞.– Si la pénalité est exacte, il existe un µ fini, suffisamment grand qui convient.– Dans tous les cas, µ doit devenir suffisamment grand.– Pourquoi ne pas choisir µ très grand dès le début ?

min w

s.c. 3 ≤ w ≤ 5

0

20

40

60

80

100

0 1 2 3 4 5 6 7 8 0

20

40

60

80

100

0 1 2 3 4 5 6 7 8

µ = 2 µ = 12Démarrer avec µ petit et augmenter µ lentement.

57

Page 58: INFO-F-524 : Optimisation continue

AlgorithmePas 0 : Initialisation Former un modèle pénalisé F (x), et choisir µ0 > 0, une solution de départ x(0), et un

paramètre β > 1. Poser t := 0.Pas 1 : Optimisation sans contrainte Partant de x(t), résoudre le problème pénalisé avec µ = µt→ x(t+1).Pas 2 : Critère d’arrêt Si x(t+1) est admissible ou suffisamment proche d’une solution admissible pour le pro-

blème contraint, stop et retourner x(t+1).Pas 3 : Augmentation Poser µt+1 := βµt, t := t+ 1, et retourner au Pas 1.

Méthodes de barrièresMéthodes de pénalités : partent d’une solution non admissible et essaient d’imposer que l’optimum non contraint

arrive dans l’ensemble admissible.Méthodes de barrières : partent d’une solution admissible et tentent d’empêcher de sortir de la région admis-

sible.

Idée : introduire les contraintes dans l’objectif sous forme de barrières qui découragent de s’approcher de lafrontière de la région admissible.

maxF (x) = f(x)− µ∑i

qi(x)

où µ > 0 est un multiplicateur de barrière et les qi sont des fonctions telles que

qi(x)→∞

lorsque la contrainte i tend à être active.Remarque : applicable uniquement à des inégalités.Barrières couramment utilisées :

Type de contrainte qi(x)≥ − ln(gi(x)− bi)

1gi(x)−bi

≤ − ln(bi − gi(x))1

bi−gi(x)

Convergence des méthodes de barrièresContrairement aux méthodes de pénalités, les méthodes de barrières affectent l’objectif à chaque point admissible.Considérons

min y

s.c. y ≥ 0

avec la fonction de barrière − ln(gi(x)− bi).

F (y) = y − µ ln(y)

∂F

∂y= 1− µ

y

Seul point stationnaire :y∗ = µ.

Cet optimum non contraint n’atteint jamais le vrai optimum y = 0 quel que soit µ > 0.Proposition 58. L’optimum de la fonction barrière F (x) ne peut jamais être égal à l’optimum réel du problèmecontraint si µ > 0 et l’optimum se trouve sur la frontière de l’ensemble admissible.Comme pour les méthodes de pénalités, il est cependant possible d’approcher l’optimum sous contrainte. Quandµ → 0, l’optimum non contraint devient arbitrairement proche de l’optimum sous contraintes. On peut montrerque la méthode converge sous des hypothèses relativement faibles.

58

Page 59: INFO-F-524 : Optimisation continue

Mise à jour du multiplicateur de barrière– Un optimum sous contrainte peut être obtenu seulement avec µ→ 0.– Pourquoi ne pas choisir µ très petit dès le début ?

min w

s.c. 3 ≤ w ≤ 5

0

5

10

15

20

25

3 3.5 4 4.5 5 0

5

10

15

20

25

3 3.5 4 4.5 5

µ = 1.8 µ = 0.3Démarrer avec µ grand et diminuer µ lentement.

Algorithme

Pas 0 : Initialisation Former un modèle de barrière F (x), et choisir µ0 > 0 assez grand, une solution de départintérieure admissible x(0), et un paramètre β < 1. Poser t := 0.

Pas 1 : Optimisation sans contrainte Partant de x(t), résoudre le problème de barrière avec µ = µt → x(t+1).

Pas 2 : Critère d’arrêt Si µ est suffisamment petit, stop et retourner x(t+1).

Pas 3 : Réduction Poser µt+1 := βµt, t := t+ 1, et retourner au Pas 1.

59

Page 60: INFO-F-524 : Optimisation continue

Cinquième partie

Méthodes de points intérieurs pour laprogrammation linéaire14 Notions de baseIntroduction– L’algorithme du simplexe n’est pas un algorithme polynomial pour la programmation linéaire.– En 1979, Khachiyan a développé le premier algorithme polynomial pour la programmation linéaire : la méthode

de l’ellipsoïde.– Impact théorique important, mais performances pratiques mauvaises.– En 1984, Karmarkar propose les méthodes de points intérieurs : polynomiales et efficaces en pratique sur des

problèmes creux de grande taille.

Simplexe : se déplace de point extême en point extrême le long de la frontière du polyèdre. Il y a un nombre finide points extrêmes→ algorithme combinatoire.

Points intérieurs : déplacement le long de la direction admissible qui donne la meilleure amélioration de l’objec-tif (après projection sur un sous-espace linéaire). En général, direction à l’intérieur du polyèdre→ méthode“non-linéaire”.

Transformations projectivesConsidérons le problème sous forme standard :

max cTx

s.c. Ax = b

x ≥ 0

et supposons que x0 > 0.Meilleure direction d’amélioration : gradient de l’objectif→ c.Problème si cette direction n’est pas admissible (peut amener à une violation de Ax = b).Une direction ∆x est admissible pour Ax = b si et seulement si

∆x ∈ H = {x ∈ Rn : Ax = 0}.

Comme x0 > 0, x0 + α∆x est admissible pour α suffisamment petit.Nous voulons de plus que ∆x soit une direction d’amélioration, la plus proche possible de c⇒ projection de c surH (gradient projeté).

Proposition 59 (Gradient projeté). La projection ∆x de c sur H = {x ∈ Rn : Ax = 0} est

∆x =(I −AT (AAT )−1A

)c.

– ∆x est une direction admissible :

A∆x = A(I −AT (AAT )−1A

)c

= Ac−AAT (AAT )−1Ac

= Ac−Ac = 0.

– ∆x est une direction d’amélioration si ∆x 6= 0.

cT∆x =(∆x+AT (AAT )−1Ac

)T∆x

= ∆xT∆x+ cTAT (AAT )−T A∆x︸ ︷︷ ︸=0

= ||∆x||2 ≥ 0

60

Page 61: INFO-F-524 : Optimisation continue

Exemple

max z = 5x1 +4x2

s.c. 6x1 +4x2 +s1 = 24x1 +2x2 +s2 = 6

x2 +s3 = 2−x1 +x2 +s4 = 1x1, x2, s1, s2, s3, s4 ≥ 0

Considérons le point intérieur (x1, x2) = (1, 1), c’est-à-dire

x0 =

1114311

cTx0 = 9.

Matrice de projection :

P = AT (AAT )−1A

=

0.915441 0.091912 0.139706 −0.099265 −0.091912 −0.1764710.091912 0.856618 0.022059 0.194853 0.143382 0.2352940.139706 0.022059 0.073529 −0.183824 −0.022059 0.117647−0.099265 0.194853 −0.183824 0.709559 −0.194853 −0.294118−0.091912 0.143382 −0.022059 −0.194853 0.856618 −0.235294−0.176471 0.235294 0.117647 −0.294118 −0.235294 0.588235

∆x = c− Pc =

0.0551470.113971−0.786765−0.283088−0.113971−0.058824

Pas maximal : α = min

i:∆xi<0

{− x0

i

∆xi

}= 8.7742

x1 = x0 + α∆x =

1.483872.000007.096770.516130.000000.48387

cTx1 = 15.419

61

Page 62: INFO-F-524 : Optimisation continue

Désavantages du gradient projeté– Le gradient projeté ∆x peut être très différent de la direction de meilleure amélioration (le gradient c).– Si le point x0 est trop près de la frontière, il n’est pas possible de faire un grand pas dans la direction ∆x sans

atteindre la frontière.Solution : éviter d’être près de la frontière. Deux approches :– Transformer le polyèdre de sorte que le point courant soit “centré” pour permettre des pas longs dans la direction

du gradient projeté (affine scaling).– Eviter la frontière avec des fonctions barrières.

15 Affine scalingStratégie simple pour éviter la frontière du polyèdre : “scaling” du modèle pour que xk soit équidistant descontraintes d’inégalités.A l’itération k de l’algorithme, on définit la transformation affine Tk : Rn → Rn par

z = Tk(x) = X−1k x

où Xk est la matrice diagonale

Xk =

xk1 0 · · · 00 xk2 · · · 0...

.... . .

...0 0 · · · xkn

.

Proposition 60. Si

Xk =

xk1 0 · · · 00 xk2 · · · 0...

.... . .

...0 0 · · · xkn

.

et xki > 0, i = 1, . . . , n, alors, sous la transformation z ← X−1k x,

1. e← X−1k xk;

2. si z = X−1k x, alors x = Xkz ;

3. si P ⊂ Rn est un polyèdre, alors P ′ ← X−1k P est aussi un polyèdre de Rn et si x est un point intérieur de

P , alors z = X−1k x est un point intérieur de P ′.

En appliquant la transformation affine à un programme linéaire sous forme standard, on obtient :

max cTXkz

s.c. AXkz = b

z ≥ 0

Dans cet espace transformé, le point courant xk est transformé en e (eT = (1, 1, . . . , 1)), et on se trouve donc àune distance d’au moins une unité de la frontière créée par les contraintes de non-négativité.

Gradient projetéSoit ck = Xkc et Ak = AXk.

∆z =(I − (Ak)T (Ak(Ak)T )−1Ak

)ck

= Xkc−XkAT (AX2

kAT )−1(AX2

k)c.

Longueur de pas :

αk = α

(min

i: ∆zi<0

{− 1

∆zi

})

62

Page 63: INFO-F-524 : Optimisation continue

avec 0 < α < 1 pour éviter d’atteindre la frontière.Le nouveau point est défini par

zk+1 = zk + αk∆z

dans l’espace transformé. En utilisant xk+1 = Xkzk+1, on obtient :

xk+1 = xk + αkXk(Xkc−XkAT (AX2

kAT )−1(AX2

k)c).

Remarque : Il existe une méthode travaillant dans l’espace dual (dual affine scaling).

Critère d’arrêtDu pas primal, on peut aisément déduire une solution duale :

yk+1 = (AX2kA

T )−1(AX2k)c.

Cette solution est admissible si et seulement si

tk+1 = AT yk+1 − c ≥ 0,

et (xk+1, yk+1, tk+1) est primal-dual optimal si

(xk+1)T tk+1 = 0.

Critère d’arrêttk+1 = AT yk+1 − c ≥ 0 et (xk+1)T tk+1 < ε.

Exemple

max z = 5x1 +4x2

s.c. 6x1 +4x2 +s1 = 24x1 +2x2 +s2 = 6

x2 +s3 = 2−x1 +x2 +s4 = 1x1, x2, s1, s2, s3, s4 ≥ 0

Considérons le point intérieur (x1, x2) = (1, 1), c’est-à-dire

x0 =

1114311

cTx0 = 9.

Itération 1

y =

0.114090.654931.62563−1.01746

t =

−2.64309−1.625630.114090.654931.62563−1.01746

63

Page 64: INFO-F-524 : Optimisation continue

x =

2.210711.744653.757160.300000.255351.46606

cTx = 18.032 xT t = −9.1307

Itération 2

y =

0.222293.15227−2.75226−0.38249

t =

−0.1314920.0589610.2222923.152268−2.752258−0.382487

x =

2.7890781.5831280.9330200.0446660.4168722.205950

cTx = 20.278 xT t = −1.9163

Itération 3

y =

0.6732400.897135−0.413832−0.044704

t =

−0.0187200.0286940.6732400.897135−0.413832−0.044704

x =

2.9201391.5184030.4055540.0430550.4815972.401736

cTx = 20.674 xT t = −0.0061021

Itération 4

y =

0.73772010.5625209−0.0620210−0.0076621

64

Page 65: INFO-F-524 : Optimisation continue

t =

−0.00349620.00623930.73772010.5625209−0.0620210−0.0076621

x =

2.9469701.5054560.2963520.0421170.4945442.441514

cTx = 20.757 xT t = 0.19203

16 Barrières logarithmiques

16.1 IntroductionIdée : pénaliser la frontière x ≥ 0 par une barrière logarithmique.

(LPµ) max cTx+ µ∑ni=1 ln(xi)

s.c. Ax = b

x ≥ 0

et supposons que xk > 0.Gradient de l’objectif :

c+ µX−1k e

Gradient projeté : (I −AT (AAT )−1A

)(c+ µX−1

k e)

Exemple

µ=5µ=1000

µ=0

65

Page 66: INFO-F-524 : Optimisation continue

Conditions de Karush-Kuhn-TuckerLes conditions nécessaires d’optimalité pour (LPµ) s’écrivent :

c+ µX−1e−AT y = 0

Ax = b

x ≥ 0.

En posant t = µX−1e, on obtient le problème :

AT y − t = c

Ax = b

x ≥ 0

t = µX−1e.

Propriétés de convergenceHypothèses :

1. {x ∈ Rn : Ax = b, x > 0} 6= ∅.2. {(y, t) ∈ Rm × Rn : AT y − t = c, t > 0} 6= ∅.3. La matrice des contraintes A est de rang m.

Proposition 61. Etant donné µ > 0, il existe une solution unique (x(µ), y(µ), t(µ)) aux conditions de Karush-Kuhn-Tucker, et x(µ) est la solution optimale de (LPµ).

Chemin centralProposition 62. (x(µ), y(µ), t(µ)) converge vers une solution primale-duale optimale lorsque µ→ 0.

Comme la solution des conditions de Karush-Kuhn-Tucker est unique pour tout µ > 0, la solution (x(µ), y(µ), t(µ))trace un chemin (une trajectoire) dans Rn × Rm × Rn.Chemin central (central path) :

Γ = {(x(µ), y(µ), t(µ)) : µ > 0}.

DifficultésRésoudre les conditions de Karush-Kuhn-Tucker n’est pas facile à cause de l’équation non-linéaire t = µX−1e.Idée des algorithmes “path following” : ne pas suivre exactement la trajectoire centrale Γ, mais rester suffisammentproche en approximant t = µX−1e.

16.2 Primal Path FollowingNous voulons résoudre :

AT y − t = c

Ax = b

x ≥ 0

t = µX−1e.

Idée : prendre une solution approchée (xk, yk, tk) pour µ = µk doné, telle que AT yk − tk = c, Axk = b,et xk, tk > 0. Utiliser cette solution comme point de départ pour générer une nouvelle solution approchée(xk+1, yk+1, tk+1) par la méthode de Newton.Rappel : soit le système d’équations

gi(x) = 0 i = 1, . . . ,m

où gi : Rn → R, gi ∈ C1, i = 1, . . . ,m.

66

Page 67: INFO-F-524 : Optimisation continue

Le pas de Newton en xk est la solution ∆x de

Dg(xk)∆x = −g(xk).

où Dg(x) est le Jacobien de g au point x.Pour notre système, le pas de Newton est la solution de

AT∆y −∆t = 0

A∆x = 0

∆t+ µkX−2k ∆x = −tk + µkX

−1k e.

Pour αk suffisamment petit, le point

(xk+1, yk+1, tk+1) = (xk, yk, tk) + αk(∆x,∆y,∆t)

satisfait aussi AT yk+1 − tk+1 = c, Axk+1 = b, et xk+1, tk+1 > 0.Soit T k la matrice diagonale correspondant à tk. ∆t+ µkX

−2k ∆x = −tk + µkX

−1k e peut se réécrire :

Xk∆t+ µkX−1k ∆x = −XkTke+ µke

et comme AT∆y −∆t = 0,XkA

T∆y + µkX−1k ∆x = −XkTke+ µke.

Multipliant à gauche par AXk, et vu que A∆x = 0, on a :

AX2kA

T∆y = −(AXk)(XkTke− µke)

et donc∆y = −(AX2

kAT )−1(AXk)(XkTke− µke).

DeXkA

T∆y + µkX−1k ∆x = −XkTke+ µke,

on obtient :

∆x = − 1

µkXk(XkTke− µke)−

1

µkXk(XkA

T )∆y

= − 1

µkXk

(I − (XkA

T )(AX2kA

T )−1(AXk))

(XkTke− µke)

et on a également :∆t = AT∆y = −AT (AX2

kAT )−1(AXk)(XkTke− µke).

Longueur de pas sélectionnée pour que xk+1, tk+1 > 0, avec

xk+1 = xk + αkP∆x

tk+1 = tk + αkD∆t

yk+1 = yk + αkD∆y

et

αkP = α

(min

i: ∆xi<0

{− xki

∆xi

})αkD = α

(min

i: ∆ti<0

{− tki

∆ti

}),

avec 0 < α < 1.Le processus pourrait être itéré plusieurs fois pour générer de meilleures solutions pour un µk donné. Cependant,il est plus efficace de ne faire qu’un pas de Newton à chaque itération puis diminuer µk (en choisissant 0 < θ < 1et en posant µk+1 = θµk).On peut montrer qu’avec un choix approprié des paramètres, µ0, θ et α, la méthode se termine en O(

√nL)

itérations (avec L la longueur de l’encodage binaire des données du primal) et qu’il est possible de trouver entemps polynomial la solution optimale à partir de ce point intérieur.

67

Page 68: INFO-F-524 : Optimisation continue

Exemple

16.3 Dual Path FollowingPhilosophie identique à la méthode primale, mais en utilisant une barrière pour les contraintes de non-négativitédu dual.

(DLPµ) min bT y + µ∑ni=1 ln(ti)

s.c. AT y − t = c

t ≥ 0

Les conditions nécessaires d’optimalité pour (DLPµ) s’écrivent :

AT y − t = c

Ax = b

x = µT−1e

t ≥ 0.

Pour notre système, le pas de Newton est la solution de

AT∆y −∆t = 0

A∆x = 0

∆x+ µkT−2k ∆t = −xk + µkT

−1k e.

Pour αk suffisamment petit, le point

(xk+1, yk+1, tk+1) = (xk, yk, tk) + αk(∆x,∆y,∆t)

satisfait aussi AT yk+1 − tk+1 = c, Axk+1 = b, et xk+1, tk+1 > 0.Avec des transformations similaires à la méthode primale, on obtient :

∆y = (AT−2k AT )−1(AT−1

k )e− 1

µk(AT−2

k AT )−1b

∆x = (T−1k − T−2

k AT (AT−2k AT )−1(AT−1

k ))(µke− Tkxk)

∆t = AT (AT−2k AT )−1(AT−1

k )e− 1

µkAT (AT−2

k AT )−1b

Exemple

68

Page 69: INFO-F-524 : Optimisation continue

16.4 Primal-Dual Path FollowingExpression des conditions de Karush-Kuhn-Tucker :

Primal Path Following :t = µX−1e.

Dual Path Following :x = µT−1e

Primal-Dual Path Following :XTe = µe

Cette forme ne correspond à aucune fonction barrière connue, mais quand µ = 0, on retrouve la contraintedes écarts complémentaires.

Nous voulons résoudre :

Ax = b

AT y − t = c

XTe = µe

x, t ≥ 0.

Le pas de Newton est la solution de

A∆x = 0

AT∆y −∆t = 0

Tk∆x+Xk∆t = −XkTke+ µke.

Vu que AT∆y −∆t = 0, on a :

Tk∆x+XkAT∆y = −XkTke+ µke.

En multipliant par AT−1k , et comme A∆x = 0, on obtient :

AT−1k XkA

T∆y = −AT−1k (XkTke− µke),

et donc

∆y = −(AT−1k XkA

T )−1AT−1k (XkTke− µke)

∆t = −AT (AT−1k XkA

T )−1AT−1k (XkTke− µke)

∆x = T−1k (XkA

T (AT−1k XkA

T )−1AT−1k − I)(XkTke− µke)

69

Page 70: INFO-F-524 : Optimisation continue

Exemple

70