Vous êtes sur la page 1sur 175

Motivations

Pourquoi un cours sur l’optimisation ?


Ensemble de techniques centrales dans tout processus de prise de
Optimisation décisions en ingénierie ou en économie
M1 Informatique Beaucoup de branches scientifiques utilisent des méthodes
d’optimisation : statistiques, recherche opérationnelle, économie,
fouille de données, apprentissage statistique. . .
Julien Ah-Pine (julien.ah-pine@eric.univ-lyon2.fr)

Université Lyon 2 - ICOM

M1 Informatique 2014-2015

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 1 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 2

Motivations Motivations
Pourquoi un cours sur l’optimisation ? Pourquoi un cours sur l’optimisation ?
Ensemble de techniques centrales dans tout processus de prise de Ensemble de techniques centrales dans tout processus de prise de
décisions en ingénierie ou en économie décisions en ingénierie ou en économie
Beaucoup de branches scientifiques utilisent des méthodes Beaucoup de branches scientifiques utilisent des méthodes
d’optimisation : statistiques, recherche opérationnelle, économie, d’optimisation : statistiques, recherche opérationnelle, économie,
fouille de données, apprentissage statistique. . . fouille de données, apprentissage statistique. . .
Formulation générale d’un problème pratique d’optimisation Formulation générale d’un problème pratique d’optimisation
Souvent les tâches se résument à choisir parmi plusieurs alternatives Souvent les tâches se résument à choisir parmi plusieurs alternatives
celle(s) qui est(sont) la(les) meilleure(s) celle(s) qui est(sont) la(les) meilleure(s)
La mesure de la qualité d’une alternative est donnée par une fonction La mesure de la qualité d’une alternative est donnée par une fonction
dite objectif dite objectif
Le problème peut ou pas posséder des contraintes que les alternatives Le problème peut ou pas posséder des contraintes que les alternatives
doivent satisfaire doivent satisfaire
⇒ Objectif général du cours : présenter les différents types de problèmes
classiques d’optimisation et quelques méthodes de résolution
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 2 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 2
Organisation du cours Organisation du cours

10 séances de CM et TD en alternance 10 séances de CM et TD en alternance


2 séances 1h45 sur machine (introduction au langage AMPL) 2 séances 1h45 sur machine (introduction au langage AMPL)

1 évaluation relative aux séances sur machine (∼ 20%)


1 épreuve écrite individuelle (∼ 80%)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 3 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 3

Organisation du cours Références

10 séances de CM et TD en alternance Sources principales de ce cours :


2 séances 1h45 sur machine (introduction au langage AMPL)
I E.K. Chong and S.H. Zak (2001). An Introduction to Optimization.
Wiley.
I R. Bronson and G. Naadimuthu (2007). Operations research.
1 évaluation relative aux séances sur machine (∼ 20%) McGraw-Hill.
1 épreuve écrite individuelle (∼ 80%) Autres références :
I J. Nocedal and S. Wright (2006). Numerical Optimization. Springer.
I Y. Dodge (2005). Optimisation Appliquée. Springer.
Pour les supports de cours, rejoignez le groupe M1 INFO OPT-1415 I ...

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 3 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 4
Problèmes d’optimisation Problèmes d’optimisation
Formellement nous nous intéressons au problème général suivant : Formellement nous nous intéressons au problème général suivant :
min f (x) min f (x)
sous la contrainte que x ∈ S sous la contrainte que x ∈ S
où : où :
I f : Rn → R est appelé fonction objectif ou fonction de coût I f : Rn → R est appelé fonction objectif ou fonction de coût
I x est un vecteur de Rn appelé vecteur des variables de décision I x est un vecteur de Rn appelé vecteur des variables de décision
I S est un sous-ensemble de Rn et est appelé ensemble réalisable I S est un sous-ensemble de Rn et est appelé ensemble réalisable
Un problème d’optimisation peut être vu comme un problème de
décision où on cherche la meilleure solution x∗ parmi un ensemble de
décisions possibles S. La qualité d’une solution x est mesurée par la
fonction f (x). Dans le cas d’une minimisation, la meilleure solution x∗
est telle que f (x∗ ) ≤ f (x), ∀x ∈ S

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 5 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 5

Problèmes d’optimisation Problèmes d’optimisation


Formellement nous nous intéressons au problème général suivant : Formellement nous nous intéressons au problème général suivant :
min f (x) min f (x)
sous la contrainte que x ∈ S sous la contrainte que x ∈ S
où : où :
I f : Rn → R est appelé fonction objectif ou fonction de coût I f : Rn → R est appelé fonction objectif ou fonction de coût
I x est un vecteur de Rn appelé vecteur des variables de décision I x est un vecteur de Rn appelé vecteur des variables de décision
I S est un sous-ensemble de Rn et est appelé ensemble réalisable I S est un sous-ensemble de Rn et est appelé ensemble réalisable
Un problème d’optimisation peut être vu comme un problème de Un problème d’optimisation peut être vu comme un problème de
décision où on cherche la meilleure solution x∗ parmi un ensemble de décision où on cherche la meilleure solution x∗ parmi un ensemble de
décisions possibles S. La qualité d’une solution x est mesurée par la décisions possibles S. La qualité d’une solution x est mesurée par la
fonction f (x). Dans le cas d’une minimisation, la meilleure solution x∗ fonction f (x). Dans le cas d’une minimisation, la meilleure solution x∗
est telle que f (x∗ ) ≤ f (x), ∀x ∈ S est telle que f (x∗ ) ≤ f (x), ∀x ∈ S
x∗ est alors appelé minimiseur de f sur S x∗ est alors appelé minimiseur de f sur S
Dans le cas d’une maximisation de la fonction objectif f , le problème
revient à résoudre min −f (x) slc x ∈ S. Donc on peut s’intéresser aux
problèmes de minimisation uniquement sans perte de généralité
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 5 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 5
Problèmes d’optimisation (suite) Problèmes d’optimisation (suite)
Dans le cas particulier où S = Rn on dira que le problème est non Dans le cas particulier où S = Rn on dira que le problème est non
contraint contraint
Si S ⊂ Rn on parle d’un problème contraint et souvent l’ensemble
réalisable est de la forme suivante :
S = {x ∈ Rn : h(x) = 0, g (x) ≤ 0}
où h : Rn → Rm et g : Rn → Rp sont des applications données
définissant les contraintes du problème et donc les solutions réalisables

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 6 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 6

Problèmes d’optimisation (suite) Plan du cours


Dans le cas particulier où S = Rn on dira que le problème est non
contraint 1 Rappels de concepts mathématiques
Si S ⊂ Rn on parle d’un problème contraint et souvent l’ensemble
réalisable est de la forme suivante : 2 Bases théoriques de l’optimisation
S = {x ∈ Rn : h(x) = 0, g (x) ≤ 0}
où h : R → R et g : Rn → Rp sont des applications données
n m
3 Optimisation sans contrainte
définissant les contraintes du problème et donc les solutions réalisables
Il existe plusieurs sous-types de problèmes d’optimisation :
I Problème non contraint : S = Rn
4 Optimisation linéaire avec contraintes
I Problème avec contraintes d’égalités : S = {x ∈ Rn : h(x) = 0}
I Problème avec contraintes d’inégalités : S = {x ∈ Rn : g (x) ≤ 0} 5 Optimisation non linéaire avec contraintes
I Problème contraint : S = {x ∈ Rn : h(x) = 0, g (x) ≤ 0}
I Problème linéaire : f , g , h sont des applications linéaires
I Problème non linéaire : f , g , h ne sont pas des applications linéaires
6 Optimisation convexe
I Problème discret (optimisation combinatoire) : x doit être un vecteur
d’entiers 7 Algorithmes pour problèmes contraints
I ...
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 6 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 7
Rappels de concepts mathématiques Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire

Rappel du Sommaire Rappel du Sommaire

1 Rappels de concepts mathématiques 1 Rappels de concepts mathématiques


Quelques éléments d’algèbre linéaire
Quelques éléments de géométrie
2 Bases théoriques de l’optimisation
Quelques éléments d’analyse

3 Optimisation sans contrainte


2 Bases théoriques de l’optimisation

4 Optimisation linéaire avec contraintes


3 Optimisation sans contrainte

5 Optimisation non linéaire avec contraintes


4 Optimisation linéaire avec contraintes

6 Optimisation convexe
5 Optimisation non linéaire avec contraintes

7 Algorithmes pour problèmes contraints


6 Optimisation convexe
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 8 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 9

7 Algorithmes pour problèmes contraints


Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire

Espaces vectoriels réels I Espaces vectoriels réels II

On définit un vecteur colonne x de taille n de la manière suivante :


La somme de deux vecteurs x et y de Rn est un vecteur z de Rn
 
x1
x2  défini par :
x=.
         
 ..  x1 y1 x1 + y1 z1
x2  y2  x2 + y2  z2 
xn z=x+y = . + . = . = . 
       
 ..   ..   ..   .. 
Nous utiliserons également la notation x = (x1 , . . . , xn )
xn yn xn + yn zn
Nous travaillerons essentiellement dans Rn donc les xi sont des réels
Propriétés de la loi interne d’addition entre vecteurs de Rn
Nous noterons par xt la transposée du vecteur colonne x : I ∀x, y, z ∈ Rn : (x + y) + z = x + (y + z) (associativité)
xt = x1 x2 . . . xn ∀x, y ∈ Rn : x + y = y + x (commutativité)

I

I le vecteur 0 = (0, . . . , 0), dit neutre est tel que ∀x ∈ Rn : x + 0 = x


Sauf mention contraire, un vecteur x est nécessairement un vecteur I ∀x ∈ Rn , l’élément −x = (−x1 , −x2 , . . . , −xn ) est appelé opposé de x
colonne de taille (n × 1) et est tel que x + (−x) = 0
Deux vecteurs x et y sont égaux ssi ∀i = 1, . . . , n : xi = yi
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 10 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 11
Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire

Espaces vectoriels réels III Espaces vectoriels réels IV


Exemple et représentation géométrique
La multiplication d’un vecteur x ∈ Rn
par un réel λ ∈ R est un I x = (x1 , x2 ) et y = (y1 , y2 ) deux vecteurs de E = R2 d’origine
vecteur y de Rn défini par : O = (0, 0).
      I z = x + y, w = 2y sont deux autres vecteurs de R2 et y + (−y) = 0.
x1 λx1 y1
x2  λx2  y2  v2
y = λx = λ  .  =  .  =  . 
     
 ..   ..   ..  z2
xn λxn yn x2

Propriétés de la loi externe de multiplication d’un vecteurs de Rn par


un réel : z

x
I ∀λ, µ ∈ R; ∀x ∈ Rn : λ(µx) = (λµ)x (associativité)
I ∀λ, µ ∈ R; ∀x ∈ Rn : (λ + µ)x = λx + µx (distributivité) w2
w
I ∀λ ∈ R; ∀x, y ∈ Rn : λ(x + y) = λx + λy (distributivité) y2 y
I ∀x ∈ Rn : 1x = x (1 étant l’élément neutre dans R) v1
−y O x1 y1 z1 w1

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 12 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 13

Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire

Espaces vectoriels réels V Espaces vectoriels réels VI


L’ensemble des vecteurs Rn , muni des lois interne (addition entre
vecteurs) et externe (multiplication d’un vecteur par un réel) Exemple et représentation géométrique
présentées précédemment forme un espace vectoriel (par définition) I E = R2 d’origine O = (0, 0).
I v1 = (2, 1) et F = {x ∈ E|∃λ ∈ K : x = λv1 }.
Un sous-ensemble F ⊂ Rn est un sous-espace vectoriel (sev) de Rn
ssi F 6= ∅ et ∀x, y ∈ F; ∀λ, µ ∈ R ⇒ λx + µy ∈ F
E = R2
Exemples fondamentaux de sous-espaces vectoriels
I Droite vectorielle : Soit v1 ∈ E, v1 6= 0 alors :
2 v1
F = {x ∈ E|∃λ ∈ K : x = λv1 } est un sev de E dit droite vectorielle 2
engendrée par v1 x=
I Plan vectoriel : Soit v1 , v2 ∈ E, alors : 1
F = {x ∈ E|∃λ1 , λ2 ∈ K : x = λ1 v1 + λ2 v2 } est un sev de E dit plan v1
vectoriel engendré par v1 et v2
I Sous-espace engendré : De manière générale, soient
v1 , v2 , . . . , vp ∈ E alors O 2 4
F = {x ∈ E|∃λ1 , . . . , λp ∈ K : x = λ1 v1 + . . . + λp vp } est un sev de E
dit sous-espace engendré par v1 , . . . , vp et est noté Vec{v1 , . . . , vp }
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 14 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 15
Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire

Espaces vectoriels réels VII Espaces vectoriels réels VIII

Soit {v1 , . . . , vp } une famille de vecteurs de E. On dit qu’elle est libre


si : λ1 v1 + . . . + λp vp = 0 ⇒ λ1 = 0, . . . , λp = 0. Soit {v1 , . . . , vp } un ensemble de p vecteurs de E. L’ensemble des
On dit aussi que les vecteurs v1 , . . . , vp sont linéairement vecteurs s’écrivant comme une combinaison linéaire de ces p vecteurs
indépendants. est appelé sev engendré P par {v1 , . . . , vp } et est dénoté :
Vec{v1 , . . . , vp } = { pj=1 λj vj : λ1 , . . . , λp ∈ R}
Exemple : dans R3 , les vecteurs v1 = (1, 2, 1), v2 = (−1, 3, 1) et
v3 = (−1, 13, 5) ne sont pas linéairement indépendants (ils sont liés) Etant donné un sev F ⊂ Rn , tout ensemble de p < n vecteurs
car : v1 , . . . , vp linéairement indépendants et tel que F = Vec{v1 , . . . , vp }
        forme une base de F. La dimension du sous-espace F notée dim(F)
1 −1 −1 0 est p et toute base de F possède ce même nombre de vecteurs.
2 2 + 3  3  −  13  = 0 Si {v1 , . . . , vp } est une base de F alors tout x ∈ F peut-être
1 1 5 0 représentée de manière unique de la façon suivante :
x = λ1 v1 + . . . + λp vp
Un vecteur x est une combinaison linéaire des vecteurs v1 , . . . , vp
s’il existe des réels λ1 , . . . , λp tels que : x = λ1 v1 + . . . + λp vp

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 16 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 17

Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire

Algèbre matricielle I Algèbre matricielle II

On définit une matrice A de taille n × p élément de Mn,p (R) (si


Exemple :
n = p on notera Mn (R)) de la manière suivante :
   
a11 a12 . . . a1p 3 −1 1
a21 a22 . . . a2p  A = 0 2 0 
A= .
 
. .. ..  1 −1 3
 . . ... . 
an1 an2 . . . anp On a donc :
Comme on travaille dans R n×p
on a ∀i, ∀j : aij ∈ R et on écrira      
également Mn,p au lieu de Mn,p (R)  3 −1 1
A = a1 a2 a3 avec a1 = 0 ; a2 =  2  ; a3 = 0
Nous noterons par aj la jème colonne de la matrice A :
  1 −1 3
a1j
 ..  Soit A une matrice (n × p). La matrice de taille (p × n) dont les
aj =  . 
anj lignes sont les colonnes de A est la transposée de A et est notée At

On utilisera également la notation A = a1 a2 . . . ap
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 18 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 19
Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire

Algèbre matricielle III Algèbre matricielle IV


Autre exemple :
 
Exemple : 3 −1 1
  B = 0 2 4
3 0 1 1 −1 −1
At = −1 2 −1
1 0 3 rg (B) 6= 3 car b3 = b1 + 2b2 . On a rg (B) = 2.
Soit A une matrice carrée d’ordre n. On associe à A un réel appelé
Si A = At alors A est carrée et symétrique déterminant de A et noté |A| ou det(A). Il est défini par récurrence
Le nombre maximum de vecteurs colonnes de A linéairement de la manière suivante :
indépendants est appelé le rang de la matrice et est noté rg (A) I Si n = 1, ie A = (a) alors det(A) = a
I Si n > 1, notons A−i−j ∈ Mn−1 la matrice obtenue de A en
Dans l’exemple précédent {a1 , a2 , a3 } sont tous les 3 linéairement supprimant la ième ligne et la jème colonne (ie la ligne et la colonne
indépendants donc rg (A) = 3 passant par l’élément aij ), on pose alors :

det(A) = (−1)i+1 ai1 det(A−i−1 ) + . . . + (−1)i+k aik det(A−i−k ) + . . .


. . . + (−1)i+n ain det(A−i−n )
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 20 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 21

Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire

Algèbre matricielle V Algèbre matricielle VI


Calcul du déterminant de A :

3 −1 1
2 0 −1 1 −1 1 Soit A une matrice (n × p). On appelle un mineur d’ordre
− 0 −1 3 + 1 2 0
0 2 0 = 3


1 −1 −1 3 m ≤ min(n, p) de A, le déterminant d’une sous-matrice carrée d’ordre
3
m obtenue à partir de A en supprimant n − m lignes et p − m colonnes
= 3((2 × 3) − (−1 × 0)) − 0((−1 × 3) − (−1 × 1))
Si A de taille (n × p) où n ≥ p, possède un mineur d’ordre p qui est
+1((−1 × 0) − (2 × 1)) non nul alors les colonnes de A sont linéairement indépendants et
= 3 × 6 − 0 + 1 × (−2) rg (A) = p
= 16 Si A de taille (n × p) possède un mineur d’ordre r ≤ p, det(Â), tel
que (i) det(Â) 6= 0 (ii) tout mineur de A obtenu en ajoutant une
Pour toute matrice carrée A ∈ Mn (K), on a : det(At ) = det(A) ligne et une colonne de A à Â devient nul, alors rg (A) = r
Un déterminant est nul ssi l’une des colonnes (resp. lignes) est
combinaison linéaire des autres colonnes (resp. lignes)
Exemple : |B| = 0

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 22 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 23
Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire

Algèbre matricielle VII Algèbre matricielle VIII

Exemple :
 
  3 −1 1
0 2 Exemple :
B̂ = est une matrice extraite de B = 0 2 4
1 −1
1 −1 −1  
6 2 −2
1 
A−1 = 0 8 0
det(B̂) est un mineur d’ordre 2 de B et det(B̂) 6= 0. Si on ajoute une 16
−2 2 6
ligne et une colonne à B̂ on obtient à nouveau B et on sait que
det(B) = 0. On en conclut que rg (B) = 2.
On peut vérifier que AA−1 = A−1 A = I
Une matrice carrée A est non singulière ou inversible si det(A) 6= 0
Une matrice carrée A d’ordre n est inversible ssi il existe une matrice
carrée B d’ordre n tel que : AB = BA = I (I étant la matrice unité)
B est appelé inverse de A et est noté A−1

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 24 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 25

Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire

Système d’équations linéaires I Système d’équations linéaires II

Un système d’équations linéaires est un système du type : 


Le système Ax = b a une solution ssi rg (A) = rg ( A b )


 a11 x1 + a12 x2 + . . . + a1n xn = b1 Résoudre un système d’équations linéaires c’est étudier l’existence
 a21 x1 + a22 x2 + . . . + a2n xn = b2 d’un vecteur x dont les valeurs permettent de vérifier toutes les

.. .. .. .. .. .. .. .. équations linéaires

 . . . . ... . . . .
Une méthode simple pour la résolution d’un système d’équations

ap1 x1 + ap2 x2 + . . . + apn xn = bp

linéaires est la méthode du pivot (élimination de Gauss)
Les aij et les bi sont des réels qui sont donnés. Les xi sont des Exemple :
inconnues de R et résoudre le système signifie déterminer celles, s’il y

en a, qui vérifient toutes les équations. l1  2x + 2y − 2z = 2
Soit A élément de Mp,n , de terme général aij , b le vecteur p × 1 de l2 3x + 4y − 4z = 5
terme général bi et x le vecteur inconnu de taille n × 1 de terme l3 5x + 10y − 8z = 10

général xi . Le système s’écrit alors :

Ax = b
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 26 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 27
Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire

Système d’équations linéaires III Produit scalaire euclidien et norme euclidienne I


I 1ère itération :
Le produit scalaire euclidien entre deux vecteurs x, y ∈ Rn est défini
l10 = l1 /2

 x +y −z = 1 de la manière suivante :
l2 = l2 − 3l10
0
y −z = 2
hx, yi = ni=1 xi yi = xt y
P
l30 = l3 − 5l10 5y − 3z = 5

I 2ème itération :
Propriétés du produit scalaire :

 x +y −z = 1 I Il est bilinéaire, (ie linéaire en chacun des deux arguments),
l200 = l20 y −z = 2 ∀x, y, z ∈ Rn ; ∀λ ∈ R :
00
l3 = l30 − 5l200 2z = −5

F hx + y, zi = hx, zi + hy, zi

F hλx, zi = λhx, zi
I 3ème itération : le système est échelonné on peut alors résoudre en F hx, y + zi = hx, yi + hx, zi
partant de la dernière équation jusqu’à la première F hx, λzi = λhx, zi

Il est symétrique, ∀x, x ∈ Rn : hx, yi = hy, xi


 I
 z = −5/2
y = z +2 = −1/2 I Il est défini positif, ∀x ∈ Rn :

x = 1 − y + z = −1 F hx, xi ≥ 0

F hx, xi = 0 ⇔ x = 0

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 28 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 29

Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire

Produit scalaire euclidien et norme euclidienne II Produit scalaire euclidien et norme euclidienne III
On appelle longueur ou norme du vecteur x, le scalaire :
p √ qP
n
kxk = hx, xi = xt x = 2
i=1 xi Exemple :
Propriétés d’une norme n : Rn → R+ dans un espace vectoriel,
∀x ∈ Rn ; ∀λ ∈ R :
I n(λx) = |λ|n(x) x3 q
I n(x) = 0 ⇔ x = 0 kxk = x12 + x22 + x32
Inégalité triangulaire : n(x + y) ≤ n(x) + n(y)

x
I
x2
q
L’égalité a lieu ssi il existe λ ≥ 0 tel que y = λx. x2 kxk = x12 + x22 0
x x1
Inégalité de Cauchy-Schwartz :
x1
|hx, yi| ≤ kxkkyk
R2 R3
x et y sont orthogonaux ssi hx, yi = 0
Théorème de Pythagore : si x et y sont orthogonaux alors on a :
kx + yk2 = kxk2 + kyk2

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 30 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 31
Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire

Applications linéaires I Applications linéaires II

Soient A et B deux ensembles. On appelle f une application de A


f : R3 → R2

dans B, un sous-ensemble du produit cartésien A × B tel que pour Exemple :
(x1 , x2 , x3 ) → (2x1 + x2 , x2 − x3 )
tout
 élément a de A correspond un élément b de B. On écrira alors :
f : A→B Soit f ∈ L(Rn , Rp ) et soient {e1 , . . . , en } et {1 , . . . , p } deux bases
a→b de Rn et de Rp respectivement. Supposons que les images par f des
vecteurs e1 , . . . , en se décomposent sur la base {1 , . . . , p } de la
Illustration :
façon suivante :

A f B f (e1 ) = a11 1 + a21 2 + . . . + ap1 p


f (e2 ) = a12 1 + a22 2 + . . . + ap2 p
.. .. .. .. .. .. . ..
f : Rn → Rp est une application linéaire de Rn à Rp (ce qu’on . . . . . . . . . .. .
notera également par f ∈ L(Rn , Rp ) si elle vérifie les propriétés f (en ) = a1n 1 + a2n 2 + . . . + apn p
suivantes :
I ∀x, y ∈ Rn : f (x + y) = f (x) + f (y)
I ∀x ∈ Rn , ∀λ ∈ R : f (λx) = λf (x)
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 32 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 33

Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire

Applications linéaires III Applications linéaires IV


On appelle alors matrice de f dans les bases {ei }, {j }, la matrice
notée A appartenant à Mp,n dont les colonnes sont les composantes Exemple : image par f de x = 1, 1, 2

des vecteurs f (e1 ), . . . , f (en ) dans la base {1 , . . . , p } :
  I Ecriture algébrique : f (x) = (2x1 + x2 , x2 −x3 )= (3, −1)
a11 a12 . . . a1n   1  
a21 a22 . . . a2n  2 1 0   3
I Ecriture matricielle : f (x) = 1 =
A= .
  0 1 −1 −1
. .. ..  2
 . . ... . 
ap1 ap2 . . . apn Soit f ∈ L(Rn , Rp ) et A sa représentation matricielle. f (Rn ) est un
sous-espace de Rp appelé image de f et sera noté Im(f ) ou Im(A).
Pour l’exemple précédent, si on suppose les bases canoniques, on
On a : Im(A) = {Ax : x ∈ Rn }
obtient : 
2 1 0
 Soit f ∈ L(Rn , Rp ) et A sa représentation matricielle. Le noyau de f
A= est un sous-espace de Rn noté Ker (f ) ou Ker (A). Il est défini par :
0 1 −1
Ker (A) = {x ∈ Rn : Ax = 0}
L’image d’un vecteur x ∈ R par f ∈ L(Rn , Rp ) est le vecteur
n

f (x) ∈ Rp donné par :


f (x) = Ax
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 34 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 35
Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire

Valeurs propres et vecteurs propres de matrices carrées I Valeurs propres et vecteurs propres de matrices carrées II
On dit que A est diagonalisable s’il existe une base de vecteurs propres
P = v1 . . . vn telle que : P−1 AP = A0 soit une matrice diagonale

Soit A une matrice carrée d’ordre n. Un réel λ et un vecteur v ∈ Rn
Exemple :
sont dits respectivement valeur propre et vecteur propre de A s’ils
satisfont la relation : 
3 −1 1

Av = λv A = 0 2 0 
Une condition nécessaire et suffisante pour que λ soit valeur propre 1 −1 3
est det(A − λI) = 0 (la matrice A − λI est singulière)
Son polynôme caractéristique est :
Le développement de det(A − λI) aboutit à un polynôme de degré n

appelé polynôme caractéristique de A. Les valeurs propres sont 3 − λ −1
1
donc les racines du polynôme caractéristique det(A − λI) = 0 2−λ 0
Si det(A − λI) = 0 possède n racines distinctes λ1 , . . . , λn alors il
1 −1 3 − λ
existe n vecteurs v1 , . . . , vn linéairement indépendants tels que
Après développement on trouve :
∀i = 1, . . . , n : Avi = λi vi
det(A − λI) = (2 − λ)2 (4 − λ)
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 36 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 37

Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire

Valeurs propres et vecteurs propres de matrices carrées III Projections orthogonales I

Les valeurs propres sont donc λ1 = 2, λ2 = 2 (racine d’ordre 2) et


λ3 = 4. Les vecteurs propres sont par ailleurs :
      Si F est un sev de Rn alors on peut lui associer un sev orthogonal
1 1 1
noté F⊥ défini par : F⊥ = {x ∈ Rn : hx, yi = 0, ∀y ∈ F}
v1 = 2  ; v2 =  0  ; v3 = 0

1 −1 1 Si F est un sev de Rn alors Rn = F ⊕ F⊥ ie
∀x ∈ Rn , ∃!x1 ∈ F, ∃!x2 ∈ F⊥ : x = x1 + x2
Ils sont linéairement indépendants et forment donc une base. A est P est une application linéaire dite projection orthogonale sur F si
donc diagonalisable. ∀x ∈ Rn : (Px ∈ F) ∧ (x − Px ∈ F⊥ )
Si A est une matrice carrée d’ordre n qui est symétrique alors : Une matrice P est un projecteur orthogonal (sur Im(P)) ssi
I toutes les valeurs propres de A sont réelles P2 = P = Pt
I A possède n vecteurs propres qui sont mutuellement orthogonaux
(donc A est diagonalisable)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 38 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 39
Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire

Projections orthogonales II Formes quadratiques I


Exemple :
R2
x Une forme quadratique f : Rn → R est une fonction :
1 f (x) = xt Qx où Q ∈ Mn
On suppose dans la suite que Q est symétrique (Q = Qt ) sans perte
e2
de généralité : si Q n’était pas symétrique on pourrait toujours la
remplacer par une matrice symétrique Q0 = 12 (Q + Qt ) sans que cela
O e1 1 pr1 (x) change la forme quadratique.
Une forme quadratique f (x) = xt Qx est :
I Soit R2 muni de sa base canonique et soit : I définie positive (dp) si : ∀x 6= 0 : xt Qx > 0,
pr1 : R2 → R2 avec pr1 (x1 , x2 ) = (x1 , 0). pr1 est une projection I semi-définie positive (sdp) si : ∀x : xt Qx ≥ 0,
orthogonale sur pr1 (R2 ). On a pr1 (e1 ) = e1 et pr1 (e2 ) =(0, 0) et donc I définie négative (dn) si : ∀x 6= 0 : xt Qx < 0,
1 0 I semi-définie négative (sdn) si : ∀x : xt Qx ≤ 0.
la matrice P représentant pr1 est définie par P =
0 0
On vérifie bien P2 = P = Pt

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 40 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 41

Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire

Formes quadratiques II Formes quadratiques III

Les mineurs principaux dominants d’une matrice carrée Q sont les Les mineurs principaux dominants de Q sont :
n déterminants des sous-matrices de Q dénotés ∆1 , . . . , ∆n où ∆i est
le déterminant de la sous-matrice de Q composée des i premières

3 −1 0
3 −1
lignes et colonnes de cette-dernière. ∆1 = 3 ; ∆2 = ; ∆3 = −1 2 −1
−1 2 0 −1 3
Une forme quadratique f (x) = avec Q = xt Qx
est définie positive Qt
ssi les mineurs principaux dominants de Q sont strictement positifs
(critère de Sylvester). Une matrice symétrique Q est dite définie positive si la forme
quadratique associée xt Qx est définie positive. On utilisera alors la
Exemple :
notation Q > 0
 
3 −1 0 Pour l’exemple précédent, Q > 0 car :
Q = −1 2 −1
0 −1 3 ∆1 = 3 ; ∆2 = 5 , ∆3 = 12

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 42 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 43
Rappels de concepts mathématiques Quelques éléments d’algèbre linéaire Rappels de concepts mathématiques Quelques éléments de géométrie

Formes quadratiques IV Rappel du Sommaire

1 Rappels de concepts mathématiques


Similairement on parlera de matrice symétrique Q semi-définie Quelques éléments d’algèbre linéaire
positive (Q ≥ 0), définie négative (Q < 0) et semi-définie négative Quelques éléments de géométrie
(Q ≤ 0) en raisonnant sur la forme quadratique associée. De plus, Q Quelques éléments d’analyse
est dite indéfinie si elle est ni semi-définie positive, ni semi-définie
négative 2 Bases théoriques de l’optimisation
Une matrice symétrique Q est définie positive (resp. semi-définie
positive) ssi ses valeurs propres sont strictement positives (resp. non 3 Optimisation sans contrainte
négatives)
Pour l’exemple précédent les valeurs propres de Q sont λ1 = 1, 4 Optimisation linéaire avec contraintes
λ2 = 3 et λ3 = 4
5 Optimisation non linéaire avec contraintes

6 Optimisation convexe
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 44 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 45

7 Algorithmes pour problèmes contraints


Rappels de concepts mathématiques Quelques éléments de géométrie Rappels de concepts mathématiques Quelques éléments de géométrie

Segment de droite Hyperplans et variétés linéaires I

Le segment entre deux points x et y de Rn est l’ensemble des points


appartenant à la portion de la droite entre x et y. Formellement, il est
Soit u1 , . . . , un , v ∈ R où au moins un des ui est non nul. L’ensemble
défini de la manière suivante ;
des points x = (x1 , . . . , xn ) ∈ Rn qui satisfait l’équation linéaire
{λx + (1 − λ)y : λ ∈ [0, 1]} suivante :
Illustration dans R2 : u1 x1 + . . . + un xn = v
est appelé un hyperplan de Rn
On décrit un hyperplan par l’ensemble suivant :
y H = {x ∈ Rn : ut x = v }
x
où u = (u1 , . . . , un )
Les hyperplans étendent à Rn , le concept de droite dans R2
(ax + by = c) et celui de plan dans R3 (u1 x1 + u2 x2 + u3 x3 = v )

O
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 46 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 47
Rappels de concepts mathématiques Quelques éléments de géométrie Rappels de concepts mathématiques Quelques éléments de géométrie

Hyperplans et variétés linéaires II Hyperplans et variétés linéaires III


Illustration dans R3 : Un hyperplan sépare Rn en deux :
x3 I Demi-espace “positif” : H+ = {x ∈ Rn : ut x ≥ v }
I Demi-espace “négatif” : H− = {x ∈ Rn : ut x ≤ v }
Soit a ∈ H. Par définition ut a − v = 0. On peut alors écrire, ∀x ∈ H :
v ut x − v = ut x − v − (ut a − v )
x2 + u 3x 3 =
= ut (x − a)
u1 x1 + u2
= u1 (x1 − a1 ) + . . . + un (xn − an )
=0 x2 = 0
u 3x 3
u 2x 2 + Donc si a ∈ H on peut définir l’hyperplan H par
u 1x 1 +
{x ∈ Rn : hu, x − ai = 0}
x1 H est l’ensemble des points x pour lesquels les vecteurs u et x − a
sont orthogonaux. u est appelé le vecteur normal de l’hyperplan H
Un hyperplan est un sous-ensemble qui n’est pas nécessairement un Soit a ∈ H on a alors :
sev de Rn (le vecteur nul n’appartient pas forcément à celui-ci) I H+ = {x ∈ Rn : hu, x − ai ≥ 0}
La dimension d’un hyperplan de Rn est n − 1 I H− = {x ∈ Rn : hu, x − ai ≤ 0}
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 48 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 49

Rappels de concepts mathématiques Quelques éléments de géométrie Rappels de concepts mathématiques Quelques éléments de géométrie

Hyperplans et variétés linéaires IV Hyperplans et variétés linéaires V

Illustration dans R3 :

u Une variété linéaire de Rp est un sous-espace de la forme :


{x ∈ Rp : Ax = b}
a avec A ∈ Mn,p et b ∈ Rn
x Si dim(Ker (A)) = r on dit que la variété linéaire est de dimension r
Une variété linéaire est un sev ssi b = 0
x−a Si la dimension d’une variété linéaire de Rp est plus petite que p alors
celle-ci est l’intersection d’un nombre fini d’hyperplans

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 50 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 51
Rappels de concepts mathématiques Quelques éléments de géométrie Rappels de concepts mathématiques Quelques éléments de géométrie

Ensembles convexes I Ensembles convexes II


I Si O1 et O2 sont deux ensembles convexes alors
Un sous-ensemble O ⊂ Rn forme un ensemble convexe si pour deux O1 + O2 = {x ∈ Rn : x = u + v, u ∈ O1 , v ∈ O2 } est convexe
vecteurs u, v ∈ O leur segment appartient également à O. I L’intersection d’une collection d’ensembles convexes est convexe
Exemple et contre-exemple : x est une combinaison convexe de u et v ssi x = λu + (1 − λ)v avec
u λ ∈ [0, 1] (x appartient au segment entre u et v)
u v Un vecteur x est un point extrême d’un ensemble convexe O s’il ne
peut être exprimé comme une combinaison convexe de deux autres
v vecteurs de O. En d’autres termes, un point extrême ne peut se
trouver sur le segment formé par deux autres vecteurs de l’ensemble.
Autres exemples : ∅, {x}, un segment entre deux points, un sev, un Illustration :
hyperplan, les demi-espaces engendré par un hyperplan, une variété w
linéaire,. . . u v
Propriétés des ensembles convexes dans Rn :
v u
I Si O est convexe et λ ∈ R alors λO = {x ∈ Rn : x = λu, u ∈ O} est
convexe
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 52 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 53

Rappels de concepts mathématiques Quelques éléments de géométrie Rappels de concepts mathématiques Quelques éléments de géométrie

Voisinages I Voisinages II

La voisinage d’un point x ∈ Rn est l’ensemble suivant : L’ensemble des points frontières de S est appelé la frontière de S
{y ∈ Rn : kx − yk < } Illustration :
où  est un réel positif. Le voisinage de x est également appelé la
boule de centre x et de rayon 
Exemples : u
2
I Dans R il s’agit des points à l’intérieur du disque centré en x 
S
I Dans R3 il s’agit des points à l’intérieur de la sphère centrée en x
Un point x ∈ S est un point intérieur de l’ensemble S si ce dernier
contient le voisinage de x (ie si tous les points du voisinage de x sont
contenus dans S) v
L’ensemble des points intérieurs de S est appelé l’intérieur de S
Un point x ∈ S est un point frontière de S si le voisinage de x
contient au moins un point dans S et au moins un point hors de S

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 54 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 55
Rappels de concepts mathématiques Quelques éléments de géométrie Rappels de concepts mathématiques Quelques éléments de géométrie

Voisinages III Polytopes et polyèdres I


Un ensemble S est un ouvert s’il contient le voisinage de chacun de
ses points (ie S n’a pas de points frontières mais que des points Soit O un ensemble compact et soit y un point frontière de O. Un
intérieurs) hyperplan H passant par y est appelé un hyperplan support de
Un ensemble S est un fermé s’il contient sa frontière (comme dans l’ensemble O si tout O est contenu dans l’un des demi-espaces
l’illustration précédente et comme les demi-espaces engendrés par un engendré par H
hyperplan) Rappelons qu’étant donné un hyperplan H, les demi-espaces associés
Un ensemble S qui est contenu dans une boule de rayon fini est dit H+ et H− sont des ensembles convexes dans Rn . Rappelons
borné également que l’intersection d’un ensemble fini d’ensembles convexes
Un ensemble S qui est à la fois fermé et borné est dit compact est convexe
Les ensembles compacts sont importants en optimisation : Un ensemble qui peut-être exprimé comme étant l’intersection d’un
Soit f : S → R une fonction continue. Si S est un ensemble compact nombre fini de demi-espaces est un polytope (convexe)
alors il existe x∗ ∈ S tel que f (x∗ ) ≤ f (x) pour tout x dans S. En Un polytope non vide qui est borné est appelé un polyèdre
d’autres termes, f atteint son minimum sur S (théorème de (Remarque : certains auteurs utilisent polytope et polyèdre de
Weierstrass) manière similaire)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 56 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 57

Rappels de concepts mathématiques Quelques éléments de géométrie Rappels de concepts mathématiques Quelques éléments de géométrie

Polytopes et polyèdres II Polytopes et polyèdres III


Pour tout polyèdre convexe O ∈ Rn il exsite un entier positif k ≤ n
tel que O soit contenu dans une variété linéaire de dimension k mais
qui n’est pas entièrement contenue dans aucune variété linéaire de
dimension k − 1
De plus il n’existe qu’une seule variété linéaire de dimension k qui
contienne O. Cette variété linéaire est dite support du polyèdre et k Les faces de dimension 1 sont appelées arêtes et celles de dimension
est la dimension du polyèdre. Exemple : dans R2 , un segment est un 0 sont appelées sommets du polyèdre
polyèdre convexe et son support est la droite qui prolonge le segment
La frontière d’un polyèdre de dimension k > 0 est constituée d’un
nombre fini de polyèdres de dimension k − 1
Ces polyèdres de dimension k − 1 formant la frontière de O sont
appelés les faces de O
Les faces de dimension k − 1, étant elles-mêmes des polyèdres, ont
des faces de dimension k − 2 et ainsi de suite

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 58 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 59
Rappels de concepts mathématiques Quelques éléments de géométrie Rappels de concepts mathématiques Quelques éléments d’analyse

Polytopes et polyèdres IV Rappel du Sommaire

1 Rappels de concepts mathématiques


Illustration dans R2 : Quelques éléments d’algèbre linéaire
Face de dimension 0 (sommet) Quelques éléments de géométrie
Quelques éléments d’analyse
Face de dimension 1 (arête)
2 Bases théoriques de l’optimisation
O
3 Optimisation sans contrainte

O 4 Optimisation linéaire avec contraintes


Polyèdre de dimension 2
5 Optimisation non linéaire avec contraintes

6 Optimisation convexe
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 60 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 61

7 Algorithmes pour problèmes contraints


Rappels de concepts mathématiques Quelques éléments d’analyse Rappels de concepts mathématiques Quelques éléments d’analyse

Suites et limites I Suites et limites II

Une suite de nombres réels est une fonction dont le domaine est N, Un nombre x ∗ ∈ R est appelé limite de la suite {xk } si pour tout
l’ensemble des entiers naturels {1, 2, . . . , k, . . .}, et dont l’image est  > 0 il existe un nombre K (qui peut dépendre de ) tel que :
contenu dans R. ∀k > K : |xk − x ∗ | <  ie ∀k > K : x ∗ −  < xk < x ∗ + . Dans ce
Une suite peut donc être vue comme étant un ensemble de nombre cas, on écrit :
{x1 , x2 , . . . , xk , . . .} également noté {xk } (ou encore {xk }∞
k=1 ) x ∗ = lim xk ou également xk → x ∗
k→∞
Une suite est dite strictement croissante si x1 < x2 . . . < xk < . . . ie Une suite possédant une limite est dite convergente
∀k : xk < xk+1
Exemple : xk = 1
k a pour limite x ∗ = 0
Une suite est dite croissante si ∀k : xk ≤ xk+1
La notion de suite peut être étendue à des suites d’éléments de Rn :
x x x x x ... uns suite dans Rn est une fonction dont le domaine est N mais dont
Exemple : 1 2 3 4 5
1 1 2 3 5 ... l’image est Rn
Une suite est dite strictement décroissante si ∀k : xk > xk+1
On utilisera la notation {x(1) , x(2) , . . . , x(k) , . . .} ou {x(k) } pour les
Une suite est dite décroissante si ∀k : xk ≥ xk+1 suites dans Rn
Une suite croissante ou décroissante est dite monotone
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 62 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 63
Rappels de concepts mathématiques Quelques éléments d’analyse Rappels de concepts mathématiques Quelques éléments d’analyse

Suites et limites III Suites et limites IV


Pour une suite {xk } de R, un nombre B est appelé majorant si
Pour les notions de limites dans Rn on remplace la valeur absolue par
∀k : xk ≤ B
la norme euclidienne de vecteurs. Un vecteur x∗ ∈ Rn est appelé
limite de la suite {x(k) } si pour tout  > 0 il existe un nombre K (qui Pour une suite {xk } de R, un nombre B est appelé minorant si
peut dépendre de ) tel que : ∀k > K : kx(k) − x∗ k < . Dans ce cas, ∀k : xk ≥ B
on écrit : Clairement une suite {xk } est bornée si elle possède à la fois un
majorant et un minorant
x∗ = lim x(k) ou également x(k) → x∗
k→∞ Le plus petit des majorants de {xk } est appelé borne supérieure
Toute suite convergente a une et une seule limite
Le plus grand des minorants de {xk } est appelé borne inférieure
Exemple dans R2 : x(k) = k1 , k+1 ∗ = 0, 1
 
k a pour limite x Toute suite de R qui est monotone et bornée est convergente
Une suite {x(k) } de Rn est bornée s’il existe un nombre B ≥ 0 tel Soit {x(k) } une suite de Rn et soit {mk } une suite strictement
que ∀k : kx(k) k ≤ B croissante de N. La suite {x(m1 ) , x(m2 ) , . . . , x(mk ) , . . .} est alors appelé
1+(k+1)2 sous-suite (ou suite extraite) de {x(k) } (cela revient à négliger
Pour l’exemple précédent kx(k) k2 = hx(k) , x(k) i = k2
. On voit
qu’une borne supérieure pourrait être B = 5. certains éléments de la suite)
Toute suite convergente est bornée Si {x(k) } est convergente et a pour limite x∗ alors toute sous-suite de
{x(k) } est également convergente et a pour limite x∗
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 64 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 65

Rappels de concepts mathématiques Quelques éléments d’analyse Rappels de concepts mathématiques Quelques éléments d’analyse

Suites et limites V Différentiabilité I


Soit une fonction f : Rn → Rm et un point x0 ∈ Rn . Supposons qu’il
existe f ∗ ∈ Rm tel que pour toute suite convergente {x(k) } de limite Le calcul différentiel est basé sur l’idée que l’on peut approximer une
x0 , nous avons : quelconque fonction par une fonction affine
lim f (x(k) ) = f ∗ Une fonction f : Rn → Rp est dite affine s’il existe une fonction
k→∞
linéaire g ∈ L(Rn , Rp ) et un vecteur y ∈ Rp tel que :
alors nous utiliserons la notation suivante :
f (x) = g (x) + y
lim f (x)
x→x0 On notera A(Rn , Rp ) l’ensemble des fonctions affines de Rn dans Rp
pour désigner la limite f ∗ Soit une fonction h : Rn → Rp quelconque et un point x0 ∈ Rn . On
La fonction f : Rn → Rm est continue en x0 ssi : souhaite approximer h par une fonction affine f ∈ A(Rn , Rp ) dans le
lim f (x(k) ) = f ( lim x(k) ) = f (x0 ) voisinage de x0 . Il est alors naturel d’imposer (i) f (x0 ) = h(x0 )
k→∞ k→∞
On impose ensuite que (ii) f (x) approche h(x) plus rapidement que x
ou encore (en utilisant les notations précédentes) ssi :
approche x0 ce qui s’exprime par :
lim f (x) = f (x0 ) kh(x)−f (x)k
x→x0 lim kx−x0 k =0
x→x0 ,x∈Rn

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 66 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 67
Rappels de concepts mathématiques Quelques éléments d’analyse Rappels de concepts mathématiques Quelques éléments d’analyse

Différentiabilité II Différentiabilité III


Cas particulier de h : R → R différentiable en x0
La condition (ii) assure que f approxime h dans le voisinage de x0 Dans R une fonction affine f est de la forme f (x) = ax + b
dans le sens où l’erreur d’approximation en x est “petit” en Comme on veut f (x0 ) = h(x0 ) = ax0 + b on obtient
comparaison de la distance entre x et x0 f (x) = ax + b = ax + h(x0 ) − ax0 = a(x − x0 ) + h(x0 )
Une fonction h : S → Rp est dite différentiable en x0 ∈ S s’il existe Comme h est différentiable en x0 on a par définition :
une fonction affine qui approxime h dans le voisinage de x0 , ie qu’il lim |h(x)−(a(x−x0 )+h(x0 ))|
=0
|x−x0 |
existe une fonction linéaire g ∈ L(Rn , Rp ) telle que : x→x0

kh(x)−(g (x−x0 )+h(x0 ))k L’équation ci-dessus se simplifie pour donner de manière équivalente :
lim kx−x0 k =0 h(x)−h(x0 )
x→x0 ,x∈S lim x−x0 =a
x→x0
Ci-dessus, la fonction linéaire g est déterminée de façon unique pour
h et x0 . Elle est appelée dérivée de h en x0 Le nombre a est dénoté h0 (x0 ) et est dénommé dérivée (première) de
h en x0
La fonction f est dite différentiable sur S si elle est différentiable en
La fonction affine f est alors donnée par
tout point de S
f (x) = h(x0 ) + h0 (x0 )(x − x0 )
Cette fonction affine est tangente à h en x0
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 68 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 69

Rappels de concepts mathématiques Quelques éléments d’analyse Rappels de concepts mathématiques Quelques éléments d’analyse

Différentiabilité IV Matrice des dérivées partielles I

Illustration La dérivée en un point donné d’une fonction f : Rn → Rm , peut être


représentée par une matrice élément de Mm,n
Afin de déterminer la représentation matricielle L de la dérivée de la
fonction différentiable f : Rn → Rm , nous utilisons la base canonique
f (x) = h(x0 ) + h0 (x0 )(x − x0 )
{e1 , . . . , en } de Rn et nous considérons les vecteurs suivant :
xj = x0 + tej , j = 1, . . . , n
h(x0 ) h(x)
Par définition de la différentiabilité, nous avons :
f (xj )−(tLej +f (x0 ))
lim t = 0, j = 1, . . . , n
t→0
où L est une matrice de Mm,n représentant une application linéaire
O x0 x De manière équivalente, nous avons :
f (xj )−f (x0 )
lim t = Lej , j = 1, . . . , n
t→0

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 70 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 71
Rappels de concepts mathématiques Quelques éléments d’analyse Rappels de concepts mathématiques Quelques éléments d’analyse

Matrice des dérivées partielles II Matrice des dérivées partielles III

Lej est la jème colonne de la matrice L. Par ailleurs, le vecteur xj ne  


∂f1
diffère de x0 que vis à vis de la jème composante. De plus la ∂xj (x0 )
différence au niveau de cette composante est de t. Ainsi, le membre ∂f
 .. 
∂xj (x0 ) = . 


de gauche de l’équation précédente est appelée la dérivée partielle ∂fm
∂xj (x0 )
de f par rapport à xj que l’on note :
∂f et la matrice L est de la forme suivante :
∂xj (x0 )
 
∂f ∂f
L = ∂x (x0 ) · · · ∂xn (x0 )
La limite d’un vecteur est calculée en considérant la limite de chacune  ∂f11 ∂f1 
de ses composantes. Ainsi si nous avons : ∂x1 (x0 ) · · · ∂xn (x0 )
 .. .. 
=  .
 
f1 (x) ··· . 
f (x) =  ... 
∂fm ∂fm
 
∂x1 (x0 ) ··· ∂xn (x0 )
fm (x) L est appelé la matrice Jacobienne ou matrice des dérivées partielles
alors la dérivée partielle de f par rapport à xj est donné par le vecteur (premières) de f en x0 et est également dénotée Df (x0 )
suivant :

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 72 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 73

Rappels de concepts mathématiques Quelques éléments d’analyse Rappels de concepts mathématiques Quelques éléments d’analyse

Matrice des dérivées partielles IV Matrice des dérivées partielles V


Si f : Rn → R est différentiable, alors la fonction ∇f défini par :
 ∂f 
∂x1 (x)
En résumé, si h : Rn → Rm est une fonction différentiable en x0 alors
∇f (x) =  ...  = Df (x)t
 
la dérivée de h en x0 est déterminée de façon unique et est
∂f
représentée par la matrice des dérivées partielles de taille (m × n) ∂xn (x)
Dh(x0 ). La meilleure approximation affine de f dans le voisinage de est appelé gradient de f
x0 est alors donnée par : ∇f est une fonction de Rn dans Rn et peut être vue comme un
f (x) = h(x0 ) + Dh(x0 )(x − x0 ) champ de vecteurs (fonction qui associe à tout point un vecteur)
dans le sens où h(x) = f (x) + r (x) et limx→x0 kr (x)k/kx − x0 k = 0 Soit f : Rn → R, si ∇f est différentiable, on dit que f est deux fois
Les colonnes de Df (x0 ) sont les vecteurs de dérivées partielles et le différentiable et on écrit
la dérivée de ∇f de la manière  suivante :
∂f ∂2f ∂2f ∂2f
vecteur ∂x (x0 ) est un vecteur tangent en x0 à la courbe de f obtenue ∂x ∂x ∂x1 ∂x2 · · · ∂x1 ∂xn
j
en variant la jème composante de x  ∂12 f 1 ∂2f ∂2f 
 ∂x ∂x ∂x ∂x · · · ∂x2 ∂xn 

D 2f =  .
2
.
1 2
.
2
.
 . .. ··· ..  
2
∂ f 2
∂ f 2
∂ f
∂xn ∂x1 ∂xn ∂x2 · · · ∂xn ∂xn

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 74 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 75
Rappels de concepts mathématiques Quelques éléments d’analyse Rappels de concepts mathématiques Quelques éléments d’analyse

Matrice des dérivées partielles VI Règles de dérivation I

Une fonction f : S → Rm , avec S ⊂ Rn , est dite continûment


différentiable sur S si elle est différentiable sur S et si Df : S → Rm
est continue ie les dérivées partielles sont continues. Dans ce cas, on
dit que f est de classe C 1
La matrice D 2 f (x) est appelée matrice hessienne de f en x Si les dérivées partielles d’ordre p de f sont continues alors on dit que
f est de classe C p
Notons que si f ∈ C 2 alors la matrice hessienne est symétrique
Soit f : S → Rm une fonction différentiable en x ∈ S ⊂ Rn et soit
g : T → Rp une fonction différentiable en f (x) ∈ T ⊂ Rm . Soit la
composition h : S → Rp définie par h(x) = g ◦ f (x) = g (f (x)). Alors
h est différentiable sur S de dérivée :
Dh(x) = Dg (f (x))Df (x)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 76 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 77

Rappels de concepts mathématiques Quelques éléments d’analyse Rappels de concepts mathématiques Quelques éléments d’analyse

Règles de dérivation II Lignes de niveau et gradients I

Soit deux fonctions f , g : Rn → Rm différentiables sur Rn . Soit la


fonction h : Rn → R définie par h(x) = f (x)t g (x). Alors h est
différentiable sur Rn de dérivée :
Dh(x) = f (x)t Dg (x) + g (x)t Df (x)
Soit une fonction f : Rn → R. On appelle ligne de niveau c de la
Ci-dessous quelques formules de dérivations dans le cas multivarié. La fonction f l’ensemble des points suivants :
dérivée est calculée par rapport à x. A ∈ Mm,n et y ∈ Rm sont
donnés. L = {x ∈ Rn : f (x) = c}
I D(yt Ax) = yt A Exemple : pour f : R2 → R les lignes de niveau sont en général des
I Si m = n alors D(xt Ax) = xt (A + At ) courbes tandis que pour f : R3 → R les lignes de niveau sont en
Si y ∈ Rn , on conclut de la première formule : général des surfaces
I D(yt x) = yt
Si A est symétrique, on conclut de la seconde formule :
I D(xt Ax) = 2xt A
I D(xt x) = 2xt

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 78 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 79
Rappels de concepts mathématiques Quelques éléments d’analyse Rappels de concepts mathématiques Quelques éléments d’analyse

Lignes de niveau et gradients II Lignes de niveau et gradients III

Illustration (lignes de niveau) Prenons x0 un point appartenant à L de f : f (x0 ) = c


f (x1 , x2 ) Supposons qu’il existe une courbe γ contenue dans L représentée par
une fonction continûment différentiable g : R → Rn . Supposons
également que g (t0 ) = x0 et que Dg (t0 ) = v 6= 0 de telle sorte que v
est le vecteur tangent à γ en x0
En appliquant la règle de dérivation des fonctions composées à la
{x : f (x) = c} fonction h(t) = f (g (t)) en t0 on obtient :
Dh(t0 ) = Df (g (t0 ))Dg (t0 ) = Df (x0 )v
x2
Comme de plus γ est contenue dans L nous avons :
h(t) = f (g (t)) = c une constante ce qui implique que Dh(t) = 0 et
donc :
x1 Df (x0 )v = ∇f (x0 )t v = 0

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 80 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 81

Rappels de concepts mathématiques Quelques éléments d’analyse Rappels de concepts mathématiques Quelques éléments d’analyse

Lignes de niveau et gradients IV Séries de Taylor


Ainsi, le vecteur ∇f (x0 ) est orthogonal au vecteur tangent à toute
courbe passant par x0 dans la ligne de niveau L défini par
Soit une fonction f : R → R qui soit m fois continûment différentiable
f (x) = f (x0 )
(f ∈ C m ) sur un interval [a, b]. Dénotons h = b − a. Alors :
Illustration (orthogonalité entre gradient et ligne de niveau) h (1) h2 (2) hm (m)
f (b) = f (a) + 1! f (a) + 2! f (a) + ... + (m)! f (a) + o(hm )
x2
où f (i) est la ième dérivée de f et o(hm ) représente un terme
Dg (t0 ) = v négligeable qui converge vers 0 plus vite que hm
∇f (x0 ) Soit maintenant une fonction f : Rn → R. Supposons que f ∈ C 2 et
x0 = g (t0 ) soit x0 un point de Rn . Au voisinage de ce point on a :
f (x) =
1 1 t 2 2
{x : f (x) = c}
f (x0 ) + 1! Df (x0 )(x − x0 ) + 2! (x − x0 ) D f (x0 )(x − x0 ) + o(kx − x0 k )
Beaucoup de méthodes numériques en optimisation se fondent sur les
x1 séries de Taylor

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 82 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 83
Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Rappel du Sommaire Optimisation

1 Rappels de concepts mathématiques


Rappelons qu’on s’intéresse dans ce cours au problème suivant :
min f (x)
2 Bases théoriques de l’optimisation
sous la contrainte que x ∈ S
où :
3 Optimisation sans contrainte I f : Rn → R est une fonction objectif à valeur dans R
I x est un vecteur de Rn appelé vecteur des variables de décision
4 Optimisation linéaire avec contraintes I S est un sous-ensemble de Rn et est appelé ensemble réalisable
I Si S = Rn on dit que le problème est non contraint
5 Optimisation non linéaire avec contraintes

6 Optimisation convexe

7 Algorithmes pour problèmes contraints


J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 84 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 85

Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Optimisation Minimiseur local et global


On distingue deux types de minimiseurs.
Rappelons qu’on s’intéresse dans ce cours au problème suivant :
min f (x)
sous la contrainte que x ∈ S
où :
I f : Rn → R est une fonction objectif à valeur dans R
I x est un vecteur de Rn appelé vecteur des variables de décision
I S est un sous-ensemble de Rn et est appelé ensemble réalisable
I Si S = Rn on dit que le problème est non contraint

Dans cette section, on considère des définitions et des propriétés de


base concernant la résolution générale des problèmes d’optimisation
(contraint ou non contraint)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 85 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 86
Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Minimiseur local et global Minimiseur local et global


On distingue deux types de minimiseurs. On distingue deux types de minimiseurs.
Définition. (Minimiseur local) Définition. (Minimiseur local)
Soit f : Rn → R une fonction à valeurs réelles défini sur un ensemble Soit f : Rn → R une fonction à valeurs réelles défini sur un ensemble
S ⊂ Rn . Un point x∗ ∈ S est un minimiseur local de f sur S s’il existe S ⊂ Rn . Un point x∗ ∈ S est un minimiseur local de f sur S s’il existe
 > 0 tel que f (x) ≥ f (x∗ ) pour tout x ∈ S \ {x∗ } et kx − x∗ k <   > 0 tel que f (x) ≥ f (x∗ ) pour tout x ∈ S \ {x∗ } et kx − x∗ k < 

Définition. (Minimiseur global)


Un point x∗ ∈ S est un minimiseur global de f sur S si f (x) ≥ f (x∗ ) pour
tout x ∈ S \ {x∗ }

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 86 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 86

Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Minimiseur local et global Minimiseur local et global


On distingue deux types de minimiseurs. On distingue deux types de minimiseurs.
Définition. (Minimiseur local) Définition. (Minimiseur local)
Soit f : Rn→ R une fonction à valeurs réelles défini sur un ensemble Soit f : Rn → R une fonction à valeurs réelles défini sur un ensemble
S ⊂ Rn . Un point x∗ ∈ S est un minimiseur local de f sur S s’il existe S ⊂ Rn . Un point x∗ ∈ S est un minimiseur local de f sur S s’il existe
 > 0 tel que f (x) ≥ f (x∗ ) pour tout x ∈ S \ {x∗ } et kx − x∗ k <   > 0 tel que f (x) ≥ f (x∗ ) pour tout x ∈ S \ {x∗ } et kx − x∗ k < 

Définition. (Minimiseur global) Définition. (Minimiseur global)


Un point x∗ ∈ S est un minimiseur global de f sur S si f (x) ≥ f (x∗ ) pour Un point x∗ ∈ S est un minimiseur global de f sur S si f (x) ≥ f (x∗ ) pour
tout x ∈ S \ {x∗ } tout x ∈ S \ {x∗ }

Si dans les définitions précédentes on remplace ≥ par > on parle alors Si dans les définitions précédentes on remplace ≥ par > on parle alors
de minimiseur local strict ou minimiseur global strict de minimiseur local strict ou minimiseur global strict
La notation arg min f (x) représente le minimiseur global de f sur S en
x∈S
supposant que celui-ci existe et est unique
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 86 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 86
Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Illustration Illustration
Dans le cas f : R → R Dans le cas f : R → R
f (x) f (x)

x x
O u v w O u v w

u est un minimiseur local strict de f


v est un minimiseur global strict de f
w est un minimiseur local de f
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 87 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 87

Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Résolution d’un problème d’optimisation Conditions pour un minimiseur local


Les conditions pour un minimiseur local de f : Rn → R reposent sur la
dérivée première et seconde de f :
Dans l’absolu, résoudre un problème d’optimisation signifie déterminer La dérivée première de f est dénotée
 Df et est
 définie par :
∂f ∂f
arg min f (x) Df = ∂x1 ··· ∂xn
x∈S
Mais en général, il est difficile de déterminer le (ou les) minimiseur
global
En pratique, on se contente de déterminer un (ou des) minimiseur
local

Dans la suite on s’intéresse aux conditions mathématiques nous


permettant de caractériser les minimiseurs locaux

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 88 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 89
Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Conditions pour un minimiseur local Conditions pour un minimiseur local


Les conditions pour un minimiseur local de f : Rn → R reposent sur la Les conditions pour un minimiseur local de f : Rn → R reposent sur la
dérivée première et seconde de f : dérivée première et seconde de f :
La dérivée première de f est dénotée
 Df et est
 définie par : La dérivée première de f est dénotée
 Df et est
 définie par :
∂f ∂f ∂f ∂f
Df = ∂x1 ··· ∂xn Df = ∂x1 ··· ∂xn
Le gradient de f est noté ∇f et est égale à Df t : Le gradient de f est noté ∇f et est égale à Df t :
 ∂f   ∂f 
∂x1 ∂x1
∇f =  ...  ∇f =  ... 
   
∂f ∂f
∂xn ∂xn
La dérivée seconde de fest notée D 2 f et est défine par
 :
2 ∂ f ∂2f ∂2f
∂x12 ∂x1 ∂x2 · · · ∂x1 ∂xn
 ∂2f ∂2f 2f
· · · ∂x∂2 ∂x

 
 ∂x2 ∂x1 ∂x22
D 2f =  .. ..
n
.. 

 . . ··· . 
∂2f ∂2f 2
∂ f
∂xn ∂x1 ∂xn ∂x2 ··· ∂x 2
n
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 89 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 89

Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Exemple Exemple

f (x1 , x2 ) = 5x1 + 8x2 + x1 x2 − x12 − 2x22 f (x1 , x2 ) = 5x1 + 8x2 + x1 x2 − x12 − 2x22

Df (x) = ∇f (x)t =

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 90 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 90
Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Exemple Exemple

f (x1 , x2 ) = 5x1 + 8x2 + x1 x2 − x12 − 2x22 f (x1 , x2 ) = 5x1 + 8x2 + x1 x2 − x12 − 2x22
   
∂f ∂f ∂f ∂f
Df (x) = ∇f (x)t = Df (x) = ∇f (x)t =

∂x1 ∂x2 = ∂x1 ∂x2 = 5 + x2 − 2x1 8 + x1 − 4x2

D 2 f (x) =

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 90 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 90

Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Exemple Exemple

f (x1 , x2 ) = 5x1 + 8x2 + x1 x2 − x12 − 2x22 f (x1 , x2 ) = 5x1 + 8x2 + x1 x2 − x12 − 2x22
   
∂f ∂f ∂f ∂f
∇f (x)t ∇f (x)t
 
Df (x) = = ∂x1 ∂x2 = 5 + x2 − 2x1 8 + x1 − 4x2 Df (x) = = ∂x1 ∂x2 = 5 + x2 − 2x1 8 + x1 − 4x2
   
∂2f ∂2f ∂2f ∂2f
2 (x) ∂x1 ∂x2 (x) 2 (x) ∂x1 ∂x2 (x)
 
∂x ∂x −2 1
D 2 f (x) =  21
∂ f ∂2f
= D 2 f (x) =  21
∂ f ∂2f
=
∂x2 ∂x1 (x) (x) ∂x2 ∂x1 (x) (x) 1 −4
∂x22 ∂x22

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 90 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 90
Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Direction admissible Direction admissible


Etant donné un problème d’optimisation sur un ensemble réalisable S, Etant donné un problème d’optimisation sur un ensemble réalisable S,
un minimiseur peut être un point intérieur, ou un point frontière de S un minimiseur peut être un point intérieur, ou un point frontière de S
Afin d’étudier le cas où le minimiseur se trouve sur la frontière, on a
besoin d’introduire le concept de direction admissible :

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 91 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 91

Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Direction admissible Direction admissible


Etant donné un problème d’optimisation sur un ensemble réalisable S, Etant donné un problème d’optimisation sur un ensemble réalisable S,
un minimiseur peut être un point intérieur, ou un point frontière de S un minimiseur peut être un point intérieur, ou un point frontière de S
Afin d’étudier le cas où le minimiseur se trouve sur la frontière, on a Afin d’étudier le cas où le minimiseur se trouve sur la frontière, on a
besoin d’introduire le concept de direction admissible : besoin d’introduire le concept de direction admissible :
Définition. (Direction admissible) Définition. (Direction admissible)
Un vecteur d ∈ Rn tel que d 6= 0 est une direction admissible en x ∈ S Un vecteur d ∈ Rn tel que d 6= 0 est une direction admissible en x ∈ S
s’il existe α0 > 0 tel que x + αd ∈ S pour tout α ∈ [0, α0 ] s’il existe α0 > 0 tel que x + αd ∈ S pour tout α ∈ [0, α0 ]

Illustration :
S
d2
α0 d3
d1 αd3
v
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 91 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 91
Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Dérivée directionnelle Dérivée directionnelle


Soit f : Rn → R et d une direction admissible en x ∈ S. La dérivée Soit f : Rn → R et d une direction admissible en x ∈ S. La dérivée
∂f ∂f
directionnelle de f dans la direction de d, dénotée ∂d , est la fonction directionnelle de f dans la direction de d, dénotée ∂d , est la fonction
à valeurs réelles définie par : à valeurs réelles définie par :
∂f f (x+αd)−f (x) ∂f f (x+αd)−f (x)
∂d (x) = lim α α→0 ∂d (x) = lim α α→0
∂f
Si kdk = 1, alors ∂d (x) est le taux d’accroissement (ou pente) de
f en x dans la direction d

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 92 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 92

Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Dérivée directionnelle Dérivée directionnelle


Soit f : Rn → R et d une direction admissible en x ∈ S. La dérivée Soit f : Rn → R et d une direction admissible en x ∈ S. La dérivée
∂f ∂f
directionnelle de f dans la direction de d, dénotée ∂d , est la fonction directionnelle de f dans la direction de d, dénotée ∂d , est la fonction
à valeurs réelles définie par : à valeurs réelles définie par :
∂f f (x+αd)−f (x) ∂f f (x+αd)−f (x)
∂d (x) = lim α α→0 ∂d (x) = lim α α→0
∂f ∂f
Si kdk = 1, alors ∂d (x)
est le taux d’accroissement (ou pente) de Si kdk = 1, alors ∂d (x)
est le taux d’accroissement (ou pente) de
f en x dans la direction d f en x dans la direction d
∂f ∂f
Pour calculer la dérivée directionnelle ∂d supposons que x et d sont Pour calculer la dérivée directionnelle ∂d supposons que x et d sont
donnés. Dans ce cas, f (x + αd) = f (g (α)) est une fonction de α de donnés. Dans ce cas, f (x + αd) = f (g (α)) est une fonction de α de
R dans R avec g : R → Rn et nous avons : R dans R avec g : R → Rn et nous avons :
∂f df ◦g ∂f df ◦g
∂d (x) = dα (α) ∂d (x) = dα (α)

α=0 α=0
= Df (g (0))dg (0) = Df (x)d = Df (g (0))dg (0) = Df (x)d
= ∇f (x)t d = h∇f (x), di = ∇f (x)t d = h∇f (x), di
Si kdk = 1, alors h∇f (x), di = hd, ∇f (x)i est le taux d’accroissement
de f en x dans la direction d
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 92 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 92
Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Exemple Exemple

   
1 1 √1 1 1 √1
Soit f : R3 → R tel que f (x1 , x2 , x3 ) = x1 x2 x3 et soit d = 2, 2, 2 Soit f : R3 → R tel que f (x1 , x2 , x3 ) = x1 x2 x3 et soit d = 2, 2, 2

La dérivée directionnelle de f dans la direction de d est :

∂f
∂d (x) =

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 93 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 93

Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Exemple Exemple

   
1 1 √1 1 1 √1
Soit f : R3 → R tel que f (x1 , x2 , x3 ) = x1 x2 x3 et soit d = 2, 2, 2 Soit f : R3 → R tel que f (x1 , x2 , x3 ) = x1 x2 x3 et soit d = 2, 2, 2

La dérivée directionnelle de f dans la direction de d est : La dérivée directionnelle de f dans la direction de d est :
 1 
2 √
∂f ∂f 1  x2 x3 +x1 x3 + 2x1 x2
= ∇f (x)t d = td = x x

∂d (x) ∂d (x) = ∇f (x) 2 3 x x
1 3 x x
1 2  2 = 2
√1
2

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 93 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 93
Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Exemple Condition nécessaire du 1er ordre (CNPO)

Théorème. (Condition nécessaire du 1er ordre (CNPO))


 
1 1 √1
Soit f : R3 → R tel que f (x1 , x2 , x3 ) = x1 x2 x3 et soit d = 2, 2, 2 Soit S un sous-ensemble de Rn et f une fonction de classe C 1 de S dans
La dérivée directionnelle de f dans la direction de d est : R. Si x∗ est un minimiseur local de f sur S alors pour toute direction
 1  admissible d en x, nous avons :
 21 √
∂f
(x) = ∇f (x)td = x x x x x x  2  = x2 x3 +x1 x3 + 2x1 x2
∂d 2 3 1 3 1 2 2 dt ∇f (x∗ ) ≥ 0
√1
2
Remarque : comme kdk = 1, l’équation ci-dessus est également le
taux d’accroissement de f en x dans la direction de d

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 93 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 94

Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Condition nécessaire du 1er ordre (CNPO) Preuve de la CNPO

Démonstration.
Théorème. (Condition nécessaire du 1er ordre (CNPO)) Supposons que x∗ est un minimiseur local. Alors, pour toute direction
admissible d, il existe α0 > 0 tel que pour tout α ∈ [0, α0 ] :
Soit S un sous-ensemble de Rn et f une fonction de classe C 1 de S dans
R. Si x∗ est un minimiseur local de f sur S alors pour toute direction f (x∗ ) ≤ f (x∗ + αd)
admissible d en x, nous avons :

dt ∇f (x∗ ) ≥ 0

Une autre façon équivalente d’exprimer la CNPO est la suivante :


∂f ∗
(x ) ≥ 0, pour toute direction admissible en x∗
∂d

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 94 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 95
Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Preuve de la CNPO Preuve de la CNPO

Démonstration. Démonstration.
Supposons que x∗
est un minimiseur local. Alors, pour toute direction Supposons que x∗ est un minimiseur local. Alors, pour toute direction
admissible d, il existe α0 > 0 tel que pour tout α ∈ [0, α0 ] : admissible d, il existe α0 > 0 tel que pour tout α ∈ [0, α0 ] :
f (x∗ ) ≤ f (x∗ + αd) f (x∗ ) ≤ f (x∗ + αd)

Par conséquent, pour tout α ∈ [0, α0 ], nous avons : Par conséquent, pour tout α ∈ [0, α0 ], nous avons :
f (x∗ +αd)−f (x∗ ) f (x∗ +αd)−f (x∗ )
α ≥0 α ≥0

En considérant la limite quand α → 0, on conclut donc que si x∗ est


un minimiseur local, alors :
∂f ∗ ≥0
∂d (x )

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 95 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 95

Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Illustration Condition nécessaire du 1er ordre (CNPO) (point intérieur)


Cas d’un minimiseur sur la frontière de S :
Théorème. (Condition nécessaire du 1er ordre (CNPO) (point
h∇f (x1 ), d1 i < 0
intérieur))
x2
Soit S un sous-ensemble de Rn et f une fonction de classe C 1 de S dans
x1 d1 R. Si x∗ est un minimiseur local de f sur S et si x∗ est un point intérieur
∇f (x2 ) alors toutes les directions en x∗ sont admissibles et dans ce cas la CNPO
devient :
∇f (x1 ) ∇f (x∗ ) = 0
S On dit alors que x∗ est un point critique (ou stationnaire)

f (x) = 1

f (x) = 2

f (x) = 3
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 96 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 97
Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Condition nécessaire du 1er ordre (CNPO) (point intérieur) Condition nécessaire du 2nd ordre (CNSO)

Théorème. (Condition nécessaire du 1er ordre (CNPO) (point


intérieur))
Théorème. (Condition nécessaire du 2nd ordre (CNSO))
Soit S un sous-ensemble de Rn et f une fonction de classe C 1 de S dans
R. Si x∗ est un minimiseur local de f sur S et si x∗ est un point intérieur Soit S un sous-ensemble de Rn et f une fonction de classe C 2 de S dans
alors toutes les directions en x∗ sont admissibles et dans ce cas la CNPO R, x∗ est un minimiseur local de f sur S et d est une direction admissible
devient : en x. Si dt ∇f (x∗ ) = 0 alors nous avons :
∇f (x∗ ) = 0
dt D 2 f (x∗ )d ≥ 0
On dit alors que x∗ est un point critique (ou stationnaire)
où D 2 f est la matrice hessienne de f
Démonstration.
A faire

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 97 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 98

Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Preuve de la CNSO Preuve de la CNSO

Démonstration. Démonstration.
Preuve par l’absurde Preuve par l’absurde
Supposons qu’il existe une direction admissible d en x∗ telle que Supposons qu’il existe une direction admissible d en x∗ telle que
dt ∇f (x∗ ) = 0 et dt D 2 f (x∗ )d < 0 dt ∇f (x∗ ) = 0 et dt D 2 f (x∗ )d < 0
Soit x(α) = x∗ + αd et la fonction composée
φ(α) = f (x∗ + αd) = f (x(α)). On a alors la série de Taylor suivante :
2
φ(α) = φ(0) + φ0 (0)α + φ00 (0) α2 + o(α2 )
avec φ0 (0) = h∇f (x), di = 0 et φ00 (0) = dt D 2 f (x∗ )d < 0

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 99 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 99
Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Preuve de la CNSO Preuve de la CNSO

Démonstration. Démonstration.
Preuve par l’absurde Preuve par l’absurde
Supposons qu’il existe une direction admissible d en x∗ telle que Supposons qu’il existe une direction admissible d en x∗ telle que
dt ∇f (x∗ ) = 0 et dt D 2 f (x∗ )d < 0 dt ∇f (x∗ ) = 0 et dt D 2 f (x∗ )d < 0
Soit x(α) = x∗ + αd et la fonction composée Soit x(α) = x∗ + αd et la fonction composée
φ(α) = f (x∗ + αd) = f (x(α)). On a alors la série de Taylor suivante : φ(α) = f (x∗ + αd) = f (x(α)). On a alors la série de Taylor suivante :
2 2
φ(α) = φ(0) + φ0 (0)α + φ00 (0) α2 + o(α2 ) φ(α) = φ(0) + φ0 (0)α + φ00 (0) α2 + o(α2 )
avec φ0 (0) = h∇f (x), di = 0 et φ00 (0) = dt D 2 f (x∗ )d < 0 avec φ0 (0) = h∇f (x), di = 0 et φ00 (0) = dt D 2 f (x∗ )d < 0
2 2
Pour α suffisamment petit on a : φ(α) − φ(0) = φ00 (0) α2 + o(α2 ) < 0 Pour α suffisamment petit on a : φ(α) − φ(0) = φ00 (0) α2 + o(α2 ) < 0
ce qui implique que f (x∗ + αd) < f (x∗ )

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 99 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 99

Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Preuve de la CNSO Condition nécessaire du 2nd ordre (CNSO) (point intérieur)

Théorème. (Condition nécessaire du 2nd ordre (CNSO) (point


Démonstration.
intérieur))
Preuve par l’absurde
Soit S un sous-ensemble de Rn et f une fonction de classe C 2 de S dans
Supposons qu’il existe une direction admissible d en x∗ telle que
R. Si x∗ est un minimiseur local de f sur S et si x∗ est un point intérieur
dt ∇f (x∗ ) = 0 et dt D 2 f (x∗ )d < 0
alors :
Soit x(α) = x∗ + αd et la fonction composée
x∗ est un point critique :
φ(α) = f (x∗ + αd) = f (x(α)). On a alors la série de Taylor suivante :
2
φ(α) = φ(0) + φ0 (0)α + φ00 (0) α2 + o(α2 ) ∇f (x∗ ) = 0
avec φ0 (0) = h∇f (x), di = 0 et φ00 (0) = dt D 2 f (x∗ )d < 0
2 et D 2 f (x∗ ) est semi-définie positive (ce qu’on notera par
Pour α suffisamment petit on a : φ(α) − φ(0) = φ00 (0) α2 + o(α2 ) < 0 D 2 f (x∗ ) ≥ 0), ie ∀d ∈ Rn :
ce qui implique que f (x∗ + αd) < f (x∗ )
ce qui contredit le fait que x∗ soit un minimiseur local dt D 2 f (x∗ )d ≥ 0

où D 2 f est la matrice hessienne de f


J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 99 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 100
Bases théoriques de l’optimisation Bases théoriques de l’optimisation

CNPO et CNSO sont nécessaires mais pas suffisantes CNPO et CNSO sont nécessaires mais pas suffisantes

Soit f (x) = x 3 Soit f (x) = x 3


df (0) = f 0 (0) = 0 df (0) = f 0 (0) = 0
d 2 f (0) = f 00 (0) = 0 d 2 f (0) = f 00 (0) = 0
Mais x = 0 n’est pas un minimiseur Mais x = 0 n’est pas un minimiseur
Illustration :
f (x)
f (x) = x 3

x
O

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 101 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 101

Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Condition suffisante du 2nd ordre (CSSO) (point intérieur) Preuve de la CSSO (point intérieur)
Démonstration.
Comme f ∈ C 2 , la matrice hessienne D 2 f est symétrique et donc
D 2 f (x∗ ) = (D 2 f )t (x∗ )
Théorème. (Condition suffisante du 2nd ordre (CSSO) (point
intérieur))
Soit f une fonction de classe C 2 de S ⊂ Rn dans R. Soit x∗ ∈ S un point
intérieur de S. Si les deux conditions suivantes sont satisfaites :
1 ∇f (x∗ ) = 0
2 D 2 f (x∗ ) > 0 (matrice définie positive)
alors x∗ est un minimiseur local strict de f

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 102 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 103
Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Preuve de la CSSO (point intérieur) Preuve de la CSSO (point intérieur)


Démonstration. Démonstration.
Comme f ∈ C2,
la matrice hessienne D 2f est symétrique et donc Comme f ∈ C 2 , la matrice hessienne D 2 f est symétrique et donc
D f (x ) = (D f )t (x∗ )
2 ∗ 2 D 2 f (x∗ ) = (D 2 f )t (x∗ )
Supposons que D 2 f (x∗ ) > 0 (2ème condition). En utilisant l’inégalité Supposons que D 2 f (x∗ ) > 0 (2ème condition). En utilisant l’inégalité
de Rayleigh, nous avons ∀d 6= 0 : de Rayleigh, nous avons ∀d 6= 0 :
0 < λmin (D 2 f (x∗ ))kdk2 ≤ dt D 2 f (x∗ )d 0 < λmin (D 2 f (x∗ ))kdk2 ≤ dt D 2 f (x∗ )d
En supposant que ∇f (x∗ ) = 0 (condition 1) et en utilisant les séries
de Taylor, nous obtenons :
f (x∗ + d) − f (x∗ ) = 12 dt D 2 f (x∗ )d + o(kd2 k)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 103 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 103

Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Preuve de la CSSO (point intérieur) Preuve de la CSSO (point intérieur)


Démonstration. Démonstration.
Comme f ∈ C2,
la matrice hessienne D 2f est symétrique et donc Comme f ∈ C 2 , la matrice hessienne D 2 f est symétrique et donc
D f (x ) = (D f )t (x∗ )
2 ∗ 2 D 2 f (x∗ ) = (D 2 f )t (x∗ )
Supposons que D 2 f (x∗ ) > 0 (2ème condition). En utilisant l’inégalité Supposons que D 2 f (x∗ ) > 0 (2ème condition). En utilisant l’inégalité
de Rayleigh, nous avons ∀d 6= 0 : de Rayleigh, nous avons ∀d 6= 0 :
0 < λmin (D 2 f (x∗ ))kdk2 ≤ dt D 2 f (x∗ )d 0 < λmin (D 2 f (x∗ ))kdk2 ≤ dt D 2 f (x∗ )d
En supposant que ∇f (x∗ ) = 0 (condition 1) et en utilisant les séries En supposant que ∇f (x∗ ) = 0 (condition 1) et en utilisant les séries
de Taylor, nous obtenons : de Taylor, nous obtenons :
f (x∗ + d) − f (x∗ ) = 12 dt D 2 f (x∗ )d + o(kd2 k) f (x∗ + d) − f (x∗ ) = 12 dt D 2 f (x∗ )d + o(kd2 k)
2 ∗ 2 ∗
≥ λmin (D2 f (x )) kdk2 + o(kd2 k) ≥ λmin (D2 f (x )) kdk2 + o(kd2 k)
> 0
On déduit que ∀d de norme suffisamment petite on a :
f (x∗ + d) > f (x∗ )

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 103 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 103
Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Exemple Exemple

Soit f : R2 → R tel que f (x) = x12 + x22 Soit f : R2 → R tel que f (x) = x12 + x22
Nous avons : Nous avons :  
2x1
∇f (x) = ∇f (x) =
2x2

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 104 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 104

Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Exemple Exemple

Soit f : R2 → R tel que f (x) = x12 + x22 Soit f : R2 → R tel que f (x) = x12 + x22
Nous avons :   Nous avons :  
2x1 2x1
∇f (x) = ∇f (x) =
2x2 2x2
Par ailleurs : ∇f (x) = 0 ⇒ Par ailleurs : ∇f (x) = 0 ⇒ x = (0, 0)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 104 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 104
Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Exemple Exemple

Soit f : R2 → R tel que f (x) = x12 + x22 Soit f : R2 → R tel que f (x) = x12 + x22
Nous avons :   Nous avons :  
2x1 2x1
∇f (x) = ∇f (x) =
2x2 2x2
Par ailleurs : ∇f (x) = 0 ⇒ x = (0, 0) Par ailleurs : ∇f (x) = 0 ⇒ x = (0, 0)
Nous avons de plus : Nous avons de plus :
 
2 0
D 2 f (x) = D 2 f (x) =
0 2

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 104 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 104

Bases théoriques de l’optimisation Bases théoriques de l’optimisation

Exemple Exemple

Soit f : R2 → R tel que f (x) = x12 + x22 Soit f : R2 → R tel que f (x) = x12 + x22
Nous avons :   Nous avons :  
2x1 2x1
∇f (x) = ∇f (x) =
2x2 2x2
Par ailleurs : ∇f (x) = 0 ⇒ x = (0, 0) Par ailleurs : ∇f (x) = 0 ⇒ x = (0, 0)
Nous avons de plus : Nous avons de plus :
   
2 2 0 2 0
D f (x) = D 2 f (x) =
0 2 0 2
qui est définie positive qui est définie positive
x = 0 = (0, 0) vérifie les CNPO, CNSO et CSSO donc il s’agit d’un
minimiseur local strict et f (0) = 0 est le minimum local de f

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 104 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 104
Bases théoriques de l’optimisation Optimisation sans contrainte

Exemple (suite) Rappel du Sommaire


Illustration :
Exemple de minimiseur local strict 1 Rappels de concepts mathématiques

2 Bases théoriques de l’optimisation


8
7
6
3 Optimisation sans contrainte
5
4 4 Optimisation linéaire avec contraintes
x12 + x22 3
2
5 Optimisation non linéaire avec contraintes
1
02
1.5 6 Optimisation convexe
1 2
0.5
0 0.5 1 1.5
-0.5
x2 -1 -1 -0.5 0 x1
-1.5 7 Algorithmes pour problèmes contraints
-2-2 -1.5
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 105 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 106

Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Rappel du Sommaire Optimisation unidimensionnelle

1 Rappels de concepts mathématiques

2 Bases théoriques de l’optimisation Nous nous intéressons exclusivement dans cette sous-section aux
fonctions objectif f : R → R
3 Optimisation sans contrainte
Optimisation unidimensionnelle Nous étudions des méthodes permettant de déterminer un minimiseur
Optimisation multidimensionnelle de f sur un intervalle [a0 , b0 ]

4 Optimisation linéaire avec contraintes Nous supposons que f est unimodale sur [a0 , b0 ] ce qui signifie que f
a un unique minimiseur local sur cet intervalle
5 Optimisation non linéaire avec contraintes

6 Optimisation convexe

7 Algorithmes pour
J. Ah-Pine (Univ-Lyon 2) problèmes contraints
Optimisation M1 Informatique 2014-2015 / 107 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 108
Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Fonction unimodale Fonction unimodale


Définition. (Fonction unimodale) Définition. (Fonction unimodale)
On dit que f : R → R est unimodale sur un intervalle [a0 , b0 ] si elle admet On dit que f : R → R est unimodale sur un intervalle [a0 , b0 ] si elle admet
un minimum x ∗ sur [a0 , b0 ] et si ∀a1 < b1 dans [a0 , b0 ] : un minimum x ∗ sur [a0 , b0 ] et si ∀a1 < b1 dans [a0 , b0 ] :
b1 ≤ x ∗ ⇒ f (a1 ) > f (b1 ) (équivalent à f (a1 ) ≤ f (b1 ) ⇒ x ∗ ≤ b1 ) b1 ≤ x ∗ ⇒ f (a1 ) > f (b1 ) (équivalent à f (a1 ) ≤ f (b1 ) ⇒ x ∗ ≤ b1 )
a1 ≥ x ∗ ⇒ f (a1 ) < f (b1 ) (équivalent à f (a1 ) ≥ f (b1 ) ⇒ a1 ≤ x ∗ ) a1 ≥ x ∗ ⇒ f (a1 ) < f (b1 ) (équivalent à f (a1 ) ≥ f (b1 ) ⇒ a1 ≤ x ∗ )

Illustration :
f (x)

x
O a0 b0
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 109 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 109

Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Méthodes de type “encadrement de minimiseur” Méthodes de type “encadrement de minimiseur”


Principe : Principe :
On évalue la fonction objectif à différents points de [a0 , b0 ] On évalue la fonction objectif à différents points de [a0 , b0 ]
On choisit ces points de sorte à approximer le minimiseur appartenant On choisit ces points de sorte à approximer le minimiseur appartenant
à un intervalle plus petit à un intervalle plus petit
On rétrécit donc progressivement l’intervalle jusqu’à obtenir une On rétrécit donc progressivement l’intervalle jusqu’à obtenir une
précision suffisamment fine de x ∗ précision suffisamment fine de x ∗
Pseudo-code :
Input : f , [a0 , b0 ], 
1 t←0
2 Tant que |at − bt | >  faire
3 t ←t +1
4 Trouver [at , bt ] tel que x ∗ ∈ [at , bt ]
et |at − bt | < |at−1 − bt−1 |
5 Fin Tant que
6 Output : [at , bt ] où x ∗ = at +b2
t

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 110 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 110
Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Méthodes de type “encadrement de minimiseur” Méthode de la section ou du nombre d’or


Principe :
On évalue la fonction objectif à différents points de [a0 , b0 ]
On choisit ces points de sorte à approximer le minimiseur appartenant On détermine deux points intermédiaires a1 et b1 de telle sorte à ce
à un intervalle plus petit que la réduction de l’étendue du nouvel intervalle soit symétrique par
On rétrécit donc progressivement l’intervalle jusqu’à obtenir une rapport aux bornes : a1 − a0 = b0 − b1 = ρ(b0 − a0 ) avec ρ < 21
précision suffisamment fine de x ∗
Pseudo-code :
Input : f , [a0 , b0 ], 
1 t←0
2 Tant que |at − bt | >  faire
3 t ←t +1
4 Trouver [at , bt ] tel que x ∗ ∈ [at , bt ]
et |at − bt | < |at−1 − bt−1 |
5 Fin Tant que
6 Output : [at , bt ] où x ∗ = at +b2
t

Quelques méthodes particulières : section d’or, Fibonacci


J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 110 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 111

Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Méthode de la section ou du nombre d’or Méthode de la section ou du nombre d’or

On détermine deux points intermédiaires a1 et b1 de telle sorte à ce On détermine deux points intermédiaires a1 et b1 de telle sorte à ce
que la réduction de l’étendue du nouvel intervalle soit symétrique par que la réduction de l’étendue du nouvel intervalle soit symétrique par
rapport aux bornes : a1 − a0 = b0 − b1 = ρ(b0 − a0 ) avec ρ < 21 rapport aux bornes : a1 − a0 = b0 − b1 = ρ(b0 − a0 ) avec ρ < 21
Illustration : Illustration :

x x
a0 a1 b1 b0 a0 a1 b1 b0
On évalue f (a1 ) et f (b1 ) :
I Si f (a1 ) ≤ f (b1 ) alors x ∗ ∈ [a0 , b1 ]
I Si f (a1 ) ≥ f (b1 ) alors x ∗ ∈ [a1 , b0 ]

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 111 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 111
Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Méthode de la section ou du nombre d’or Méthode de la section d’or (suite)

On détermine deux points intermédiaires a1 et b1 de telle sorte à ce Illustration :


que la réduction de l’étendue du nouvel intervalle soit symétrique par f (x)
rapport aux bornes : a1 − a0 = b0 − b1 = ρ(b0 − a0 ) avec ρ < 21
Illustration :

x
a0 a1 b1 b0
f (b1 )
On évalue f (a1 ) et f (b1 ) :
f (a1 )
I Si f (a1 ) ≤ f (b1 ) alors x ∗ ∈ [a0 , b1 ]
I Si f (a1 ) ≥ f (b1 ) alors x ∗ ∈ [a1 , b0 ]
x
On peut ensuite réitérer le procédé en gardant la même valeur de ρ O a0 a1 b1 b0

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 111 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 112

Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Méthode de la section d’or (suite) Méthode de la section d’or (suite)

Dans l’exemple précédent, on sait que x ∗ ∈ [a0 , b1 ] mais aussi que Dans l’exemple précédent, on sait que x ∗ ∈ [a0 , b1 ] mais aussi que
a1 ∈ [a0 , b1 ] a1 ∈ [a0 , b1 ]
Or on a déjà évalué f (a1 ) et on pourrait le faire coı̈ncider avec b2 . En Or on a déjà évalué f (a1 ) et on pourrait le faire coı̈ncider avec b2 . En
effet, ainsi, lors de la prochaine itération on n’aurait qu’à évaluer a2 effet, ainsi, lors de la prochaine itération on n’aurait qu’à évaluer a2
uniquement uniquement
Pour déterminer ρ on suppose, sans perte de généralité, que
l’intervalle [a0 , b0 ] est de longueur 1 et on pose alors le problème
suivant : ρ(b1 − a0 ) = b1 − b2

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 113 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 113
Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Méthode de la section d’or (suite) Méthode de la section d’or (suite)

Dans l’exemple précédent, on sait que x ∗ ∈ [a0 , b1 ] mais aussi que Dans l’exemple précédent, on sait que x ∗ ∈ [a0 , b1 ] mais aussi que
a1 ∈ [a0 , b1 ] a1 ∈ [a0 , b1 ]
Or on a déjà évalué f (a1 ) et on pourrait le faire coı̈ncider avec b2 . En Or on a déjà évalué f (a1 ) et on pourrait le faire coı̈ncider avec b2 . En
effet, ainsi, lors de la prochaine itération on n’aurait qu’à évaluer a2 effet, ainsi, lors de la prochaine itération on n’aurait qu’à évaluer a2
uniquement uniquement
Pour déterminer ρ on suppose, sans perte de généralité, que Pour déterminer ρ on suppose, sans perte de généralité, que
l’intervalle [a0 , b0 ] est de longueur 1 et on pose alors le problème l’intervalle [a0 , b0 ] est de longueur 1 et on pose alors le problème
suivant : ρ(b1 − a0 ) = b1 − b2 suivant : ρ(b1 − a0 ) = b1 − b2
Comme b1 − a0 = 1 − ρ et b1 − b2 = 1 − 2ρ on a ρ(1 − ρ) = 1 − 2ρ Comme b1 − a0 = 1 − ρ et b1 − b2 = 1 − 2ρ on a ρ(1 − ρ) = 1 − 2ρ

3± 5
La solution de l’équation du 2nd degré précédente est : ρ = 2 et

comme ρ < 1
2 on prend la solution ρ∗ = 3− 5
2 ' 0.382

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 113 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 113

Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Méthode de la section d’or (suite) Méthode de la section d’or (suite)

Dans l’exemple précédent, on sait que x ∗ ∈ [a0 , b1 ] mais aussi que


a1 ∈ [a0 , b1 ]
Illustration :
Or on a déjà évalué f (a1 ) et on pourrait le faire coı̈ncider avec b2 . En
b 0 − a0 = 1
effet, ainsi, lors de la prochaine itération on n’aurait qu’à évaluer a2
uniquement 1−ρ
Pour déterminer ρ on suppose, sans perte de généralité, que
l’intervalle [a0 , b0 ] est de longueur 1 et on pose alors le problème ρ 1 − 2ρ ρ
suivant : ρ(b1 − a0 ) = b1 − b2
Comme b1 − a0 = 1 − ρ et b1 − b2 = 1 − 2ρ on a ρ(1 − ρ) = 1 − 2ρ

3± 5
La solution de l’équation du 2nd degré précédente est : ρ = 2 et a0 a1 = b 2 b1 b0

comme ρ < 1
2 on prend la solution ρ∗ = 3− 5
2 ' 0.382
Remarque : 2 + ρ∗ = Nombre d’or (solution de l’équation x 2 = x + 1)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 113 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 114
Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Algorithme de la méthode de la section d’or Exemple


Input : f , [a0 , b0 ],  Utilisons la méthode de la section d’or pour déterminer un minimiseur
1 a ← a0 + ρ∗ (b0 − a0 ) ; va ← f (a) local de f (x) = x 4 − 14x 3 + 60x 2 − 70x dans l’intervalle [0, 2] avec
2 b ← b0 − ρ∗ (b0 − a0 ) ; vb ← f (b) une précision  = 0.3
3 Tant que |a0 − b0 | >  faire
4 Si va < vb faire
5 b0 ← b
6 b ← a ; vb ← va
7 a ← a0 + ρ∗ (b0 − a0 ) ; va ← f (a)
8 Sinon faire
9 a0 ← a
10 a ← b ; va ← vb
11 b ← b0 − ρ∗ (b0 − a0 ) ; vb ← f (b)
12 Fin Si
13 Fin Tant que
14 Output : [a0 , b0 ] où x ∗ = a0 +b
2
0

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 115 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 116

Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Exemple Exemple
Utilisons la méthode de la section d’or pour déterminer un minimiseur Utilisons la méthode de la section d’or pour déterminer un minimiseur
local de f (x) = x 4 − 14x 3 + 60x 2 − 70x dans l’intervalle [0, 2] avec local de f (x) = x 4 − 14x 3 + 60x 2 − 70x dans l’intervalle [0, 2] avec
une précision  = 0.3 une précision  = 0.3
Déroulement de l’algorithme : Déroulement de l’algorithme :
Initialisation Initialisation
1 a ← a0 + ρ∗ (b0 − a0 ) = 0.7639 ; va ← f (a) = −24.36 1 a ← a0 + ρ∗ (b0 − a0 ) = 0.7639 ; va ← f (a) = −24.36
2 b ← b0 − ρ∗ (b0 − a0 ) = 1.236 ; vb ← f (b) = −18.96

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 116 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 116
Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Exemple Exemple
Utilisons la méthode de la section d’or pour déterminer un minimiseur Utilisons la méthode de la section d’or pour déterminer un minimiseur
local de f (x) = x 4 − 14x 3 + 60x 2 − 70x dans l’intervalle [0, 2] avec local de f (x) = x 4 − 14x 3 + 60x 2 − 70x dans l’intervalle [0, 2] avec
une précision  = 0.3 une précision  = 0.3
Déroulement de l’algorithme : Déroulement de l’algorithme :
Initialisation Initialisation
1 a ← a0 + ρ∗ (b0 − a0 ) = 0.7639 ; va ← f (a) = −24.36 1 a ← a0 + ρ∗ (b0 − a0 ) = 0.7639 ; va ← f (a) = −24.36
2 b ← b0 − ρ∗ (b0 − a0 ) = 1.236 ; vb ← f (b) = −18.96 2 b ← b0 − ρ∗ (b0 − a0 ) = 1.236 ; vb ← f (b) = −18.96

Itération 1 Itération 1
3 |a0 − b0 | = 2 > 0.3 3 |a0 − b0 | = 2 > 0.3
4 va < vb

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 116 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 116

Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Exemple Exemple
Utilisons la méthode de la section d’or pour déterminer un minimiseur Utilisons la méthode de la section d’or pour déterminer un minimiseur
local de f (x) = x 4 − 14x 3 + 60x 2 − 70x dans l’intervalle [0, 2] avec local de f (x) = x 4 − 14x 3 + 60x 2 − 70x dans l’intervalle [0, 2] avec
une précision  = 0.3 une précision  = 0.3
Déroulement de l’algorithme : Déroulement de l’algorithme :
Initialisation Initialisation
1 a ← a0 + ρ∗ (b0 − a0 ) = 0.7639 ; va ← f (a) = −24.36 1 a ← a0 + ρ∗ (b0 − a0 ) = 0.7639 ; va ← f (a) = −24.36
2 b ← b0 − ρ∗ (b0 − a0 ) = 1.236 ; vb ← f (b) = −18.96 2 b ← b0 − ρ∗ (b0 − a0 ) = 1.236 ; vb ← f (b) = −18.96

Itération 1 Itération 1
3 |a0 − b0 | = 2 > 0.3 3 |a0 − b0 | = 2 > 0.3
4 va < vb 4 va < vb
5 b0 ← b = 1.236 5 b0 ← b = 1.236
6 b ← a = 0.7639 ; vb ← va = −24.36

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 116 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 116
Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Exemple Exemple (suite)


Utilisons la méthode de la section d’or pour déterminer un minimiseur
local de f (x) = x 4 − 14x 3 + 60x 2 − 70x dans l’intervalle [0, 2] avec Itération 2
une précision  = 0.3 3 |a0 − b0 | > 0.3
Déroulement de l’algorithme :
Initialisation
1 a ← a0 + ρ∗ (b0 − a0 ) = 0.7639 ; va ← f (a) = −24.36
2 b ← b0 − ρ∗ (b0 − a0 ) = 1.236 ; vb ← f (b) = −18.96

Itération 1
3 |a0 − b0 | = 2 > 0.3
4 va < vb
5 b0 ← b = 1.236
6 b ← a = 0.7639 ; vb ← va = −24.36
7 a ← a0 + ρ∗ (b0 − a0 ) = 0.4721 ; va ← f (a) = −21.10

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 116 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 117

Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Exemple (suite) Exemple (suite)

Itération 2 Itération 2
3 |a0 − b0 | > 0.3 3 |a0 − b0 | > 0.3
8 vb ≤ va 8 vb ≤ va
9 a0 ← a = 0.4721

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 117 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 117
Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Exemple (suite) Exemple (suite)

Itération 2 Itération 2
3 |a0 − b0 | > 0.3 3 |a0 − b0 | > 0.3
8 vb ≤ va 8 vb ≤ va
9 a0 ← a = 0.4721 9 a0 ← a = 0.4721
10 a ← b = 0.7639 ; va ← vb = −24.36 10 a ← b = 0.7639 ; va ← vb = −24.36
11 b ← b0 − ρ∗ (b0 − a0 ) = 0.9443 ; vb ← f (b) = −23.59

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 117 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 117

Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Exemple (suite) Exemple (suite)

Itération 2 Itération 2
3 |a0 − b0 | > 0.3 3 |a0 − b0 | > 0.3
8 vb ≤ va 8 vb ≤ va
9 a0 ← a = 0.4721 9 a0 ← a = 0.4721
10 a ← b = 0.7639 ; va ← vb = −24.36 10 a ← b = 0.7639 ; va ← vb = −24.36
11 b ← b0 − ρ∗ (b0 − a0 ) = 0.9443 ; vb ← f (b) = −23.59 11 b ← b0 − ρ∗ (b0 − a0 ) = 0.9443 ; vb ← f (b) = −23.59

Itération 3 Itération 3
3 |a0 − b0 | > 0.3 3 |a0 − b0 | > 0.3
4 va < vb

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 117 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 117
Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Exemple (suite) Exemple (suite)

Itération 2 Itération 2
3 |a0 − b0 | > 0.3 3 |a0 − b0 | > 0.3
8 vb ≤ va 8 vb ≤ va
9 a0 ← a = 0.4721 9 a0 ← a = 0.4721
10 a ← b = 0.7639 ; va ← vb = −24.36 10 a ← b = 0.7639 ; va ← vb = −24.36
11 b ← b0 − ρ∗ (b0 − a0 ) = 0.9443 ; vb ← f (b) = −23.59 11 b ← b0 − ρ∗ (b0 − a0 ) = 0.9443 ; vb ← f (b) = −23.59

Itération 3 Itération 3
3 |a0 − b0 | > 0.3 3 |a0 − b0 | > 0.3
4 va < vb 4 va < vb
5 b0 ← b = 0.9443 5 b0 ← b = 0.9443
6 b ← a = 0.7639 ; vb ← va = −24.36

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 117 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 117

Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Exemple (suite) Exemple (suite)

Itération 2
3 |a0 − b0 | > 0.3 Itération 4
8 vb ≤ va 3 |a0 − b0 | > 0.3
9 a0 ← a = 0.4721
10 a ← b = 0.7639 ; va ← vb = −24.36
11 b ← b0 − ρ∗ (b0 − a0 ) = 0.9443 ; vb ← f (b) = −23.59

Itération 3
3 |a0 − b0 | > 0.3
4 va < vb
5 b0 ← b = 0.9443
6 b ← a = 0.7639 ; vb ← va = −24.36
7 a ← a0 + ρ∗ (b0 − a0 ) = 0.6525 ; va ← f (a) = −23.84

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 117 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 118
Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Exemple (suite) Exemple (suite)

Itération 4 Itération 4
3 |a0 − b0 | > 0.3 3 |a0 − b0 | > 0.3
8 vb ≤ va 8 vb ≤ va
9 a0 ← a = 0.6525

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 118 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 118

Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Exemple (suite) Exemple (suite)

Itération 4 Itération 4
3 |a0 − b0 | > 0.3 3 |a0 − b0 | > 0.3
8 vb ≤ va 8 vb ≤ va
9 a0 ← a = 0.6525 9 a0 ← a = 0.6525
10 a ← b = 0.7639 ; va ← vb = −24.36 10 a ← b = 0.7639 ; va ← vb = −24.36
11 b ← b0 − ρ∗ (b0 − a0 ) = 0.8328 ; vb ← f (b) = −24.288

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 118 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 118
Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Exemple (suite) Exemple (suite)

Itération 4 Itération 4
3 |a0 − b0 | > 0.3 3 |a0 − b0 | > 0.3
8 vb ≤ va 8 vb ≤ va
9 a0 ← a = 0.6525 9 a0 ← a = 0.6525
10 a ← b = 0.7639 ; va ← vb = −24.36 10 a ← b = 0.7639 ; va ← vb = −24.36
11 b ← b0 − ρ∗ (b0 − a0 ) = 0.8328 ; vb ← f (b) = −24.288 11 b ← b0 − ρ∗ (b0 − a0 ) = 0.8328 ; vb ← f (b) = −24.288

Fin de l’algorithme Fin de l’algorithme


3 |a0 − b0 | < 0.3 3 |a0 − b0 | < 0.3
14 [a0 , b0 ] = [0.6525, 0.9443]

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 118 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 118

Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Méthode de Newton Méthode de Newton


Dans la méthode de Newton, on suppose que f est de classe C 2 et que Dans la méthode de Newton, on suppose que f est de classe C 2 et que
l’on peut donc calculer en tout point xk ∈ R : f (xk ), f 0 (xk ), f 00 (xk ) l’on peut donc calculer en tout point xk ∈ R : f (xk ), f 0 (xk ), f 00 (xk )
On peut sous ces hypothèses approximer f au voisinage de xk par une
forme quadratique q : R → R de la forme suivante :
q(x) = f (xk ) + f 0 (xk )(x − xk ) + 12 f 00 (xk )(x − xk )2

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 119 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 119
Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Méthode de Newton Méthode de Newton


Dans la méthode de Newton, on suppose que f est de classe C 2 et que Dans la méthode de Newton, on suppose que f est de classe C 2 et que
l’on peut donc calculer en tout point xk ∈ R : f (xk ), f 0 (xk ), f 00 (xk ) l’on peut donc calculer en tout point xk ∈ R : f (xk ), f 0 (xk ), f 00 (xk )
On peut sous ces hypothèses approximer f au voisinage de xk par une On peut sous ces hypothèses approximer f au voisinage de xk par une
forme quadratique q : R → R de la forme suivante : forme quadratique q : R → R de la forme suivante :
q(x) = f (xk ) + f 0 (xk )(x − xk ) + 12 f 00 (xk )(x − xk )2 q(x) = f (xk ) + f 0 (xk )(x − xk ) + 12 f 00 (xk )(x − xk )2
Remarque : q(xk ) = f (xk ), q 0 (xk ) = f 0 (xk ), q 00 (xk ) = f 00 (xk ) Remarque : q(xk ) = f (xk ), q 0 (xk ) = f 0 (xk ), q 00 (xk ) = f 00 (xk )
Dans cette approche au lieu de minimiser f , on minimise son
approximation q au voisinage d’un point xk

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 119 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 119

Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Méthode de Newton Méthode de Newton


Dans la méthode de Newton, on suppose que f est de classe C 2 et que Dans la méthode de Newton, on suppose que f est de classe C 2 et que
l’on peut donc calculer en tout point xk ∈ R : f (xk ), f 0 (xk ), f 00 (xk ) l’on peut donc calculer en tout point xk ∈ R : f (xk ), f 0 (xk ), f 00 (xk )
On peut sous ces hypothèses approximer f au voisinage de xk par une On peut sous ces hypothèses approximer f au voisinage de xk par une
forme quadratique q : R → R de la forme suivante : forme quadratique q : R → R de la forme suivante :
q(x) = f (xk ) + f 0 (xk )(x − xk ) + 12 f 00 (xk )(x − xk )2 q(x) = f (xk ) + f 0 (xk )(x − xk ) + 12 f 00 (xk )(x − xk )2
Remarque : q(xk ) = f (xk ), q 0 (xk ) = f 0 (xk ), q 00 (xk ) = f 00 (xk ) Remarque : q(xk ) = f (xk ), q 0 (xk ) = f 0 (xk ), q 00 (xk ) = f 00 (xk )
Dans cette approche au lieu de minimiser f , on minimise son Dans cette approche au lieu de minimiser f , on minimise son
approximation q au voisinage d’un point xk approximation q au voisinage d’un point xk
Les CNPO pour un minimiseur de q sont alors : Les CNPO pour un minimiseur de q sont alors :
q 0 (x) = 0 ⇒ q 0 (x) = 0 ⇒ f 0 (xk ) + f 00 (xk )(x − xk ) = 0

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 119 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 119
Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Méthode de Newton Méthode de Newton


Dans la méthode de Newton, on suppose que f est de classe C 2 et que Dans la méthode de Newton, on suppose que f est de classe C 2 et que
l’on peut donc calculer en tout point xk ∈ R : f (xk ), f 0 (xk ), f 00 (xk ) l’on peut donc calculer en tout point xk ∈ R : f (xk ), f 0 (xk ), f 00 (xk )
On peut sous ces hypothèses approximer f au voisinage de xk par une On peut sous ces hypothèses approximer f au voisinage de xk par une
forme quadratique q : R → R de la forme suivante : forme quadratique q : R → R de la forme suivante :
q(x) = f (xk ) + f 0 (xk )(x − xk ) + 12 f 00 (xk )(x − xk )2 q(x) = f (xk ) + f 0 (xk )(x − xk ) + 12 f 00 (xk )(x − xk )2
Remarque : q(xk ) = f (xk ), q 0 (xk ) = f 0 (xk ), q 00 (xk ) = f 00 (xk ) Remarque : q(xk ) = f (xk ), q 0 (xk ) = f 0 (xk ), q 00 (xk ) = f 00 (xk )
Dans cette approche au lieu de minimiser f , on minimise son Dans cette approche au lieu de minimiser f , on minimise son
approximation q au voisinage d’un point xk approximation q au voisinage d’un point xk
Les CNPO pour un minimiseur de q sont alors : Les CNPO pour un minimiseur de q sont alors :
q 0 (x) = 0 ⇒ f 0 (xk ) + f 00 (xk )(x − xk ) = 0 q 0 (x) = 0 ⇒ f 0 (xk ) + f 00 (xk )(x − xk ) = 0
En posant xk+1 = x on obtient une formule itérative permettant de En posant xk+1 = x on obtient une formule itérative permettant de
converger vers le minimiseur : converger vers le minimiseur :
0 0
xk+1 = xk − ff 00(x k)
(xk ) xk+1 = xk − ff 00(x k)
(xk )
Méthode basée sur les dérivées premières et secondes de f

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 119 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 119

Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Méthode de Newton Algorithme de la méthode de Newton


Dans la méthode de Newton, on suppose que f est de classe C 2 et que
l’on peut donc calculer en tout point xk ∈ R : f (xk ), f 0 (xk ), f 00 (xk )
On peut sous ces hypothèses approximer f au voisinage de xk par une Input : f , [a0 , b0 ], 
forme quadratique q : R → R de la forme suivante : 1 Prendre x, y ∈ [a0 , b0 ] tel que |x − y | > 
q(x) = f (xk ) + f 0 (xk )(x − xk ) + 12 f 00 (xk )(x − xk )2 2 Tant que |x − y | >  faire
3 y ←x
Remarque : q(xk ) = f (xk ), q 0 (xk ) = f 0 (xk ), q 00 (xk ) = f 00 (xk ) 0
Dans cette approche au lieu de minimiser f , on minimise son 4 x ← x − ff 00(x) (x)
approximation q au voisinage d’un point xk 5 Fin Tant que
Les CNPO pour un minimiseur de q sont alors : 6 Output : x
q 0 (x) = 0 ⇒ f 0 (xk ) + f 00 (xk )(x − xk ) = 0
En posant xk+1 = x on obtient une formule itérative permettant de
converger vers le minimiseur :
0
xk+1 = xk − ff 00(x k)
(xk )
Méthode basée sur les dérivées premières et secondes de f
Autres méthodes basées sur les dérivées premières : méthode
dichotomique, méthode de laOptimisation
J. Ah-Pine (Univ-Lyon 2)
sécante M1 Informatique 2014-2015 / 119 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 120
Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Algorithme de la méthode de Newton Illustration

Cas où l’algorithme converge.


Input : f , [a0 , b0 ], 
1 Prendre x, y ∈ [a0 , b0 ] tel que |x − y | > 
2 Tant que |x − y | >  faire q(x)
3 y ←x
0
4 x ← x − ff 00(x) (x) f (x)
5 Fin Tant que
6 Output : x

La méthode marche bien si f 00 (x) ≥ 0 partout sur [a0 , b0 ]


La méthode peut ne pas converger s’il existe des x ∈ [a0 , b0 ] tel que x
f 00 (x) < 0 O xk
xk+1

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 120 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 121

Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Illustration (suite) Exemple


Cas où l’algorithme peut ne pas converger. Utilisons la méthode de la section de Newton pour déterminer un
minimiseur local de f (x) = 12 x 2 − sin(x) avec x0 = 0.5 dans
e) l’intervalle [0, 1] avec une précision  = 10−5

f (x)

q(x)

x
O xk
xk+1

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 122 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 123
Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Exemple Exemple
Utilisons la méthode de la section de Newton pour déterminer un Utilisons la méthode de la section de Newton pour déterminer un
minimiseur local de f (x) = 12 x 2 − sin(x) avec x0 = 0.5 dans minimiseur local de f (x) = 12 x 2 − sin(x) avec x0 = 0.5 dans
l’intervalle [0, 1] avec une précision  = 10−5 l’intervalle [0, 1] avec une précision  = 10−5
Calcul des dérivées : Calcul des dérivées :
I f 0 (x) = I f 0 (x) = x − cos(x)
I f 00 (x) =

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 123 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 123

Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Exemple Exemple
Utilisons la méthode de la section de Newton pour déterminer un Utilisons la méthode de la section de Newton pour déterminer un
minimiseur local de f (x) = 12 x 2 − sin(x) avec x0 = 0.5 dans minimiseur local de f (x) = 12 x 2 − sin(x) avec x0 = 0.5 dans
l’intervalle [0, 1] avec une précision  = 10−5 l’intervalle [0, 1] avec une précision  = 10−5
Calcul des dérivées : Calcul des dérivées :
I f 0 (x) = x − cos(x) I f 0 (x) = x − cos(x)
I f 00 (x) = 1 + sin(x) I f 00 (x) = 1 + sin(x)

Déroulement de l’algorithme :
Initialisation
1 x ← 0.5 ; y ← 0.6

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 123 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 123
Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Exemple Exemple
Utilisons la méthode de la section de Newton pour déterminer un Utilisons la méthode de la section de Newton pour déterminer un
minimiseur local de f (x) = 12 x 2 − sin(x) avec x0 = 0.5 dans minimiseur local de f (x) = 12 x 2 − sin(x) avec x0 = 0.5 dans
l’intervalle [0, 1] avec une précision  = 10−5 l’intervalle [0, 1] avec une précision  = 10−5
Calcul des dérivées : Calcul des dérivées :
I f 0 (x) = x − cos(x) I f 0 (x) = x − cos(x)
I f 00 (x) = 1 + sin(x) I f 00 (x) = 1 + sin(x)

Déroulement de l’algorithme : Déroulement de l’algorithme :


Initialisation Initialisation
1 x ← 0.5 ; y ← 0.6 1 x ← 0.5 ; y ← 0.6

Itération 1 Itération 1
2 |x − y | > 10−5 2 |x − y | > 10−5
3 y ← x = 0.5

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 123 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 123

Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Exemple Exemple (suite)


Utilisons la méthode de la section de Newton pour déterminer un Itération 2
minimiseur local de f (x) = 12 x 2 − sin(x) avec x0 = 0.5 dans 2 |x − y | > 10−5
l’intervalle [0, 1] avec une précision  = 10−5
Calcul des dérivées :
I f 0 (x) = x − cos(x)
I f 00 (x) = 1 + sin(x)

Déroulement de l’algorithme :
Initialisation
1 x ← 0.5 ; y ← 0.6

Itération 1
2 |x − y | > 10−5
3 y ← x = 0.5
0
4 x ← x − ff 00(x)
(x) = 0.5 −
0.5−cos(0.5)
1+sin(0.5) = 0.7552

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 123 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 124
Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Exemple (suite) Exemple (suite)


Itération 2 Itération 2
2 |x − y | > 10−5 2 |x − y | > 10−5
3 y ← x = 0.7552 3 y ← x = 0.7552
0
4 x ← x − ff 00(x)
(x) = 0.7552 −
0.7552−cos(0.7552)
1+sin(0.7552) = 0.7391

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 124 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 124

Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Exemple (suite) Exemple (suite)


Itération 2 Itération 2
2 |x − y | > 10−5 2 |x − y | > 10−5
3 y ← x = 0.7552 3 y ← x = 0.7552
0 0
4 x ← x − ff 00(x)
(x) = 0.7552 −
0.7552−cos(0.7552)
1+sin(0.7552) = 0.7391 4 x ← x − ff 00(x)
(x) = 0.7552 −
0.7552−cos(0.7552)
1+sin(0.7552) = 0.7391

Itération 3 Itération 3
2 |x − y | > 10−5 2 |x − y | > 10−5
3 y ← x = 0.7391

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 124 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 124
Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Exemple (suite) Exemple (suite)


Itération 2 Itération 2
2 |x − y | > 10−5 2 |x − y | > 10−5
3 y ← x = 0.7552 3 y ← x = 0.7552
0 0
4 x ← x − ff 00(x)
(x) = 0.7552 −
0.7552−cos(0.7552)
1+sin(0.7552) = 0.7391 4 x ← x − ff 00(x)
(x) = 0.7552 −
0.7552−cos(0.7552)
1+sin(0.7552) = 0.7391

Itération 3 Itération 3
2 |x − y | > 10−5 2 |x − y | > 10−5
3 y ← x = 0.7391 3 y ← x = 0.7391
0 0
4 x ← x − ff 00(x)
(x) = 0.7391 −
0.7391−cos(0.7391)
1+sin(0.7391) = 0.7390 4 x ← x − ff 00(x)
(x) = 0.7391 −
0.7391−cos(0.7391)
1+sin(0.7391) = 0.7390

Itération 4
2 |x − y | > 10−5

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 124 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 124

Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Exemple (suite) Exemple (suite)


Itération 2 Itération 2
2 |x − y | > 10−5 2 |x − y | > 10−5
3 y ← x = 0.7552 3 y ← x = 0.7552
0 0
4 x ← x − ff 00(x)
(x) = 0.7552 −
0.7552−cos(0.7552)
1+sin(0.7552) = 0.7391 4 x ← x − ff 00(x)
(x) = 0.7552 −
0.7552−cos(0.7552)
1+sin(0.7552) = 0.7391

Itération 3 Itération 3
2 |x − y | > 10−5 2 |x − y | > 10−5
3 y ← x = 0.7391 3 y ← x = 0.7391
0 0
4 x ← x − ff 00(x)
(x) = 0.7391 −
0.7391−cos(0.7391)
1+sin(0.7391) = 0.7390 4 x ← x − ff 00(x)
(x) = 0.7391 −
0.7391−cos(0.7391)
1+sin(0.7391) = 0.7390

Itération 4 Itération 4
2 |x − y | > 10−5 2 |x − y | > 10−5
3 y ← x = 0.7390 3 y ← x = 0.7390
0
4 x ← x − ff 00(x)
(x) = 0.7390 −
0.7390−cos(0.7390)
1+sin(0.7390) = 0.7390

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 124 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 124
Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Exemple (suite) Exemple (suite)


Fin de l’algorithme Fin de l’algorithme
2 |x − y | < 10−5 2 |x − y | < 10−5
6 x = 0.7390

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 125 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 125

Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation unidimensionnelle

Exemple (suite) Méthode de la sécante


Fin de l’algorithme
2 |x − y | < 10−5 La méthode de Newton utilise la dérivée seconde mais si celle-ci n’est
6 x = 0.7390 pas facilement calculable, on peut tenter de l’approximer en utilisant
la dérivée première :
Illustration : f 0 (xk )−f 0 (xk−1 )
1 2 f 00 (xk ) ' xk −xk−1
f (x) = 2x − sin(x)
0

-0.1

-0.2

-0.3

-0.4

-0.50 0.2 0.4 0.6 0.8 1


x
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 125 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 126
Optimisation sans contrainte Optimisation unidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Méthode de la sécante Rappel du Sommaire

La méthode de Newton utilise la dérivée seconde mais si celle-ci n’est 1 Rappels de concepts mathématiques
pas facilement calculable, on peut tenter de l’approximer en utilisant
la dérivée première : 2 Bases théoriques de l’optimisation
f 0 (xk )−f 0 (xk−1 )
f 00 (xk ) ' xk −xk−1
On a donc l’algorithme suivant : 3 Optimisation sans contrainte
Input : f , [a0 , b0 ],  Optimisation unidimensionnelle
1 Prendre x0 , x1 ∈ [a0 , b0 ] tel que |x0 − x1 | >  Optimisation multidimensionnelle
Algorithmes utilisant la dérivée première uniquement
2 k ←1 Algorithmes utilisant la dérivée seconde également
3 Tant que |xk − xk−1 | >  faire
x −x
4 xk+1 ← xk − f 0 (xk ) f 0 (xkk)−f k−1
0 (x
k−1 ) 4 Optimisation linéaire avec contraintes
5 k ←k +1
6 Fin Tant que 5 Optimisation non linéaire avec contraintes
7 Output : xk

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 126


6 Optimisation convexe
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 127

Optimisation sans contrainte Optimisation multidimensionnelle 7 Algorithmes pourOptimisation


problèmes contraints
sans contrainte Optimisation multidimensionnelle

Optimisation multidimensionnelle Optimisation multidimensionnelle

Nous nous intéressons dans cette sous-section aux fonctions objectif Nous nous intéressons dans cette sous-section aux fonctions objectif
multidimensionnelles (ou multivariables) f : Rn → R multidimensionnelles (ou multivariables) f : Rn → R

Les algorithmes que nous allons étudier reposent tous sur l’idée
générale suivante :
I On déterminer une suite de points dans S qui converge vers un
minimiseur local
I A chaque étape on détermine une nouvelle direction et un pas
permettant de trouver un nouveau point
I La direction est donnée par le gradient
I Il existe par contre plusieurs façon de déterminer le pas

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 128 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 128
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Optimisation multidimensionnelle Algorithmes de descente de gradient

Nous nous intéressons dans cette sous-section aux fonctions objectif


multidimensionnelles (ou multivariables) f : Rn → R Rappelons que le gradient de f en x0 , dénoté ∇f (x0 ) (s’il n’est pas le
vecteur nul) est orthogonal à un vecteur tangent à toute courbe
correspondant à une ligne de niveau passant par x0
Les algorithmes que nous allons étudier reposent tous sur l’idée
générale suivante :
I On déterminer une suite de points dans S qui converge vers un
minimiseur local
I A chaque étape on détermine une nouvelle direction et un pas
permettant de trouver un nouveau point
I La direction est donnée par le gradient
I Il existe par contre plusieurs façon de déterminer le pas

Ces algorithmes sont appelés algorithmes de descente

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 128 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 129

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Algorithmes de descente de gradient Algorithmes de descente de gradient

Rappelons que le gradient de f en x0 , dénoté ∇f (x0 ) (s’il n’est pas le Rappelons que le gradient de f en x0 , dénoté ∇f (x0 ) (s’il n’est pas le
vecteur nul) est orthogonal à un vecteur tangent à toute courbe vecteur nul) est orthogonal à un vecteur tangent à toute courbe
correspondant à une ligne de niveau passant par x0 correspondant à une ligne de niveau passant par x0

La direction du taux d’accroissement maximum de f en un point x0 La direction du taux d’accroissement maximum de f en un point x0
est donc orthogonal à la ligne de niveau de f passant par x0 est donc orthogonal à la ligne de niveau de f passant par x0

Dit autrement, si à partir de x0 on devait faire un petit déplacement,


alors la fonction f varie davantage en suivant la direction donnée par
le gradient de f en x0 que toute autre direction

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 129 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 129
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Algorithmes de descente de gradient (suite) Algorithmes de descente de gradient (suite)

Plus formellement : Plus formellement :

Soit d une direction telle que kdk = 1. Rappelons alors que Soit d une direction telle que kdk = 1. Rappelons alors que
h∇f (x), di est le taux d’accroissement de f dans la direction d au h∇f (x), di est le taux d’accroissement de f dans la direction d au
point x. En utilisant l’inégalité de Cauchy-Schwartz, nous obtenons : point x. En utilisant l’inégalité de Cauchy-Schwartz, nous obtenons :
h∇f (x), di ≤ k∇f (x)k h∇f (x), di ≤ k∇f (x)k

∇f (x)
Si par contre nous prenons d = k∇f (x)k alors nous obtenons :
∇f (x)
h∇f (x), k∇f (x)k i = k∇f (x)k

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 130 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 130

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Algorithmes de descente de gradient (suite) Algorithmes de descente de gradient (suite)

On en déduit que la direction −∇f (x) est celle conduisant au taux


Plus formellement :
d’accroissement négatif maximum (diminution) de f en x

Soit d une direction telle que kdk = 1. Rappelons alors que


h∇f (x), di est le taux d’accroissement de f dans la direction d au
point x. En utilisant l’inégalité de Cauchy-Schwartz, nous obtenons :
h∇f (x), di ≤ k∇f (x)k

∇f (x)
Si par contre nous prenons d = k∇f (x)k alors nous obtenons :
∇f (x)
h∇f (x), k∇f (x)k i = k∇f (x)k

Nous venons de montrer que la direction suivie par ∇f (x) est celle du
taux d’accroissement maximum de f en x

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 130 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 131
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Algorithmes de descente de gradient (suite) Algorithmes de descente de gradient (suite)

On en déduit que la direction −∇f (x) est celle conduisant au taux On en déduit que la direction −∇f (x) est celle conduisant au taux
d’accroissement négatif maximum (diminution) de f en x d’accroissement négatif maximum (diminution) de f en x

Dit autrement, la direction −∇f (x) est la direction qu’il faut suivre Dit autrement, la direction −∇f (x) est la direction qu’il faut suivre
pour trouver un minimiseur de f en partant de x : on parle alors pour trouver un minimiseur de f en partant de x : on parle alors
d’algorithmes de descente de gradient d’algorithmes de descente de gradient

Plus formellement :
I De x(0) , on considère le point x(0) − α∇f (x(0) ) et d’après le
développement de Taylor on a :
f (x(0) − α∇f (x(0) )) = f (x(0) ) − αk∇f (x(0) )k2 + o(α)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 131 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 131

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Algorithmes de descente de gradient (suite) Algorithmes de descente de gradient (suite)

On en déduit que la direction −∇f (x) est celle conduisant au taux On en déduit que la direction −∇f (x) est celle conduisant au taux
d’accroissement négatif maximum (diminution) de f en x d’accroissement négatif maximum (diminution) de f en x

Dit autrement, la direction −∇f (x) est la direction qu’il faut suivre Dit autrement, la direction −∇f (x) est la direction qu’il faut suivre
pour trouver un minimiseur de f en partant de x : on parle alors pour trouver un minimiseur de f en partant de x : on parle alors
d’algorithmes de descente de gradient d’algorithmes de descente de gradient

Plus formellement : Plus formellement :


I De x(0) , on considère le point x(0) − α∇f (x(0) ) et d’après le I De x(0) , on considère le point x(0) − α∇f (x(0) ) et d’après le
développement de Taylor on a : développement de Taylor on a :
f (x(0) − α∇f (x(0) )) = f (x(0) ) − αk∇f (x(0) )k2 + o(α) f (x(0) − α∇f (x(0) )) = f (x(0) ) − αk∇f (x(0) )k2 + o(α)
I Ainsi, si ∇f (x(0) ) 6= 0, alors pour α > 0 suffisamment petit on a : I Ainsi, si ∇f (x(0) ) 6= 0, alors pour α > 0 suffisamment petit on a :
f (x(0) − α∇f (x(0) )) < f (x(0) ) f (x(0) − α∇f (x(0) )) < f (x(0) )
I Donc, x = x − α∇f (x(0) ) est un point plus proche d’un
(1) (0)

minimiseur de f que x(0)


J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 131 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 131
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Illustration Pseudo-code de l’algorithme de descente de gradient

f (x1 , x2 )

Input : f ∈ C 1 , x0
1 k ←0
2 Tant que condition d’arrêt non satisfaite faire
3 Trouver un pas αk tel que f (x(k) − αk ∇f (x(k) )) < f (x(k) )
{x : f (x) = c} 4 x(k+1) ← x(k) − αk ∇f (x(k) )
5 k ←k +1
x2 6 Fin Tant que
7 Output : x(k)
x(0)

∇f (x(0) )
x1

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 132 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 133

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Algorithmes de descente de gradient (suite) Algorithmes de descente de gradient (suite)

Il existe plusieurs types de conditions d’arrêt : Il existe plusieurs types de conditions d’arrêt :
I Les conditions nécessaires CNPO, CNSO et CSSO I Les conditions nécessaires CNPO, CNSO et CSSO
I Précision  atteinte (voir plus loin) I Précision  atteinte (voir plus loin)

Comment déterminer le pas αk à chaque itération k ? On distingue :


I les méthodes utilisant la dérivée première uniquement
I les méthodes utilisant la dérivée seconde également
I les méthodes de recherche linéaire exacte et inexacte

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 134 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 134
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Méthode du pas optimal Méthode du pas optimal


On cherche αk tel que : On cherche αk tel que :
αk = arg min+ f (x(k) − α∇f (x(k) )) αk = arg min+ f (x(k) − α∇f (x(k) ))
α∈R | {z } α∈R | {z }
φ(α) φ(α)

Dit autrement, αk est le pas qui permet d’avoir la plus forte


diminution de f à chaque étape

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 135 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 135

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Méthode du pas optimal Méthode du pas optimal


On cherche αk tel que : On cherche αk tel que :
αk = arg min+ f (x(k) − α∇f (x(k) )) αk = arg min+ f (x(k) − α∇f (x(k) ))
α∈R | {z } α∈R | {z }
φ(α) φ(α)

Dit autrement, αk est le pas qui permet d’avoir la plus forte Dit autrement, αk est le pas qui permet d’avoir la plus forte
diminution de f à chaque étape diminution de f à chaque étape

En pratique on utilise une méthode de recherche linéaire ou En pratique on utilise une méthode de recherche linéaire ou
d’optimisation unidimensionnelle pour déterminer αk d’optimisation unidimensionnelle pour déterminer αk

On a alors la propriété suivante :


Propriété.
Si {x(k) } est une suite de vecteurs issus de la méthode du pas optimal
pour une fonction f : Rn → R alors pour chaque k, le vecteur x(k+1) − xk
est orthogonal au vecteur x(k+2) − x(k+1)
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 135 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 135
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Preuve de la propriété précédente Preuve de la propriété précédente

Démonstration. Démonstration.
Comme x(k+1) = x(k) − αk ∇f (x(k) ) on a : Comme x(k+1) = x(k) − αk ∇f (x(k) ) on a :
hx(k+2) − x(k+1) , x(k+1) − xk i = αk+1 αk h∇f (x(k+1) ), ∇f (x(k) )i hx(k+2) − x(k+1) , x(k+1) − xk i = αk+1 αk h∇f (x(k+1) ), ∇f (x(k) )i
Il suffit alors de montrer que h∇f (x(k+1) ), ∇f (x(k) )i = 0

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 136 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 136

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Preuve de la propriété précédente Preuve de la propriété précédente

Démonstration. Démonstration.
Comme x(k+1) = x(k) − αk ∇f (x(k) ) on a : Comme x(k+1) = x(k) − αk ∇f (x(k) ) on a :
hx(k+2) − x(k+1) , x(k+1) − xk i = αk+1 αk h∇f (x(k+1) ), ∇f (x(k) )i hx(k+2) − x(k+1) , x(k+1) − xk i = αk+1 αk h∇f (x(k+1) ), ∇f (x(k) )i
Il suffit alors de montrer que h∇f (x(k+1) ), ∇f (x(k) )i = 0 Il suffit alors de montrer que h∇f (x(k+1) ), ∇f (x(k) )i = 0
Posons φk (α) = f (x(k) − α∇f (x(k) )) Posons φk (α) = f (x(k) − α∇f (x(k) ))
Par définition αk = arg min φk (α)
α≥0

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 136 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 136
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Preuve de la propriété précédente Illustration

Démonstration.
f = c0
Comme x(k+1) = x(k) − αk ∇f (x(k) ) on a :
hx(k+2) − x(k+1) , x(k+1) − xk i = αk+1 αk h∇f (x(k+1) ), ∇f (x(k) )i
f = c1
Il suffit alors de montrer que h∇f (x(k+1) ), ∇f (x(k) )i = 0
Posons φk (α) = f (x(k) − α∇f (x(k) )) x(1)
f = c2
x(3)
Par définition αk = arg min φk (α) x∗
α≥0
f = c3
En utilisant la CNPO et la règle de dérivation on obtient :
0 = φ0k (αk ) x(2)
= dφ k
dα (αk )
= ∇f (x(k) − αk ∇f (x(k) ))t −∇f (x(k) )

x(0)
= −h∇f (x(k+1) ), ∇f (x(k) )i
c0 > c1 > c2 > c3

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 136 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 137

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Méthode du pas optimal (suite) Méthode du pas optimal (suite)


A chaque étape, la valeur de la fonction objectif diminue : A chaque étape, la valeur de la fonction objectif diminue :
Propriété. Propriété.
Si {x(k) }
est une suite de vecteurs issus de la méthode du pas optimal Si {x(k) } est une suite de vecteurs issus de la méthode du pas optimal
pour une fonction f : Rn → R et si ∇f (x(k) ) 6= 0 alors f (x(k+1) ) < f (x(k) ) pour une fonction f : Rn → R et si ∇f (x(k) ) 6= 0 alors f (x(k+1) ) < f (x(k) )

Si pour k, ∇f (x(k) ) = 0 alors le point x(k) satisfait la CNPO et on


obtient x(k+1) = x(k)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 138 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 138
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Méthode du pas optimal (suite) Méthode du pas optimal (suite)


A chaque étape, la valeur de la fonction objectif diminue : A chaque étape, la valeur de la fonction objectif diminue :
Propriété. Propriété.
Si {x(k) } est une suite de vecteurs issus de la méthode du pas optimal Si {x(k) } est une suite de vecteurs issus de la méthode du pas optimal
pour une fonction f : Rn → R et si ∇f (x(k) ) 6= 0 alors f (x(k+1) ) < f (x(k) ) pour une fonction f : Rn → R et si ∇f (x(k) ) 6= 0 alors f (x(k+1) ) < f (x(k) )

Si pour k, ∇f (x(k) ) = 0 alors le point x(k) satisfait la CNPO et on Si pour k, ∇f (x(k) ) = 0 alors le point x(k) satisfait la CNPO et on
obtient x(k+1) = x(k) obtient x(k+1) = x(k)

Comme précisé précédemment, cette condition peut-être une Comme précisé précédemment, cette condition peut-être une
condition d’arrêt de l’algorithme condition d’arrêt de l’algorithme

Toutefois, en pratique, la valeur numérique du gradient est rarement


égale à 0
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 138 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 138

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Conditions d’arrêt Conditions d’arrêt


En pratique on utilisera des conditions d’arrêt relatives à un En pratique on utilisera des conditions d’arrêt relatives à un
paramètre  > 0 spécifié en entrée de l’algorithme paramètre  > 0 spécifié en entrée de l’algorithme

Conditions basées sur des mesures “absolues” :


I k∇f (x(k) )k < 
I |f (x(k+1) ) − f (x(k) )| < 
I kx(k+1) − x(k) k < 

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 139 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 139
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Conditions d’arrêt Conditions d’arrêt


En pratique on utilisera des conditions d’arrêt relatives à un En pratique on utilisera des conditions d’arrêt relatives à un
paramètre  > 0 spécifié en entrée de l’algorithme paramètre  > 0 spécifié en entrée de l’algorithme

Conditions basées sur des mesures “absolues” : Conditions basées sur des mesures “absolues” :
I k∇f (x(k) )k <  I k∇f (x(k) )k < 
I |f (x(k+1) ) − f (x(k) )| <  I |f (x(k+1) ) − f (x(k) )| < 
I kx(k+1) − x(k) k <  I kx(k+1) − x(k) k < 

En raison des unités de mesure, il est préférable d’utiliser des En raison des unités de mesure, il est préférable d’utiliser des
conditions
(k+1)
basées
(k)
sur des mesures “relatives” : conditions
(k+1)
basées
(k)
sur des mesures “relatives” :
|f (x )−f (x )| |f (x )−f (x )|
I
max{1,|f (x(k) )|}
< I
max{1,|f (x(k) )|}
<
kx(k+1) −x(k) k kx(k+1) −x(k) k
I
max{1,kx(k) k}
<  I
max{1,kx(k) k}
< 

On pourra également utiliser un nombre maximal d’itérations comme


condition d’arrêt
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 139 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 139

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Pseudo-code de l’algorithme à pas optimal Exemple


Utilisons la méthode du pas optimal pour déterminer un minimiseur
local de f (x1 , x2 , x3 ) = (x1 − 4)4 + (x2 − 3)2 + 4(x3 + 5)4 avec
Input : f ∈ C 1 , x0 x(0) = (4, 2, −1)
1 k ←0
2 Tant que condition d’arrêt non satisfaite faire
3 αk ← arg min f (x(k) − α∇f (x(k) ))
α≥0 | {z }
φ(α)
4 x(k+1) ← x(k) − αk ∇f (x(k) )
5 k ←k +1
6 Fin Tant que
7 Output : x(k)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 140 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 141
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Exemple Exemple
Utilisons la méthode du pas optimal pour déterminer un minimiseur Utilisons la méthode du pas optimal pour déterminer un minimiseur
local de f (x1 , x2 , x3 ) = (x1 − 4)4 + (x2 − 3)2 + 4(x3 + 5)4 avec local de f (x1 , x2 , x3 ) = (x1 − 4)4 + (x2 − 3)2 + 4(x3 + 5)4 avec
x(0) = (4, 2, −1) x(0) = (4, 2, −1)
4(x1 − 4)3 4(x1 − 4)3
   

Calcul du gradient : ∇f (x) =  2(x2 − 3)  Calcul du gradient : ∇f (x) =  2(x2 − 3) 


16(x3 + 5)3 16(x3 + 5)3
Déroulement de l’algorithme :
1 k ←0
Itération 1
3 On cherche arg min f (x(0) − α∇f (x(0) ))
α≥0
On a : ∇f (x(0) ) = (0, −2, 1024)
φ(0) (α) = f (x (0)
 − α∇f
(0)
 (x  )) 
4 0
= f   2 − α −2 
 
−1 1024
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 141 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 141

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Exemple (suite) Exemple (suite)


Itération 1 (suite) Itération 1 (suite)
φ(0) (α) = f (x(0) − α∇f (x(0) )) φ(0) (α) = f (x(0) − α∇f (x(0) ))
= f (4, 2 + 2α, −1 − 1024α) = f (4, 2 + 2α, −1 − 1024α)
= (2α − 1)2 + 4(1024α + 4)4 = (2α − 1)2 + 4(1024α + 4)4
En utilisant la méthode de la sécante on trouve : En utilisant la méthode de la sécante on trouve :
α0 ← arg min φ(0) (α) = 3.967 × 10−3 α0 ← arg min φ(0) (α) = 3.967 × 10−3
α≥0 α≥0
4 x(1)
← 0
(0)
x −α ∇f (x(0) ) = (4, 2.008, −5.062) 4 x(1)
← (0)
x −α (0)
0 ∇f (x ) = (4, 2.008, −5.062)
5 k ←k +1=1 5 k ←k +1=1

Itération 2
3 On cherche arg min f (x(1) − α∇f (x(1) ))
α≥0
On a : ∇f (x(1) ) = (0, −1.984, −0.003875)
φ(1) (α) = f (x(1) − α∇f (x(1) ))
= (2.008 − 1.984α − 3)2 + 4(−5.062 + 0.003875α + 5)4

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 142 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 142
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Exemple (suite) Exemple (suite)

Itération 2 (suite) Itération 2 (suite)


En utilisant la méthode de la sécante on trouve : En utilisant la méthode de la sécante on trouve :
α1 ← arg min φ(1) (α) = 0.50 α1 ← arg min φ(1) (α) = 0.50
α≥0 α≥0
4 x(2) ← x(1) − α1 ∇f (x(1) ) = (4, 3, −5.060) 4 x(2) ← x(1) − α1 ∇f (x(1) ) = (4, 3, −5.060)
5 k ←k +1=2 5 k ←k +1=2

Itération 3
3 On cherche arg min f (x(2) − α∇f (x(2) ))
α≥0
On a : ∇f (x(1) )
= (0, 0, −0.003525)
φ(2) (α) = f (x(2) − α∇f (x(2) ))
= 4(−5.060 + 0.003525α + 5)4
En utilisant la méthode de la sécante on trouve :
α2 ← arg min φ(2) (α) = 16.29
α≥0

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 143 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 143

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Exemple (suite) Exemple (suite)

Itération 3 (suite) Itération 3 (suite)


4 x(3) ← x(2) − α2 ∇f (x(2) ) = (4, 3, −5.002) 4 x(3) ← x(2) − α2 ∇f (x(2) ) = (4, 3, −5.002)
5 k ←k +1=3 5 k ←k +1=3

Fin de l’algorithme
2 x(3) et x(2) sont très proches : on s’arrête
7 Output : x∗ = (4, 3, −5.002)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 144 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 144
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Remarques sur les méthodes numériques d’optimisation Remarques sur les méthodes numériques d’optimisation
multidimensionnelle multidimensionnelle

Dans l’exemple le minimiseur est obtenu en peu d’itérations mais ce Dans l’exemple le minimiseur est obtenu en peu d’itérations mais ce
n’est pas une règle générale loin de là n’est pas une règle générale loin de là
On a bien sûr recours à des logiciels de calculs numériques pour
effectuer les calculs nécessaires à chaque étape

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 145 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 145

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Remarques sur les méthodes numériques d’optimisation Remarques sur les méthodes numériques d’optimisation
multidimensionnelle multidimensionnelle

Dans l’exemple le minimiseur est obtenu en peu d’itérations mais ce Dans l’exemple le minimiseur est obtenu en peu d’itérations mais ce
n’est pas une règle générale loin de là n’est pas une règle générale loin de là
On a bien sûr recours à des logiciels de calculs numériques pour On a bien sûr recours à des logiciels de calculs numériques pour
effectuer les calculs nécessaires à chaque étape effectuer les calculs nécessaires à chaque étape
On a utilisé la méthode de la sécante pour déterminer le pas optimal. On a utilisé la méthode de la sécante pour déterminer le pas optimal.
D’autres méthodes numériques d’optimisation unidimensionnelle D’autres méthodes numériques d’optimisation unidimensionnelle
peuvent être utilisées peuvent être utilisées
En fait les méthodes numériques en optimisation unidimensionnelle
appelées également méthodes de recherche linéaire sont
essentielles aux méthodes numériques en optimisation
multidimensionnelle

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 145 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 145
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Remarques sur les méthodes numériques d’optimisation Remarques sur les méthodes numériques d’optimisation
multidimensionnelle (suite) multidimensionnelle (suite)
Les méthodes d’optimisation unidimensionnelle étant utilisées à Les méthodes d’optimisation unidimensionnelle étant utilisées à
chaque étape des méthodes d’optimisation multidimensionnelle, la chaque étape des méthodes d’optimisation multidimensionnelle, la
complexité des premières a un impact sur la complexité des dernières complexité des premières a un impact sur la complexité des dernières
Les méthodes d’optimisation unidimensionnelle que nous avons vues,
malgré leur efficacité, alourdissent le temps de traitement des
méthodes de descente de gradient

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 146 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 146

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Remarques sur les méthodes numériques d’optimisation Remarques sur les méthodes numériques d’optimisation
multidimensionnelle (suite) multidimensionnelle (suite)
Les méthodes d’optimisation unidimensionnelle étant utilisées à Les méthodes d’optimisation unidimensionnelle étant utilisées à
chaque étape des méthodes d’optimisation multidimensionnelle, la chaque étape des méthodes d’optimisation multidimensionnelle, la
complexité des premières a un impact sur la complexité des dernières complexité des premières a un impact sur la complexité des dernières
Les méthodes d’optimisation unidimensionnelle que nous avons vues, Les méthodes d’optimisation unidimensionnelle que nous avons vues,
malgré leur efficacité, alourdissent le temps de traitement des malgré leur efficacité, alourdissent le temps de traitement des
méthodes de descente de gradient méthodes de descente de gradient
Il existe en pratique des méthodes de recherche linéaire dite Il existe en pratique des méthodes de recherche linéaire dite
inexacte dont le but est de déterminer très rapidement un pas inexacte dont le but est de déterminer très rapidement un pas
apportant un “progrès raisonnable” sur la diminution de f apportant un “progrès raisonnable” sur la diminution de f
La notion de “progrès raisonnable” est assimilée à des règles sur α
(règle d’Armijo ou de Goldstein par exemple) qui sont vérifiables
rapidement

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 146 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 146
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Remarques sur les méthodes numériques d’optimisation Méthode du pas optimal pour des fonctions quadratiques
multidimensionnelle (suite)
On considère le cas particulier :
Les méthodes d’optimisation unidimensionnelle étant utilisées à f (x) = 12 xt Qx − bt x
chaque étape des méthodes d’optimisation multidimensionnelle, la où Q ∈ Mn (R) est définie positive, b ∈ Rn et x ∈ Rn . On suppose
complexité des premières a un impact sur la complexité des dernières sans perte de généralité que Q est symétrique
Les méthodes d’optimisation unidimensionnelle que nous avons vues,
malgré leur efficacité, alourdissent le temps de traitement des
méthodes de descente de gradient
Il existe en pratique des méthodes de recherche linéaire dite
inexacte dont le but est de déterminer très rapidement un pas
apportant un “progrès raisonnable” sur la diminution de f
La notion de “progrès raisonnable” est assimilée à des règles sur α
(règle d’Armijo ou de Goldstein par exemple) qui sont vérifiables
rapidement
Souvent il est préférable de trouver un pas de “progrès raisonnable”
rapidement que de déterminer exactement le pas optimal avec un plus
long temps de traitement
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 146 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 147

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Méthode du pas optimal pour des fonctions quadratiques Méthode du pas optimal pour des fonctions quadratiques
On considère le cas particulier : On considère le cas particulier :
f (x) = 12 xt Qx − bt x f (x) = 12 xt Qx − bt x
où Q ∈ Mn (R) est définie positive, b ∈ Rn et x ∈ Rn . On suppose où Q ∈ Mn (R) est définie positive, b ∈ Rn et x ∈ Rn . On suppose
sans perte de généralité que Q est symétrique sans perte de généralité que Q est symétrique
Dans ce cas le gradient vaut : Dans ce cas le gradient vaut :
∇f (x) = Qx − b ∇f (x) = Qx − b
Le hessien vaut :
D 2 f (x) = Q

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 147 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 147
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Méthode du pas optimal pour des fonctions quadratiques Méthode du pas optimal pour des fonctions quadratiques
On considère le cas particulier : On considère le cas particulier :
f (x) = 12 xt Qx − bt x f (x) = 12 xt Qx − bt x
où Q ∈ Mn (R) est définie positive, b ∈ Rn et x ∈ Rn . On suppose où Q ∈ Mn (R) est définie positive, b ∈ Rn et x ∈ Rn . On suppose
sans perte de généralité que Q est symétrique sans perte de généralité que Q est symétrique
Dans ce cas le gradient vaut : Dans ce cas le gradient vaut :
∇f (x) = Qx − b ∇f (x) = Qx − b
Le hessien vaut : Le hessien vaut :
D 2 f (x) = Q D 2 f (x) = Q
Pour simplifier les notations on notera : g(k) = ∇f (x(k) ) Pour simplifier les notations on notera : g(k) = ∇f (x(k) )
En appliquant la méthode du pas optimal on cherche donc :

αk = min f (x(k) − αg(k) )


α≥0
1 (k)
− αg(k) )t Q(x(k) − αg(k) ) − (x(k) − αg(k) )t b

= arg min 2 (x
α≥0

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 147 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 147

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Méthode du pas optimal pour des fonctions quadratiques Méthode du pas optimal pour des fonctions quadratiques
(suite) (suite)
Dans le cas particulier des fonctions quadratiques, on a une Dans le cas particulier des fonctions quadratiques, on a une
formulation explicite de αk formulation explicite de αk
(k)
αk est tel que dφ
dα = 0 (CNPO) :
dφ(k)
dα =0 ⇔ −(x(k) − αg(k) )t Qg(k) + bt g(k) = 0
⇔ α(g(k) )t Qg(k) = (x(k) )t Qg(k) − bt g(k)
⇔ α(g(k) )t Qg(k) = ((x(k) )t Q − bt )g(k)
⇔ α(g(k) )t Qg(k) = (g(k) )t g(k)
(g(k) )t g(k)
⇔ α= (g(k) )t Qg(k)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 148 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 148
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Méthode du pas optimal pour des fonctions quadratiques Méthode du pas optimal pour des fonctions quadratiques
(suite) (suite)
Dans le cas particulier des fonctions quadratiques, on a une Dans le cas particulier des fonctions quadratiques, on a une
formulation explicite de αk formulation explicite de αk
(k) (k)
αk est tel que dφ
dα = 0 (CNPO) : αk est tel que dφ
dα = 0 (CNPO) :
dφ(k) dφ(k)
dα =0 ⇔ −(x(k) − αg(k) )t Qg(k) + bt g(k) = 0 dα =0 ⇔ −(x(k) − αg(k) )t Qg(k) + bt g(k) = 0
⇔ α(g(k) )t Qg(k) = (x(k) )t Qg(k) − bt g(k) ⇔ α(g(k) )t Qg(k) = (x(k) )t Qg(k) − bt g(k)
⇔ α(g(k) )t Qg(k) = ((x(k) )t Q − bt )g(k) ⇔ α(g(k) )t Qg(k) = ((x(k) )t Q − bt )g(k)
⇔ α(g(k) )t Qg(k) = (g(k) )t g(k) ⇔ α(g(k) )t Qg(k) = (g(k) )t g(k)
(g(k) )t g(k) (g(k) )t g(k)
⇔ α= (g(k) )t Qg(k)
⇔ α= (g(k) )t Qg(k)
On a donc : On a donc :
∇f (x(k) )t ∇f (x(k) ) ∇f (x ) ∇f (x ) (k) t (k)
αk = ∇f (x(k) )t Q∇f (x(k) )
αk = ∇f (x(k) )t Q∇f (x(k) )
Finalement si f est une fonction quadratique l’algorithme du pas
optimal revient à remplacer la ligne 4 par la formule suivante :
∇f (x(k) )t ∇f (x(k) )
4 x(k+1) ← x(k) − ∇f (x(k) )t Q∇f (x(k) )
∇f (x(k) )
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 148 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 148

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Remarques sur la méthode du pas optimal Remarques sur la méthode du pas optimal
Méthode facile à mettre en oeuvre Méthode facile à mettre en oeuvre
La complexité réside notamment en les calculs des αk et des gradients La complexité réside notamment en les calculs des αk et des gradients
Mais, l’algorithme peut être relativement lent à converger ie beaucoup Mais, l’algorithme peut être relativement lent à converger ie beaucoup
d’itérations (fonction objectif de type “vallée étroite”) d’itérations (fonction objectif de type “vallée étroite”)
Illustration :
Exemple de ”vallée étroite”

x12
4
5
+ x22
3
2
1
0
1.5 1
0.5 0 1 1.5
x2 -0.5-1 -0.5 0 0.5
-1.5-2 -1.5 -1 x1
-2
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 149 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 149
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Convergence des méthodes numériques itératives Convergence des méthodes numériques itératives

L’algorithme de descente de gradient est dit itératif : on calcule L’algorithme de descente de gradient est dit itératif : on calcule
successivement une suite de points successivement une suite de points
Notions de convergence des algorithmes itératifs :

Définition. (Convergence globale)


Un algorithme itératif est dit globalement convergent si pour tout point
x0 l’algorithme produit une suite de points qui converge vers un point (le
minimiseur) satisfaisant la CNPO (point critique)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 150 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 150

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Convergence des méthodes numériques itératives Vitesse de convergence des méthodes numériques itératives

L’algorithme de descente de gradient est dit itératif : on calcule La notion de vitesse de convergence permet de qualifier la plus ou
successivement une suite de points moins grande vitesse avec laquelle un algorithme itératif peut
atteindre un minimiseur
Notions de convergence des algorithmes itératifs :

Définition. (Convergence globale)


Un algorithme itératif est dit globalement convergent si pour tout point
x0 l’algorithme produit une suite de points qui converge vers un point (le
minimiseur) satisfaisant la CNPO (point critique)

Définition. (Convergence locale)


Quand l’algorithme itératif n’est pas globalement convergent, on dit qu’il
est localement convergent si l’algorithme produit une suite de points qui
converge vers un point satisfaisant la CNPO à condition que le point initial
x0 soit proche du minimiseur

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 150 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 151
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Vitesse de convergence des méthodes numériques itératives Vitesse de convergence des méthodes numériques itératives
La notion de vitesse de convergence permet de qualifier la plus ou La notion de vitesse de convergence permet de qualifier la plus ou
moins grande vitesse avec laquelle un algorithme itératif peut moins grande vitesse avec laquelle un algorithme itératif peut
atteindre un minimiseur atteindre un minimiseur
Nous avons le résultat suivant sur la méthode du pas optimal : Nous avons le résultat suivant sur la méthode du pas optimal :
Théorème. Théorème.
La suite {x(k) }
des points déterminés par la méthode du pas optimal est La suite {x(k) } des points déterminés par la méthode du pas optimal est
tel que {x(k) } → x∗ pour tout point initial x0 tel que {x(k) } → x∗ pour tout point initial x0

Dans le cas d’une fonction quadratique et pour une méthode à pas


fixe (ie ∀k : αk = α0 ) on a le résultat suivant :
Théorème.
La suite {x(k) } des points déterminés par la méthode du pas fixe est tel
que {x(k) } → x∗ pour tout point initial x0 ssi :
2
0 < α0 < λmax (Q)
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 151 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 151

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Vitesse de convergence des méthodes numériques itératives Vitesse de convergence des méthodes numériques itératives
(suite) (suite)

Définition. (Ordre de convergence) Définition. (Ordre de convergence)


Soit {x(k) } une suite convergeant vers x∗ ie tel que lim kx(k) − x∗ k = 0. Soit {x(k) } une suite convergeant vers x∗ ie tel que lim kx(k) − x∗ k = 0.
k→∞ k→∞
On dit que l’ordre de convergence est de p ∈ R si : On dit que l’ordre de convergence est de p ∈ R si :
kx(k+1) −x∗ k kx(k+1) −x∗ k
0 < lim (k) ∗ p <∞ 0 < lim (k) ∗ p <∞
k→∞ kx −x k k→∞ kx −x k

Etant donné une suite, l’ordre de convergence est une mesure de la


vitesse de convergence de la suite : plus p est grand plus l’algorithme
converge rapidement

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 152 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 152
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Vitesse de convergence des méthodes numériques itératives Exemple


(suite)

Définition. (Ordre de convergence) 1


Supposons une suite de nombres définie par : xk = k
Soit {x(k) } une suite convergeant vers x∗ ie tel que lim kx(k) − x∗ k = 0.
k→∞
On dit que l’ordre de convergence est de p ∈ R si :
kx(k+1) −x∗ k
0 < lim (k) ∗ p <∞
k→∞ kx −x k

Etant donné une suite, l’ordre de convergence est une mesure de la


vitesse de convergence de la suite : plus p est grand plus l’algorithme
converge rapidement
Si p = 1 on parle de convergence linéaire
Si p = 2 on parle de convergence quadratique

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 152 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 153

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Exemple Exemple

1 1
Supposons une suite de nombres définie par : xk = k Supposons une suite de nombres définie par : xk = k
xk → 0 xk → 0
|xk+1 | kp
|xk |p = k+1

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 153 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 153
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Exemple Exemple

1 1
Supposons une suite de nombres définie par : xk = k Supposons une suite de nombres définie par : xk = k
xk → 0 xk → 0
|xk+1 | kp |xk+1 | kp
|xk |p = k+1 |xk |p = k+1
On a les différents cas suivants : On a les différents cas suivants :
I Si p < 1 la suite converge vers 0 I Si p < 1 la suite converge vers 0
I Si p > 1 la suite diverge vers ∞

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 153 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 153

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Exemple Exemple

1 1
Supposons une suite de nombres définie par : xk = k Supposons une suite de nombres définie par : xk = k
xk → 0 xk → 0
|xk+1 | kp |xk+1 | kp
|xk |p = k+1 |xk |p = k+1
On a les différents cas suivants : On a les différents cas suivants :
I Si p < 1 la suite converge vers 0 I Si p < 1 la suite converge vers 0
I Si p > 1 la suite diverge vers ∞ I Si p > 1 la suite diverge vers ∞
I Si p = 1 la suite converge vers 1 I Si p = 1 la suite converge vers 1
Donc, l’ordre de convergence de la suite est de 1

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 153 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 153
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Vitesse de convergence de la méthode à pas optimal Algorithmes de Newton

Rappelons que la méthode de descente à pas optimal utilise


uniquement la dérivée première de f et que l’ordre de convergence est
linéaire

Théorème.
Soit {x(k) } une suite des points déterminés par la méthode du pas optimal
pour la minimisation d’une fonction f . Alors, l’ordre de convergence de
{x(k) } est 1 dans le pire des cas (étant donné le point initial x0 ).

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 154 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 155

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Algorithmes de Newton Algorithmes de Newton

Rappelons que la méthode de descente à pas optimal utilise Rappelons que la méthode de descente à pas optimal utilise
uniquement la dérivée première de f et que l’ordre de convergence est uniquement la dérivée première de f et que l’ordre de convergence est
linéaire linéaire
En utilisant les dérivées d’ordre supérieure, on peut avoir un En utilisant les dérivées d’ordre supérieure, on peut avoir un
algorithme itératif dont l’ordre de convergence est meilleure : il s’agit algorithme itératif dont l’ordre de convergence est meilleure : il s’agit
de la méthode de Newton (dit Newton-Raphson également) de la méthode de Newton (dit Newton-Raphson également)
Cette méthode utilise de plus la dérivée seconde et est plus efficace à
condition que le point initial x0 est relativement proche du minimiseur

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 155 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 155
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Algorithmes de Newton Algorithmes de Newton

Rappelons que la méthode de descente à pas optimal utilise Rappelons que la méthode de descente à pas optimal utilise
uniquement la dérivée première de f et que l’ordre de convergence est uniquement la dérivée première de f et que l’ordre de convergence est
linéaire linéaire
En utilisant les dérivées d’ordre supérieure, on peut avoir un En utilisant les dérivées d’ordre supérieure, on peut avoir un
algorithme itératif dont l’ordre de convergence est meilleure : il s’agit algorithme itératif dont l’ordre de convergence est meilleure : il s’agit
de la méthode de Newton (dit Newton-Raphson également) de la méthode de Newton (dit Newton-Raphson également)
Cette méthode utilise de plus la dérivée seconde et est plus efficace à Cette méthode utilise de plus la dérivée seconde et est plus efficace à
condition que le point initial x0 est relativement proche du minimiseur condition que le point initial x0 est relativement proche du minimiseur
L’idée est (comme en optimisation unidimensionnelle) d’approximer L’idée est (comme en optimisation unidimensionnelle) d’approximer
localement f par une fonction quadratique q et de déterminer le localement f par une fonction quadratique q et de déterminer le
minimiseur de q à la place de f . Ce minimiseur devient alors le point minimiseur de q à la place de f . Ce minimiseur devient alors le point
initial de l’itération suivante. initial de l’itération suivante.
Si f est quadratique, alors l’approximation est exacte et la méthode
permet de déterminer x∗ en une seule itération
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 155 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 155

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Algorithmes de Newton (suite) Algorithmes de Newton (suite)

Nous supposerons dans cette sous-section que f ∈ C 2 . Rappelons Nous supposerons dans cette sous-section que f ∈ C 2 . Rappelons
qu’au voisinage de x(k) la série de Taylor de f est donnée par : qu’au voisinage de x(k) la série de Taylor de f est donnée par :
f (x) ' f (x) '
f (x(k) ) + ∇f (x(k) )t (x − x(k) ) + 12 (x − x(k) )t D 2 f (x(k) )(x − x(k) ) = q(x) f (x(k) ) + ∇f (x(k) )t (x − x(k) ) + 12 (x − x(k) )t D 2 f (x(k) )(x − x(k) ) = q(x)
Pour simplifier les notations nous poserons g(k) = ∇f (x(k) )

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 156 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 156
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Algorithmes de Newton (suite) Algorithmes de Newton (suite)

Nous supposerons dans cette sous-section que f ∈ C 2 . Rappelons Nous supposerons dans cette sous-section que f ∈ C 2 . Rappelons
qu’au voisinage de x(k) la série de Taylor de f est donnée par : qu’au voisinage de x(k) la série de Taylor de f est donnée par :
f (x) ' f (x) '
f (x(k) ) + ∇f (x(k) )t (x − x(k) ) + 12 (x − x(k) )t D 2 f (x(k) )(x − x(k) ) = q(x) f (x(k) ) + ∇f (x(k) )t (x − x(k) ) + 12 (x − x(k) )t D 2 f (x(k) )(x − x(k) ) = q(x)
Pour simplifier les notations nous poserons g(k) = ∇f (x(k) ) Pour simplifier les notations nous poserons g(k) = ∇f (x(k) )
En appliquant les CNPO à q, on obtient : En appliquant les CNPO à q, on obtient :
∇q(x) = g(k) + D 2 f (x(k) )(x − x(k) ) = 0 ∇q(x) = g(k) + D 2 f (x(k) )(x − x(k) ) = 0
Si D 2 f (x(k) ) > 0 alors q atteint son minimum en :
x(k) − D 2 f (x(k) )−1 g(k)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 156 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 156

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Algorithmes de Newton (suite) Illustration


f (x1 , x2 )
Nous supposerons dans cette sous-section que f ∈ C 2 . Rappelons
qu’au voisinage de x(k) la série de Taylor de f est donnée par :
f (x) ' f
f (x(k) ) + ∇f (x(k) )t (x − x(k) ) + 12 (x − x(k) )t D 2 f (x(k) )(x − x(k) ) = q(x) q
Pour simplifier les notations nous poserons g(k) = ∇f (x(k) )
En appliquant les CNPO à q, on obtient :
x(k)
∇q(x) = g(k) + D 2 f (x(k) )(x − x(k) ) =0
Si D 2 f (x(k) ) > 0 alors q atteint son minimum en : x(k+1) x2
x(k) − D 2 f (x(k) )−1 g(k)
L’algorithme itératif de descente de gradient devient :
x∗
x(k+1) = x(k) − D 2 f (x(k) )−1 g(k)

x1
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 156 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 157
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Pseudo-code de l’algorithme de Newton Exemple


Utilisons la méthode de Newton pour déterminer un minimiseur local
de
f (x1 , x2 , x3 , x4 ) = (x1 −10x2 )2 +5(x3 −x4 )2 +(x2 −2x3 )4 +10(x1 −x4 )4
Input : f ∈ C 2 , x0 avec x(0) = (3, −1, 0, 1)
1 k ←0
2 Tant que condition d’arrêt non satisfaite faire
3 x(k+1) ← x(k) − D 2 f (x(k) )−1 ∇f (x(k) )
4 k ←k +1
5 Fin Tant que
6 Output : x(k)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 158 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 159

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Exemple Exemple
Utilisons la méthode de Newton pour déterminer un minimiseur local Utilisons la méthode de Newton pour déterminer un minimiseur local
de de
f (x1 , x2 , x3 , x4 ) = (x1 −10x2 )2 +5(x3 −x4 )2 +(x2 −2x3 )4 +10(x1 −x4 )4 f (x1 , x2 , x3 , x4 ) = (x1 −10x2 )2 +5(x3 −x4 )2 +(x2 −2x3 )4 +10(x1 −x4 )4
avec x(0) = (3, −1, 0, 1) avec x(0) = (3, −1, 0, 1)
On a f (x0 ) = 215 On a f (x0 ) = 215
Calcul du gradient : Calcul du gradient :
2(x1 + 10x2 ) + 40(x1 − x4 )3
 
20(x1 + 10x2 ) + 4(x2 − 2x3 )3 
∇f (x) =  10(x3 − x4 ) − 8(x2 − 2x3 )3 

−10(x3 − x4 ) − 40(x1 − x4 )3
Calcul du hessien :

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 159 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 159
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Exemple Exemple (suite)


Utilisons la méthode de Newton pour déterminer un minimiseur local Déroulement de l’algorithme :
de 1 k←0
f (x1 , x2 , x3 , x4 ) = (x1 −10x2 )2 +5(x3 −x4 )2 +(x2 −2x3 )4 +10(x1 −x4 )4 Itération 1
avec x(0) = (3, −1, 0, 1)
On a f (x0 ) = 215
Calcul du gradient :
2(x1 + 10x2 ) + 40(x1 − x4 )3
 
20(x1 + 10x2 ) + 4(x2 − 2x3 )3 
∇f (x) =  10(x3 − x4 ) − 8(x2 − 2x3 )3 

−10(x3 − x4 ) − 40(x1 − x4 )3
Calcul du hessien :
D 2 f (x) =
2 + 120(x1 − x4 )2 −120(x1 − x4 )2
 
20 0

 20 200 + 12(x2 − 2x3 )2 −24(x2 − 2x3 )2 0 

 0 −24(x2 − 2x3 )2 10 + 48(x2 − 2x3 )2 −10 
−120(x1 − x4 )2 0 −10 10 + 120(x1 − x4 )2

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 159 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 160

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Exemple (suite) Exemple (suite)


Déroulement de l’algorithme : Déroulement de l’algorithme :
1 k←0 1 k←0
Itération 1 Itération 1
3 g(0) = (306, −144, −2, −310) 3 g(0) = (306, −144, −2, −310) 
482 20 0 −480
 20 212 −24 0 
D 2 f (x(0) ) =  
 0 −24 58 −10 
−480 0 −10 490

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 160 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 160
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Exemple (suite) Exemple (suite)


Déroulement de l’algorithme : Déroulement de l’algorithme :
1 k←0 1 k←0
Itération 1 Itération 1
3 g(0) = (306, −144, −2, −310)  3 g(0) = (306, −144, −2, −310) 
482 20 0 −480 482 20 0 −480
 20 212 −24 0   20 212 −24 0 
D 2 f (x(0) ) =   D 2 f (x(0) ) =  
 0 −24 58 −10   0 −24 58 −10 
−480
 0 −10 490  −480
 0 −10 490 
.1126 −.0089 .0154 .1106 .1126 −.0089 .0154 .1106
−.0089 .0057 .0008 −.0087 −.0089 .0057 .0008 −.0087
D 2 f (x(0) )−1 =  D 2 f (x(0) )−1 = 

 
 .0154 .0008 .0203 .0155   .0154 .0008 .0203 .0155 
.1106 −.0087 .0155 .1107 .1106 −.0087 .0155 .1107
2 (0) −1 (0)
D f (x ) g = (1.4127, −0.8413, −0.2540, 0.7460)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 160 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 160

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Exemple (suite) Exemple (suite)


Déroulement de l’algorithme : Déroulement de l’algorithme :
1 k←0 1 k←0
Itération 1 Itération 1
3 g(0) = (306, −144,  −2, −310)  3 g(0) = (306, −144,  −2, −310) 
482 20 0 −480 482 20 0 −480
 20 212 −24 0   20 212 −24 0 
D 2 f (x(0) ) =   D 2 f (x(0) ) =  
 0 −24 58 −10   0 −24 58 −10 
−480
 0 −10 490  −480
 0 −10 490 
.1126 −.0089 .0154 .1106 .1126 −.0089 .0154 .1106
−.0089 .0057 .0008 −.0087 −.0089 .0057 .0008 −.0087
D 2 f (x(0) )−1 =  .0154
 D 2 f (x(0) )−1 =  
.0008 .0203 .0155   .0154 .0008 .0203 .0155 
.1106 −.0087 .0155 .1107 .1106 −.0087 .0155 .1107
D 2 f (x(0) )−1 g(0) = (1.4127, −0.8413, −0.2540, 0.7460) D 2 f (x(0) )−1 g(0) = (1.4127, −0.8413, −0.2540, 0.7460)
x(1) ← x(0) − D 2 f (x(0) )−1 ∇f (x(0) ) = (1.5873, −0, 1587, 0.2540, 0.2540) x(1) ← x(0) − D 2 f (x(0) )−1 ∇f (x(0) ) = (1.5873, −0, 1587, 0.2540, 0.2540)
f (x(1) ) = 31.8
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 160 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 160
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Exemple (suite) Exemple (suite)

Déroulement de l’algorithme :
Déroulement de l’algorithme :
4 k ←k +1=1
4 k ←k +1=2
Itération 2
Itération 3
3 g(1) = (94.81,−1.179, 2.371, −94.81)  3 g(2) = (28.09,−0.3475, 0.7031, −28.08)
215.3 20 0 −213.3 
96.80 20 0 −94.80
 20 205.3 −10.67 0 
D 2 f (x(1) ) =   20 202.4 −4.744 0 
D 2 f (x(2) ) = 

 0 −10.67 31.34 −10  
 0 −4.744 19.49 −10 
−213.3 0 −10 223.3
−94.80 0 −10 104.80
D 2 f (x(1) )−1 g(1) = (0.5291, −0.0529, −0.0846, 0.0846) (3) (2) 2 (2) −1 (2)
x ← x − D f (x ) ∇f (x ) = (0.7037, −0, 0704, 0.1121, 0.1111)
x(2) ← x(1) − D 2 f (x(1) )−1 ∇f (x(1) ) = (1.0582, −0, 1058, 0.1694, 0.1694)
f (x(3) ) = 1.24
f (x(2) ) = 6.28

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 161 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 162

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Remarques sur la méthode de Newton Remarques sur la méthode de Newton

Remarquons que la kème itération de l’algorithme peut se résoudre en Remarquons que la kème itération de l’algorithme peut se résoudre en
deux sous-étapes : deux sous-étapes :
1 Résoudre D 2 f (x(k) )d(k) = −g(k) 1 Résoudre D 2 f (x(k) )d(k) = −g(k)
2 Calculer x(k+1) = x(k) + d(k) 2 Calculer x(k+1) = x(k) + d(k)

La 1ère sous-étape correspond à la résolution d’un système à n


équations à n inconnues (d(k) )

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 163 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 163
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Remarques sur la méthode de Newton Vitesse de convergence de la méthode de Newton

Comme pour le cas monovariable, il n’est pas garantie que la


Remarquons que la kème itération de l’algorithme peut se résoudre en méthode de Newton permette de déterminer la bonne direction de
deux sous-étapes : descente si D 2 f (x(k) ) n’est pas définie positive
1 Résoudre D 2 f (x(k) )d(k) = −g(k)
2 Calculer x(k+1) = x(k) + d(k)

La 1ère sous-étape correspond à la résolution d’un système à n


équations à n inconnues (d(k) )

Ainsi, un algorithme performant de résolution de systèmes d’équations


linéaires est essentiel pour la méthode de Newton

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 163 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 164

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Vitesse de convergence de la méthode de Newton Vitesse de convergence de la méthode de Newton

Comme pour le cas monovariable, il n’est pas garantie que la Comme pour le cas monovariable, il n’est pas garantie que la
méthode de Newton permette de déterminer la bonne direction de méthode de Newton permette de déterminer la bonne direction de
descente si D 2 f (x(k) ) n’est pas définie positive descente si D 2 f (x(k) ) n’est pas définie positive

Si x(0) est très loin du minimiseur, même si D 2 f (x(k) ) > 0 il est Si x(0) est très loin du minimiseur, même si D 2 f (x(k) ) > 0 il est
possible que la méthode n’aboutisse pas à une descente et dans ce possible que la méthode n’aboutisse pas à une descente et dans ce
cas, on peut avoir f (x(k+1) ) > f (x(k) ) cas, on peut avoir f (x(k+1) ) > f (x(k) )

Malgré ces inconvénients, la méthode de Newton a une meilleure


vitesse de convergence que les méthodes utilisant la dérivée première
uniquement (à condition que le point initial soit relativement proche
du minimiseur)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 164 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 164
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Vitesse de convergence de la méthode de Newton (suite) Vitesse de convergence de la méthode de Newton (suite)

Dans le cas particulier où f (x) = 21 xt Qx − bt x est une fonction Dans le cas particulier où f (x) = 12 xt Qx − bt x est une fonction
quadratique, nous avons : quadratique, nous avons :
g(x) = ∇f (x) = Qx − b
et
D 2 f (x) = Q

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 165 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 165

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Vitesse de convergence de la méthode de Newton (suite) Vitesse de convergence de la méthode de Newton (suite)

Dans le cas particulier où f (x) = 21 xt Qx − bt x est une fonction Dans le cas particulier où f (x) = 12 xt Qx − bt x est une fonction
quadratique, nous avons : quadratique, nous avons :
g(x) = ∇f (x) = Qx − b g(x) = ∇f (x) = Qx − b
et et
D 2 f (x) = Q D 2 f (x) = Q
Soit x(0) un point initial, en appliquant la méthode de Newton on Soit x(0) un point initial, en appliquant la méthode de Newton on
obtient : obtient :
x(1) = x(1) = x(0) − D 2 f (x(0) )−1 g(0)
= x(0) − Q−1 (Qx(0) − b)
= Q−1 b
= x∗

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 165 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 165
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Vitesse de convergence de la méthode de Newton (suite) Vitesse de convergence de la méthode de Newton (suite)

Dans le cas particulier où f (x) = 21 xt Qx − bt x est une fonction


quadratique, nous avons :
g(x) = ∇f (x) = Qx − b
et Théorème.
D 2 f (x) =Q Soit f ∈ C 3 , et x∗ ∈ Rn un point tel que ∇f (x∗ ) = 0 et D 2 f (x∗ ) soit
Soit x(0) un point initial, en appliquant la méthode de Newton on inversible. Alors, pour tout point initial x0 suffisamment proche de x∗ , la
obtient : méthode de Newton est bien définie pour tout k et produit une suite {x(k) }
x(1) = x(0) − D 2 f (x(0) )−1 g(0) convergeant vers x∗ avec un ordre de convergence au moins égale à 2
= x(0) − Q−1 (Qx(0) − b)
= Q−1 b
= x∗
Donc pour une fonction objectif quadratique la méthode trouve le
minimiseur en une itération

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 165 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 166

Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Autres méthodes de descente Autres méthodes de descente


Il est possible de modifier la méthode de Newton afin de traiter les Il est possible de modifier la méthode de Newton afin de traiter les
cas où le point initial est très loin du minimiseur cas où le point initial est très loin du minimiseur
La méthode de Newton détermine une direction de descente à
condition que D 2 f (x(k) ) > 0. Si D 2 f (x(k) ) ≤ 0, la méthode de
Levenberg-Marquardt propose une modification de l’algorithme de
Newton permettant de déterminer une direction de descente

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 167 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 167
Optimisation sans contrainte Optimisation multidimensionnelle Optimisation sans contrainte Optimisation multidimensionnelle

Autres méthodes de descente Autres méthodes de descente


Il est possible de modifier la méthode de Newton afin de traiter les Il est possible de modifier la méthode de Newton afin de traiter les
cas où le point initial est très loin du minimiseur cas où le point initial est très loin du minimiseur
La méthode de Newton détermine une direction de descente à La méthode de Newton détermine une direction de descente à
condition que D 2 f (x(k) ) > 0. Si D 2 f (x(k) ) ≤ 0, la méthode de condition que D 2 f (x(k) ) > 0. Si D 2 f (x(k) ) ≤ 0, la méthode de
Levenberg-Marquardt propose une modification de l’algorithme de Levenberg-Marquardt propose une modification de l’algorithme de
Newton permettant de déterminer une direction de descente Newton permettant de déterminer une direction de descente
La méthode dite du gradient conjugué est une méthode de descente La méthode dite du gradient conjugué est une méthode de descente
à pas optimal mais pour laquelle la direction n’est pas exactement le à pas optimal mais pour laquelle la direction n’est pas exactement le
gradient. C’est une méthode utilisant la dérivée première uniquement. gradient. C’est une méthode utilisant la dérivée première uniquement.
Lorsque la fonction est quadratique et que n est grand, la méthode Lorsque la fonction est quadratique et que n est grand, la méthode
permet de déterminer le minimiseur en au plus n itérations permet de déterminer le minimiseur en au plus n itérations
Pour les problèmes de grande taille, il est très coûteux de calculer et
d’inverser le hessien et donc d’utiliser la méthode de Newton. Les
méthodes dites de quasi-Newton proposent dans ce cas d’approximer
D 2 f (x(k) )−1 (approche DFP ou BFGS). Il s’agit de méthodes
“utilisant” des dérivées secondes (stockage d’une matrice (n × n)).
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 167 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 167

Optimisation linéaire avec contraintes Optimisation linéaire avec contraintes Programmation linéaire

Rappel du Sommaire Rappel du Sommaire

1 Rappels de concepts mathématiques 1 Rappels de concepts mathématiques

2 Bases théoriques de l’optimisation 2 Bases théoriques de l’optimisation

3 Optimisation sans contrainte 3 Optimisation sans contrainte

4 Optimisation linéaire avec contraintes 4 Optimisation linéaire avec contraintes


Programmation linéaire
Méthode du simplexe
5 Optimisation non linéaire avec contraintes
Solution de base réalisable intiale et cas dégénéré
Dualité
6 Optimisation convexe
5 Optimisation non linéaire avec contraintes
7 Algorithmes pour problèmes contraints
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 168 6 Optimisation
J. Ah-Pine (Univ-Lyonconvexe
2) Optimisation M1 Informatique 2014-2015 / 169
Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Introduction Introduction
Un programme linéaire (PL) est un cas particulier d’un problème Un programme linéaire (PL) est un cas particulier d’un problème
d’optimisation avec contraintes dans lequel il s’agit de déterminer les d’optimisation avec contraintes dans lequel il s’agit de déterminer les
valeurs de variables de décision (x ∈ Rn ) qui : valeurs de variables de décision (x ∈ Rn ) qui :
I optimisent la valeur d’une fonction objectif f : Rn → R qui est I optimisent la valeur d’une fonction objectif f : Rn → R qui est
linéaire linéaire
I satisfont à des contraintes d’égalités h : Rn → Rp ou d’inégalités I satisfont à des contraintes d’égalités h : Rn → Rp ou d’inégalités
g : Rn → Rm qui sont des applications linéaires g : Rn → Rm qui sont des applications linéaires
Un point x ∈ Rn qui satisfait à toutes les contraintes est appelé une
solution réalisable

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 170 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 170

Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Introduction Introduction
Un programme linéaire (PL) est un cas particulier d’un problème Un programme linéaire (PL) est un cas particulier d’un problème
d’optimisation avec contraintes dans lequel il s’agit de déterminer les d’optimisation avec contraintes dans lequel il s’agit de déterminer les
valeurs de variables de décision (x ∈ Rn ) qui : valeurs de variables de décision (x ∈ Rn ) qui :
I optimisent la valeur d’une fonction objectif f : Rn → R qui est I optimisent la valeur d’une fonction objectif f : Rn → R qui est
linéaire linéaire
I satisfont à des contraintes d’égalités h : Rn → Rp ou d’inégalités I satisfont à des contraintes d’égalités h : Rn → Rp ou d’inégalités
g : Rn → Rm qui sont des applications linéaires g : Rn → Rm qui sont des applications linéaires
Un point x ∈ Rn qui satisfait à toutes les contraintes est appelé une Un point x ∈ Rn qui satisfait à toutes les contraintes est appelé une
solution réalisable solution réalisable
En général le nombre de solutions réalisables est infiniement grand En général le nombre de solutions réalisables est infiniement grand
mais on verra que pour le cas des PL on peut chercher la solution mais on verra que pour le cas des PL on peut chercher la solution
dans un ensemble fini de points dans un ensemble fini de points
En particulier, nous verrons la méthode du simplexe développée par
G. Dantzig

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 170 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 170
Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Introduction Formalisation d’un PL


Un programme linéaire (PL) est un cas particulier d’un problème
d’optimisation avec contraintes dans lequel il s’agit de déterminer les
valeurs de variables de décision (x ∈ Rn ) qui : Formellement un PL peut être exprimé de la façon suivante :
I optimisent la valeur d’une fonction objectif f : Rn → R qui est
min ct x
linéaire
I satisfont à des contraintes d’égalités h : Rn → Rp ou d’inégalités slc Ax = b
g : Rn → Rm qui sont des applications linéaires x≥0
Un point x ∈ Rn qui satisfait à toutes les contraintes est appelé une où c ∈ Rn , b ∈ Rm , A ∈ Rm×n
solution réalisable
En général le nombre de solutions réalisables est infiniement grand
mais on verra que pour le cas des PL on peut chercher la solution
dans un ensemble fini de points
En particulier, nous verrons la méthode du simplexe développée par
G. Dantzig
D’autres méthodes existent comme celle des points intérieurs
proposées par N. Karmarkar
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 170 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 171

Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Formalisation d’un PL Formalisation d’un PL

Formellement un PL peut être exprimé de la façon suivante : Formellement un PL peut être exprimé de la façon suivante :
min ct x min ct x
slc Ax = b slc Ax = b
x≥0 x≥0
où c ∈ Rn , b ∈ Rm , A ∈ Rm×n où c ∈ Rn , b ∈ Rm , A ∈ Rm×n
c est souvent appelé vecteur des coûts c est souvent appelé vecteur des coûts
Plusieurs variations sont possibles : problème de maximisation,
Ax ≤ b ou Ax ≥ b

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 171 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 171
Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Formalisation d’un PL Exemple d’un PL

Formellement un PL peut être exprimé de la façon suivante : Une entreprise fabrique deux biens (des pièces mécaniques par
exemple). Ces fabrications nécessitent l’utilisation de deux ateliers
min ct x dont les capacités de production exprimées en heures d’usinage sont
slc Ax = b de 12. Supposons que :
x≥0 I Chaque unité du 1er produit nécessite 2h d’usinage dans l’atelier 1 et
où c ∈ Rn , b∈ Rm , A∈ Rm×n 1h dans l’atelier 2
I Chaque unité du 2ème produit nécessite 1h d’usinage dans l’atelier 1 et
c est souvent appelé vecteur des coûts 2h dans l’atelier 2
Plusieurs variations sont possibles : problème de maximisation, Sachant que la marge sur le 1er produit est p1 = 4 et que celle sur le
Ax ≤ b ou Ax ≥ b 2ème produit est de p2 = 3, déterminer un programme mathématique
On montrera que toutes ces variations peuvent se ramener à la forme qui modélise le problème de l’optimisation de la marge de l’entreprise
ci-dessus dite forme standard sous les contraintes de production décrites précédemment

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 171 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 172

Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Exemple d’un PL (suite) Exemple d’un PL (suite)

Dénotons x1 et x2 les quantités produites des deux biens. Dénotons x1 et x2 les quantités produites des deux biens.
Déterminer la fonction objectif : Déterminer la fonction objectif :
max f (x1 , x2 ) = 4x1 + 3x2
Ecrire les contraintes de production :

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 173 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 173
Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Exemple d’un PL (suite) Exemple d’un PL (suite)

Dénotons x1 et x2 les quantités produites des deux biens. Dénotons x1 et x2 les quantités produites des deux biens.
Déterminer la fonction objectif : Déterminer la fonction objectif :
max f (x1 , x2 ) = 4x1 + 3x2 max f (x1 , x2 ) = 4x1 + 3x2
Ecrire les contraintes de production : Ecrire les contraintes de production :
 
 2x1 + x2 ≤ 12  2x1 + x2 ≤ 12
Sous les contraintes : x1 + 2x2 ≤ 12 Sous les contraintes : x1 + 2x2 ≤ 12
x1 ≥ 0 , x2 ≥ 0. x1 ≥ 0 , x2 ≥ 0.
 

En reprenant
  lesnotations
 précédentes
  ona :
x1 4 2 1 12
x= ,c= ,A= ,b= et Ax ≤ b
x2 3 1 2 12

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 173 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 173

Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

PL de dimension 2 PL de dimension 2

Beaucoup de concepts fondamentaux en PL peuvent être facilement Beaucoup de concepts fondamentaux en PL peuvent être facilement
illustrés par des problèmes de dimension 2 illustrés par des problèmes de dimension 2
Reprenons l’exemple précédent et considérons les contraintes du
problème exprimées par :
     
2 1 x1 12 2x1 + x2 ≤ 12
Ax ≤ b ⇔ ≤ ⇔
1 2 x2 12 x1 + 2x2 ≤ 12

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 174 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 174
Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

PL de dimension 2 PL de dimension 2 (suite)


L’ensemble réalisable est 
donc l’intersection des contraintes suivantes :
 x2 ≤ 12 − 2x1
x2 ≤ 21 (12 − x1 )


Beaucoup de concepts fondamentaux en PL peuvent être facilement
x ≥0
illustrés par des problèmes de dimension 2  1


x2 ≥ 0
Reprenons l’exemple précédent et considérons les contraintes du
problème exprimées par :
     
2 1 x1 12 2x1 + x2 ≤ 12
Ax ≤ b ⇔ ≤ ⇔
1 2 x2 12 x1 + 2x2 ≤ 12
Remarquons que chaque inégalité représente un demi-espace et que
l’espace réalisable S qui est donc une intersection de demi-espaces est
ainsi un polyèdre noté O (de dimension 2 ici)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 174 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 175

Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

PL de dimension 2 (suite) PL de dimension 2 (suite)


L’ensemble réalisable est 
donc l’intersection des contraintes suivantes : L’ensemble réalisable est 
donc l’intersection des contraintes suivantes :
 x2 ≤ 12 − 2x1  x2 ≤ 12 − 2x1
x2 ≤ 21 (12 − x1 ) x2 ≤ 21 (12 − x1 )

 

 x1 ≥ 0
  x1 ≥ 0

x2 ≥ 0 x2 ≥ 0
 
 
Exemple : le point x = 1, 2 est un point réalisable puisqu’il satisfait Exemple : le point x = 1, 2 est un point réalisable puisqu’il satisfait
à toutes les contraintes à toutes les contraintes
Illustration : 14

12 Atelier 1

10

x2
6

4
A Atelier 2
2

0
0 2 4 6 8 10 12 14
x1

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 175 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 175
Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

PL de dimension 2 (suite) PL de dimension 2 (suite)


Considérons à présent la fonction objectif suivante qu’il faut Considérons à présent la fonction objectif suivante qu’il faut
maximiser : f (x) = ct x = 4x1 + 3x2 maximiser : f (x) = ct x = 4x1 + 3x2
Remarquons que la famille {ct x = 4x1 + 3x2 = z, z ∈ R} forme un
ensemble de droites (droites iso-marges en économie) parallèles dans
R2 . Par exemple :
a si z = 1 : 4x1 + 3x2 = 1 ⇔ x2 = 1 − 34 x1
b si z = 5 : 4x1 + 3x2 = 5 ⇔ x2 = 5 − 43 x1
...

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 176 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 176

Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

PL de dimension 2 (suite) PL de dimension 2 (suite)


Considérons à présent la fonction objectif suivante qu’il faut
maximiser : f (x) = ct x = 4x1 + 3x2
Remarquons que la famille {ct x = 4x1 + 3x2 = z, z ∈ R} forme un
D’un point de vue géométrique, maximiser ct x revient à déterminer la
ensemble de droites (droites iso-marges en économie) parallèles dans
R2 . Par exemple : droite iso-marge qui a une intersection non vide avec l’ensemble
a si z = 1 : 4x1 + 3x2 = 1 ⇔ x2 = 1 − 34 x1 réalisable (hachurée) et qui conduit à la plus forte valeur z ∗ = ct x∗
b si z = 5 : 4x1 + 3x2 = 5 ⇔ x2 = 5 − 43 x1
...
Illustration :
14
x2

12

10
Droites isomarge (pente -4/3)
8

4 A

0
0 2 4 6 8 10 12 14
Pente (- 1/2) pente (-2) x1

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 176 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 177
Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

PL de dimension 2 (suite) PL de dimension 2 (suite)

D’un point de vue géométrique, maximiser ct x revient à déterminer la D’un point de vue géométrique, maximiser ct x revient à déterminer la
droite iso-marge qui a une intersection non vide avec l’ensemble droite iso-marge qui a une intersection non vide avec l’ensemble
réalisable (hachurée) et qui conduit à la plus forte valeur z ∗ = ct x∗ réalisable (hachurée) et qui conduit à la plus forte valeur z ∗ = ct x∗

Les coordonées du point x∗ situé à l’intersection entre l’ensemble Les coordonées du point x∗ situé à l’intersection entre l’ensemble
réalisable et la droite iso-marge de valeur z ∗ est alors la solution du PL réalisable et la droite iso-marge de valeur z ∗ est alors la solution du PL

Dans l’exemple précédent x∗ = 4, 4 est le maximiseur de f et on




obtient f (x∗ ) = z ∗ = 28

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 177 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 177

Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Polyèdre et PL Polyèdre et PL

Supposons pour l’instant que les contraintes sont de la forme : Supposons pour l’instant que les contraintes sont de la forme :
Ax ≤ b Ax ≤ b

L’ensemble des points de Rn satisfaisant Ax ≤ b est un polyèdre (que


l’on suppose non-vide et borné) noté O

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 178 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 178
Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Polyèdre et PL Polyèdre et PL (suite)

Supposons pour l’instant que les contraintes sont de la forme :


Ax ≤ b Illustration dans R2
H
L’ensemble des points de Rn satisfaisant Ax ≤ b est un polyèdre (que

Fac
l’on suppose non-vide et borné) noté O

et
te d
e di
Soit H un hyperplan de Rn support de O : Facette de O
dimension 0

men
I Si dim(O) < n alors l’ensemble des points communs entre O et H est O
I Si dim(O) = n alors l’ensemble des points communs entre O et H est

sion
une facette de O :
H2

1
F Si cette facette est de dimension n − 1 alors il existe un seul

hyperplan support qui est la facette elle-même


F Si cette facette est de dimension inférieure à n − 1 alors il existe
H1
une infinité d’hyperplan support

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 178 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 179

Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Polyèdre et PL (suite) Polyèdre et PL (suite)


La PL consiste à maximiser une fonction linéaire ct x sur un polyèdre La PL consiste à maximiser une fonction linéaire ct x sur un polyèdre
O O
Notons He z l’hyperplan d’équation ct x = z et dont le vecteur c est le
vecteur normal

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 180 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 180
Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Polyèdre et PL (suite) Polyèdre et PL (suite)


La PL consiste à maximiser une fonction linéaire ct x sur un polyèdre La PL consiste à maximiser une fonction linéaire ct x sur un polyèdre
O O
Notons He z l’hyperplan d’équation ct x = z et dont le vecteur c est le Notons H e z l’hyperplan d’équation ct x = z et dont le vecteur c est le
vecteur normal vecteur normal
e 0 = {x ∈ R : ct x = 0} est ainsi l’hyperplan passant par l’origine
H e 0 = {x ∈ R : ct x = 0} est ainsi l’hyperplan passant par l’origine
H
Soit He z 0 l’hyperlan parallèle à H
e 0 tel que le vecteur normal c peut
être positionné dans le demi-espace ne contenant pas O

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 180 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 180

Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Polyèdre et PL (suite) Polyèdre et PL (suite)


La PL consiste à maximiser une fonction linéaire ct x sur un polyèdre La PL consiste à maximiser une fonction linéaire ct x sur un polyèdre
O O
Notons H e z l’hyperplan d’équation ct x = z et dont le vecteur c est le Notons H e z l’hyperplan d’équation ct x = z et dont le vecteur c est le
vecteur normal vecteur normal
e 0 = {x ∈ R : ct x = 0} est ainsi l’hyperplan passant par l’origine
H e 0 = {x ∈ R : ct x = 0} est ainsi l’hyperplan passant par l’origine
H
Soit He z 0 l’hyperlan parallèle à H
e 0 tel que le vecteur normal c peut Soit He z 0 l’hyperlan parallèle à H e 0 tel que le vecteur normal c peut
être positionné dans le demi-espace ne contenant pas O être positionné dans le demi-espace ne contenant pas O
Nous avons par définition la propriété que ∀x ∈ O : ct x ≤ z 0 Nous avons par définition la propriété que ∀x ∈ O : ct x ≤ z 0
Dénotons à présent par O e z 0 le polyèdre résultant de l’intersection
entre O et H e z 0 . Nous avons alors les propriétés suivantes :

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 180 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 180
Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Polyèdre et PL (suite) Polyèdre et PL (suite)


La PL consiste à maximiser une fonction linéaire ct x sur un polyèdre La PL consiste à maximiser une fonction linéaire ct x sur un polyèdre
O O
Notons H e z l’hyperplan d’équation ct x = z et dont le vecteur c est le Notons H e z l’hyperplan d’équation ct x = z et dont le vecteur c est le
vecteur normal vecteur normal
e 0 = {x ∈ R : ct x = 0} est ainsi l’hyperplan passant par l’origine
H e 0 = {x ∈ R : ct x = 0} est ainsi l’hyperplan passant par l’origine
H
Soit He z 0 l’hyperlan parallèle à H e 0 tel que le vecteur normal c peut Soit He z 0 l’hyperlan parallèle à H e 0 tel que le vecteur normal c peut
être positionné dans le demi-espace ne contenant pas O être positionné dans le demi-espace ne contenant pas O
Nous avons par définition la propriété que ∀x ∈ O : ct x ≤ z 0 Nous avons par définition la propriété que ∀x ∈ O : ct x ≤ z 0
Dénotons à présent par O e z 0 le polyèdre résultant de l’intersection Dénotons à présent par O e z 0 le polyèdre résultant de l’intersection
entre O et H e z 0 . Nous avons alors les propriétés suivantes : entre O et H e z 0 . Nous avons alors les propriétés suivantes :
I ∀x ∈ O e z 0 : ct x = z 0 I ∀x ∈ O e z 0 : ct x = z 0
I z = z ∗ est la valeur maximale du PL
0 I z = z ∗ est la valeur maximale du PL
0

I e z 0 est l’ensemble des maximiseurs de f


O I e z 0 est l’ensemble des maximiseurs de f
O
e z 0 peut être restreint à un point et dans ce cas, le maximiseur est
O
unique et il s’agit d’un point extrême de O
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 180 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 180

Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Polyèdre et PL (suite) Polyèdre et PL (suite)

Illustration dans R2 (cas général) Illustration dans R2 (cas où O


e z ∗ est une facette de dimension 0)

c c

c c
H
e0 H
e0
ct x = z 0 = z ∗ ct x = z 0 = z ∗
c c

O ct x = z > 0 O ct x = z > 0

ct x = 0 ct x = 0

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 181 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 182
Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Forme standard d’un PL Forme standard d’un PL


Nous avons précédemment étudié les structures géométriques Nous avons précédemment étudié les structures géométriques
sous-jacentes à un ensemble de contraintes linéaires exprimées sous sous-jacentes à un ensemble de contraintes linéaires exprimées sous
formes d’inégalités ≤ formes d’inégalités ≤
Nous introduisons maintenant une forme canonique dite forme
standard en fonction de laquelle nous allons exprimer tout PL

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 183 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 183

Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Forme standard d’un PL Forme standard d’un PL


Nous avons précédemment étudié les structures géométriques Nous avons précédemment étudié les structures géométriques
sous-jacentes à un ensemble de contraintes linéaires exprimées sous sous-jacentes à un ensemble de contraintes linéaires exprimées sous
formes d’inégalités ≤ formes d’inégalités ≤
Nous introduisons maintenant une forme canonique dite forme Nous introduisons maintenant une forme canonique dite forme
standard en fonction de laquelle nous allons exprimer tout PL standard en fonction de laquelle nous allons exprimer tout PL
Définition. (Forme standard d’un PL) Définition. (Forme standard d’un PL)
Un PL est sous forme standard ssi il est exprimé de la façon suivante : Un PL est sous forme standard ssi il est exprimé de la façon suivante :
min f (x) = ct x min f (x) = ct x
slc Ax = b slc Ax = b
x≥0 x≥0
où A est une matrice réelle (m × n), m < n, rg (A) = m et b ≥ 0 où A est une matrice réelle (m × n), m < n, rg (A) = m et b ≥ 0

Les résultats que nous énonçons par la suite sont valables pour des
PL mis sous forme standard. Nous allons d’abord montrer que nous
pouvons toujours exprimer un PL quelconque sous forme standard
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 183 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 183
Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Forme standard d’un PL (suite) Forme standard d’un PL (suite)

A la base les contraintes linéaires sont de la forme Ax ∼ b où ∼ peut A la base les contraintes linéaires sont de la forme Ax ∼ b où ∼ peut
être l’un des trois symboles suivants : ≤, ≥, = être l’un des trois symboles suivants : ≤, ≥, =

De manière plus générale, nous pouvons exprimer chaque contrainte


linéaire individuellement :
∀i = 1, . . . , m : nj=1 aij xj ∼ bi
P

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 184 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 184

Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Forme standard d’un PL (suite) Forme standard d’un PL (Conditions de non-négativité des
contraintes)
A la base les contraintes linéaires sont de la forme Ax ∼ b où ∼ peut
être l’un des trois symboles suivants : ≤, ≥, = 1 Le problème à étudier peut-être à la base un problème de
maximisation de la fonction linéaire f (x) = ct x

De manière plus générale, nous pouvons exprimer chaque contrainte


linéaire individuellement :
∀i = 1, . . . , m : nj=1 aij xj ∼ bi
P

Pour mettre un PL sous forme standard il faut respecter le formalisme


suivant :
1 Problème de minimisation
2 Conditions de non-négativité des contraintes :
b ≥ 0 ⇔ ∀i = 1, . . . , m : bi ≥ 0
3 Expression des contraintes linéaires par des contraintes d’égalités

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 184 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 185
Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Forme standard d’un PL (Conditions de non-négativité des Forme standard d’un PL (Conditions de non-négativité des
contraintes) contraintes)
1 Le problème à étudier peut-être à la base un problème de 1 Le problème à étudier peut-être à la base un problème de
maximisation de la fonction linéaire f (x) = ct x maximisation de la fonction linéaire f (x) = ct x
⇒ Pour se ramener à un problème de minimisation, il suffira de remplacer ⇒ Pour se ramener à un problème de minimisation, il suffira de remplacer
f (x) par −f (x) car minimiser −f (x) est équivalent à maximiser f (x) f (x) par −f (x) car minimiser −f (x) est équivalent à maximiser f (x)

2 Les contraintes linéaires sont à la base de la forme suivante :


Pn
j=1 aij xj ∼ bi
où ∼ représente l’un des signes suivants ≤, ≥, =.
Nous supposerons dans la suite que les constantes bi sont
non-négatives, ∀i = 1, . . . , m.

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 185 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 185

Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Forme standard d’un PL (Conditions de non-négativité des Forme standard d’un PL (Conditions de non-négativité des
contraintes) contraintes)
1 Le problème à étudier peut-être à la base un problème de 1 Le problème à étudier peut-être à la base un problème de
maximisation de la fonction linéaire f (x) = ct x maximisation de la fonction linéaire f (x) = ct x
⇒ Pour se ramener à un problème de minimisation, il suffira de remplacer ⇒ Pour se ramener à un problème de minimisation, il suffira de remplacer
f (x) par −f (x) car minimiser −f (x) est équivalent à maximiser f (x) f (x) par −f (x) car minimiser −f (x) est équivalent à maximiser f (x)

2 Les contraintes linéaires sont à la base de la forme suivante : 2 Les contraintes linéaires sont à la base de la forme suivante :
Pn Pn
j=1 aij xj ∼ bi j=1 aij xj ∼ bi
où ∼ représente l’un des signes suivants ≤, ≥, =. où ∼ représente l’un des signes suivants ≤, ≥, =.
Nous supposerons dans la suite que les constantes bi sont Nous supposerons dans la suite que les constantes bi sont
non-négatives, ∀i = 1, . . . , m. non-négatives, ∀i = 1, . . . , m.
⇒ Si la ième contrainte est telle que bi < 0, pour se ramener au cas de ⇒ Si la ième contrainte est telle que bi < 0, pour se ramener au cas de
la forme standard, il suffit de multiplier la ième contrainte par −1 la forme standard, il suffit de multiplier la ième contrainte par −1
Exemple : 2x1 − 3x2 ≤ −5 ⇔ −2x1 + 3x2 ≥ 5.
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 185 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 185
Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Forme standard d’un PL (Passage à des contraintes Forme standard d’un PL (Passage à des contraintes
d’égalités) d’égalités - suite)

3 Les contraintes linéaires peuvent être à la base de différentes natures : Pn


  b Cas où j=1 aij xj ≥ bi
 ≤ 
P
Pn ⇒ Une contrainte linéaire de la forme aij xj ≥ bi peut être convertie en
∀i = 1, . . . , m : j=1 aij xj = b une contrainte d’égalité en retranchant une nouvelle variable
 i
≥ non-négative au membre de gauche de l’inégalité. Une telle variable est

appelée variable de surplus et est égale à la différence entre le
⇒ Pour mettre le PL sous forme standard il faut se ramener uniquement membre de gauche et celui de droite
à des contraintes d’égalités. On distingue alors deux cas : Exemple : 4x1 + 6x2 + x3 ≥ 54 ⇔ 4x1 + 6x2 + x3 − x4 = 54
Pn
a Cas où j=1 aij xj ≤ bi P
⇒ Une contrainte linéaire de la forme aij xj ≤ bi peut être convertie en
une contrainte d’égalité en ajoutant une nouvelle variable A première vue, ajouter des variables d’écart ou retrancher des
non-négative au membre de gauche de l’inégalité. Une telle variable variables de surplus change la nature des contraintes mais en fait il
est appelée variable d’écart et est égale à la différence entre le n’en est rien. Nous illustrons cette propriété sur un exemple dans ce
membre de droite et celui de gauche qui suit.
Exemple : 4x1 + 3x3 + 5x4 ≤ 300 ⇔ 4x1 + 3x3 + 5x4 + x5 = 300

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 186 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 187

Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Forme standard d’un PL (Passage à des contraintes Forme standard d’un PL (Passage à des contraintes
d’égalités - suite) d’égalités - suite)
Considérons l’inégalité x1 ≤ 9 et l’égalité x1 + x2 = 9 où x2 ≥ 0 est Considérons l’inégalité x1 ≤ 9 et l’égalité x1 + x2 = 9 où x2 ≥ 0 est
une variable d’écart une variable d’écart
Nous avons les ensembles suivants : C1 = {x1 ∈ R : x1 ≤ 9} et
C2 = {x1 ∈ R : x1 + x2 = 9; x2 ≥ 0}

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 188 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 188
Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Forme standard d’un PL (Passage à des contraintes Forme standard d’un PL (Exemple)
d’égalités - suite)
Exemple, soit l’ensemble
 de contraintes suivant :
Considérons l’inégalité x1 ≤ 9 et l’égalité x1 + x2 = 9 où x2 ≥ 0 est 
 −x1 − 2x2 ≥ −3
4x1 + 5x2 ≥ 6

une variable d’écart
Nous avons les ensembles suivants : C1 = {x1 ∈ R : x1 ≤ 9} et 
 7x1 + 8x2 = 15
x1 , x2 ≥ 0

C2 = {x1 ∈ R : x1 + x2 = 9; x2 ≥ 0}
Nous voyons en fait que C1 = C2 :
x2
10

5 x1 + x2 = 9

0 1 5 10 x1

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 188 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 189

Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Forme standard d’un PL (Exemple) Forme standard d’un PL (Exemple)


Exemple, soit l’ensemble de contraintes suivant : Exemple, soit l’ensemble de contraintes suivant :

 −x1 − 2x2 ≥ −3 
 −x1 − 2x2 ≥ −3
4x1 + 5x2 ≥ 6 4x1 + 5x2 ≥ 6
 

 7x1 + 8x2 = 15 
 7x1 + 8x2 = 15
x1 , x2 ≥ 0 x1 , x2 ≥ 0
 
Afin d’avoir la conditionde non-négativité sur b nous avons : Afin d’avoir la conditionde non-négativité sur b nous avons :

 x1 + 2x2 ≤ 3 
 x1 + 2x2 ≤ 3
4x1 + 5x2 ≥ 6 4x1 + 5x2 ≥ 6
 
 7x1 + 8x2 = 15
  7x1 + 8x2 = 15

x1 , x2 ≥ 0 x1 , x2 ≥ 0
 
Afin d’avoir des contraintes d’égalités on ajoute les variables d’écart
et de surplus pour obtenir
 :

 x1 + 2x2 + x3 = 3
4x1 + 5x2 − x4 = 6


 7x1 + 8x2 = 15
x1 , . . . , x4 ≥ 0

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 189 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 189
Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Solutions réalisables Solutions réalisables


Nous supposons dans la suite que les PL sont sous forme standard : Nous supposons dans la suite que les PL sont sous forme standard :
min f (x) = ct x min f (x) = ct x
slc Ax = b slc Ax = b
x≥0 x≥0
où A est une matrice réelle de taille m × n tel que m < n et où A est une matrice réelle de taille m × n tel que m < n et
rg (A) = m et où b ≥ 0 rg (A) = m et où b ≥ 0
Considérons alors le système d’équations Ax = b où rg (A) = m

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 190 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 190

Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Solutions réalisables Solutions réalisables


Nous supposons dans la suite que les PL sont sous forme standard : Nous supposons dans la suite que les PL sont sous forme standard :
min f (x) = ct x min f (x) = ct x
slc Ax = b slc Ax = b
x≥0 x≥0
où A est une matrice réelle de taille m × n tel que m < n et où A est une matrice réelle de taille m × n tel que m < n et
rg (A) = m et où b ≥ 0 rg (A) = m et où b ≥ 0
Considérons alors le système d’équations Ax = b où rg (A)
 =m Considérons alors le système d’équations Ax = b où rg (A)  =m
Nous noterons la colonne j de A par aj = a1j , . . . , amj Nous noterons la colonne j de A par aj = a1j , . . . , amj
Soit B un sous-ensemble de m indices de {1, . . . , n} et soit
AB = aB1 , . . . , aBm (où Bi est le ième élément de B) tel que ses
colonnes soient linéairement indépendantes. Soit alors
D = {1, . . . , n} \ B le complémentaire de B

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 190 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 190
Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Solutions réalisables Solutions réalisables


Nous supposons dans la suite que les PL sont sous forme standard : Nous supposons dans la suite que les PL sont sous forme standard :
min f (x) = ct x min f (x) = ct x
slc Ax = b slc Ax = b
x≥0 x≥0
où A est une matrice réelle de taille m × n tel que m < n et où A est une matrice réelle de taille m × n tel que m < n et
rg (A) = m et où b ≥ 0 rg (A) = m et où b ≥ 0
Considérons alors le système d’équations Ax = b où rg (A)  =m Considérons alors le système d’équations Ax = b où rg (A)  =m
Nous noterons la colonne j de A par aj = a1j , . . . , amj Nous noterons la colonne j de A par aj = a1j , . . . , amj
Soit B un sous-ensemble de m indices de {1, . . . , n} et soit Soit B un sous-ensemble de m indices de {1, . . . , n} et soit
AB = aB1 , . . . , aBm (où Bi est le ième élément de B) tel que ses AB = aB1 , . . . , aBm (où Bi est le ième élément de B) tel que ses
colonnes soient linéairement indépendantes. Soit alors colonnes soient linéairement indépendantes. Soit alors
D = {1, . . . , n} \ B le complémentaire de B  D = {1, . . . , n} \ B le complémentaire de B 
On peut réordonner les colonnes de A de sorte à avoir : A = AB , AD On peut réordonner les colonnes de A de sorte à avoir : A = AB , AD
Soit également xB le sous-vecteur de x dont les composantes sont
celles dont les indices sont dans B. On peut donc également

réordonner les composantes de sorte que x = xB , xD
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 190 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 190

Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Solutions réalisables (suite) Solutions réalisables (suite)

La matrice AB étant non singulière, nous pouvons donc résoudre le La matrice AB étant non singulière, nous pouvons donc résoudre le
système AB xB = b et nous avons : système AB xB = b et nous avons :
xB = A−1
B b xB = A−1
B b

Soit alors x = xB , 0 . nous voyons que x ainsi défini est solution du
système Ax = b

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 191 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 191
Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Solutions réalisables (suite) Solutions réalisables (suite)

La matrice AB étant non singulière, nous pouvons donc résoudre le La matrice AB étant non singulière, nous pouvons donc résoudre le
système AB xB = b et nous avons : système AB xB = b et nous avons :
xB = A−1
B b xB = A−1
B b
 
Soit alors x = xB , 0 . nous voyons que x ainsi défini est solution du Soit alors x = xB , 0 . nous voyons que x ainsi défini est solution du
système Ax = b système Ax = b
Une telle solution nous conduit à la définition suivante : Une telle solution nous conduit à la définition suivante :
Définition. (Solution de base) Définition. (Solution de base)
 
x = xB , 0 est appelée solution de base de Ax = b par rapport à la x = xB , 0 est appelée solution de base de Ax = b par rapport à la
base AB . Nous appellerons les composantes de xB variables de base et base AB . Nous appellerons les composantes de xB variables de base et
les colonnes de AB par colonnes de base les colonnes de AB par colonnes de base

Si une des variables de base de xB est nulle alors nous dirons que la
solution de base est dégénérée

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 191 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 191

Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Solutions de base réalisables Solutions de base réalisables

Nous avons également les définitions suivantes quant aux solutions Nous avons également les définitions suivantes quant aux solutions
des contraintes linéaires : des contraintes linéaires :
Définition. (Solution réalisable) Définition. (Solution réalisable)
Un vecteur x satisfaisant aux contraintes Ax = b et x ≥ 0 est appelée une Un vecteur x satisfaisant aux contraintes Ax = b et x ≥ 0 est appelée une
solution réalisable solution réalisable

Définition. (Solution de base réalisable)


Un vecteur x qui est à la fois une solution de base et une solution
réalisable est une solution de base réalisable

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 192 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 192
Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Solutions de base réalisables Solutions de base réalisables (exemple)

Nous avons également les définitions suivantes quant aux solutions Exemple :
des contraintes linéaires : 
  
1 1 −1 4
8

A = a1 , a2 , a3 , a4 = et b =
Définition. (Solution réalisable) 1 −2 −1 1
2
 
Un vecteur x satisfaisant aux contraintes Ax = b et x ≥ 0 est appelée une Le vecteur x = 6, 2, 0, 0 , par rapport à la base AB = a1 , a2 , est
solution réalisable

Définition. (Solution de base réalisable)


Un vecteur x qui est à la fois une solution de base et une solution
réalisable est une solution de base réalisable
Si la solution de base réalisable est dégénérée on parle de solution de
base réalisable dégénérée

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 192 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 193

Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Solutions de base réalisables (exemple) Solutions de base réalisables (exemple)

Exemple : Exemple :
       
1 1 −1 4  8  1 1 −1 4
8
A = a1 , a2 , a3 , a4 = et b = A = a1 , a2 , a3 , a4 = et b =
1 −2 −1 1 2 1 −2 −1 1
2
   
Le vecteur x = 6, 2, 0, 0 , par rapport à la base AB = a1 , a2 , est Le vecteur x = 6, 2, 0, 0 , par rapport à la base AB = a1 , a2 , est
une solution de base réalisable une solution de base réalisable
 
Le vecteur x = 0, 0, 0, 2 , par rapport à la base AB = a3 , a4 , est

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 193 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 193
Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Solutions de base réalisables (exemple) Solutions de base réalisables (exemple)

Exemple : Exemple :
       
 1 1 −1 4 8  1 1 −1 4
8
A = a1 , a2 , a3 , a4 = et b = A = a1 , a2 , a3 , a4 = et b =
1 −2 −1 1 2 1 −2 −1 1
2
   
Le vecteur x = 6, 2, 0, 0 , par rapport à la base AB = a1 , a2 , est Le vecteur x = 6, 2, 0, 0 , par rapport à la base AB = a1 , a2 , est
une solution de base réalisable une solution de base réalisable
   
Le vecteur x = 0, 0, 0, 2 , par rapport à la base AB = a3 , a4 , est Le vecteur x = 0, 0, 0, 2 , par rapport à la base AB = a3 , a4 , est
une solution de base réalisable dégénérée une solution de base réalisable dégénérée
 
Le vecteur x = 3, 1, 0, 1 , par rapport à la base AB = a1 , a2 , est

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 193 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 193

Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Solutions de base réalisables (exemple) Solutions de base réalisables (exemple)

Exemple : Exemple :
       
1 1 −1 4  8  1 1 −1 4
8
A = a1 , a2 , a3 , a4 = et b = A = a1 , a2 , a3 , a4 = et b =
1 −2 −1 1 2 1 −2 −1 1
2
   
Le vecteur x = 6, 2, 0, 0 , par rapport à la base AB = a1 , a2 , est Le vecteur x = 6, 2, 0, 0 , par rapport à la base AB = a1 , a2 , est
une solution de base réalisable une solution de base réalisable
   
Le vecteur x = 0, 0, 0, 2 , par rapport à la base AB = a3 , a4 , est Le vecteur x = 0, 0, 0, 2 , par rapport à la base AB = a3 , a4 , est
une solution de base réalisable dégénérée une solution de base réalisable dégénérée
   
Le vecteur x = 3, 1, 0, 1 , par rapport à la base AB = a1 , a2 , est Le vecteur x = 3, 1, 0, 1 , par rapport à la base AB = a1 , a2 , est
une solution réalisable (qui n’est pas de base) une solution réalisable (qui n’est pas de base)
 
Le vecteur x = 0, 2, −6, 0 , par rapport à la base AB = a2 , a3 , est

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 193 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 193
Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Solutions de base réalisables (exemple) Propriétés des solutions de base réalisables

Revenons maintenant sur le lien entre les solutions de base réalisables


Exemple : et notre problème d’optimisation linéaire f (x) = ct x
   
 1 1 −1 4
8
A = a1 , a2 , a3 , a4 = et b =
1 −2 −1 1
2
 
Le vecteur x = 6, 2, 0, 0 , par rapport à la base AB = a1 , a2 , est
une solution de base réalisable
 
Le vecteur x = 0, 0, 0, 2 , par rapport à la base AB = a3 , a4 , est
une solution de base réalisable dégénérée
 
Le vecteur x = 3, 1, 0, 1 , par rapport à la base AB = a1 , a2 , est
une solution réalisable (qui n’est pas de base)
 
Le vecteur x = 0, 2, −6, 0 , par rapport à la base AB = a2 , a3 , est
une solution de base (non réalisable)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 193 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 194

Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Propriétés des solutions de base réalisables Propriétés des solutions de base réalisables

Revenons maintenant sur le lien entre les solutions de base réalisables Revenons maintenant sur le lien entre les solutions de base réalisables
et notre problème d’optimisation linéaire f (x) = ct x et notre problème d’optimisation linéaire f (x) = ct x
Nous avons les définitions et le théorème fondamental suivants : Nous avons les définitions et le théorème fondamental suivants :
Définition. (Solutions réalisables optimales)
Un vecteur x qui permet d’atteindre le minimum de la fonction objectif
parmi l’ensemble des vecteurs satisfaisants aux contraintes Ax = b et
x ≥ 0 est appelé une solution réalisable optimale. Si de plus x est une
solution de base alors on parle de solution de base réalisable optimale

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 194 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 194
Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Propriétés des solutions de base réalisables Propriétés des solutions de base réalisables (suite)

Revenons maintenant sur le lien entre les solutions de base réalisables


et notre problème d’optimisation linéaire f (x) = ct x
Remarque sur le théorème fondamental : il permet de réduire la
Nous avons les définitions et le théorème fondamental suivants :
recherche d’une solution optimale d’un PL à la recherche dans un
Définition. (Solutions réalisables optimales) ensemble fini d’éléments. En effet, la solution optimale, si elle existe,
Un vecteur x qui permet d’atteindre le minimum de la fonction objectif peut-être appréhendée comme étant une solution de base réalisable.
n

parmi l’ensemble des vecteurs satisfaisants aux contraintes Ax = b et Comme il y a m façon de choisir une base de dimension m dans un
x ≥ 0 est appelé une solution réalisable optimale. Si de plus x est une ensemble de n vecteurs il s’agit donc de chercher dans un ensemble
n
solution de base alors on parle de solution de base réalisable optimale fini de m éléments

Théorème. (Théorème fondamental en PL)


Soit un PL sous forme standard. S’il existe une solution réalisable, alors il
existe une solution de base réalisable. S’il existe une solution réalisable
optimale, alors il existe une solution de base réalisable optimale.

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 194 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 195

Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Propriétés des solutions de base réalisables (suite) Propriétés des solutions de base réalisables (suite)

Remarque sur le théorème fondamental : il permet de réduire la Remarque sur le théorème fondamental : il permet de réduire la
recherche d’une solution optimale d’un PL à la recherche dans un recherche d’une solution optimale d’un PL à la recherche dans un
ensemble fini d’éléments. En effet, la solution optimale, si elle existe, ensemble fini d’éléments. En effet, la solution optimale, si elle existe,
peut-être appréhendée comme étant une solution de base réalisable. peut-être appréhendée comme étant une solution de base réalisable.
n n
 
Comme il y a m façon de choisir une base de dimension m dans un Comme il y a m façon de choisir une base de dimension m dans un
ensemble de n vecteurs il s’agit donc de chercher dans un ensemble ensemble de n vecteurs il s’agit donc de chercher dans un ensemble
n n
fini de m éléments fini de m éléments
Si l’ensemble est fini, le nombre d’éléments est toutefois très grand Si l’ensemble est fini, le nombre d’éléments est toutefois très grand
Nous voyons dans ce qui suit une interprétation géométrique de ces
propriétés qui permet d’introduire la méthode du simplexe

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 195 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 195
Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Interprétation géométrique Interprétation géométrique


Théorème. Théorème.
L’ensemble des solutions d’un ensemble d’équations linéaires est un L’ensemble des solutions d’un ensemble d’équations linéaires est un
ensemble convexe comprenant un ensemble fini de points extrêmes. ensemble convexe comprenant un ensemble fini de points extrêmes.

x1 Soit, dans R3 , l’ensemble convexe défini par : x1 Soit, dans R3 , l’ensemble convexe défini par :
x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x1 + x2 + x3 ≤ 1. x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x1 + x2 + x3 ≤ 1.
Sur la figure la face en vert est formée des Sur la figure la face en vert est formée des
1 u points vérifiant : 1 u points vérifiant : x1 + x2 + x3 = 1
1 x2 La face en bleue est formée des points 1 x2 La face en bleue est formée des points
w vérifiant : w vérifiant : x1 + x2 + x3 ≤ 1 et x2 = 0
0 L’arête uv est la frontière formée des points 0 L’arête uv est la frontière formée des points
vérifiant à la fois : vérifiant à la fois : x1 + x2 + x3 = 1 et x2 = 0
v v
1 Le sommet w est tel que : 1 Le sommet w est tel que : x1 + x2 + x3 = 1,
x3 x3 x1 = 0 et x3 = 0
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 196 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 196

Optimisation linéaire avec contraintes Programmation linéaire Optimisation linéaire avec contraintes Programmation linéaire

Interprétation géométrique (suite) Interprétation géométrique (suite)

Théorème. Théorème.
Soit S l’ensemble des solutions satisfaisant les contraintes Ax = b et x ≥ 0 Soit S l’ensemble des solutions satisfaisant les contraintes Ax = b et x ≥ 0
où A ∈ Mm,n avec m < n. Alors x est un point extrême de S ssi x est une où A ∈ Mm,n avec m < n. Alors x est un point extrême de S ssi x est une
solution de base réalisable de Ax = b et x ≥ 0 solution de base réalisable de Ax = b et x ≥ 0

En d’autres termes, l’ensemble des solutions


S = {x ∈ Rn : Ax = b, x ≥ 0} est identique à l’ensemble des solutions
de base réalisable de Ax = b et x ≥ 0
Le théorème fondamental permet donc de conclure que pour résoudre
un PL, il suffit d’examiner les points extrêmes de S

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 197 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 197
Optimisation linéaire avec contraintes Méthode du simplexe Optimisation linéaire avec contraintes Méthode du simplexe

Rappel du Sommaire Introduction

1 Rappels de concepts mathématiques


Il s’agit d’un algorithme permettant de résoudre efficacement les PL
2 Bases théoriques de l’optimisation mis sous leur forme standard :
min f (x) = ct x
3 Optimisation sans contrainte slc Ax = b
x≥0
où A est une matrice réelle de taille m × n tel que m < n et
4 Optimisation linéaire avec contraintes
rg (A) = m et où b ≥ 0
Programmation linéaire
Méthode du simplexe
Solution de base réalisable intiale et cas dégénéré Algorithme conçu initialement par G. Dantzig en 1947 : la procédure
Dualité revient à parcourir les solutions de base réalisables afin d’améliorer la
valeur de la fonction objectif jusqu’à obtenir un optimum
5 Optimisation non linéaire avec contraintes

6 Optimisation
J. Ah-Pine (Univ-Lyonconvexe
2) Optimisation M1 Informatique 2014-2015 / 198 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 199

Optimisation linéaire avec contraintes Méthode du simplexe Optimisation linéaire avec contraintes Méthode du simplexe
7 Algorithmes pour problèmes contraints
Rappel des notations Rappel des notations

Rappel des notations : Rappel des notations :


I x = (xB , xD ) où xB (resp xD ) est le vecteur de taille (m × 1) (resp I x = (xB , xD ) où xB (resp xD ) est le vecteur de taille (m × 1) (resp
((n − m) × 1)) issu de x dont les composantes sont celles des m ((n − m) × 1)) issu de x dont les composantes sont celles des m
variables de bases (resp n − m variables hors base) variables de bases (resp n − m variables hors base)
I c = (cB , cD ) où cB (resp cD ) est le vecteur de taille (m × 1) issu de c I c = (cB , cD ) où cB (resp cD ) est le vecteur de taille (m × 1) issu de c
(resp ((n − m) × 1)) dont les coûts sont ceux relatifs aux m variables (resp ((n − m) × 1)) dont les coûts sont ceux relatifs aux m variables
de bases (resp n − m variables hors base) de bases (resp n − m variables hors base)
I A = (AB , AD ) où AB (resp AD ) est la sous-matrice de taille (m × m) I A = (AB , AD ) où AB (resp AD ) est la sous-matrice de taille (m × m)
(resp (m × (n − m))) issue de A dont les composantes sont les (resp (m × (n − m))) issue de A dont les composantes sont les
colonnes relatives aux m variables de bases (resp n − m variables hors colonnes relatives aux m variables de bases (resp n − m variables hors
base). AB est de rang m. base). AB est de rang m.
Nous avons : Ax = b ⇔ AB xB + AD xD = b

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 200 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 200
Optimisation linéaire avec contraintes Méthode du simplexe Optimisation linéaire avec contraintes Méthode du simplexe

Rappel des notations Condition d’optimalité d’une solution de base réalisable


Expression de la fonction objectif :
Rappel des notations :
I x = (xB , xD ) où xB (resp xD ) est le vecteur de taille (m × 1) (resp f (x) = ct x = ctB xB + ctD xD
((n − m) × 1)) issu de x dont les composantes sont celles des m
= ctB A−1 t

variables de bases (resp n − m variables hors base) B (b − AD xD ) + cD xD
= ctB A−1 t t −1

c = (cB , cD ) où cB (resp cD ) est le vecteur de taille (m × 1) issu de c B b + cD − cB AB AD xD
I

(resp ((n − m) × 1)) dont les coûts sont ceux relatifs aux m variables | {z }
cD
de bases (resp n − m variables hors base)
I A = (AB , AD ) où AB (resp AD ) est la sous-matrice de taille (m × m)
(resp (m × (n − m))) issue de A dont les composantes sont les
colonnes relatives aux m variables de bases (resp n − m variables hors
base). AB est de rang m.
Nous avons : Ax = b ⇔ AB xB + AD xD = b
Expression des variables de base en fonction des variables hors base :
xB = A−1
B (b − AD xD )

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 200 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 201

Optimisation linéaire avec contraintes Méthode du simplexe Optimisation linéaire avec contraintes Méthode du simplexe

Condition d’optimalité d’une solution de base réalisable Condition d’optimalité d’une solution de base réalisable
Expression de la fonction objectif : Expression de la fonction objectif :

f (x) = ct x = ctB xB + ctD xD f (x) = ct x = ctB xB + ctD xD


= ctB A−1 t
= ctB A−1 t
 
B (b − AD xD ) + cD xD B (b − AD xD ) + cD xD
= ctB A−1 t t −1
= ctB A−1 t t −1
 
B b + cD − cB AB AD xD B b + cD − cB AB AD xD
| {z } | {z }
cD cD

Les quantités cD sont appelées “coûts” réduits des variables hors Les quantités cD sont appelées “coûts” réduits des variables hors
base base
⇒ On peut toujours trouver une base permettant de diminuer la fonction
objectif tant qu’il existe une composante de cD qui est négative.
Autrement dit une condition nécessaire et suffisante d’optimalité
d’une solution de base réalisable est :

ctD − ctB A−1


B AD ≥ 0

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 201 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 201
Optimisation linéaire avec contraintes Méthode du simplexe Optimisation linéaire avec contraintes Méthode du simplexe

Passage d’une solution de base réalisable à une autre Passage d’une solution de base réalisable à une autre
Pour la solution de base réalisable courante x = (xB , xD ) et Pour la solution de base réalisable courante x = (xB , xD ) et
t −1 t t −1 t −1 t t −1
 
f (x) = cB AB b + cD − cB AB AD xD f (x) = cB AB b + cD − cB AB AD xD
| {z } | {z }
cD cD
Le passage d’une solution de base réalisable à une autre le long d’une
arête permettant d’améliorer la fonction objectif s’effectue en faisant
entrer une nouvelle variable hors base dans la base et en faisant sortir
de la base une autre variable :

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 202 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 202

Optimisation linéaire avec contraintes Méthode du simplexe Optimisation linéaire avec contraintes Méthode du simplexe

Passage d’une solution de base réalisable à une autre Passage d’une solution de base réalisable à une autre
Pour la solution de base réalisable courante x = (xB , xD ) et Pour la solution de base réalisable courante x = (xB , xD ) et
f (x) = ctB A−1 t t −1
f (x) = ctB A−1 t t −1
 
b + c − c A A D xD b + c − c A A D xD
B
| D B B
{z } B
| D B B
{z }
cD cD
Le passage d’une solution de base réalisable à une autre le long d’une Le passage d’une solution de base réalisable à une autre le long d’une
arête permettant d’améliorer la fonction objectif s’effectue en faisant arête permettant d’améliorer la fonction objectif s’effectue en faisant
entrer une nouvelle variable hors base dans la base et en faisant sortir entrer une nouvelle variable hors base dans la base et en faisant sortir
de la base une autre variable : de la base une autre variable :
I On cherche dans cD la variable hors base s = arg min{[cD ]i } où [cD ]s I On cherche dans cD la variable hors base s = arg min{[cD ]i } où [cD ]s
i∈D i∈D
est la diminution la plus grande que l’on peut avoir pour la fonction est la diminution la plus grande que l’on peut avoir pour la fonction
objectif. xs est la variable qui entre dans la base objectif. xs est la variable qui entre dans la base
I On définit la colonne de travail comme étant as , le vecteur colonne de
AD relatif à xs

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 202 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 202
Optimisation linéaire avec contraintes Méthode du simplexe Optimisation linéaire avec contraintes Méthode du simplexe

Passage d’une solution de base réalisable à une autre Passage d’une solution de base réalisable à une autre
Pour la solution de base réalisable courante x = (xB , xD ) et Pour la solution de base réalisable courante x = (xB , xD ) et
t −1 t t −1 t −1 t t −1
 
f (x) = cB AB b + cD − cB AB AD xD f (x) = cB AB b + cD − cB AB AD xD
| {z } | {z }
cD cD
Le passage d’une solution de base réalisable à une autre le long d’une Le passage d’une solution de base réalisable à une autre le long d’une
arête permettant d’améliorer la fonction objectif s’effectue en faisant arête permettant d’améliorer la fonction objectif s’effectue en faisant
entrer une nouvelle variable hors base dans la base et en faisant sortir entrer une nouvelle variable hors base dans la base et en faisant sortir
de la base une autre variable : de la base une autre variable :
I On cherche dans cD la variable hors base s = arg min{[cD ]i } où [cD ]s I On cherche dans cD la variable hors base s = arg min{[cD ]i } où [cD ]s
i∈D i∈D
est la diminution la plus grande que l’on peut avoir pour la fonction est la diminution la plus grande que l’on peut avoir pour la fonction
objectif. xs est la variable qui entre dans la base objectif. xs est la variable qui entre dans la base
I On définit la colonne de travail comme étant as , le vecteur colonne de I On définit la colonne de travail comme étant as , le vecteur colonne de
AD relatif à xs AD relatif à xs
I On calcule les ratios entre les membres de droite et les valeurs non I On calcule les ratios entre les membres de droite et les valeurs non
nulles de as et on détermine t = arg min { abisi }. xBt est la nulles de as et on détermine t = arg min { abisi }. xBt est la
i∈{1,...,m}:ais >0 i∈{1,...,m}:ais >0
variable qui sort de la base (ie la t-ème variable dans B) variable qui sort de la base (ie la t-ème variable dans B)
I bt est la quantité maximale que l’on peut allouer à x sans violer les
ats s

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 202


contraintes de non négativité
J. Ah-Pine (Univ-Lyon 2)
des variables
Optimisation M1 Informatique 2014-2015 / 202

Optimisation linéaire avec contraintes Méthode du simplexe Optimisation linéaire avec contraintes Méthode du simplexe

Passage d’une solution de base réalisable à une autre Passage d’une solution de base réalisable à une autre
(suite) (suite)

Le changement de base se traduit par l’expression des variables de Le changement de base se traduit par l’expression des variables de
base en fonction des variables hors base : base en fonction des variables hors base :
I on peut exprimer les variables de base et f (x) en fonction des seules I on peut exprimer les variables de base et f (x) en fonction des seules
variables hors base variables hors base
I les colonnes de la matrice des contraintes correspondant aux variables I les colonnes de la matrice des contraintes correspondant aux variables
de base forment une matrice unité de base forment une matrice unité
D’un point de vue algèbrique cela revient à éliminer la variable
entrante du système Ax = b. Nous pouvons effectuer ceci en
appliquant les formules de l’élimination de Gauss-Jordan (méthode du
pivot)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 203 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 203
Optimisation linéaire avec contraintes Méthode du simplexe Optimisation linéaire avec contraintes Méthode du simplexe

Mise en oeuvre de l’algorithme par la méthode des tableaux Mise en oeuvre de l’algorithme par la méthode des tableaux

L’algorithme du simplexe consiste à passer d’une solution de base L’algorithme du simplexe consiste à passer d’une solution de base
réalisable à une autre solution de base réalisable adjacente (le long réalisable à une autre solution de base réalisable adjacente (le long
d’une arête) en améliorant à chaque itération la valeur de f d’une arête) en améliorant à chaque itération la valeur de f
Pour mettre en pratique l’algorithme, nous utiliserons le “tableau
simplexe” qui est une représentation tabulaire regroupant les données
calculées à chaque itération de l’algorithme. Il est de la forme
suivante où chaque entité est màj à chaque itération :

xt
ct

xB cB A b

ct − ctB A ctB b

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 204 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 204

Optimisation linéaire avec contraintes Méthode du simplexe Optimisation linéaire avec contraintes Méthode du simplexe

Algorithme du simplexe à partir du tableau Algorithme du simplexe à partir du tableau


Input : Tableau du simplexe relatif à un PL sous forme standard, Input : Tableau du simplexe relatif à un PL sous forme standard,
x une solution de base réalisable initiale x une solution de base réalisable initiale
1 Dans la ligne des coûts réduits calculés par ct − ctB A,
Déterminer s = arg min{[ct − ctB A]i }
i∈D
Si [ct − ctB A]s ≥ 0 alors optimum atteint et aller en 5

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 205 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 205
Optimisation linéaire avec contraintes Méthode du simplexe Optimisation linéaire avec contraintes Méthode du simplexe

Algorithme du simplexe à partir du tableau Algorithme du simplexe à partir du tableau


Input : Tableau du simplexe relatif à un PL sous forme standard, Input : Tableau du simplexe relatif à un PL sous forme standard,
x une solution de base réalisable initiale x une solution de base réalisable initiale
1 Dans la ligne des coûts réduits calculés par ct − ctB A, 1 Dans la ligne des coûts réduits calculés par ct − ctB A,
Déterminer s = arg min{[ct − ctB A]i } Déterminer s = arg min{[ct − ctB A]i }
i∈D i∈D
Si [ct − ctB A]s ≥ 0 alors optimum atteint et aller en 5 Si [ct − ctB A]s ≥ 0 alors optimum atteint et aller en 5
2 A l’aide de la colonne as de A et celle de b, 2 A l’aide de la colonne as de A et celle de b,
Déterminer t = arg min { abisi }, Déterminer t = arg min { abisi },
i∈{1,...,m}:ais >0 i∈{1,...,m}:ais >0
Si t = ∅ (ie quand ∀i : ais ≤ 0) alors problème non borné Si t = ∅ (ie quand ∀i : ais ≤ 0) alors problème non borné
3 Faire entrer xs dans la base et faire sortir xBt de la base,
a
Calculer la ligne du pivot t, ∀j : atj ← atstj , et bt ← abtst ,
Combiner linéairement les lignes i 6= t de A et b avec la ligne pivot t
pour cela on fait ∀i 6= t, ∀j : aij ← aij − ais atj et bi ← bi − ais bt

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 205 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 205

Optimisation linéaire avec contraintes Méthode du simplexe Optimisation linéaire avec contraintes Méthode du simplexe

Algorithme du simplexe à partir du tableau Algorithme du simplexe à partir du tableau


Input : Tableau du simplexe relatif à un PL sous forme standard, Input : Tableau du simplexe relatif à un PL sous forme standard,
x une solution de base réalisable initiale x une solution de base réalisable initiale
1 Dans la ligne des coûts réduits calculés par ct − ctB A, 1 Dans la ligne des coûts réduits calculés par ct − ctB A,
Déterminer s = arg min{[ct − ctB A]i } Déterminer s = arg min{[ct − ctB A]i }
i∈D i∈D
Si [ct − ctB A]s ≥ 0 alors optimum atteint et aller en 5 Si [ct − ctB A]s ≥ 0 alors optimum atteint et aller en 5
2 A l’aide de la colonne as de A et celle de b, 2 A l’aide de la colonne as de A et celle de b,
Déterminer t = arg min { abisi }, Déterminer t = arg min { abisi },
i∈{1,...,m}:ais >0 i∈{1,...,m}:ais >0
Si t = ∅ (ie quand ∀i : ais ≤ 0) alors problème non borné Si t = ∅ (ie quand ∀i : ais ≤ 0) alors problème non borné
3 Faire entrer xs dans la base et faire sortir xBt de la base, 3 Faire entrer xs dans la base et faire sortir xBt de la base,
a a
Calculer la ligne du pivot t, ∀j : atj ← atstj , et bt ← abtst , Calculer la ligne du pivot t, ∀j : atj ← atstj , et bt ← abtst ,
Combiner linéairement les lignes i 6= t de A et b avec la ligne pivot t Combiner linéairement les lignes i 6= t de A et b avec la ligne pivot t
pour cela on fait ∀i 6= t, ∀j : aij ← aij − ais atj et bi ← bi − ais bt pour cela on fait ∀i 6= t, ∀j : aij ← aij − ais atj et bi ← bi − ais bt
4 Mettre à jour les 2 premières colonnes du tableau (nouvelle base), 4 Mettre à jour les 2 premières colonnes du tableau (nouvelle base),
Calculer les nouveaux coûts réduits ct − ctB A, Calculer les nouveaux coûts réduits ct − ctB A,
Calculer la valeur courante de f : ctB b et aller en 1 Calculer la valeur courante de f : ctB b et aller en 1
5 Output : xB = b et xD = 0

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 205 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 205
Optimisation linéaire avec contraintes Méthode du simplexe Optimisation linéaire avec contraintes Méthode du simplexe

Bien fondé de l’algorithme du simplexe Bien fondé de l’algorithme du simplexe

Théorème. Théorème.
Soit x une solution de base réalisable quelconque et soit le  vecteur des Soit x une solution de base réalisable quelconque et soit le  vecteur des
“coûts réduits” des variables hors base : ctD − ctB A−1
B A D “coûts réduits” des variables hors base : ctD − ctB A−1
B A D
S’il existe une variable hors base xs telle que son coût réduit soit S’il existe une variable hors base xs telle que son coût réduit soit
strictement négatif alors : strictement négatif alors :
ou bien on peut diminuer indéfiniment la valeur de xs sans sortir de ou bien on peut diminuer indéfiniment la valeur de xs sans sortir de
l’ensemble des solutions réalisables et dans ce cas f est non bornée l’ensemble des solutions réalisables et dans ce cas f est non bornée
ou bien on peut déterminer une autre solution de base réalisable x̂ tel ou bien on peut déterminer une autre solution de base réalisable x̂ tel
que f (x̂) soit plus petite que f (x) que f (x̂) soit plus petite que f (x)

Théorème.
Sous l’hypothèse de non-dégénérescence, l’algorithme du simplexe
converge en un nombre fini d’itérations

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 206 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 206

Optimisation linéaire avec contraintes Méthode du simplexe Optimisation linéaire avec contraintes Méthode du simplexe

Exemple d’application Exemple d’application (suite)

PL de base :
Une entreprise fabrique deux biens (des pièces mécaniques par exemple). max
 f (x1 , x2 ) = 4x1 + 3x2
Ces fabrications nécessitent l’utilisation de deux ateliers dont les capacités  2x1 + x2 ≤ 12
de production exprimées en heures d’usinage sont de 12. Supposons que : slc x1 + 2x2 ≤ 12
x1 ≥ 0 , x2 ≥ 0

Chaque unité du 1er produit nécessite 2h d’usinage dans l’atelier 1 et
1h dans l’atelier 2
Chaque unité du 2ème produit nécessite 1h d’usinage dans l’atelier 1
et 2h dans l’atelier 2
Sachant que la marge sur le 1er produit est p1 = 4 et que celle sur le 2ème
produit est de p2 = 3, déterminer un programme mathématique qui
modélise le problème de l’optimisation de la marge de l’entreprise sous les
contraintes de production décrites précédemment

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 207 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 208
Optimisation linéaire avec contraintes Méthode du simplexe Optimisation linéaire avec contraintes Méthode du simplexe

Exemple d’application (suite) Exemple d’application (méthode du simplexe)


Tableau simplexe initial :
PL de base :
max f (x1 , x2 ) = 4x1 + 3x2
 x1 x2 x3 x4
 2x1 + x2 ≤ 12 −4 −3 0 0
slc x1 + 2x2 ≤ 12 x3 0 2 1 1 0 12
x1 ≥ 0 , x2 ≥ 0 x4 0 1 2 0 1 12

−4 −3 0 0 0
PL sous forme standard :
Solution de base réalisable initiale :
 −f (x1 , x2 ) = −4x1 − 3x2
min
 2x1 + x2 + x3 = 12 la solution de base réalisable initiale x = (0, 0, 12, 12) où les variables
slc x1 + 2x2 + x4 = 12 de base sont {x3 , x4 }.

x1 , . . . , x4 ≥ 0 l’expression
 des variables debase en fonction des variables hors-base :
2x1 + x2 + x3 = 12 x3 = 12 − 2x1 − x2

   
x1 −4
x2  −3
    x1 + 2x2 + x4 = 12 x4 = 12 − x1 − 2x2
2 1 1 0 12
avec x =  , c =  , A =
    ,b= −4 , |{z}
le vecteur des coûts réduits vaut cD = (|{z} −3 )
x3 0 1 2 0 1 12
x1 x2
x4 0
la fonction objectif vaut f (x) = −4x1 − 3x2 = 0
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 208 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 209

Optimisation linéaire avec contraintes Méthode du simplexe Optimisation linéaire avec contraintes Méthode du simplexe

Exemple d’application (méthode du simplexe) Exemple d’application (méthode du simplexe) - suite


Tableau simplexe initial :
Tableau simplexe initial :
x1 x2 x3 x4
−4 −3 0 0 x1 x2 x3 x4
−4 −3 0 0
x3 0 2 1 1 0 12
x4 0 1 2 0 1 12 x3 0 2 1 1 0 12
x4 0 1 2 0 1 12
−4 −3 0 0 0
−4 −3 0 0 0
1ère itération :
I Etape 1 (coûts réduits - variable à faire entrer dans la base) 1ère itération :
-4 est le plus petit nombre négatif de la dernière ligne (coûts réduits I Etape
 2 (ratios - variable àfaire sortir de la base)
des variables hors base) et correspond à x1 (variable hors base qui x3 = 12 − 2x1 ≥ 0 x1 ≤ 6

permettrait de diminuer le plus −f ). x4 = 12 − x1 ≥ 0 x1 ≤ 12

x3 = 12 − 2x1 Ces quantités correspondent aux ratios 12/2 = 6 (1ère ligne) et
x4 = 12 − x1 12/1 = 12 (2ème ligne).
De combien peut-on augmenter x1 sans pour autant violer les Le plus petit ratio correspond à la 1ère ligne : l’élément pivot est 2.
contraintes ?
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 210 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 211
Optimisation linéaire avec contraintes Méthode du simplexe Optimisation linéaire avec contraintes Méthode du simplexe

Exemple d’application (méthode du simplexe) - suite Exemple d’application (méthode du simplexe) - suite
Tableau simplexe initial : Tableau simplexe après les étapes 3 et 4 de la 1ère itération :
x1 x2 x3 x4
x1 x2 x3 x4
−4 −3 0 0
−4 −3 0 0
x1 −4 1 1/2 1/2 0 6
x3 0 2 1 1 0 12
x4 0 0 3/2 −1/2 1 6
x4 0 1 2 0 1 12
0 −1 2 0 −24
−4 −3 0 0 0
Solution de base réalisable à l’issue de la 1ère itération :
1ère itération : la solution de base réalisable x = (6, 0, 0, 6) où les variables de base
sont {x1 , x4 }.
I Etapes 3-4 (changement de base)
On fait entrer x1 dans la base et on fait sortir x3 . L’expression des l’expression des variables debase en fonction des variables hors-base :
x1 = 6 − 12 x2 − 12 x3

variables de base en fonction des variables hors-base devient : 2x1 + x2 + x3 = 12

x1 = 6 − 12 x2 − 12 x3 x4 = 6 − 32 x2 + 12 x3

2x1 + x2 + x3 = 12 x1 + 2x2 + x4 = 12
⇔ .
x1 + 2x2 + x4 = 12 x4 = 6 − 32 x2 + 12 x3 le vecteur des coûts réduits vaut cD = (|{z}−1 , |{z}
2 )
Ceci revient à appliquer les transformations lignessuivantes l10 = l1 /2 et x3
x2
l20 = l2 − l10 .
la fonction objectif vaut f (x) = −4x1 − 3x2 = −24
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 212 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 213

Optimisation linéaire avec contraintes Méthode du simplexe Optimisation linéaire avec contraintes Méthode du simplexe

Exemple d’application (méthode du simplexe) - suite Exemple d’application (méthode du simplexe) - suite
Tableau simplexe après la 1ère itération :
Tableau simplexe après la 1ère itération :
x1 x2 x3 x4
x1 x2 x3 x4
−4 −3 0 0
−4 −3 0 0
x1 4 1 1/2 1/2 0 6
x1 4 1 1/2 1/2 0 6
x4 0 0 3/2 −1/2 1 6
x4 0 0 3/2 −1/2 1 6
0 −1 2 0 −24
0 −1 2 0 −24
2ème itération :
I Etape 1 (coûts réduits - variable à faire entrer dans la base) 2ème itération :
-1 est le plus petit nombre négatif de la dernière ligne (coûts réduits I Etape 2 (ratios - variable 
à faire sortir de la base)
x1 = 6 − 12 x2 ≥ 0

des variables hors base) et correspond à x2 (variable hors base qui x2 ≤ 12

permettrait de diminuer le plus −f ). x4 = 6 − 32 x2 ≥ 0 x2 ≤ 4
x1 = 6 − 12 x2

Ces quantités correspondent aux ratios 6/(1/2) = 12 (1ère ligne) et
x4 = 6 − 32 x2 6/(3/2) = 4 (2ème ligne).
De combien peut-on augmenter x2 sans pour autant violer les Le plus petit ratio correspond à la 2ème ligne : l’élément pivot est 3/2.
contraintes ?
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 214 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 215
Optimisation linéaire avec contraintes Méthode du simplexe Optimisation linéaire avec contraintes Méthode du simplexe

Exemple d’application (méthode du simplexe) - suite Exemple d’application (méthode du simplexe) - suite
Tableau simplexe après la 1ère itération : Tableau simplexe après les étapes 3 et 4 de la 2ème itération :
x1 x2 x3 x4
x1 x2 x3 x4
−4 −3 0 0
−4 −3 0 0
x1 −4 1 0 2/3 −1/3 4
x1 4 1 1/2 1/2 0 6
x2 −3 0 1 −1/3 2/3 4
x4 0 0 3/2 −1/2 1 6
0 0 5/3 2/3 −28
0 −1 2 0 −24
Solution de base réalisable à l’issue de la 2ème itération :
la solution de base réalisable x = (4, 4, 0, 0) où les variables de base
2ème itération :
sont {x1 , x2 }.
I Etapes 3-4 (changement de base)
On fait entrer x2 dans la base et on fait sortir x4 . L’expression des
l’expression des variables de base en fonction des variables hors-base :
x2 = 4 + 13 x3 − 23 x4

variables de base en fonctiondes variables hors-base devient :
x1 = 6 − 12 x2 − 12 x3 x2 = 4 + 13 x3 − 23 x4 x1 = 4 − 23 x3 + 13 x4

3 1 ⇔ .
x4 = 6 − 2 x2 + 2 x3 x1 = 4 − 23 x3 + 13 x4 le vecteur des coûts réduits vaut cD = ( 5/3 , 2/3 )
Ceci revient à appliquer les transformations lignes suivantes |{z} |{z}
x3 x4
l20 = l2 /(3/2) et l10 = l1 − l20 /2.
la fonction objectif vaut f (x) = −4x1 − 3x2 = −28
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 216 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 217

Optimisation linéaire avec contraintes Méthode du simplexe Optimisation linéaire avec contraintes Méthode du simplexe

Exemple d’application (méthode du simplexe) - suite Exemple d’application (méthode du simplexe) - suite

Tableau simplexe après la 2ème itération : Tableau simplexe après la 2ème itération :

x1 x2 x3 x4 x1 x2 x3 x4
−4 −3 0 0 −4 −3 0 0
x1 −4 1 0 2/3 −1/3 4 x1 −4 1 0 2/3 −1/3 4
x2 −3 0 1 −1/3 2/3 4 x2 −3 0 1 −1/3 2/3 4
0 0 5/3 2/3 −28 0 0 5/3 2/3 −28

Fin de l’algorithme : Fin de l’algorithme :


I Etape 5 (vérification de la condition d’optimalité) I Etape 5 (vérification de la condition d’optimalité)
Il n’y a plus de coût réduit de variables hors base qui soit négatif donc Il n’y a plus de coût réduit de variables hors base qui soit négatif donc
on ne peut plus diminuer la fonction objectif on ne peut plus diminuer la fonction objectif
I Etape 6 (détermination de la solution optimale)
La solution de base réalisable x∗ = (4, 4, 0, 0) où les variables de base
sont {x1 , x2 } et la solution optimale est −f (x∗ ) = −28

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 218 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 218
Optimisation linéaire avec contraintes Méthode du simplexe Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré

Exemple d’application (méthode du simplexe) - suite Rappel du Sommaire

Tableau simplexe après la 2ème itération : 1 Rappels de concepts mathématiques


x1 x2 x3 x4
−4 −3 0 0 2 Bases théoriques de l’optimisation
x1 −4 1 0 2/3 −1/3 4
x2 −3 0 1 −1/3 2/3 4 3 Optimisation sans contrainte
0 0 5/3 2/3 −28
4 Optimisation linéaire avec contraintes
Fin de l’algorithme : Programmation linéaire
I Etape 5 (vérification de la condition d’optimalité) Méthode du simplexe
Il n’y a plus de coût réduit de variables hors base qui soit négatif donc Solution de base réalisable intiale et cas dégénéré
on ne peut plus diminuer la fonction objectif Dualité
I Etape 6 (détermination de la solution optimale)
La solution de base réalisable x∗ = (4, 4, 0, 0) où les variables de base
sont {x1 , x2 } et la solution optimale est −f (x∗ ) = −28
5 Optimisation non linéaire avec contraintes

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 218 6 Optimisation


J. Ah-Pine (Univ-Lyonconvexe
2) Optimisation M1 Informatique 2014-2015 / 219

Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré
7 Algorithmes pour problèmes contraints
Générer une solution de base réalisable initiale Générer une solution de base réalisable initiale
La méthode du simplexe débute par un tableau valide et cela La méthode du simplexe débute par un tableau valide et cela
nécessite donc d’avoir identifié une solution de base réalisable initiale nécessite donc d’avoir identifié une solution de base réalisable initiale
Précédemment, nous avons étudié un exemple où il n’y avait que des
contraintes d’inégalités de type ≤

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 220 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 220
Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré

Générer une solution de base réalisable initiale Générer une solution de base réalisable initiale
La méthode du simplexe débute par un tableau valide et cela La méthode du simplexe débute par un tableau valide et cela
nécessite donc d’avoir identifié une solution de base réalisable initiale nécessite donc d’avoir identifié une solution de base réalisable initiale
Précédemment, nous avons étudié un exemple où il n’y avait que des Précédemment, nous avons étudié un exemple où il n’y avait que des
contraintes d’inégalités de type ≤ contraintes d’inégalités de type ≤
Dans ce cas précis, une solution de base réalisable initiale est obtenue Dans ce cas précis, une solution de base réalisable initiale est obtenue
en attribuant : en attribuant :
I à chaque variable d’écart la valeur du membre de droite correspondant I à chaque variable d’écart la valeur du membre de droite correspondant
I à toute autre variable du problème la valeur nulle I à toute autre variable du problème la valeur nulle
Rappelons le PL sous forme standard et le tableau du simplexe initial
de l’exemple précédent :
x1 x2 x3 x4
 −f (x1 , x2 ) = −4x1 − 3x2
min
−4 −3 0 0
 2x1 + x2 + x3 = 12
x3 0 2 1 1 0 12
slc x1 + 2x2 + x4 = 12
x4 0 1 2 0 1 12
x1 , . . . , x4 ≥ 0

−4 −3 0 0 0
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 220 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 220

Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré

Générer une solution de base réalisable initiale (suite) Générer une solution de base réalisable initiale (suite)

Dans le cas général on a à la fois des contraintes d’inégalités ≤ et ≥ Dans le cas général on a à la fois des contraintes d’inégalités ≤ et ≥
mais également des contraintes d’égalités mais également des contraintes d’égalités
Lorsqu’on est dans cette situation, une méthode permettant d’obtenir
une solution de base réalialisable initiale est par le biais d’ajouts de
variables artificielles

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 221 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 221
Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré

Générer une solution de base réalisable initiale (suite) Exemple d’un ensemble de contraintes avec différents cas

 x1 + 2x2 ≤ 3
4x1 + 5x2 ≥ 6
7x1 + 8x2 = 15

Dans le cas général on a à la fois des contraintes d’inégalités ≤ et ≥
mais également des contraintes d’égalités
Lorsqu’on est dans cette situation, une méthode permettant d’obtenir
une solution de base réalialisable initiale est par le biais d’ajouts de
variables artificielles
On ajoute des variables artificielles à toutes les contraintes ne
comportant pas de variables d’écart et ceci permet d’avoir facilement
une solution de base réalisable initiale

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 221 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 222

Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré

Exemple d’un ensemble de contraintes avec différents cas Exemple d’un ensemble de contraintes avec différents cas
 
 x1 + 2x2 ≤ 3  x1 + 2x2 ≤ 3
4x1 + 5x2 ≥ 6 4x1 + 5x2 ≥ 6
7x1 + 8x2 = 15 7x1 + 8x2 = 15
 

 
 x1 + 2x2 + x3 = 3  x1 + 2x2 + x3 = 3
4x1 + 5x2 − x4 = 6 4x1 + 5x2 − x4 = 6
7x1 + 8x2 = 15 7x1 + 8x2 = 15
 


 x1 + 2x2 + x3 = 3
4x1 + 5x2 − x4 + x5 = 6
7x1 + 8x2 + x6 = 15

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 222 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 222
Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré

Exemple d’un ensemble de contraintes avec différents cas Coûts de pénalité dans la fonction objectif liés aux
 variables artificielles
 x1 + 2x2 ≤ 3
4x1 + 5x2 ≥ 6
7x1 + 8x2 = 15

 Les variables d’écart ou de surplus ne changent pas la nature des


 x1 + 2x2 + x3 = 3 contraintes ni de la fonction objectif. Par contre, ce n’est pas le cas
4x1 + 5x2 − x4 = 6 des variables artificielles. Le nouveau système de contraintes est
7x1 + 8x2 = 15

équivalent à l’initial uniquement si les variables artificielles sont nulles

 x1 + 2x2 + x3 = 3
4x1 + 5x2 − x4 + x5 = 6
7x1 + 8x2 + x6 = 15

Une solution de base réalisable est alors x3 = 3, x5 = 6, x6 = 15 et


x1 = x2 = x4 = 0

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 222 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 223

Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré

Coûts de pénalité dans la fonction objectif liés aux Exemple d’application


variables artificielles 
 x1 + 2x2 ≤ 3

4x1 + 5x2 ≥ 6

PL de base : max f (x1 , x2 ) = x1 + 2x2 slc
7x + 8x2 = 15
 1


x1 ≥ 0 , x2 ≥ 0
Les variables d’écart ou de surplus ne changent pas la nature des
contraintes ni de la fonction objectif. Par contre, ce n’est pas le cas
des variables artificielles. Le nouveau système de contraintes est
équivalent à l’initial uniquement si les variables artificielles sont nulles
Ainsi pour garantir cette solution, les variables artificielles sont
ajoutées dans la fonction objectif avec un coefficient très grand
lorsqu’il s’agit d’un problème de minimisation. Ce coefficient est
dénoté M > 0. On appelle cette approche la “méthode du grand M”

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 223 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 224
Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré

Exemple d’application Exemple d’application


 

 x1 + 2x2 ≤ 3 
 x1 + 2x2 ≤ 3
4x1 + 5x2 ≥ 6 4x1 + 5x2 ≥ 6
 
PL de base : max f (x1 , x2 ) = x1 + 2x2 slc PL de base : max f (x1 , x2 ) = x1 + 2x2 slc
 7x1 + 8x2 = 15
  7x1 + 8x2 = 15

x1 ≥ 0 , x2 ≥ 0 x1 ≥ 0 , x2 ≥ 0
 
PL sous forme standard :  PL sous forme standard : 

 x1 + 2x2 + x3 = 3 
 x1 + 2x2 + x3 = 3
4x1 + 5x2 − x4 + x5 = 6 4x1 + 5x2 − x4 + x5 = 6
 
min −x1 − 2x2 + Mx5 + Mx6 slc min −x1 − 2x2 + Mx5 + Mx6 slc
7x + 8x2 + x6 = 15 7x + 8x2 + x6 = 15
 1  1

 

x1 , . . . , x6 ≥ 0 x1 , . . . , x6 ≥ 0
Tableau du simplexe initial :
x1 x2 x3 x4 x5 x6
−1 −2 0 0 M M
x3 0 1 2 1 0 0 0 3
x5 M 4 5 0 −1 1 0 6
x6 M 7 8 0 0 0 1 15
−1 − 11M −2 − 13M 0 M 0 0 21M
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 224 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 224

Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré

Exemple d’application (suite) Exemple d’application (suite)

Tableau simplexe initial : Tableau simplexe après la 1ère itération :

x1 x2 x3 x4 x5 x6 x1 x2 x3 x4 x5 x6
−1 −2 0 0 M M −1 −2 0 0 M M
x3 0 1 2 1 0 0 0 3 x3 0 −0.6 0.0 1.0 0.4 −0.4 0.0 0.6
x5 M 4 5 0 −1 1 0 6 x2 −2 0.8 1.0 0.0 −0.2 0.2 0.0 1.2
x6 M 7 8 0 0 0 1 15 x6 M 0.6 0.0 0.0 1.6 −1.6 1.0 5.4
−1 − 11M −2 − 13M 0 M 0 0 21M 0.6 − 0.6M 0 0 −0.4 − 1.6M 2.6M + 0.4 0 5.4M
−2.4

1ère itération :
2ème itération :
I Base courante : B = {3, 5, 6}
1 s=2
I Base courante : B = {3, 2, 6}
2

Ratios : 1.5, 1.2, 1.875 et donc t = 2 et B2 = 5 1 s=4 
3 On fait entrer x2 dans la base et on fait sortir x5 de la base 2 Ratios : 1.5, nan, 3.375 et donc t = 1 et B1 = 3
4 Mise à jour du tableau 3 On fait entrer x4 dans la base et on fait sortir x3 de la base
4 Mise à jour du tableau
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 225 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 226
Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré

Exemple d’application (suite) Exemple d’application (suite)

Tableau simplexe après la 2ème itération :


Tableau simplexe après la 3ème itération :
x1 x2 x3 x4 x5 x6
−1 −2 0 0 M M x1 x2 x3 x4 x5 x6
x4 0 −1.5 0.0 2.5 1.0 −1.0 0.0 1.5 −1 −2 0 0 M M
x2 −2 0.5 1.0 0.5 0.0 0.0 0.0 1.5 x4 0 0.0 0.0 0.5 1.0 −1.0 0.5 3.0
x6 M 3.0 0.0 −4.0 0.0 0.0 1.0 3.0 x2 −2 0.0 1.0 1.167 0.0 0.0 −0.167 1.0
−3M 0 4M + 1 0 M 0 3M − 3 x1 −1 1.0 0.0 −1.33 0.0 0.0 0.33 1.0
0 0 1 0 M M −3

3ème itération :
I Base courante : B = {4, 2, 6}
4ème itération :
1 s=1 I Base courante : B = {4, 2, 1}
1 Tous les coûts réduits
 sont positifs ou nuls donc l’optimum est atteint

2 Ratios : nan, 3, 1 et donc t = 3 et B3 = 6
3 On fait entrer x1 dans la base et on fait sortir x6 de la base 2 x∗ = 1, 1, 0, 3, 0, 0 et −f (x∗ ) = −3
4 Mise à jour du tableau

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 227 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 228

Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré

Dégénérescence Dégénérescence

Au cours du déroulement de l’algorithme du simplexe, il arrive qu’une Au cours du déroulement de l’algorithme du simplexe, il arrive qu’une
variable de la base soit nulle. On dit alors que la solution de base variable de la base soit nulle. On dit alors que la solution de base
réalisable est dégénérée réalisable est dégénérée
Dans ce cas, si on fait sortir de la base cette variable, cela ne permet
pas à la variable entrante de diminuer la fonction objectif. Donc lors
de cette étape dégénérée la solution n’est pas améliorée

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 229 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 229
Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré

Dégénérescence Dégénérescence

Au cours du déroulement de l’algorithme du simplexe, il arrive qu’une Au cours du déroulement de l’algorithme du simplexe, il arrive qu’une
variable de la base soit nulle. On dit alors que la solution de base variable de la base soit nulle. On dit alors que la solution de base
réalisable est dégénérée réalisable est dégénérée
Dans ce cas, si on fait sortir de la base cette variable, cela ne permet Dans ce cas, si on fait sortir de la base cette variable, cela ne permet
pas à la variable entrante de diminuer la fonction objectif. Donc lors pas à la variable entrante de diminuer la fonction objectif. Donc lors
de cette étape dégénérée la solution n’est pas améliorée de cette étape dégénérée la solution n’est pas améliorée
Mais il faut le faire malgré tout car la solution de base réalisable étant Mais il faut le faire malgré tout car la solution de base réalisable étant
différente, la fonction objectif peut à nouveau être diminuée aprés différente, la fonction objectif peut à nouveau être diminuée aprés
quelques itérations quelques itérations
Toutefois il arrive (dans des cas plutôt rares) que l’algorithme passe
d’une solution de base réalisable dégénérée à une autre pour
finalement revenir sur celle du départ : on est alors bloqué dans un
cycle

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 229 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 229

Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré

Dégénérescence (suite) Dégénérescence (suite)

Pour éviter les phénomènes de cycle une méthode simple est la règle Pour éviter les phénomènes de cycle une méthode simple est la règle
de Bland. Il s’agit d’une règle simple qui précise la variable à faire de Bland. Il s’agit d’une règle simple qui précise la variable à faire
sortir et celle à faire entrer lorsque plusieurs choix sont possibles. Vis sortir et celle à faire entrer lorsque plusieurs choix sont possibles. Vis
à vis de l’algorithme les modifications sont les suivantes (toutes à vis de l’algorithme les modifications sont les suivantes (toutes
choses étant égales par ailleurs) : choses étant égales par ailleurs) :
1 Dans la ligne des coûts réduits calculés par ct − ctB A,
Déterminer s = min{i ∈ D : [ct − ctB A]i < 0}

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 230 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 230
Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré Optimisation linéaire avec contraintes Solution de base réalisable intiale et cas dégénéré

Dégénérescence (suite) Dégénérescence (suite)

Pour éviter les phénomènes de cycle une méthode simple est la règle Pour éviter les phénomènes de cycle une méthode simple est la règle
de Bland. Il s’agit d’une règle simple qui précise la variable à faire de Bland. Il s’agit d’une règle simple qui précise la variable à faire
sortir et celle à faire entrer lorsque plusieurs choix sont possibles. Vis sortir et celle à faire entrer lorsque plusieurs choix sont possibles. Vis
à vis de l’algorithme les modifications sont les suivantes (toutes à vis de l’algorithme les modifications sont les suivantes (toutes
choses étant égales par ailleurs) : choses étant égales par ailleurs) :
1 Dans la ligne des coûts réduits calculés par ct − ctB A, 1 Dans la ligne des coûts réduits calculés par ct − ctB A,
Déterminer s = min{i ∈ D : [ct − ctB A]i < 0} Déterminer s = min{i ∈ D : [ct − ctB A]i < 0}
2 A l’aide de la colonne as de A et celle de b, 2 A l’aide de la colonne as de A et celle de b,
b b
Déterminer t = min{j ∈ B : ajsj = mini∈{1,...,m}:ais >0 { abisi }}, Déterminer t = min{j ∈ B : ajsj = mini∈{1,...,m}:ais >0 { abisi }},
Autrement dit :
I Si plusieurs variables hors base ont un coût réduit négatif alors on
choisit celle dont l’indice est le plus petit
I Si plusieurs variables de base peuvent sortir de la base car ayant le
même ratio alors on choisit celle dont l’indice est le plus petit

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 230 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 230

Optimisation linéaire avec contraintes Dualité Optimisation linéaire avec contraintes Dualité

Rappel du Sommaire Exemple introductif


Reprenons le problème de maximisation suivant :
1 Rappels de concepts mathématiques
maxf (x1 , x2 ) = 4x1 + 3x2
 l1 : 2x1 + x2 ≤ 12
2 Bases théoriques de l’optimisation
slc l2 : x1 + 2x2 ≤ 12
x1 ≥ 0 , x2 ≥ 0

3 Optimisation sans contrainte

4 Optimisation linéaire avec contraintes


Programmation linéaire
Méthode du simplexe
Solution de base réalisable intiale et cas dégénéré
Dualité

5 Optimisation non linéaire avec contraintes

6 Optimisation
J. Ah-Pine (Univ-Lyonconvexe
2) Optimisation M1 Informatique 2014-2015 / 231 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 232
Optimisation linéaire avec contraintes Dualité Optimisation linéaire avec contraintes Dualité

Exemple introductif Exemple introductif


Reprenons le problème de maximisation suivant : Reprenons le problème de maximisation suivant :
maxf (x1 , x2 ) = 4x1 + 3x2 maxf (x1 , x2 ) = 4x1 + 3x2
 l1 : 2x1 + x2 ≤ 12  l1 : 2x1 + x2 ≤ 12
slc l2 : x1 + 2x2 ≤ 12 slc l2 : x1 + 2x2 ≤ 12
x1 ≥ 0 , x2 ≥ 0 x1 ≥ 0 , x2 ≥ 0
 

Multiplions par 3 la première inégalité : Multiplions par 3 la première inégalité :


3l1 : 6x1 + 3x2 ≤ 36 3l1 : 6x1 + 3x2 ≤ 36
Si on compare cette inégalité avec la fonction objectif, on peut voir
que : f (x) = 4x1 + 3x2 ≤ 6x1 + 3x2 ≤ 36
On obtient ainsi une borne supérieure de f (x∗ )

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 232 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 232

Optimisation linéaire avec contraintes Dualité Optimisation linéaire avec contraintes Dualité

Exemple introductif Exemple introductif


Reprenons le problème de maximisation suivant : Reprenons le problème de maximisation suivant :
maxf (x1 , x2 ) = 4x1 + 3x2 maxf (x1 , x2 ) = 4x1 + 3x2
 l1 : 2x1 + x2 ≤ 12  l1 : 2x1 + x2 ≤ 12
slc l2 : x1 + 2x2 ≤ 12 slc l2 : x1 + 2x2 ≤ 12
x1 ≥ 0 , x2 ≥ 0 x1 ≥ 0 , x2 ≥ 0
 

Multiplions par 3 la première inégalité : Multiplions par 3 la première inégalité :


3l1 : 6x1 + 3x2 ≤ 36 3l1 : 6x1 + 3x2 ≤ 36
Si on compare cette inégalité avec la fonction objectif, on peut voir Si on compare cette inégalité avec la fonction objectif, on peut voir
que : f (x) = 4x1 + 3x2 ≤ 6x1 + 3x2 ≤ 36 que : f (x) = 4x1 + 3x2 ≤ 6x1 + 3x2 ≤ 36
On obtient ainsi une borne supérieure de f (x∗ ) On obtient ainsi une borne supérieure de f (x∗ )
On peut faire mieux en prenant : On peut faire mieux en prenant :
2l1 + 12 l2 : 4.5x1 + 3x2 ≤ 30 2l1 + 12 l2 : 4.5x1 + 3x2 ≤ 30
On a donc :
f (x) = 4x1 + 3x2 ≤ 4.5x1 + 3x2 ≤ 30.
On obtient une meilleure borne supérieure de f (x∗ )
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 232 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 232
Optimisation linéaire avec contraintes Dualité Optimisation linéaire avec contraintes Dualité

Exemple introductif (suite) Exemple introductif (suite)

Reprenons le problème de maximisation suivant : Reprenons le problème de maximisation suivant :

maxf (x1 , x2 ) = 4x1 + 3x2 maxf (x1 , x2 ) = 4x1 + 3x2


 l1 : 2x1 + x2 ≤ 12  l1 : 2x1 + x2 ≤ 12
slc l2 : x1 + 2x2 ≤ 12 slc l2 : x1 + 2x2 ≤ 12
x1 ≥ 0 , x2 ≥ 0 x1 ≥ 0 , x2 ≥ 0
 

On peut faire encore mieux que précédemment : On peut faire encore mieux que précédemment :
5 2 5 2
3 l1 + 3 l2 : 4x1 + 3x2 ≤ 28 3 l1 + 3 l2 : 4x1 + 3x2 ≤ 28
On a dans ce cas :
f (x) = 4x1 + 3x2 ≤ 28.
On obtient une meilleure borne supérieure de f (x∗ ) (qui s’avère ici
être la solution optimale)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 233 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 233

Optimisation linéaire avec contraintes Dualité Optimisation linéaire avec contraintes Dualité

Généralisation de l’exemple précédent Généralisation de l’exemple précédent


Considérons un PL non standard, de maximisation et avec des Considérons un PL non standard, de maximisation et avec des
contraintes d’inégalités ≤ uniquement contraintes d’inégalités ≤ uniquement
l1 : a11 x1 + ... + a1n xn ≤ b1 l1 : a11 x1 + ... + a1n xn ≤ b1 (× y1 ≥ 0)
l2 : a21 x1 + ... + a2n xn ≤ b2 l2 : a21 x1 + ... + a2n xn ≤ b2 (× y2 ≥ 0)
.. .. .. .. .. .. .. .. .. .. .. .. ..
. . ... . . . . . . ... . . . . .
lm : am1 x1 + ... + amn xn ≤ bm lm : am1 x1 + ... + amn xn ≤ bm (× ym ≥ 0)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 234 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 234
Optimisation linéaire avec contraintes Dualité Optimisation linéaire avec contraintes Dualité

Généralisation de l’exemple précédent Généralisation de l’exemple précédent


Considérons un PL non standard, de maximisation et avec des Considérons un PL non standard, de maximisation et avec des
contraintes d’inégalités ≤ uniquement contraintes d’inégalités ≤ uniquement
l1 : a11 x1 + ... + a1n xn ≤ b1 (× y1 ≥ 0) l1 : a11 x1 + ... + a1n xn ≤ b1 (× y1 ≥ 0)
l2 : a21 x1 + ... + a2n xn ≤ b2 (× y2 ≥ 0) l2 : a21 x1 + ... + a2n xn ≤ b2 (× y2 ≥ 0)
.. .. .. .. .. .. .. .. .. .. .. .. .. ..
. . ... . . . . . . . ... . . . . .
lm : am1 x1 + ... + amn xn ≤ bm (× ym ≥ 0) lm : am1 x1 + ... + amn xn ≤ bm (× ym ≥ 0)

P P P P P P P P
i yi li : i yi ai1 x1 + ... + i yi ain xn ≤ i yi b i i yi li : i yi ai1 x1 + ... + i yi ain xn ≤ i yi b i

De plus si : x1 , . . . , xm ≥ 0 ; c1 ≤ m
P Pm
i=1 yi ai1 ;. . . ;cn ≤ i=1 yi ain
alors :
m
X X m X n
f (x) = ct x = c1 x1 +. . .+cn xn ≤ yi ai1 x1 +. . .+ yi ain xn ≤ yi bi
i=1 i=1 i=1

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 234 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 234

Optimisation linéaire avec contraintes Dualité Optimisation linéaire avec contraintes Dualité

Programme dual du PL de l’exemple (cas particulier) Programme dual du PL de l’exemple (cas particulier)
(suite)

Pour déterminer la plus petite borne supérieure possible de la Dans le cas particulier où les contraintes linéaires sont toutes du type
fonction objectif il faut résoudre le PL suivant : ≤ nous avons le formalisme matriciel suivant :
Pn
min g (y)
Pm i=1 bi yi
= Maximiser f (x) = ct x Minimiser g (y) = bt y
 i=1 yi ai1 ≥ c1
 ..

At y ≥ c

.P slc Ax ≤ b et slc
slc m
i=1 yi ain ≥ cn


avec x≥0 avec y≥0

y1 ≥ 0, . . . , yn ≥ 0

| {z } | {z }
Primal (PLP) Dual (PLD)

où At est la transposée de A

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 235 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 236
Optimisation linéaire avec contraintes Dualité Optimisation linéaire avec contraintes Dualité

Programme dual d’un PL quelconque (cas général) Programme dual d’un PL quelconque (cas général)

A tout PL quelconque on peut lui associer un PL dual, noté PLD. A tout PL quelconque on peut lui associer un PL dual, noté PLD.
Le PL initial est alors dénommé le PL primal et sera noté PLP. Le Le PL initial est alors dénommé le PL primal et sera noté PLP. Le
tableau suivant résume les correspondances entre primal et dual. tableau suivant résume les correspondances entre primal et dual.
Primal (PLP) Dual (PLD) Primal (PLP) Dual (PLD)
Problème de maximisation ↔ Problème de minimisation Problème de maximisation ↔ Problème de minimisation
A matrice des ↔ At matrice des A matrice des ↔ At matrice des
coefficients des contraintes coefficients des contraintes coefficients des contraintes coefficients des contraintes
Variable xj ≥ 0 ↔ jème contrainte de type ≥ Variable xj ≥ 0 ↔ jème contrainte de type ≥
Variable xj ∈ R ↔ jème contrainte de type = Variable xj ∈ R ↔ jème contrainte de type =
Variable xj ≤ 0 ↔ jème contrainte de type ≤ Variable xj ≤ 0 ↔ jème contrainte de type ≤
ième contrainte de type ≤ ↔ Variable yi ≥ 0 ième contrainte de type ≤ ↔ Variable yi ≥ 0
ième contrainte de type = ↔ Variable yi ∈ R ième contrainte de type = ↔ Variable yi ∈ R
ième contrainte de type ≥ ↔ Variable yi ≤ 0 ième contrainte de type ≥ ↔ Variable yi ≤ 0

On a la propriété que le dual du dual est le primal


J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 237 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 237

Optimisation linéaire avec contraintes Dualité Optimisation linéaire avec contraintes Dualité

Programme dual du PL de l’exemple (cas particulier) Exemple de dualisation dans le cas général

Minimiser y1 + 4y2 + 3y3


y1 + 2y2 + y3 ≥ 2
Minimiser g (y) = bt y Maximiser f (x) = ct x slc
−y1 + 3y2 + y3 ≥ 2
avec y1 ≥ 0, y2 ≤ 0, y3 ∈ R
slc At y ≥ c et slc Ax ≤ b | {z }
Primal
avec y≥0 avec : x ≥ 0
| {z } | {z }
Primal (PLP) Dual (PLD)

Le dual du dual est le primal (ici on passe d’un problème de


minimisation à un problème de maximisation)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 238 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 239
Optimisation linéaire avec contraintes Dualité Optimisation linéaire avec contraintes Dualité

Exemple de dualisation dans le cas général Programme dual d’un PL standard

Minimiser y1 + 4y2 + 3y3


y1 + 2y2 + y3 ≥ 2
slc On suppose un PL de minimisation mis sous forme standard. Le
−y1 + 3y2 + y3 ≥ 2
dual dans ce cas est le suivant :
avec y1 ≥ 0, y2 ≤ 0, y3 ∈ R
Minimiser f (x) = ct x Maximiser g (y) = bt y
| {z }
Primal

Le dual de ce PL est le suivant : slc Ax = b et slc At y ≤ c


Maximiser  2x1 + 2x2
 x1 − x2 ≤ 1 avec x≥0 avec y ∈ Rn
| {z } | {z }
slc 2x 1 + 3x2 ≥ 4 Primal (PLP) Dual (PLD)
x1 + x2 = 3

avec x1 ≥ 0, x2 ≥ 0
| {z }
Dual

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 239 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 240

Optimisation linéaire avec contraintes Dualité Optimisation linéaire avec contraintes Dualité

Théorèmes sur la dualité Théorèmes sur la dualité

Lemme. Lemme.
Soit x̂ et ŷ deux solutions réalisables du primal (problème de minimisation Soit x̂ et ŷ deux solutions réalisables du primal (problème de minimisation
mis sous forme standard) et du dual associé (problème de maximisation) mis sous forme standard) et du dual associé (problème de maximisation)
alors : alors :
f (x̂) = ct x̂ ≥ bt ŷ = g (ŷ) f (x̂) = ct x̂ ≥ bt ŷ = g (ŷ)
| {z } | {z } | {z } | {z }

Démonstration.
(Ax̂ = b) ⇒ (ŷt Ax̂ = ŷt b)
Comme de plus, x̂ ≥ 0, At ŷ ≤ c (règle de dualité) nous avons alors
(At ŷ)t x̂ ≤ ct x̂ et enfin ŷt b ≤ ct x̂.

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 241 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 241
Optimisation linéaire avec contraintes Dualité Optimisation linéaire avec contraintes Dualité

Théorèmes sur la dualité Théorèmes sur la dualité (suite)

Lemme.
Corollaire.
Soit x̂ et ŷ deux solutions réalisables du primal (problème de minimisation
Si x∗ et y∗ sont deux solutions réalisables du primal et du dual associé tels
mis sous forme standard) et du dual associé (problème de maximisation)
que ct x∗ = bt y∗ alors x∗ est optimum du primal et y∗ optimum du dual
alors :
f (x̂) = ct x̂ ≥ bt ŷ = g (ŷ)
| {z } | {z } Théorème.
Etant donné un PL primal PLP et le PL dual associé PLD :
Démonstration. Si PLP et PLD ont des solutions réalisables alors chacun d’eux a une
(Ax̂ = b) ⇒ (ŷt Ax̂
= ŷt b) solution optimale x∗ et y∗ tel que :
Comme de plus, x̂ ≥ 0, At ŷ ≤ c (règle de dualité) nous avons alors
(At ŷ)t x̂ ≤ ct x̂ et enfin ŷt b ≤ ct x̂. f (x∗ ) = ct x∗ = bt y∗ = g (y∗ )

Si l’un d’eux a un optimum non borné, l’autre n’a pas de solution


Ici, une solution réalisable du primal (resp dual) permet de définir une
réalisable
borne supérieure (resp inférieure) du dual (resp primal)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 241 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 242

Optimisation linéaire avec contraintes Dualité Optimisation linéaire avec contraintes Dualité

Applications des propriétés de dualité Applications des propriétés de dualité

Si le primal a beaucoup de contraintes et moins de variables alors la Si le primal a beaucoup de contraintes et moins de variables alors la
méthode du simplexe sera plus efficace sur le dual méthode du simplexe sera plus efficace sur le dual
A l’optimum, le tableau du simplexe fournit à la fois la solution
optimale pour le primal et pour le dual

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 243 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 243
Optimisation linéaire avec contraintes Dualité Optimisation linéaire avec contraintes Dualité

Applications des propriétés de dualité Exemple

Si le primal a beaucoup de contraintes et moins de variables alors la


méthode du simplexe sera plus efficace sur le dual Une entreprise fabrique deux biens (des pièces mécaniques par exemple).
A l’optimum, le tableau du simplexe fournit à la fois la solution Ces fabrications nécessitent l’utilisation de deux ateliers dont les capacités
optimale pour le primal et pour le dual de production exprimées en heures d’usinage sont de 12. Supposons que :
La solution optimale du dual peut s’interpréter d’un point de vue Chaque unité du 1er produit nécessite 2h d’usinage dans l’atelier 1 et
économique (en supposant ici que le primal est un problème de 1h dans l’atelier 2.
maximisation) :
X X Chaque unité du 2ème produit nécessite 1h d’usinage dans l’atelier 1
I De f (x∗ ) = cj xj∗ = bi yi∗ = g (y∗ ) nous en déduisons : et 2h dans l’atelier 2.
j i
| {z } | {z } Sachant que la marge sur le 1er produit est p1 = 4 et que celle sur le 2ème
ct x∗ bt y ∗
∂f
(x∗ ) = yi∗
produit est de p2 = 3, déterminer un programme mathématique qui
∂bi
I y∗ représente le prix marginal de la ressource i à l’optimum modélise le problème de l’optimisation de la marge de l’entreprise sous les
i
I Autrement dit, yi∗ représente l’augmentation potentielle de la valeur contraintes de production décrites précédemment.
optimale du problème si la ressource i, actuellement limitée à bi , se
voyait augmenter d’une unité.

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 243 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 244

Optimisation linéaire avec contraintes Dualité Optimisation linéaire avec contraintes Dualité

Exemple (suite) Exemple (suite)

Maximiser f(x1 , x2 ) = 4x1 + 3x2 Maximiser f(x1 , x2 ) = 4x1 + 3x2


2x1 + x2 ≤ 12 2x1 + x2 ≤ 12
slc slc
x1 + 2x2 ≤ 12 x1 + 2x2 ≤ 12
avec x1 ≥ 0 , x2 ≥ 0 avec x1 ≥ 0 , x2 ≥ 0
| {z } | {z }
Primal (PLP) Primal (PLP)

Le dual est le suivant :


Minimiser g(y1 , y2 ) = 12y1 + 12y2
2y1 + y2 ≥ 4
slc
y1 + 2y2 ≥ 3
avec y1 ≥ 0 , y2 ≥ 0
| {z }
Dual (PLD)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 245 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 245
Optimisation linéaire avec contraintes Dualité Optimisation linéaire avec contraintes Dualité

Exemple (suite) Exemple (suite)

Le tableau à l’optimum est : Le tableau à l’optimum est :

x1 x2 x3 x4 x1 x2 x3 x4
−4 −3 0 0 −4 −3 0 0
x1 4 1 0 2/3 −1/3 4 x1 4 1 0 2/3 −1/3 4
x2 3 0 1 −1/3 2/3 4 x2 3 0 1 −1/3 2/3 4
0 0 5/3 2/3 −28 0 0 5/3 2/3 −28

Sur sa dernière ligne l’opposé des “coûts” réduits correspond à la


solution optimale du dual : y∗ = (5/3, 2/3).

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 246 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 246

Optimisation linéaire avec contraintes Dualité Optimisation non linéaire avec contraintes

Exemple (suite) Rappel du Sommaire

Le tableau à l’optimum est : 1 Rappels de concepts mathématiques

x1 x2 x3 x4 2 Bases théoriques de l’optimisation


−4 −3 0 0
x1 4 1 0 2/3 −1/3 4 3 Optimisation sans contrainte
x2 3 0 1 −1/3 2/3 4
0 0 5/3 2/3 −28
4 Optimisation linéaire avec contraintes

Sur sa dernière ligne l’opposé des “coûts” réduits correspond à la 5 Optimisation non linéaire avec contraintes
solution optimale du dual : y∗ = (5/3, 2/3).
y1∗ = 5/3 est le “prix” marginal de l’atelier 1 tandis que y2∗ = 2/3 est 6 Optimisation convexe
le “prix” marginal de l’atelier 2.
7 Algorithmes pour problèmes contraints
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 246 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 247
Optimisation non linéaire avec contraintes Optimisation non linéaire avec contraintes

Introduction Introduction (suite)

Nous étudions désormais les méthodes permettant de résoudre les Rappelons les définitions suivantes :
problèmes d’optimisation non linéaires avec contraintes qui peuvent Définition. (Solution et ensemble de solutions réalisables)
être formulés de la manière suivante :
min f (x) Un vecteur x satisfaisant aux contraintes h(x) = 0 et g (x) ≤ 0 est appelée
slc hi (x) = 0 i = 1, . . . , m une solution réalisable. L’ensemble des solutions réalisables est noté
gj (x) ≤ 0 j = 1, . . . , p S et est donc défini par :
où x ∈ R , f : R → R, hi : Rn → R, gj : Rn → R et m ≤ n
n n S = {x ∈ Rn : h(x) = 0, g (x) ≤ 0}
Lorsqu’on exprime le problème par des notations matricielles on parle Rappelons également que nous avons traité un cas particulier, la
alors de forme standard : programmation linéaire, pour lequel les fonctions f , hi et gj sont
min f (x) toutes des formes linéaires ce que nous pouvons exprimer par :
slc h(x) = 0
min ct x
g (x) ≤ 0
slc Ax = b
n m n
où h : R → R et g : R → R p
x≥0

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 248 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 249

Optimisation non linéaire avec contraintes Optimisation non linéaire avec contraintes

Exemple de problème non linéaire contraint Exemple de problème non linéaire contraint (suite)

Graphe de la fonction objectif et des lignes de niveaux


Problème initial : f (x1 , x2 )
min f (x1 , x2 ) = (x1 − 1)2 + x2 − 2
 10
x2 − x1 = 1 5
slc
x1 + x2 ≤ 2 0
-5
Forme standard : -10
min f (x1 , x2 ) = (x1 − 1)2 + x2 − 2 -15
 -20
x2 − x1 − 1 = 0 -25
slc
x1 + x2 − 2 ≤ 0 -30
-2
-1.5
-1
La solution de ce problème est x∗ = 21 , 32 et f (x∗ ) = − 41
 -0.5 2
0 1 1.5
0.5 0 0.5
1
x1 1.5 -1 -0.5
2-2 -1.5
x2

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 250 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 251
Optimisation non linéaire avec contraintes Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités

Exemple de problème non linéaire contraint (suite) Rappel du Sommaire

Ce problème simple peut être appréhendé du point de vue graphique 1 Rappels de concepts mathématiques
6
x2 − x1 − 1 = 0
x2 + x1 − 2 = 0 2 Bases théoriques de l’optimisation
4

f (x1 , x2 ) = 1 3 Optimisation sans contrainte


2

f (x1 , x2 ) = −1/4 4 Optimisation linéaire avec contraintes


x2

5 Optimisation non linéaire avec contraintes


-2
Problèmes avec contraintes d’égalités
f (x1 , x2 ) = −5/2
Problèmes avec contraintes d’inégalités
-4

-3 -2 -1 0 1 2 3 4 5 6 Optimisation convexe
x1
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 252 7 Algorithmes pour
J. Ah-Pine (Univ-Lyon 2) problèmes contraints
Optimisation M1 Informatique 2014-2015 / 253

Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités

Problèmes avec contraintes d’égalités, points réguliers Points réguliers (suite)


Nous étudions dans une premier temps les problèmes non linéaires
avec des contraintes d’égalités qui peuvent être formulées de la Soit Dh(x) la matrice Jacobienne de h en x définie par :
 
∂h ∂h
manière suivante : Dh(x) = ∂x (x) · · · ∂xn (x)
min f (x)  ∂h1 1 ∂h1 
∂x1 (x) · · · ∂xn (x)
slc h(x) = 0
=  ... .. 

où : ··· . 
∂hm
I x ∈ Rn (x) · · · ∂h
∂xn (x)
m
 ∂x1
f : Rn → R ∇h1 (x)t
I


I h : Rn → Rm , h = h1 , . . . , hm avec m ≤ n ..
= 
 
I h est une fonction (vectorielle) continûment différentiable (classe C 1 ) . 
∇hm (x) t
Nous avons la définition suivante :
Définition. (Point régulier) Alors x est un point régulier si la matrice Jacobienne est de rang m
L’ensemble des contraintes d’égalité h1 (x) = 0, . . . , hm (x) = 0 décrit
Un point x satisfaisant les contraintes h1 (x) = 0, . . . , hm (x) = 0 est un
une surface S = {x ∈ Rn : h(x) = 0}. Si on suppose que tous les
point régulier des contraintes h si les vecteurs gradients
points de S sont réguliers alors la dimension de S est n − m
∇h1 (x), . . . , ∇hm (x) sont linéairement indépendants.
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 254 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 255
Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités

Exemple Autre exemple


Soit n = 3 et m = 1 (une contrainte d’égalité) Soit n = 3 et m = 2 (deux contraintes d’égalité)
Si tout point de S est régulier alors S est de dimension Si tout point de S est régulier alors S est de dimension
n−m =3−1=2 n−m =3−2=1
I Par exemple, prenons : h1 (x) = x2 − x32 = 0  I Par exemple, prenons : h1 (x) = x2 − x32 = 0 et h2(x) = x1 = 0 
I Le vecteur gradient est ∇h1 (x) = 0, 1, −2x3 I Les vecteurs gradients sont ∇h1 (x) = 0, 1, −2x3 et h2 (x) = 1, 0, 0
I Donc pour tout x ∈ R3 , ∇h1 (x) 6= 0 I Donc pour tout x ∈ R3 , λ1 ∇h1 (x) + λ2 ∇h2 (x) = 0 ⇒  λ1 = λ2 = 0
Par ailleurs, on voit que S = {x ∈ R3 : x = x1 , x32 , x3 , x1 , x3 ∈ R} Par ailleurs, on voit que S = {x ∈ R3 : x = 0, x32 , x3 , x3 ∈ R}

I I

I On en déduit donc que dim(S) = n − m = 3 − 1 = 2 I On en déduit donc que dim(S) = n − m = 3 − 2 = 1


I Illustration : I Illustration :
Exemple de surface Exemple de surface

2
1.5 2
1 S 1.5
0.5 1
0 0.5 S
x3 -0.5
x3 0
-1 -0.5
-1.5 -1
-2 4 2
-1.5 1.5
3.5 1
3 2 -2 4 0.5
2.5
2 1 1.5 3 2
0
-0.5 x1
x2 1.5
1 -0.5 0 0.5 1 0 -1
x1 -1.5
0.5
0-2 -1.5 -1 x2 -1 -2 -2
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 256 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 257

Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités

Courbe Courbe différentiable


Définition. (Courbe) Intuitivement, on peut voire une courbe γ représentée par x(t)
comme étant un chemin sur la surface S qui est fonction du temps t
Une courbe γ sur une surface S est un ensemble de points
et qui passe par le point x∗ au temps t ∗
{x(t) ∈ S : t ∈ [a, b]} tel que x : [a, b] → S est une fonction continue
Définition. (Courbe différentiable)
Illustration :
Exemple de surface Une courbe γ = {x(t) ∈ S : t ∈ [a, b]} est différentiable si :
dx dx1 dxn

2 γ dt (t) = dt (t), . . . , dt (t)
1.5 S
1 existe pour tout t ∈ [a, b]
0.5 x∗ = x(t ∗ )
0
x3 -0.5 Une courbe γ est deux fois différentiable si :
-1
 
d 2x d 2 x1 d 2 xn
-1.5
-2 4 dt 2 (t) = dt 2
(t), . . . , dt 2
(t)
3.5
3 1.5 2
2.5
x2
2
1.5
1
0.5 1
-0.5 0 x
existe pour tout t ∈ [a, b]
0.5
0-2 -1.5 -1 1

dx 2
Tout point de la courbe γ satisfait aux équations définissant S dt (t) et ddt 2x (t) sont des vecteurs de Rn . Le premier peut être vu
On dit que γ passe par x∗ s’il existe t ∗ ∈ [a, b] tel que x(t ∗ ) = x∗ comme le vecteur vitesse (instantanée) de x(t) et le second comme le
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 258
vecteur accélération (taux deOptimisation
J. Ah-Pine (Univ-Lyon 2)
changement de la vitesse)
M1 Informatique 2014-2015 / 259
Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités

Courbe différentiable (suite) Espace tangent


Rappelons que S = {x ∈ Rn : h(x) = 0} où h : Rn → Rm est de
classe C 1 . S est une surface de Rn
Définition. (Espace tangent)
Illustration :
L’espace tangent en un point x∗ de la surface S = {x ∈ Rn : h(x) = 0}
x(b)
est l’ensemble défini par :
dx T (x∗ ) = {y : Dh(x∗ )y = 0}
dt (t)
T (x∗ ) est Ker (Dh(x∗ )) ie le noyau de l’application linéaire
x(t)
représentée par la matrice Jacobienne Dh(x∗ ). Donc T (x∗ ) est un
x(a) sous-espace de Rn
Rappelons la définition de la matrice Jacobienne de h :
 ∂h1 ∗ ∂h1 ∗ 
∂x1 (x ) · · · ∂xn (x )

Dh(x ) = 
 .
.. .. 
··· . 
∂hm ∗ ∂hm ∗
∂x1 (x ) ··· ∂xn (x )
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 260 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 261

Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités

Espace tangent (suite) Espace tangent (suite)


On suppose que x∗ est régulier (ie Dh(x∗ ) est de rang m). Dans ce Intuitivement, on peut voir l’espace tangent en un point x∗ d’une
cas T (x∗ ) est de dimension n − m où m étant le nombre de surface comme étant l’ensemble des vecteurs tangents à la surface en
contraintes d’égalités. en ce point. Or tout vecteur gradient d’une courbe γ appartenant à la
T (x∗ ) est un sous-espace vectoriel de Rn donc il passe par l’origine et surface et passant par x∗ est tangent à la courbe et donc à la surface
non nécessairement par x∗ . Il est plus intéressant de visualiser l’espace
Théorème.
tangent comme étant un espace passant par x∗ , on introduit pour cela
les espaces affines. Toutefois, par abus de langage, nous supposerons Supposons que x∗ ∈ S est un point régulier et que T (x∗ ) est l’espace
par la suite que l’espace tangent en x∗ est l’espace affine défini par : tangent en x∗ . Alors, y ∈ T (x∗ ) ssi il existe une courbe différentiable de S
passant par x∗ tel que y est la dérivée de cette courbe en x∗
TP(x∗ ) = T (x∗ ) + x∗ = {x + x∗ : x ∈ T (x∗ )}
Illustration : Illustration :
x2
TP(x∗ ) x∗
S
x∗ γ1
TP(x∗ ) γ2
x1 S
T (x∗ )
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 262 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 263
Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités

Espace normal Espace normal (suite)

Définition. (Espace normal) Illustration :


x2
L’espace normal en un point x∗ de la surface S = {x ∈ Rn : h(x) = 0} NP(x∗ )
est l’ensemble défini par : S
x∗

N(x∗ ) = {x ∈ Rn : x = Dh(x∗ )t y, y ∈ Rm } N(x ) TP(x∗ )

x1
N(x∗ ) est Im(Dh(x∗ )t ) ie l’image de l’application linéaire représentée T (x∗ )
par la matrice Dh(x∗ )t ou encore l’espace engendré par les vecteurs
∗ ) = Vec{∇h (x∗ ), . . . , ∇h (x∗ )} = {x ∈ Rn : Propriété. (Relation entre espace tangent et espace normal)
gradients
Pm de h : N(x 1 m
x = j=1 yj ∇hj (x∗ ), y1 , . . . , ym ∈ R} T (x∗ ) = N(x∗ )⊥ et N(x∗ ) = T (x∗ )⊥
N(x∗ ) étant un sous-espace de Rn il contient 0. Comme pour
précédemment, il est plus intéressant de considérer l’espace normal en où N(x∗ )⊥ est le sous-espace orthogonal à N(x∗ )
x∗ comme l’espace affine associé passant par x∗ . On nommera
également par espace normal l’espace affine défini par : Propriété. (Somme directe de l’espace tangent et de l’espace normal)
NP(x∗ ) = N(x∗ ) + x∗ = {x + x∗ ∈ Rn : x ∈ N(x∗ )} Rn = T (x∗ ) ⊕ N(x∗ )
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 264 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 265

Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités

Conditions de Lagrange dans le cas R2 Conditions de Lagrange dans le cas R2 (suite)

Le fameux théorème de Lagrande donne des conditions nécessaires On a alors :


d
caractérisant les points optimiseurs de problèmes contraints h(x(t)) = 0 ⇒ dt h(x(t)) = 0
⇒ Dh(x(t)) dx dt (t) = 0
Pour mieux comprendre ce théorème on étudie d’abord les problèmes
⇒ ∇h(x(t)) dx t
dt (t) = 0
à 2 dimensions avec 1 contrainte d’égalité
⇒ ∇h(x(t)) est orthogonal à dx dt (t)
h : R2 → R est la seule contrainte ⇒ En d’autres termes, pour x ∈ x(t), le gradient de h est orthogonal au
Rappelons qu’à chaque point x∗ du domaine de h (ici R2 ), le vecteur vecteur tangent à la ligne de niveau représentée par x(t)
gradient ∇f (x∗ ) est orthogonal à la ligne de niveau
L = {x ∈ R2 : h(x) = c} passant par x∗ Supposons à présent que nous cherchions un minimiseur de
f : R2 → R sur S = {x : h(x) = 0}
En effet, prenons x∗ = x1∗ , x2∗ tel que h(x∗ ) = 0 et supposons que Si x∗ = x(t ∗ ) est un minimiseur de f alors on a :

d ∗ ∗ dx ∗
∇h(x∗ ) 6= 0 dt f (x(t )) = 0 ⇒ Df (x(t )) dt (t ) = 0
Dans ce cas la ligne de niveau est L = {x ∈ R2 : h(x) = 0} et ⇒ ∇f (x(t ∗ ))t dx ∗
dt (t ) = 0
supposons qu’au voisinage de x∗ on a une courbe γ = {x(t)} ⇒ ∇f (x(t ∗ )) est orthogonal à dx ∗
dt (t )

⇒ Ainsi, en x , le gradient de f est également orthogonal au vecteur
parcourant la ligne de niveau avec x : [a, b] → R2
tangent à la ligne de niveau représentée par x(t)
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 266 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 267
Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités

Conditions de Lagrange dans le cas R2 (suite) Illustration


⇒ Des deux observations précédentes nous concluons que si x∗ est un x(a)
f = c0
minimiseur de f sur S alors ∇h(x∗ ) et ∇f (x∗ ) sont tous deux
orthogonaux à dx
dt (t) ce qui veut dire qu’ils sont “parallèles”

Théorème. (Théorème de Lagrange pour n = 2 et m = 1) dx ∗


f = c1
dt (t )
Soit x∗un minimiseur de f : R2
→ R satisfaisant à la contrainte
h(x) = 0, h : R → R. Alors, si ∇h(x∗ ) 6= 0, il existe un scalaire λ∗ tel
2
f = c2
que :

∇f (x∗ ) + λ∗ ∇h(x∗ ) = 0 ∇h(x∗ ) x(t ∗ )

λ∗ est appelé multiplicateur de Lagrange


∇f (x∗ )
Autrement dit ce théorème donne des conditions nécessaires pour
qu’un point x∗ soit un minimiseur local de f :
I ∇f (x∗ ) + λ∗ ∇h(x∗ ) = 0 c0 > c1 > c2 x(b)
I h(x) = 0
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 268 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 269

Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités

Illustration (suite) Illustration (suite)

f (x1 , x2 ) Attention il s’agit de conditions nécessaires mais non suffisantes


Maximiseur Minimiseur
∇f (x∗ )
∇h(x∗ ) ∇h(x∗ )

∇f (x∗ )
h(x) = 0 h(x) = 0
f (x) = f (x∗ ) x2
∇f (x∗ )
∇h(x∗ )
x∗ ∇h(x∗ )
Cas d’un non optimiseur
∇f (x∗ ) h(x) = 0
x1
h(x) = 0
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 270 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 271
Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités

Conditions de Lagrange cas général Illustration

Théorème. (Théorème de Lagrange) ∇f (x∗ ) f = c0


x(a)
Soit x∗ un minimiseur (ou maximiseur) local de f : Rn → R satisfaisant dx ∗
aux contraintes h(x) = 0, h : Rn → Rm , m ≤ n. Alors, si x∗ est un point dt (t )
f = c1
régulier, il existe un λ∗ ∈ Rm tel que :

Df (x∗ ) + λ∗t Dh(x∗ ) = 0t x(t ∗ ) f = c2

λ∗t est appelé (vecteur de) multiplicateurs de Lagrange ∇h(x∗ )

Le théorème de Lagrange stipule que si x∗ est un optimiseur alors le x(b)


vecteur gradient de f en x∗ , ∇f (x∗ ), peut s’exprimer comme une
combinaison linaire des m vecteurs gradients de h c0 > c1 > c2
Autrement dit, x∗ ne peut pas être un optimiseur si x∗ ∈
/ N(x∗ )
Cas où les conditions de Lagrange ne sont pas satisfaites

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 272 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 273

Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités

Fonction de Lagrange Exemple


Il est utile d’introduire la fonction de Lagrange (ou Lagrangien) Déterminons les optimiseurs de la fonction f (x) = x12 + x22 sur l’ellipse
notée l et définie par : S = {(x1 , x2 ) : h(x1 , x2 ) = x12 + 2x22 − 1 = 0}
l(x, λ) = f (x) + λt h(x) Nous avons :
On peut alors exprimer les conditions de Lagrange de la manière ∇f (x) =
suivante : si x∗ est un minimiseur local de f alors
Dl(x∗ , λ∗ ) = 0t
où la dérivée D est par rapport aux deux arguments x et λ de l
En effet si on note Dx la dérivée par rapport à x et Dλ la dérivée par
rapport à λ alors :
Dl(x∗ , λ∗ ) = 0t ⇔ Dx l(x∗ , λ∗ ) Dλ l(x∗ , λ∗ ) =0t


⇔ Df (x∗ ) + λ∗t Dh(x∗ ) h(x)t = 0t


En d’autres termes, les conditions nécessaire de Lagrange sont
équivalentes aux CNPO des problèmes non contraints appliquées à la
fonction de Lagrange
L’équation précédente représente n + m équations à n + m inconnues
x1∗ , . . . , xn∗ et λ∗1 , . . . , λ∗m
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 274 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 275
Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités

Exemple Exemple
Déterminons les optimiseurs de la fonction f (x) = x12 + x22 sur l’ellipse Déterminons les optimiseurs de la fonction f (x) = x12 + x22 sur l’ellipse
S = {(x1 , x2 ) : h(x1 , x2 ) = x12 + 2x22 − 1 = 0} S = {(x1 , x2 ) : h(x1 , x2 ) = x12 + 2x22 − 1 = 0}
Nous avons :  Nous avons : 
∇f (x) = 2x1 , 2x2 ∇f (x) = 2x1 , 2x2 
∇h(x) = ∇h(x) = 2x1 , 4x2
le Lagrangien vaut :
l(x, λ) =

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 275 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 275

Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités

Exemple Exemple
Déterminons les optimiseurs de la fonction f (x) = x12 + x22 sur l’ellipse Déterminons les optimiseurs de la fonction f (x) = x12 + x22 sur l’ellipse
S = {(x1 , x2 ) : h(x1 , x2 ) = x12 + 2x22 − 1 = 0} S = {(x1 , x2 ) : h(x1 , x2 ) = x12 + 2x22 − 1 = 0}
Nous avons :  Nous avons : 
∇f (x) = 2x1 , 2x2  ∇f (x) = 2x1 , 2x2 
∇h(x) = 2x1 , 4x2 ∇h(x) = 2x1 , 4x2
le Lagrangien vaut : le Lagrangien vaut :
l(x, λ) = x12 + x22 + λ(x12 + 2x22 − 1) l(x, λ) = x12 + x22 + λ(x12 + 2x22 − 1)
On a donc :  On a donc : 
Dl(x, λ) = Dx l(x, λ) Dλ l(x, λ) Dl(x, λ) = Dx l(x, λ) Dλ l(x, λ)
= ∇f (x)t + λ∇h(x)t h(x) = ∇f (x)t + λ∇h(x)t h(x)
 

2(1 + λ)(x1 ) 2(1 + 2λ)x2 x12 + 2x22 − 1



= =
Ensuite :

Dl(x, λ) = 0t ⇔

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 275 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 275
Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités

Exemple Exemple (suite)


Déterminons les optimiseurs de la fonction f (x) = x12 + x22 sur l’ellipse
S = {(x1 , x2 ) : h(x1 , x2 ) = x12 + 2x22 − 1 = 0} On a donc : 
Nous avons :  2(1 + λ)(x1 ) = 0
Dl(x, λ) = 0t ⇔ 2(1 + 2λ)x2 = 0 ⇔

∇f (x) = 2x1 , 2x2   2
∇h(x) = 2x1 , 4x2 x1 + 2x22 = 1
le Lagrangien vaut :
l(x, λ) = x12 + x22 + λ(x12 + 2x22 − 1)
On a donc : 
Dl(x, λ) = Dx l(x, λ) Dλ l(x, λ)
= ∇f (x)t + λ∇h(x)t h(x)


2(1 + λ)(x1 ) 2(1 + 2λ)x2 x12 + 2x22 − 1



=
Ensuite : 
 2(1 + λ)(x1 ) = 0
Dl(x, λ) = 0t ⇔ 2(1 + 2λ)x2 = 0
 2
x1 + 2x22 = 1
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 275 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 276

Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités

Exemple (suite) Exemple (suite)

On a donc :   On a donc :  
 2(1 + λ)(x1 ) = 0  x1 = 0 ou λ = −1  2(1 + λ)(x1 ) = 0  x1 = 0 ou λ = −1
Dl(x, λ) = 0 ⇔t 2(1 + 2λ)x2 = 0 ⇔ x = 0 ou λ = − 12 Dl(x, λ) = 0 ⇔t 2(1 + 2λ)x2 = 0 ⇔ x = 0 ou λ = − 12
 2 2  22  2 2  22
x1 + 2x2 = 1 x1 + 2x22 = 1 x1 + 2x2 = 1 x1 + 2x22 = 1
On en déduit les solutions possibles suivantes : On en déduit les solutions possibles suivantes :
! !    
(1) 0 (2) 0 (3) 1 (4) −1
x = √1 , x = 1 ,x = ,x =
2
− 2
√ 0 0
1
On obtient f (x(1) ) = f (x(2) ) = 2 et f (x(3) ) = f (x(4) ) = 1

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 276 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 276
Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités

Exemple (suite) Conditions nécessaires du second ordre (CNSO)


Les CNPO de Lagrange permettent de trouver les points critiques
On a donc :   parmi lesquels pourraient se trouver les optimiseurs
 2(1 + λ)(x1 ) = 0  x1 = 0 ou λ = −1 Nous avons maintenant besoin de plus d’outils afin de caractériser ces
Dl(x, λ) = 0t ⇔ 2(1 + 2λ)x2 = 0 ⇔ x2 = 0 ou λ = − 12 points critiques, nous introduisons donc de nouvelles conditions
 2
x1 + 2x22 = 1 x12 + 2x22 = 1

basées sur la différentielle d’ordre 2 ie la matrice hessienne
On en déduit les solutions possibles suivantes : On suppose désormais que f : Rn → R et h : Rn → Rm sont de classe
C 2 et soit l(x, λ) = f (x) + λt h(x) le Lagrangien
! !    
(1) 0 (2) 0 (3) 1 (4) −1
x = √1 , x =
− √1
,x = ,x = Soit D 2 l(x, λ) la matrice hessienne ou hessien de l. On note
0 0
2 2 respectivement par Dx2 et Dλ2 , la dérivée seconde par rapport à x et λ
1
On obtient f (x(1) ) = f (x(2) ) = 2 et f (x(3) ) = f (x(4) ) = 1 On a Dx2 l(x, λ) = Dx2 f (x) 2 2 h (x) avec :
 + λ1 Dx h1 (x) + . . . + λm Dx m
∂ 2 hj ∂ 2 hj ∂ 2 hj
On conclut que s’il existe des minimiseurs de f alors ils sont en x(1) et ···
 ∂x2 12 ∂x1 ∂x2 ∂x1 ∂xn 
x(2) et s’il existe des maximiseurs ils sont en x(3) et x(4)  ∂ hj ∂ 2 hj ∂ 2 hj 
 ∂x2 ∂x1 ∂x22
··· ∂x2 ∂xn 

Il s’avère en fait que x(1) , x(2) et x(3) , x(4) sont respectivement les D 2 hj =  
.. .. .. 
minimmiseurs et maximiseurs de f sur S 
 . . ··· . 

∂ 2 hj ∂ 2 hj ∂ 2 hj
∂xn ∂x1 ∂xn ∂x2 ··· ∂xn2
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 276 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 277

Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’égalités

Conditions nécessaires du second ordre (CNSO) (suite) Conditions suffisantes du second ordre (CSSO)

Théorème. (CNSO) Théorème. (CSSO)


Soit x∗ un minimiseur local de f : Rn → R satisfaisant aux contraintes Soit f : Rn → R et h : Rn → Rm , deux fonctions de classe C 2 . S’il exite un
h(x) = 0, h : Rn → Rm , m ≤ n et f , h ∈ C 2 . Alors, si x∗ est un point point réalisable x∗ et λ∗ ∈ Rm tels que :
régulier, il existe un λ∗ ∈ Rm tel que : 1 Df (x∗ ) + λ∗t Dh(x∗ ) = 0t
1 Df (x∗ ) + λ∗t Dh(x∗ ) = 0t 2 Pour tout y ∈ T (x∗ ), y 6= 0, nous avons : yt Dx2 l(x∗ , λ∗ )y > 0
2 Pour tout y ∈ T (x∗ ), nous avons : yt Dx2 l(x∗ , λ∗ )y ≥ 0 alors x∗ est un minimiseur local strict de f satisfaisant aux contraintes
h(x) = 0
Dx2 l joue un rôle similaire que D 2 f dans le cas non contraint
Toutefois, dans le cas contraint, il est seulement requis aux vecteurs Autrement dit, si x∗ vérifie les conditions de Lagrange et si
appartenant à l’espace tangent en x∗ de satisfaire à la propriété de Dx2 l(x∗ , λ∗ ) est définie positive pour tout vecteur de T (x∗ ) alors c’est
semi-définie positivité de Dx2 l un minimiseur local strict
Ces conditions sont uniquement nécessaires, nous présentons des Dans le cas d’un maximiseur, la condition 2 est remplacée par “définie
conditions suffisantes dans ce qui suit négative” (toutes choses étant égales par ailleurs)

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 278 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 279
Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités

Rappel du Sommaire Problèmes avec contraintes d’égalités et d’inégalités

1 Rappels de concepts mathématiques


Nous étudions maintenant le cas général des problèmes non linéaires
2 Bases théoriques de l’optimisation avec des contraintes d’égalités et d’inégalités qui peuvent être
formulés de la manière suivante :
3 Optimisation sans contrainte min f (x)
slc h(x) = 0
4 Optimisation linéaire avec contraintes g (x) ≤ 0
où :
I x ∈ Rn
5 Optimisation non linéaire avec contraintes I f : Rn → R
Problèmes avec contraintes d’égalités I

h : Rn → Rm , h = h1 , . . . , hm avec m ≤ n
Problèmes avec contraintes d’inégalités I g : Rn → Rp , g = g1 , . . . , gp avec m ≤ n

6 Optimisation convexe

7 Algorithmes pour
J. Ah-Pine (Univ-Lyon 2) problèmes contraints
Optimisation M1 Informatique 2014-2015 / 280 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 281

Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités

Contraintes actives et points réguliers Conditions de Karush-Kuhn-Tucker (KKT)


Définition. (Contrainte active)
Théorème. (Théorème de KKT)
Une contrainte d’inégalité gj ≤ 0 est dite active en x∗ si gj (x∗ ) = 0. Elle
est dite inactive en x∗ si gj (x∗ ) < 0 Soit f , h, g des fonctions de classe C 1 . Soit x∗ un point régulier qui est un
minimiseur local de f satisfaisant aux contraintes h(x) = 0 et g (x) ≤ 0.
Définition. (Ensemble d’indices d’inégalités actives) Alors il existe λ∗ ∈ Rm et µ∗ ∈ Rp tel que :
Soit x∗ un point satisfaisant les contraintes h(x∗ ) = 0 et g (x∗ ) ≤ 0. On 1 µ∗ ≥ 0
note J(x∗ ) l’ensemble des indices de contraintes d’inégalités qui sont 2 Df (x∗ ) + λ∗t Dh(x∗ ) + µ∗t Dg (x∗ ) = 0t
actives : J(x∗ ) = {j : gj (x∗ ) = 0} 3 µ∗t g (x∗ ) = 0
où λ∗ sont appelés (vecteur des) multiplicateurs de Lagrange et µ∗
Définition. (Point régulier) (vecteur des) multiplicateurs de Karush-Kuhn-Tucker
Un point x∗ est dit point régulier si les vecteurs :
Comme µ∗j ≥ 0 et gj (x∗ ) ≤ 0, la condition 3 implique que si
∇hi (x∗ ), i = 1, . . . , n et ∇gj (x∗ ), j ∈ J(x∗ )
gj (x∗ ) < 0 alors µ∗j = 0. Dit autrement, ∀j ∈
/ J(x∗ ), µ∗j = 0
sont linéairement indépendants
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 282 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 283
Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités

Illustration dans R2 Interprétation du théorème de KKT

Nous interprétons les conditions de KKT sur l’exemple graphique


précédent
Nous n’avons que des contraintes inégalités gj (x) ≤ 0, j = 1, 2, 3
x∗ est un minimiseur et satisfait donc les conditions de KKT
f = c1
−∇g1 (x∗ ) x∗ J(x∗ ) = {1, 2} donc g3 (x∗ ) < 0 est inactive par conséquent µ∗3 = 0
(condition 3)
f = c2
Selon la condition 2 de KKT nous avons :
g ≤0
−∇g2 (x∗ ) f = c3 ∇f (x∗ ) + µ∗1 ∇g1 (x∗ ) + µ∗2 ∇g2 (x∗ ) = 0t
g2 = 0 ce qui est équivalent à :
∇f (x∗ )
∇f (x∗ ) = −µ∗1 ∇g1 (x∗ ) − µ∗2 ∇g2 (x∗ )
où µ∗1 , µ∗2 > 0 (condition 1)
g1 = 0
c1 < c2 < c3 Ainsi, ∇f (x∗ ) doit être une combinaison linéaire des vecteurs
−∇g1 (x∗ ) et −∇g2 (x∗ ) avec des coefficients positifs
g3 = 0
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 284 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 285

Cas où on vérifie les conditions de KKT


Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités

Interprétation du théorème de KKT (suite) Conditions de KKT pour un problème de maximisation


On considère le problème de maximisation suivant :
max f (x)
slc h(x) = 0
Les conditions de KKT comme les conditions de Lagrange sont
g (x) ≤ 0
nécessaires et on les applique afin de déterminer des points critiques
Dans ce cas, les conditions de KKT sont :
candidats à être des points minimiseurs 1 µ∗ ≥ 0
Les conditions de KKT pour un problème de minimisation consistent 2 −Df (x∗ ) + λ∗t Dh(x∗ ) + µ∗t Dg (x∗ ) = 0t
en 3 équations et 2 inégalités : 3 µ∗t g (x∗ ) = 0
1 µ∗ ≥ 0 4 h(x∗ ) = 0
2 Df (x∗ ) + λ∗t Dh(x∗ ) + µ∗t Dg (x∗ ) = 0t 5 g (x∗ ) ≤ 0
3 µ∗t g (x∗ ) = 0 En multipliant la condition 2 par −1 et en changeant les signes des
4 h(x∗ ) = 0 multiplicateurs, on a les conditions équivalentes suivantes :
5 g (x∗ ) ≤ 0 1 µ∗ ≤ 0
2 Df (x∗ ) + λ∗t Dh(x∗ ) + µ∗t Dg (x∗ ) = 0t
3 µ∗t g (x∗ ) = 0
4 h(x∗ ) = 0
5 g (x∗ ) ≤ 0
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 286 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 287
Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités

Conditions de KKT avec contraintes ≥ Conditions de KKT avec contraintes ≥


On considère le problème de minimisation suivant :
min f (x)
slc h(x) = 0 On considère le problème de maximisation suivant :
g (x) ≥ 0
max f (x)
Dans ce cas, les conditions de KKT sont :
1 µ∗ ≥ 0 slc h(x) = 0
2 Df (x∗ ) + λ∗t Dh(x∗ ) − µ∗t Dg (x∗ ) = 0t g (x) ≥ 0
3 µ∗t g (x∗ ) = 0 Dans ce cas, les conditions de KKT sont :
4 h(x∗ ) = 0 1 µ∗ ≥ 0
5 g (x∗ ) ≥ 0 2 Df (x∗ ) + λ∗t Dh(x∗ ) + µ∗t Dg (x∗ ) = 0t
En multipliant la condition 5 par −1 et en changeant les signes des 3 µ∗t g (x∗ ) = 0
multiplicateurs, on a les conditions équivalentes suivantes : 4 h(x∗ ) = 0
1 µ∗ ≤ 0 5 g (x∗ ) ≥ 0
2 Df (x∗ ) + λ∗t Dh(x∗ ) + µ∗t Dg (x∗ ) = 0t
3 µ∗t g (x∗ ) = 0
4 h(x∗ ) = 0
5 g (x∗ ) ≥ 0
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 288 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 289

Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités

Exemple Exemple

Déterminons les optimiseurs de la fonction Déterminons les optimiseurs de la fonction


f (x1 , x2 ) = x12 + x22 + x1 x2 − 3x1 sous les contraintes que x1 ≥ 0 et f (x1 , x2 ) = x12 + x22 + x1 x2 − 3x1 sous les contraintes que x1 ≥ 0 et
x2 ≥ 0 x2 ≥ 0
On cherche les points vérifiants les conditions de KKT suivantes :

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 290 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 290
Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités

Exemple Exemple

Déterminons les optimiseurs de la fonction Déterminons les optimiseurs de la fonction


f (x1 , x2 ) = x12 + x22 + x1 x2 − 3x1 sous les contraintes que x1 ≥ 0 et f (x1 , x2 ) = x12 + x22 + x1 x2 − 3x1 sous les contraintes que x1 ≥ 0 et
x2 ≥ 0 x2 ≥ 0
On cherche les points vérifiants les conditions de KKT suivantes : On cherche les points vérifiants les conditions de KKT suivantes :
1 µ≤0 1 µ≤0
2 Df (x) + µt Dg (x) = 0t 2 Df (x) + µt Dg (x) = 0t
3 µt g (x) = 0 3 µt g (x) = 0
5 x≥0 5 x≥0
Nous avons : Nous avons :

Df (x) = Df (x) = 2x1 + x2 − 3 x1 + 2x2
Les conditions 2 et 3 sont équivalentes au système suivant :

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 290 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 290

Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités

Exemple Exemple

Déterminons les optimiseurs de la fonction a On pose µ∗1 = 0 et µ∗2 < 0 (donc x2∗ = 0 car condition 3)
f (x1 , x2 ) = x12 + x22 + x1 x2 − 3x1 sous les contraintes que x1 ≥ 0 et
x2 ≥ 0
On cherche les points vérifiants les conditions de KKT suivantes :
1 µ≤0
2 Df (x) + µt Dg (x) = 0t
3 µt g (x) = 0
5 x≥0
Nous avons :

Df (x) = 2x1 + x2 − 3 x1 + 2x2
Les conditions 2 et 3 sont équivalentes au système suivant :

 2x1 + x2 + µ1 = 3
x1 + 2x2 + µ2 = 0
µ1 x1 + µ2 x2 = 0

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 290 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 291
Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités

Exemple Exemple

a On pose µ∗1 = 0 et µ∗2 < 0 (donc x2∗ = 0 car condition 3) a On pose µ∗1 = 0 et µ∗2 < 0 (donc x2∗ = 0 car condition 3)
En remplaçant dans le système on obtient x1∗ = 3
2 et µ∗2 = − 32 En remplaçant dans le système on obtient x1∗ = 3
2 et µ∗2 = − 32
Ce point satisfait aux conditions de KKT Ce point satisfait aux conditions de KKT
b On pose maintenant µ∗2 = 0 et µ∗1 < 0 (donc x1∗ = 0) b On pose maintenant µ∗2 = 0 et µ∗1 < 0 (donc x1∗ = 0)
En remplaçant dans le système on obtient x2∗ = 0 et µ∗1 = 3
µ∗1 > 0 donc ce point ne satisfait pas aux conditions de KKT

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 291 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 291

Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités

Exemple Conditions nécessaires du second ordre (CNSO)


On suppose désormais que f : Rn → R, h : Rn → Rm et g : Rn → Rp
a On pose µ∗1 = 0 et µ∗2 < 0 (donc x2∗ = 0 car condition 3) sont de classe C 2 et soit l(x, λ, µ) le Lagrangien défini par :
En remplaçant dans le système on obtient x1∗ = 3
2 et µ∗2 = − 32 l(x, λ, µ) = f (x) + λt h(x) + µt g (x)
Ce point satisfait aux conditions de KKT Soit D 2 l(x, λ, µ) la matrice hessienne ou hessien de l et soit Dx2 la
b On pose maintenant µ∗2 = 0 et µ∗1 < 0 (donc x1∗ = 0) dérivée seconde par rapport à x
On a Dx2 l(x, λ, µ) =
En remplaçant dans le système on obtient x2∗ = 0 et µ∗1 = 3
Dx2 f (x)+λ1 Dx2 h1 (x)+. . .+λm Dx2 hm (x)+µ1 Dx2 g1 (x)+. . .+µp Dx2 gp (x)
µ∗1 > 0 donc ce point ne satisfait pas aux conditions de KKT avec :  ∂2g ∂ 2 gk ∂ 2 gk

∂x1 ∂x2 · · ·
k
∂x12 ∂x1 ∂xn
⇒ Le point x∗ = 32 , 0 , µ∗ = 0, − 32 est le seul point candidat mais on
   ∂2g ∂ 2 gk ∂ 2 gk 


∂x
k
∂x ∂x 2 · · · ∂x ∂x
D 2 gk =  . 2 1 2 n
 2

n’est pas sûr qu’il s’agisse d’un minimiseur  . .. .. 
 . . ··· . 

Comme pour précédemment, nous étudions dans la suite des ∂ 2 gk ∂ 2 gk ∂ 2 gk
conditions de second ordre permettant de caractériser les points ∂xn ∂x1 ∂xn ∂x2 · · · ∂xn2

Dans ce qui suit, l’espace tangent en x est défini par :
critiques
T (x∗ ) = {y ∈ Rn : Dh(x∗ )y = 0, Dgj (x∗ )y = 0, j ∈ J(x∗ )}
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 291 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 292
Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités

Conditions nécessaires du second ordre (CNSO) (suite) Conditions suffisantes du second ordre (CSSO)
Dans ce qui suit, l’espace tangent en x∗ est défini par :
T (x∗ , µ∗ ) = {y ∈ Rn : Dh(x∗ )y = 0, Dgj (x∗ )y = 0, j ∈ J(x∗ , µ∗ )}
où J(x∗ , µ∗ ) = {j : gj (x∗ ) = 0, µ∗j > 0}
Théorème. (CNSO) Remarquons que J(x∗ , µ∗ ) ⊂ J(x∗ ) ce qui en revanche implique
T (x∗ ) ⊂ T (x∗ , µ∗ )
Soit x∗ un minimiseur local de f : Rn → R satisfaisant aux contraintes
h(x) = 0, h : Rn → Rm , m ≤ n, g (x) ≤ 0, g : Rn → Rp , et f , h, g ∈ C 2 . Théorème. (CSSO)
Alors, si x∗ est un point régulier, il existe λ∗ ∈ Rm et µ∗ ∈ Rp tels que : Soit f : Rn → R, h : Rn → Rm et g : Rn → Rp , trois fonctions de classe
1 µ∗ ≥ 0, Df (x∗ ) + λ∗t Dh(x∗ ) + µ∗t Dg (x∗ ) = 0t , µ∗t g (x∗ ) =0 C 2 . S’il exite un point réalisable x∗ ∈ Rn et λ∗ ∈ Rm , µ∗ ∈ Rp tels que :
2 Pour tout y ∈ T (x∗ ), nous avons : yt Dx2 l(x∗ , λ∗ , µ∗ )y ≥0 1 µ∗ ≥ 0, Df (x∗ ) + λ∗t Dh(x∗ ) + µ∗t Dg (x∗ ) = 0t , µ∗t g (x∗ ) = 0
2 Pour tout y ∈ T (x∗ , µ∗ ), y 6= 0, nous avons : yt Dx2 l(x∗ , λ∗ , µ∗ )y > 0
alors x∗ est un minimiseur local strict de f satisfaisant aux contraintes
h(x) = 0 et g (x) ≤ 0

Dans le cas d’un maximiseur, µ∗ ≤ 0 et la condition 2 est remplacée


J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 293 par “définie
J. Ah-Pine (Univ-Lyon négative”
2) (toutesOptimisation
choses étant égales par ailleurs)2014-2015 / 294
M1 Informatique

Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités

Exemple Exemple

On cherche à minimiser la fonction f (x) = (x1 − 1)2 + x2 − 2 sous les On cherche à minimiser la fonction f (x) = (x1 − 1)2 + x2 − 2 sous les
contraintes : h(x) = x2 − x1 − 1 = 0 et g (x) = x1 + x2 − 2 ≤ 0 contraintes : h(x) = x2 − x1 − 1 = 0 et g (x) = x1 + x2 − 2 ≤ 0
Pour tout x ∈ R2 on a : Df (x) =

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 295 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 295
Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités

Exemple Exemple

On cherche à minimiser la fonction f (x) = (x1 − 1)2 + x2 − 2 sous les On cherche à minimiser la fonction f (x) = (x1 − 1)2 + x2 − 2 sous les
contraintes : h(x) = x2 − x1 − 1 = 0 et g (x) = x1 + x2 − 2 ≤ 0 contraintes : h(x) = x2 − x1 − 1 = 0 et g (x) = x1 + x2 − 2 ≤ 0
Pour tout x ∈ R2 on a : Df (x) = 2x1 − 2 1 , Dh(x) = Pour tout x ∈ R2 on a : Df (x) = 2x1 − 2 1 , Dh(x) = −1 1 et
  

Dg (x) =

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 295 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 295

Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités

Exemple Exemple

On cherche à minimiser la fonction f (x) = (x1 − 1)2 + x2 − 2 sous les On cherche à minimiser la fonction f (x) = (x1 − 1)2 + x2 − 2 sous les
contraintes : h(x) = x2 − x1 − 1 = 0 et g (x) = x1 + x2 − 2 ≤ 0 contraintes : h(x) = x2 − x1 − 1 = 0 et g (x) = x1 + x2 − 2 ≤ 0
Pour tout x ∈ R2 on a : Df (x) = 2x1 − 2 1 , Dh(x) = −1 1 et Pour tout x ∈ R2 on a : Df (x) = 2x1 − 2 1 , Dh(x) = −1 1 et
   

Dg (x) = 1 1 Dg (x) = 1 1
On voit que ∇h(x) = Dh(x)t et ∇g (x) = Dg (x)t sont linéairement On voit que ∇h(x) = Dh(x)t et ∇g (x) = Dg (x)t sont linéairement
indépendants et donc tout point x est régulier indépendants et donc tout point x est régulier
On écrit les conditions de KKT :

µ≥0
 t  t
2x1 − 2 − λ + µ 0
Df (x) + λt Dh(x) + µt Dg (x) = 0t ⇔ =
1+λ+µ 0
µt g (x) = 0 ⇔ µ(x1 + x2 − 2) = 0
h(x) = 0 ⇔ x2 − x1 − 1 = 0
g (x) ≤ 0 ⇔ x1 + x2 − 2 ≤ 0
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 295 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 295
Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités

Exemple (suite) Exemple (suite)

On cherche les points critiques. On considère dans un premier temps On cherche les points critiques. On considère dans un premier temps
µ > 0 ce qui implique g (x) = x1 + x2 − 1 = 0. On obtient alors le µ > 0 ce qui implique g (x) = x1 + x2 − 1 = 0. On obtient alors le
système d’équations suivant : système d’équations suivant :
 

 2x1 − 2 − λ + µ = 0 
 2x1 − 2 − λ + µ = 0
1+λ+µ = 0 1+λ+µ = 0
 
x − x1 − 1 = 0 x − x1 − 1 = 0
 2  2

 

x1 + x2 − 1 = 0 x1 + x2 − 1 = 0
La résolution du système donne : x1 = 12 , x2 = 32 , λ = −1, µ = 0

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 296 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 296

Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités

Exemple (suite) Exemple (suite)

On cherche les points critiques. On considère dans un premier temps On considère alors µ = 0 ce qui implique g (x) = x1 + x2 − 1 ≤ 0. On
µ > 0 ce qui implique g (x) = x1 + x2 − 1 = 0. On obtient alors le obtient le système d’équation suivant :
système d’équations suivant : 
  2x1 − 2 − λ = 0

 2x1 − 2 − λ + µ = 0 1+λ = 0
1+λ+µ = 0

x2 − x1 − 1 = 0

x − x − 1 = 0
 2 1
et la solution du système doit également vérifier x1 + x2 − 1 ≤ 0


x1 + x2 − 1 = 0
La résolution du système donne : x1 = 12 , x2 = 32 , λ = −1, µ = 0
Toutefois µ = 0 contredit l’hypothèse µ > 0 donc le point n’est pas
candidat

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 296 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 297
Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités

Exemple (suite) Exemple (suite)


Pour savoir si x = 12 , 32 est un minimiseur on utilise les conditions


suffisantes du second ordre : on forme le Lagrangien l(x, λ, µ) et on


étudie le signe de Dx2 l
On considère alors µ = 0 ce qui implique g (x) = x1 + x2 − 1 ≤ 0. On
obtient le système d’équation suivant :

 2x1 − 2 − λ = 0
1+λ = 0
x2 − x1 − 1 = 0

et la solution du système doit également vérifier x1 + x2 − 1 ≤ 0


On trouve comme solution : x1 = 21 , x2 = 32 , λ = −1 et on voit que  le
vecteur x = 21 , 32 vérifie la contrainte g (x) ≤ 0. Donc x = 21 , 32 est
un point candidat à être un minimiseur

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 297 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 298

Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités

Exemple (suite) Exemple (suite)


Pour savoir si x = 12 , 32 est un minimiseur on utilise les conditions Pour savoir si x = 12 , 32 est un minimiseur on utilise les conditions
 

suffisantes du second ordre : on forme le Lagrangien l(x, λ, µ) et on suffisantes du second ordre : on forme le Lagrangien l(x, λ, µ) et on
étudie le signe de Dx2 l étudie le signe de Dx2 l
On a : l(x, λ, µ) = f (x) + λt h(x) + µt g (x) = On a : l(x, λ, µ) = f (x) + λt h(x) + µt g (x) =
(x1 − 1)2 + x2 − 2 + λ(x2 − x1 − 1) + µ(x1 + x2 − 1) (x1 − 1)2 + x2 − 2 + λ(x2 − x1 − 1) + µ(x1 + x2 − 1) 
2 2 0
La matrice hessienne est donnée par : Dx l(x, λ, µ) =
0 0

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 298 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 298
Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités

Exemple (suite) Exemple (suite)


Pour savoir si x = 12 , 32 est un minimiseur on utilise les conditions Pour savoir si x = 12 , 32 est un minimiseur on utilise les conditions
 

suffisantes du second ordre : on forme le Lagrangien l(x, λ, µ) et on suffisantes du second ordre : on forme le Lagrangien l(x, λ, µ) et on
étudie le signe de Dx2 l étudie le signe de Dx2 l
On a : l(x, λ, µ) = f (x) + λt h(x) + µt g (x) = On a : l(x, λ, µ) = f (x) + λt h(x) + µt g (x) =
(x1 − 1)2 + x2 − 2 + λ(x2 − x1 − 1) + µ(x1 + x2 − 1)  (x1 − 1)2 + x2 − 2 + λ(x2 − x1 − 1) + µ(x1 + x2 − 1) 
2 2 0 2 2 0
La matrice hessienne est donnée par : Dx l(x, λ, µ) = La matrice hessienne est donnée par : Dx l(x, λ, µ) =
0 0 0 0
Il faut ensuite déterminer T (x, µ). Notons que comme µ = 0 la Il faut ensuite déterminer T (x, µ). Notons que comme µ = 0 la
contrainte g n’est pas active et dans ce cas : contrainte g n’est pas active et dans ce cas :
T (x, µ) = {y ∈ R2 : Dh(x)y = 0} = T (x, µ) = {y ∈ R2 : Dh(x)y = 0} = {y ∈ R2 : −1 1 y = 0} =


{y ∈ R2 : y1 = y2 = y , y ∈ R}

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 298 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 298

Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités Optimisation non linéaire avec contraintes Problèmes avec contraintes d’inégalités

Exemple (suite) Exemple (suite)


Pour savoir si x = 12 , 32 est un minimiseur on utilise les conditions Pour savoir si x = 12 , 32 est un minimiseur on utilise les conditions
 

suffisantes du second ordre : on forme le Lagrangien l(x, λ, µ) et on suffisantes du second ordre : on forme le Lagrangien l(x, λ, µ) et on
étudie le signe de Dx2 l étudie le signe de Dx2 l
On a : l(x, λ, µ) = f (x) + λt h(x) + µt g (x) = On a : l(x, λ, µ) = f (x) + λt h(x) + µt g (x) =
(x1 − 1)2 + x2 − 2 + λ(x2 − x1 − 1) + µ(x1 + x2 − 1)  (x1 − 1)2 + x2 − 2 + λ(x2 − x1 − 1) + µ(x1 + x2 − 1) 
2 2 0 2 2 0
La matrice hessienne est donnée par : Dx l(x, λ, µ) = La matrice hessienne est donnée par : Dx l(x, λ, µ) =
0 0 0 0
Il faut ensuite déterminer T (x, µ). Notons que comme µ = 0 la Il faut ensuite déterminer T (x, µ). Notons que comme µ = 0 la
contrainte g n’est pas active et dans ce cas : contrainte g n’est pas active et dans ce cas :
T (x, µ) = {y ∈ R2 : Dh(x)y = 0} = {y ∈ R2 : −1 1 y = 0} = T (x, µ) = {y ∈ R2 : Dh(x)y = 0} = {y ∈ R2 : −1 1 y = 0} =
 

{y ∈ R2 : y1 = y2 = y , y ∈ R}    {y ∈ R2 : y1 = y2 = y , y ∈ R}   
t 2
 2 0 y  2 0 y
On a alors y Dx l(x, λ, µ)y = y y = 2y 2 et on vérifie t 2
On a alors y Dx l(x, λ, µ)y = y y = 2y 2 et on vérifie
0 0 y 0 0 y
que ∀y ∈ T (x, µ), y 6= 0 : yt Dx2 l(x, λ, µ)y > 0 que ∀y ∈ T (x, µ), y 6= 0 : yt Dx2 l(x, λ, µ)y > 0
En appliquant les CSSO, on conclut que x = 12 , 32 est un minimiseur


local strict de f satisfaisant les contraintes


J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 298 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 298
Optimisation convexe Optimisation convexe Fonctions et ensembles convexes

Rappel du Sommaire Rappel du Sommaire

1 Rappels de concepts mathématiques 1 Rappels de concepts mathématiques

2 Bases théoriques de l’optimisation 2 Bases théoriques de l’optimisation

3 Optimisation sans contrainte 3 Optimisation sans contrainte

4 Optimisation linéaire avec contraintes 4 Optimisation linéaire avec contraintes

5 Optimisation non linéaire avec contraintes 5 Optimisation non linéaire avec contraintes

6 Optimisation convexe 6 Optimisation convexe


Fonctions et ensembles convexes
Conditions nécessaires et suffisantes du 1er ordre
7 Algorithmes pour problèmes contraints
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 299 7 Algorithmes pour
J. Ah-Pine (Univ-Lyon 2) problèmes contraints
Optimisation M1 Informatique 2014-2015 / 300

Optimisation convexe Fonctions et ensembles convexes Optimisation convexe Fonctions et ensembles convexes

Introduction Introduction
Les problèmes que nous avons étudiés dans la section précédente sont Les problèmes que nous avons étudiés dans la section précédente sont
en général très difficiles à résoudre en général très difficiles à résoudre
Ces difficultés proviennent de la nature de la fonction objectif ou des Ces difficultés proviennent de la nature de la fonction objectif ou des
contraintes. Par exemple, même si la fonction objectif est contraintes. Par exemple, même si la fonction objectif est
relativement simple à optimiser, la nature des contraintes peut rendre relativement simple à optimiser, la nature des contraintes peut rendre
difficile la résolution du problème difficile la résolution du problème

Nous nous intéressons ici à une famille de problèmes, les problèmes


convexes (on parle alors d’optimisation convexe) où la fonction
objectif est convexe et les contraintes définissent un ensemble
convexe. Les problèmes convexes ont des propriétés particulières que
nous pouvons plus facilement appréhender. En d’autres termes les
problèmes convexes sont plus simples à résoudre que les problèmes
non convexes

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 301 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 301
Optimisation convexe Fonctions et ensembles convexes Optimisation convexe Fonctions et ensembles convexes

Introduction Graphe et épigraphe d’une fonction


Les problèmes que nous avons étudiés dans la section précédente sont
en général très difficiles à résoudre
Ces difficultés proviennent de la nature de la fonction objectif ou des Définition. (Graphe d’une fonction)
contraintes. Par exemple, même si la fonction objectif est Le graphe de la fonction f : S → R, S ⊂ Rn , est l’ensemble des points de
relativement simple à optimiser, la nature des contraintes peut rendre S × R ⊂ Rn+1 donné par :
difficile la résolution du problème
{(x, f (x)), x ∈ S}
Nous nous intéressons ici à une famille de problèmes, les problèmes
convexes (on parle alors d’optimisation convexe) où la fonction
objectif est convexe et les contraintes définissent un ensemble
convexe. Les problèmes convexes ont des propriétés particulières que
nous pouvons plus facilement appréhender. En d’autres termes les
problèmes convexes sont plus simples à résoudre que les problèmes
non convexes
Les problèmes linéaires sont par exemple un sous-cas de problèmes
convexes
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 301 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 302

Optimisation convexe Fonctions et ensembles convexes Optimisation convexe Fonctions et ensembles convexes

Graphe et épigraphe d’une fonction Illustration dans R

Définition. (Graphe d’une fonction)


Le graphe de la fonction f : S → R, S ⊂ Rn , est l’ensemble des points de épigraphe
S × R ⊂ Rn+1 donné par :
graphe
{(x, f (x)), x ∈ S}

Définition. (Epigraphe) f (x)


L’épigraphe de la fonction f : S → R, S ⊂ Rn , dénoté epi(f ), est
l’ensemble des points de S × R ⊂ Rn+1 donné par :

{(x, y ), x ∈ S, y ∈ R, y ≥ f (x)}
O x

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 302 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 303
Optimisation convexe Fonctions et ensembles convexes Optimisation convexe Fonctions et ensembles convexes

Fonction convexe Fonction convexe

Définition. (Fonction convexe) Définition. (Fonction convexe)


Une fonction f : S → R, S ⊂ Rn , est convexe si son épigraphe est un Une fonction f : S → R, S ⊂ Rn , est convexe si son épigraphe est un
ensemble convexe ensemble convexe

Théorème. (Fonction convexe)


Si une fonction f : S → R, S ⊂ Rn , est convexe alors S, est un ensemble
convexe

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 304 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 304

Optimisation convexe Fonctions et ensembles convexes Optimisation convexe Fonctions et ensembles convexes

Fonction convexe Illustration dans R

Définition. (Fonction convexe)


Une fonction f : S → R, S ⊂ Rn , est convexe si son épigraphe est un
ensemble convexe épigraphe
f (x)
Théorème. (Fonction convexe)
αf (x) + (1 − α)f (y ) graphe
Si une fonction f : S → R, S ⊂ Rn , est convexe alors S, est un ensemble
convexe f (y )

Théorème. (Fonction convexe)


Une fonction f : S → R, défini sur un ensemble convexe S ⊂ Rn , est αx + (1 − α)y
convexe ssi pour tout x, y ∈ S et pour tout α ∈ [0, 1] : O x y x

f (αx + (1 − α)y) ≤ αf (x) + (1 − α)f (y)


Le segment reliant (x, f (x)) et (y , f (y )) est au-dessus ou sur le graphe de
f
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 304 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 305
Optimisation convexe Fonctions et ensembles convexes Optimisation convexe Fonctions et ensembles convexes

Fonction strictement convexe et concave Fonction strictement convexe et concave

Définition. (Fonction strictement convexe) Définition. (Fonction strictement convexe)


Une fonction f : S → R, défini sur un ensemble convexe S ⊂ est Rn , Une fonction f : S → R, défini sur un ensemble convexe S ⊂ Rn , est
strictement convexe ssi pour tout x, y ∈ S, x 6= y et pour tout α ∈ [0, 1] : strictement convexe ssi pour tout x, y ∈ S, x 6= y et pour tout α ∈ [0, 1] :

f (αx + (1 − α)y) < αf (x) + (1 − α)f (y) f (αx + (1 − α)y) < αf (x) + (1 − α)f (y)

Définition. (Fonction (strictement) concave)


Une fonction f : S → R, défini sur un ensemble convexe S ⊂ Rn , est
(strictement) concave ssi −f est (strictement) convexe

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 306 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 306

Optimisation convexe Fonctions et ensembles convexes Optimisation convexe Fonctions et ensembles convexes

(contre) Exemple (contre) Exemple

Soit f (x) = x1 x2 . Est-ce que f est convexe sur Soit f (x) = x1 x2 . Est-ce que f est convexe sur
S = {x ∈ R2 : x1 ≥ 0, x2 ≥ 0} ? S = {x ∈ R2 : x1 ≥ 0, x2 ≥ 0} ?
   
Prenons un exemple : x = 1, 2 et y = 2, 1 Prenons un exemple : x = 1, 2 et y = 2, 1
On a : αx + (1 − α)y =

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 307 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 307
Optimisation convexe Fonctions et ensembles convexes Optimisation convexe Fonctions et ensembles convexes

(contre) Exemple (contre) Exemple

Soit f (x) = x1 x2 . Est-ce que f est convexe sur Soit f (x) = x1 x2 . Est-ce que f est convexe sur
S = {x ∈ R2 : x1 ≥ 0, x2 ≥ 0} ? S = {x ∈ R2 : x1 ≥ 0, x2 ≥ 0} ?
   
Prenons un exemple : x = 1, 2 et y = 2, 1 Prenons un exemple : x = 1, 2 et y = 2, 1
 
On a : αx + (1 − α)y = 2 − α, 1 + α On a : αx + (1 − α)y = 2 − α, 1 + α
f (αx + (1 − α)y) = f (αx + (1 − α)y) = (2 − α)(1 + α) = 2 + α − α2
αf (x) + (1 − α)f (y) =

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 307 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 307

Optimisation convexe Fonctions et ensembles convexes Optimisation convexe Fonctions et ensembles convexes

(contre) Exemple (contre) Exemple

Soit f (x) = x1 x2 . Est-ce que f est convexe sur Soit f (x) = x1 x2 . Est-ce que f est convexe sur
S = {x ∈ R2 : x1 ≥ 0, x2 ≥ 0} ? S = {x ∈ R2 : x1 ≥ 0, x2 ≥ 0} ?
   
Prenons un exemple : x = 1, 2 et y = 2, 1 Prenons un exemple : x = 1, 2 et y = 2, 1
 
On a : αx + (1 − α)y = 2 − α, 1 + α On a : αx + (1 − α)y = 2 − α, 1 + α
f (αx + (1 − α)y) = (2 − α)(1 + α) = 2 + α − α2 f (αx + (1 − α)y) = (2 − α)(1 + α) = 2 + α − α2
αf (x) + (1 − α)f (y) = 2 αf (x) + (1 − α)f (y) = 2
1 1
Prenons maintenant α = 2 ∈ [0, 1], on voit que : Prenons maintenant α = 2 ∈ [0, 1], on voit que :
f ( 12 x + 1
2 y) = f ( 12 x + 1
2 y) = 9
4

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 307 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 307
Optimisation convexe Fonctions et ensembles convexes Optimisation convexe Fonctions et ensembles convexes

(contre) Exemple Forme quadratique convexe

Soit f (x) = x1 x2 . Est-ce que f est convexe sur


Propriété. (Forme quadratique convexe)
S = {x ∈ R2 : x1 ≥ 0, x2 ≥ 0} ?

Prenons un exemple : x = 1, 2 et y = 2, 1
 Une forme quadratique f : S → R, S ⊂ R, donnée par f (x) = xt Qx, avec
 Q ∈ Mn , Q = Qt , est convexe sur S ssi pour tout x, y ∈ S :
On a : αx + (1 − α)y = 2 − α, 1 + α
f (αx + (1 − α)y) = (2 − α)(1 + α) = 2 + α − α2 (x − y)t Q(x − y) ≥ 0
αf (x) + (1 − α)f (y) = 2
1
Prenons maintenant α = 2 ∈ [0, 1], on voit que :
f ( 12 x + 1
2 y) = 9
4 > 12 f (x) + 12 f (y) = 2
Donc f n’est pas convexe

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 307 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 308

Optimisation convexe Fonctions et ensembles convexes Optimisation convexe Fonctions et ensembles convexes

Forme quadratique convexe Convexité et fonction de classe C 1

Propriété. (Forme quadratique convexe)


La convexité des fonctions différentiables peut être caractérisée par le
Une forme quadratique f : S → R, S ⊂ R, donnée par f (x) = xt Qx, avec théorème suivant :
Q ∈ Mn , Q = Qt , est convexe sur S ssi pour tout x, y ∈ S :
Propriété.
(x − y)t Q(x − y) ≥ 0
Soit f : S → R, f ∈ C 1 , une fonction définie sur un ensemble ouvert
convexe S ⊂ Rn . Alors f est convexe sur S ssi pour tout x, y ∈ S :
Remarque : l’exemple précédent
 f (x) = x1 x2 est une forme
0 1 f (y) ≥ f (x) + Df (x)(y − x)
quadratique avec Q = 12
1 0

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 308 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 309
Optimisation convexe Fonctions et ensembles convexes Optimisation convexe Fonctions et ensembles convexes

Illustration dans R Convexité et fonction de classe C 2

La convexité des fonctions différentiables deux fois peut être


épigraphe caractérisée par le théorème suivant :

f (y ) graphe Propriété.
f (x) + Df (x)(y − x) Soit f : S → R, f ∈ C 2 , une fonction définie sur un ensemble ouvert
f (x) convexe S ⊂ Rn . Alors f est convexe sur S ssi pour tout x ∈ S, la matrice
hessienne de f en x, D 2 f (x), est semi-définie positive
O y x x
Notons que suivant la définition de la concavité, une fonction
La fonction g (y) = f (x) + Df (x)(y − x) est l’approximation affine de f en f : S → R, f ∈ C 2 , est concave sur S, ssi pour tout x ∈ S, la matrice
x. f est convexe si g (y) est au-dessous du graphe de f hessienne D 2 f (x) est semi-définie négative

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 310 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 311

Optimisation convexe Fonctions et ensembles convexes Optimisation convexe Fonctions et ensembles convexes

Exemple Exemple

Déterminer si la fonction f (x) = 2x1 x2 − x12 − x22 est convexe ou Déterminer si la fonction f (x) = 2x1 x2 − x12 − x22 est convexe ou
concave ou ni l’une ni l’autre concave ou ni l’une ni l’autre
Dans un premier temps, la matrice jacobienne vaut
Df (x) =

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 312 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 312
Optimisation convexe Fonctions et ensembles convexes Optimisation convexe Fonctions et ensembles convexes

Exemple Exemple

Déterminer si la fonction f (x) = 2x1 x2 − x12 − x22 est convexe ou Déterminer si la fonction f (x) = 2x1 x2 − x12 − x22 est convexe ou
concave ou ni l’une ni l’autre concave ou ni l’une ni l’autre
Dans un premier temps, la matrice
 jacobienne vaut Dans un premier temps, la matrice
 jacobienne vaut
Df (x) = 2x2 − 2x1 2x1 − 2x2 Df (x) = 2x2 − 2x1 2x1 − 2x2
Dans un second temps, la matrice hessienne vaut Dans un second
 temps,
 la matrice hessienne vaut
−2 2
D 2 f (x) = D 2 f (x) =
2 −2
Les mineurs principaux dominants valent :
I ∆1 =

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 312 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 312

Optimisation convexe Fonctions et ensembles convexes Optimisation convexe Fonctions et ensembles convexes

Exemple Exemple

Déterminer si la fonction f (x) = 2x1 x2 − x12 − x22 est convexe ou Déterminer si la fonction f (x) = 2x1 x2 − x12 − x22 est convexe ou
concave ou ni l’une ni l’autre concave ou ni l’une ni l’autre
Dans un premier temps, la matrice
 jacobienne vaut Dans un premier temps, la matrice
 jacobienne vaut
Df (x) = 2x2 − 2x1 2x1 − 2x2 Df (x) = 2x2 − 2x1 2x1 − 2x2
Dans un second
 temps,
 la matrice hessienne vaut Dans un second
 temps,
 la matrice hessienne vaut
−2 2 −2 2
D 2 f (x) = D 2 f (x) =
2 −2 2 −2
Les mineurs principaux dominants valent : Les mineurs principaux dominants valent :
I ∆1 = − 2 I ∆1 = − 2
I ∆2 = I ∆2 = 0
D 2 f (x) est semi-définie négative pour tout x ∈ R2 donc f est concave

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 312 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 312
Optimisation convexe Conditions nécessaires et suffisantes du 1er ordre Optimisation convexe Conditions nécessaires et suffisantes du 1er ordre

Rappel du Sommaire Optimisation convexe

1 Rappels de concepts mathématiques On considère désormais les problèmes pour lesquels la fonction
objectif est convexe et le domaine des solutions réalisables est un
2 Bases théoriques de l’optimisation ensemble convexe : on parle alors d’optimisation convexe ou de
problèmes convexes
3 Optimisation sans contrainte Deux cas particuliers d’optimisation convexe sont :
I la programmation linéaire (fonction objectif linéaire et contraintes
4 Optimisation linéaire avec contraintes linéaires)
I la programmation quadratique (fonction objectif quadratique et
contraintes linéaires)
5 Optimisation non linéaire avec contraintes Les problèmes convexes sont une famille de problèmes d’optimisation
intéressante car comme nous le verrons :
6 Optimisation convexe I Si un optimiseur existe alors il est global
Fonctions et ensembles convexes I Les conditions nécessaires de premier ordre pour un optimiseur sont
Conditions nécessaires et suffisantes du 1er ordre également suffisantes

7 Algorithmes pour
J. Ah-Pine (Univ-Lyon 2) problèmes contraints
Optimisation M1 Informatique 2014-2015 / 313 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 314

Optimisation convexe Conditions nécessaires et suffisantes du 1er ordre Optimisation convexe Conditions nécessaires et suffisantes du 1er ordre

Caractéristiques des problèmes convexes Caractéristiques des problèmes convexes


Théorème. Théorème.
Soit f : S → R une fonction convexe définie sur un ensemble convexe Soit f : S → R une fonction convexe définie sur un ensemble convexe
S ⊂ Rn . Alors un point est un minimiseur global de f sur S ssi il est un S ⊂ Rn . Alors un point est un minimiseur global de f sur S ssi il est un
minimiseur local de f minimiseur local de f

En d’autres termes, tout minimiseur local est minimiseur global

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 315 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 315
Optimisation convexe Conditions nécessaires et suffisantes du 1er ordre Optimisation convexe Conditions nécessaires et suffisantes du 1er ordre

Caractéristiques des problèmes convexes Caractéristiques des problèmes convexes


Théorème. Théorème.
Soit f : S → R une fonction convexe définie sur un ensemble convexe Soit f : S → R une fonction convexe définie sur un ensemble convexe
S ⊂ Rn . Alors un point est un minimiseur global de f sur S ssi il est un S ⊂ Rn . Alors un point est un minimiseur global de f sur S ssi il est un
minimiseur local de f minimiseur local de f

En d’autres termes, tout minimiseur local est minimiseur global En d’autres termes, tout minimiseur local est minimiseur global

Lemme. Lemme.
Soit g : S → R une fonction convexe définie sur un ensemble convexe Soit g : S → R une fonction convexe définie sur un ensemble convexe
S ⊂ Rn . Alors pour tout c ∈ R, l’ensemble Γc = {x ∈ S : g (x) ≤ c} est un S ⊂ Rn . Alors pour tout c ∈ R, l’ensemble Γc = {x ∈ S : g (x) ≤ c} est un
ensemble convexe ensemble convexe

Corollaire.
Soit f : S → R une fonction convexe définie sur un ensemble convexe
S ⊂ Rn . Alors l’ensemble des minimiseurs globaux de f sur S est un
ensemble convexe
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 315 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 315

Optimisation convexe Conditions nécessaires et suffisantes du 1er ordre Optimisation convexe Conditions nécessaires et suffisantes du 1er ordre

Conditions nécessaires et suffisantes du 1er ordre (CNSPO) Conditions nécessaires et suffisantes du 1er ordre (CNSPO)
Lemme. Lemme.
Soit f : S → R une fonction convexe définie sur un ensemble convexe Soit f : S → R une fonction convexe définie sur un ensemble convexe
S ⊂ Rn telle que f est de classe C 1 sur S. Supposons que x∗ ∈ S est tel S ⊂ Rn telle que f est de classe C 1 sur S. Supposons que x∗ ∈ S est tel
que pour tout x ∈ S, x 6= x∗ nous ayons : que pour tout x ∈ S, x 6= x∗ nous ayons :

Df (x∗ )(x − x∗ ) ≥ 0 Df (x∗ )(x − x∗ ) ≥ 0

alors x∗ est un minimiseur global de f sur S alors x∗ est un minimiseur global de f sur S

Démonstration.
Comme f est convexe sur S on a :
∀x ∈ S : f (x) ≥ f (x∗ ) + Df (x∗ )(x − x∗ )

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 316 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 316
Optimisation convexe Conditions nécessaires et suffisantes du 1er ordre Optimisation convexe Conditions nécessaires et suffisantes du 1er ordre

Conditions nécessaires et suffisantes du 1er ordre (CNSPO) Conditions nécessaires et suffisantes du 1er ordre (CNSPO)
Lemme. Lemme.
Soit f : S → R une fonction convexe définie sur un ensemble convexe Soit f : S → R une fonction convexe définie sur un ensemble convexe
S ⊂ Rn telle que f est de classe C 1 sur S. Supposons que x∗ ∈ S est tel S ⊂ Rn telle que f est de classe C 1 sur S. Supposons que x∗ ∈ S est tel
que pour tout x ∈ S, x 6= x∗ nous ayons : que pour tout x ∈ S, x 6= x∗ nous ayons :

Df (x∗ )(x − x∗ ) ≥ 0 Df (x∗ )(x − x∗ ) ≥ 0

alors x∗ est un minimiseur global de f sur S alors x∗ est un minimiseur global de f sur S

Démonstration. Démonstration.
Comme f est convexe sur S on a : Comme f est convexe sur S on a :
∀x ∈ S : f (x) ≥ f (x∗ ) + Df (x∗ )(x − x∗ ) ∀x ∈ S : f (x) ≥ f (x∗ ) + Df (x∗ )(x − x∗ )
Par conséquent : Par conséquent :
∀x ∈ S : Df (x∗ )(x − x∗ ) ≥ 0 ⇒ ∀x ∈ S : f (x) ≥ f (x∗ ) ∀x ∈ S : Df (x∗ )(x − x∗ ) ≥ 0 ⇒ ∀x ∈ S : f (x) ≥ f (x∗ )
Ce qui montre que x∗ est un minimiseur global
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 316 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 316

Optimisation convexe Conditions nécessaires et suffisantes du 1er ordre Optimisation convexe Conditions nécessaires et suffisantes du 1er ordre

Conditions nécessaires et suffisantes du 1er ordre Conditions nécessaires et suffisantes du 1er ordre
(CNSPO) (suite) (CNSPO) (suite)

On remarquera dans le lemme précédent x − x∗ peut être interprété On remarquera dans le lemme précédent x − x∗ peut être interprété
comme étant une direction admissible en x∗ comme étant une direction admissible en x∗
Le lemme précédent peut donc être interprété de la manière suivante :

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 317 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 317
Optimisation convexe Conditions nécessaires et suffisantes du 1er ordre Optimisation convexe Conditions nécessaires et suffisantes du 1er ordre

Conditions nécessaires et suffisantes du 1er ordre Conditions nécessaires et suffisantes du 1er ordre
(CNSPO) (suite) (CNSPO) (suite)

On remarquera dans le lemme précédent x − x∗ peut être interprété


comme étant une direction admissible en x∗ Dans le cas de points intérieurs nous avons le résultat suivant :
Le lemme précédent peut donc être interprété de la manière suivante :

Théorème. (CNSPO)
Soit f : S → R une fonction convexe définie sur un ensemble convexe
S ⊂ Rn et telle que f est de classe C 1 sur S. Supposons que x∗ ∈ S est tel
que pour toute direction admissible d en x∗ , nous ayons :

dt ∇f (x∗ ) ≥ 0

alors x∗ est un minimiseur global de f sur S

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 317 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 318

Optimisation convexe Conditions nécessaires et suffisantes du 1er ordre Optimisation convexe Conditions nécessaires et suffisantes du 1er ordre

Conditions nécessaires et suffisantes du 1er ordre Problèmes convexes avec contraintes d’égalités
(CNSPO) (suite)
Nous étudions les problèmes convexes avec des contraintes d’égalités :
min f (x)
slc h(x) = 0
où :
Dans le cas de points intérieurs nous avons le résultat suivant : I f : S → R est une fonction convexe de classe C 1 sur S ⊂ Rn
I h : Rn → Rm est une fonction vectorielle de classe C 1 , et
Corollaire. S = {x ∈ Rn : h(x) = 0} est un ensemble convexe
Soit f : S → R, f ∈ C 1 , une fonction convexe définie sur un ensemble
convexe S ⊂ Rn . Supposons que x∗ ∈ S est tel que nous ayons :

∇f (x∗ ) = 0

alors x∗ est un minimiseur global de f sur S

J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 318 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 319
Optimisation convexe Conditions nécessaires et suffisantes du 1er ordre Optimisation convexe Conditions nécessaires et suffisantes du 1er ordre

Problèmes convexes avec contraintes d’égalités Problèmes convexes avec contraintes d’inégalités
Nous étudions les problèmes convexes avec des contraintes d’égalités :
min f (x)
slc h(x) = 0
Nous étudions les problèmes convexes avec des contraintes
où :
I f : S → R est une fonction convexe de classe C 1 sur S ⊂ Rn
d’inégalités :
I h : Rn → Rm est une fonction vectorielle de classe C 1 , et min f (x)
S = {x ∈ Rn : h(x) = 0} est un ensemble convexe slc h(x) = 0
g (x) ≤ 0
Théorème. (CNSPO (Pb convexe avec contraintes d’égalités)) où :
Soit f : S → R, f ∈ C 1 , une fonction convexe sur l’ensemble I f : S → R est une fonction convexe de classe C 1 sur S ⊂ Rn
S = {x ∈ Rn : h(x) = 0} où h : Rn → Rm , h ∈ C 1 et S est convexe. I h : Rn → Rm , g : Rn → Rp sont des fonctions vectorielles de classe C 1 ,
Supposons qu’il existe x∗ ∈ S et λ∗ ∈ Rm tels que : et S = {x ∈ Rn : h(x) = 0, g (x) ≤ 0} est un ensemble convexe

Df (x∗ ) + λ∗t Dh(x∗ ) = 0t

alors x∗ est un minimiseur global de f sur S


J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 319 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 320

Optimisation convexe Conditions nécessaires et suffisantes du 1er ordre Algorithmes pour problèmes contraints

Problèmes convexes avec contraintes d’inégalités (suite) Rappel du Sommaire

1 Rappels de concepts mathématiques


Théorème. (CNSPO (Pb convexe avec contraintes d’inégalités))
2 Bases théoriques de l’optimisation
Soit f : S → R, f ∈ C 1 , une fonction convexe sur l’ensemble
S = {x ∈ Rn : h(x) = 0, g (x) ≤ 0} où h : Rn Rm , g : Rn → Rp ; h, g ∈ C 1
et S est convexe. Supposons qu’il existe x∗ ∈ S, λ∗ ∈ Rm et µ∗ ∈ Rp tels 3 Optimisation sans contrainte
que :
1 µ∗ ≥ 0 4 Optimisation linéaire avec contraintes
2 Df (x∗ ) + λ∗t Dh(x∗ ) + µ∗t Dg (x∗ ) = 0t
5 Optimisation non linéaire avec contraintes
3 µ∗t g (x∗ ) = 0
alors x∗ est un minimiseur global de f sur S
6 Optimisation convexe

7 Algorithmes pour problèmes contraints


J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 321 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 322
Algorithmes pour problèmes contraints Algorithmes pour problèmes contraints

Introduction Méthode des gradients projetés


Principe :
Nous avons vu quelques algorithmes pour des problèmes non
1 Utiliser une méthode de descente de gradient en supposant qu’il n’y a
contraints pas de contraintes
Nous donnons brièvement quelques indications sur des algorithmes 2 Projeté le point trouvé à chaque itération sur S l’ensemble des
simples pour des problèmes contraints solutions réalisables
Ces algorithmes sont notamment basés sur ceux vus précédemment. il Notons πS (x) la projection de x sur S qui peut-être défini de la façon
s’agit des méthodes suivantes : suivante :
I Méthodes des gradients projetés πS (x) = arg min kx − yk
y∈S
I Méthodes basées sur les pénalisations
Pour appliquer cette stratégie, il faut que πS soit bien définie ce qui
n’est pas le cas pour S quelconque
D’autres techniques existent il s’agit notamment des méthodes Le cas où S est un ensemble convexe fermé est un cas bien défini.
suivantes : Toutefois, l’approche peut-être très coûteuse en temps de traitement
I Méthode du Lagrangien augmenté puisque déterminer le projeté est en soi un problème d’optimisation
I Programmation quadratique successive Dans des cas spécifiques l’opérateur πS est facile à déterminer. C’est
I Méthode des points intérieurs
le cas des contraintes linéaires Ax
 = b où rg (A) = m puisque dans ce
I ... t t −1
cas, πS (x) = I − A (AA ) A x
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 323 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 324

Algorithmes pour problèmes contraints Algorithmes pour problèmes contraints

Pseudo-code de l’algorithme de descente de gradient Méthode basée sur la pénalisation


projeté
Principe :
1 Transformer un problème avec contraintes par un problème sans
contrainte dont la fonction objectif pénalise les points non réalisables
2 Utiliser un algorithme pour problème non contraint afin d’approximer
Input : f ∈ C 1 , S (un ensemble convexe), x0 ∈ S une solution du problème original
1 k ←0 Supposons sans perte de généralité que nous avons le problème
2 Tant que condition d’arrêt non satisfaite faire contraint :
3 Trouver un pas αk tel que f (x(k) − αk ∇f (x(k) )) < f (x(k) ) min f (x)
4 x(k+1) ← πS x(k) − αk ∇f (x(k) ) slc g1 (x) ≤ 0
5 k ←k +1 ..
.
6 Fin Tant que
gp (x) ≤ 0
7 Output : x(k)
où :
I f :S→R
I gj : Rn → R, j = 1, . . . , p
I S = {x ∈ Rn : gj (x) ≤ 0, j = 1, . . . , p}
J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 325 J. Ah-Pine (Univ-Lyon 2) Optimisation M1 Informatique 2014-2015 / 326