Telechargé par Abigaïl

Optimisation

publicité
Optimisation Théorie et Algorithmes
最优化理论和算法
Yi-Shuai NIU (牛一帅)
Page 2/109
巴院
上海交大 – 巴黎高科卓越工程师学院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 3/109
Préface
Ce livre est à l’origine un polycopié du cours d’optimisation depuis 2015 pour les étudiants en 3ème année à
l’École d’ingénieur SJTU-Paritech (SPEIT), situé sur la campus Minhang de l’Université Shanghai Jiao Tong en
Chine. Cette école rassemble des 4 “Grandes Écoles” françaises de premier plan (École Polytechnique de Paris,
Mines ParisTech, Télécom ParisTech et ENSTA ParisTech) et l’Université Shanghai Jiao Tong pour apporter à des
étudiants chinois et internationaux à fort potentiel une formation leur permettant de devenir des leaders industriels
et des innovateurs possédant un large spectre de connaissances scientifiques, la capacité d’évoluer avec aisance dans
un milieu professionnel multiculturel, et des connaissances approfondies dans une spécialité : Ingénierie mécanique,
Ingénierie en énergie et puissance, Ingénierie de l’information.
Selon les besoins spécifiques des spécialisations concernées, ce cours est une introduction en optimisation linéaire
et non-linéaire, notamment sur des théories et algorithmes qui ont beaucoup d’applications en pratique dans
l’industrie et l’ingénierie comme l’optimisation linéaire et l’algorithme du simplexe, l’analyse convexe, et les outils
fondamentaux pour l’optimisation non-linéaire (par exemple, la théorie de dualité et les conditions d’optimalité).
Ce livre est découpé en 5 chapitres :
— L’introduction sur l’optimisation, la modélisation mathématique et les rappels des notions mathématiques
utiles en optimisation (norme vectorielle et matricielle, suite numérique dans Rn , topologie et calcul différentiel des fonctions de plusieurs variables) ;
— L’analyse convexe (ensemble convexe, combinaison linéaire, convexe, affine et positive, théorème de Carathéodory, projection et séparation, point extrémal et direction extrémale, théorème de représentation de
l’ensemble convexe, lemme de Farkas et de Gordan, fonction convexe et extension sur la fonction D.C.) ;
— L’optimisation linéaire et l’algorithme du simplexe (forme standard, solution de base, l’algorithme du simplexe version tableau, méthode de deux phases, et règles d’anti-cyclage) ;
— La théorie de dualité Lagrangienne (point-selle, problème min-max, et dualité de Lagrange) ;
— Les conditions d’optimalité KKT (direction réalisable et direction de descente, qualification de contrainte,
conditions d’optimalité d’ordre 1 et 2 pour les problèmes d’optimisation sans contrainte et sous contraintes
d’inégalités et d’égalités) ;
En concernant la modélisation et l’optimisation en informatique, nous utilisons le toolbox d’optimisation de
MATLAB et le logiciel CPLEX. L’apprentissage de ces logiciels et les réalisations sur les algorithmes classiques
(par exemple, l’algorithme du simplexe et l’algorithme du gradient) font partie du cours de TP (travaux pratiques).
Bien noté, l’apprentissage par cœur est, en général, une mauvaise technique d’apprentissage pour les mathématiques. Nous conseillons une compréhension approfondie des théorèmes et des algorithmes afin de pouvoir utiliser
correctement ces outils puissants pour résoudre des problèmes d’optimisation en science et en ingénierie.
Les volumes de ce livre sont en constante évolution, grâce aux remarques et aux suggestions des élèves et des
professeurs de l’institut. Je tiens à remercier mes collègues Alain Chillès, Marguerite Rossillon et Geoffrey Boutard
pour la relecture du polycopié et leurs collaborations sur l’enseignement d’une partie de TP. Je tiens à exprimer
ma profonde gratitude aux directeurs de l’institut et à toute l’équipe de mathématiques au SPEIT, ce livre n’aurait
pas pu voir le jour sans leurs encouragements et leurs soutiens.
Enfin, je remercie tous les membres de ma famille pour leur compagnie et leur amour éternel.
Shanghai, été 2019
Yi-Shuai NIU
Professeur à l’Université Shanghai Jiao Tong
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
Page 4/109
巴院
上海交大 – 巴黎高科卓越工程师学院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 5/109
Table des matières
Préface
2
1 Introduction de l’optimisation
1.1 Brève histoire . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Définition du problème d’optimisation . . . . . . . . . . . .
1.3 Classes des problèmes d’optimisation . . . . . . . . . . . . .
1.4 Rappels mathématiques pour l’optimisation . . . . . . . . .
1.4.1 Normes vectorielles et matricielles . . . . . . . . . .
1.4.2 Suite numérique dans Rn . . . . . . . . . . . . . . .
1.4.3 Topologie dans Rn . . . . . . . . . . . . . . . . . . .
1.4.4 Fonctions de plusieurs variables et calcul différentiel
Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
10
10
11
11
11
16
17
20
23
2 Ensemble convexe et fonction convexe
2.1 Ensemble convexe . . . . . . . . . . . . . . . . . . . . .
2.1.1 Définition . . . . . . . . . . . . . . . . . . . . . .
2.1.2 Combinaison linéaire, convexe, affine et positive .
2.1.3 Théorème de Carathéodory . . . . . . . . . . . .
2.1.4 Projection et Séparation . . . . . . . . . . . . . .
2.1.5 Point extrémal et Direction extrémale . . . . . .
2.1.6 Théorème de représentation . . . . . . . . . . . .
2.1.7 Lemme de Farkas et de Gordan . . . . . . . . . .
2.2 Fonction convexe . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Fonction convexe . . . . . . . . . . . . . . . . . .
2.2.2 Fonction D.C. . . . . . . . . . . . . . . . . . . . .
Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
25
25
25
29
33
35
39
41
42
45
45
49
51
3 Optimisation Linéaire
3.1 Problème d’optimisation linéaire . . . . . . . . . . . . . . . . . . . . . . .
3.2 Solution d’optimisation linéaire . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1 Théorème d’existence de solution optimale d’optimisation linéaire .
3.2.2 Solution de base . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Méthodes de résolution du problème (OL) . . . . . . . . . . . . . . . . . .
3.3.1 Méthode graphique . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2 Algorithme du simplexe . . . . . . . . . . . . . . . . . . . . . . . .
3.3.3 Tableau du simplexe . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.4 Méthode des deux phases . . . . . . . . . . . . . . . . . . . . . . .
3.3.5 Règles d’anti-cyclage . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.6 Logiciels pour l’optimisation linéaire . . . . . . . . . . . . . . . . .
Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
53
53
55
55
56
60
60
61
67
70
73
77
80
4 Théorie de dualité
4.1 Problème dual et point-selle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Dualité de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
83
85
89
Def/Thm
.
.
.
.
.
.
.
.
.
.
.
.
Yi-Shuai NIU (牛一帅)
.
.
.
.
.
.
.
.
.
.
.
.
巴院
Page 6/109
上海交大 – 巴黎高科卓越工程师学院
5 Conditions d’optimalité
5.1 Direction réalisable et Direction de descente . . . . . . .
5.2 Conditions d’optimalité du problème d’optimisation sans
5.3 Conditions d’optimalité du problème d’optimisation sous
5.3.1 Contrainte active et qualification de contrainte .
5.3.2 Qualifications des contraintes usuelles . . . . . .
5.3.3 Conditions de Karush-Kuhn-Tucker . . . . . . .
Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
contrainte . . . . . . . . .
contraintes d’inégalités et
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . .
. . . . . .
d’égalités
. . . . . .
. . . . . .
. . . . . .
. . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
91
. 91
. 92
. 94
. 94
. 95
. 98
. 102
Bibliographie
104
Index des définitions
105
Index des théorèmes
108
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 7/109
Table des figures
1.1
kxkp = 1 dans R2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
25
26
26
26
26
27
28
28
30
31
32
2.13
2.14
2.15
2.16
2.17
2.18
2.19
2.20
2.21
2.22
2.23
2.24
2.25
2.26
2.27
2.28
2.29
2.30
Ensemble convexe (à gauche) et nonconvexe (à droite). . . . . . . . . . . . . . . . . . . . . . . . . .
Hyperplan et demi-espaces dans R2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demi-droite dans R2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Segment dans R2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Boule Euclidienne ouverte et fermée dans R2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cône convexe (à gauche) et cône non-convexe (à droite). . . . . . . . . . . . . . . . . . . . . . . . .
Cône convexe polyédrique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Un exemple de polyèdre convexe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Enveloppe convexe d’un ensemble des points (à gauche) et d’un ensemble nonconvexe (à droite) . .
Enveloppe affine des trois points x1 , x2 et x3 dans R3 . . . . . . . . . . . . . . . . . . . . . . . . . .
Enveloppe conique d’un ensemble des points (à gauche) ou d’un ensemble nonconvexe (à droite) .
Différences entre les combinaisons convexes, affines, positives et linéaires d’un ensemble des trois
points S = {x1 , x2 , x3 } dans R3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Intérieur et intérieur relatif de C = {x ∈ R3 : x21 + x22 ≤ 1, x3 = 0}. . . . . . . . . . . . . . . . . . .
Théorème de Carathéodory sur l’ensemble S = {x1 , x2 , x3 , x4 } ⊂ R2 . . . . . . . . . . . . . . . . . .
Projection orthogonale d’un point sur un ensemble convexe fermé. . . . . . . . . . . . . . . . . . .
Séparation d’un ensemble convexe et d’un point. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hyperplan d’appui pour l’ensemble S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Non-unicité de l’hyperplan d’appui pour l’ensemble S. . . . . . . . . . . . . . . . . . . . . . . . . .
L’existence d’un hyperplan sur les points frontières d’un ensemble convexe. . . . . . . . . . . . . .
Séparation de deux ensembles convexes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Point extrémaux (x1 , x2 , x3 ) et point non-extrémal P . . . . . . . . . . . . . . . . . . . . . . . . . .
Tous les point sur le cercle unité sont les point extrémaux de S. . . . . . . . . . . . . . . . . . . . .
Directions et directions extrémales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Théorème de Krein-Milman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Théorème de Représentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lemme de Farkas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lemme de Gordan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonction convexe (à gauche et à droite) et strictement convexe (à gauche). . . . . . . . . . . . . . .
Ligne de niveau. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Épigraphe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1
3.2
3.3
3.4
George Bernard Dantzig (8 novembre 1914 Solution de base (Exemple 3.2). . . . . . . .
Exemple de méthode graphique. . . . . . .
Problème de flot maximum. . . . . . . . . .
.
.
.
.
53
57
60
81
4.1
Point-selle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
84
5.1
5.2
5.3
5.4
Direction réalisable : les vecteurs u et v sont directions réalisables de S, mais pas w.
Contrainte active : g1 et g2 (en rouge) sont actives et g3 est inactive en x∗ . . . . . .
Méthode du nombre d’or. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Méthode de descente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Def/Thm
13 mai 2005).
. . . . . . . .
. . . . . . . .
. . . . . . . .
Yi-Shuai NIU (牛一帅)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
32
33
33
35
37
37
38
38
39
40
40
41
41
42
43
44
45
46
46
. 91
. 94
. 103
. 104
巴院
Page 8/109
巴院
上海交大 – 巴黎高科卓越工程师学院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 9/109
Chapitre 1
Introduction de l’optimisation
L’optimisation est une branche de mathématiques fondamentale. C’est une discipline basée sur les mathématiques théoriques et appliquées (notamment sur l’algèbre linéaire, la topologie, les fonctions de plusieurs variables,
les suites numériques, l’analyse matricielle, l’analyse convexe et le calcul différentiel).
En optimisation, on cherche à modéliser, à analyser et à résoudre analytiquement ou numériquement les problèmes qui consistent à déterminer la(les) meilleure(s) solution(s) satisfaisant un objectif quantitatif tout en respectant d’éventuelles contraintes.
Aujourd’hui, tous les systèmes susceptibles d’être décrits par un modèle mathématique sont optimisés. La qualité des résultats et des prédictions dépend de la pertinence du modèle, de l’efficacité de l’algorithme et des moyens
pour le traitement numérique. L’optimisation joue un rôle important en recherche opérationnelle dans plusieurs
domaines des sciences (l’informatique, l’ingénierie, la physique, la chimie, l’astronomie, la nanotechnologie, la génomique, l’industrie et l’économie etc). Très loin de constituer une liste exhaustive, les exemples sont extrêmement
variés : optimisation d’un trajet, de la forme d’un objet, d’un prix de vente, d’une réaction chimique, du contrôle
aérien, du rendement d’un appareil, du fonctionnement d’un moteur, de la gestion des lignes ferroviaires, du choix
des investissements économiques, de la construction d’un navire, etc. L’optimisation de ces systèmes permet de
trouver une configuration idéale, d’obtenir un gain d’effort, de temps, d’argent, d’énergie, de matière première, ou
encore de satisfaction.
Exemple(s) 1.1:
(Problème de transport)
Une entreprise de distribution doit transporter un produit disponible en quantité di aux dépôts i = 1, . . . , m
vers des destinations j où la demande est bj , j = 1, . . . , n. Supposons que
(a) La demande totale est égale à l’offre totale :
m
X
i=1
di =
n
X
bj .
j=1
(b) Le coût unitaire de transport de i à j est ci,j .
L’objectif de l’entreprise : Minimiser le coût total de transport.
Les variables de décision : On note xi,j la quantité non-négative transportée de i à j.
Le modèle d’optimisation :
m X
n
X
Minimiser
ci,j xi,j
i=1 j=1
Sous les contraintes
m
X
xi,j = bj
(j = 1, . . . , n).
xi,j = di
(i = 1, . . . , m).
i=1
n
X
j=1
xi,j ≥ 0
Def/Thm
(i = 1, . . . , m; j = 1, . . . , n).
Yi-Shuai NIU (牛一帅)
巴院
Page 10/109
上海交大 – 巴黎高科卓越工程师学院
En pratique, les scientifiques et les ingénieurs commencent souvent par la modélisation et la compréhension du
problème posé, il se prolonge naturellement par l’étude mathématique du modèle, on s’intéresse souvent :
1. L’existence et l’unicité ou la multiplicité des solutions.
2. Leur caractérisation et propriétés qualitatives.
3. Quel algorithme permet de résoudre le problème ?
4. L’efficacité de l’algorithme (complexité, temps de calcul, qualité et précision du résultat numérique).
1.1
Brève histoire
1. Le IIIe siècle avant notre ère, Les premiers problèmes d’optimisation auraient été formulés par Euclide dans
son ouvrage historique Éléments. Trois cent ans plus tard, Héron d’Alexandrie dans Catoptrica énonce le
principe du plus court chemin dans le contexte de l’optique.
2. Le XVIIe siècle, l’apparition du calcul différentiel (travaux de Newton et Leibniz) entraîne l’invention de
techniques d’optimisation et en fait ressentir la nécessité. Une méthode itérative (la méthode de Newton)
permettant de trouver les extrémums locaux d’une fonction en faisant intervenir la notion de dérivée. Cette
nouvelle notion permet de grandes avancées dans l’optimisation de fonctions car le problème est ramené à la
recherche des racines de la dérivée.
3. Le XVIIIe siècle, les travaux des mathématiciens Euler et Lagrange mènent au calcul des variations, une
branche de l’analyse fonctionnelle regroupant plusieurs méthodes d’optimisation. Ce dernier invente une
technique d’optimisation sous contraintes : les multiplicateurs de Lagrange.
4. Le XIXe siècle, l’invention de plusieurs méthodes itératives utilisant le gradient de la fonction (les méthodes
de type gradient), ainsi que l’utilisation du terme programmation mathématique, pour désigner des problèmes
d’optimisation.
5. Le XXe siècle, la discipline d’optimisation est largement développée depuis l’invention de la programmation
linéaire et de l’algorithme du simplexe par George Dantzig vers 1947, et les études théoriques sur les conditions
d’optimalité Karush-Kuhn-Tucker du problème d’optimisation sous les contraintes d’égalités et d’inégalités.
Il vient de l’usage du mot programmation (ou programme) par les forces armées américaines pour établir des
horaires de formation et des choix logistiques. Le terme programmation dans ce contexte ne réfère pas à la
programmation informatique (bien que les ordinateurs soient largement utilisés de nos jours pour résoudre
des programmes mathématiques). L’expression programmation mathématique tend à être abandonnée, et
on préfère aujourd’hui utiliser le mot optimisation au lieu de programmation. Par exemple, en juin 2010,
la société savante internationale qui représente cette discipline a vu son nom précédent “Mathematical
Programming Society” changé en “Mathematical Optimization Society”.
1.2
Définition du problème d’optimisation
Plus formellement, un problème d’optimisation s’exprime souvent de la manière suivante.
Définition 1.2.1 (Problème d’optimisation/Optimization problem/最
最优 化 问题 ) :Soit f : Rn → R
n
p
n
q
une fonction objectif à optimiser, g : R → R et h : R → R sont des fonctions de contraintes. Notons
D := {x ∈ Rn : g(x) ≤ 0, h(x) = 0}.
Alors, un problème d’optimisation est défini par :
max(min) f (x)
s.c. x ∈ D
L’ensemble D désigne l’ensemble des solutions réalisables (ou admissibles). “s.c.” est l’abréviation du terme
“sous les contraintes”. On cherche à maximiser ou minimiser la fonction objectif f sur l’ensemble D.
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 11/109
Remarque(s) 1.1 :
— On dit que le problème est réalisable si D est non-vide (non-réalisable sinon).
— Une solution x∗ du problème est appelée un maximum (ou un minimum). On l’appelle aussi une solution
globale (ou extrémum global) pour le distinguer des notions locales.
• On dit que le problème d’optimisation possède un maximum (ou minimum) global en x∗ ∈ D si
f (x) ≤ (ou ≥)f (x∗ ), ∀x ∈ D.
• On dit que le problème d’optimisation possède un maximum (ou minimum) local en x̄ ∈ D s’il existe
un voisinage V de x̄ tel que
f (x) ≤ (ou ≥)f (x̄), ∀x ∈ D ∩ V.
Clairement, une solution globale est forcément une solution locale, En revanche, la réciproque est fausse.
On note parfois
argmin{f (x) : x ∈ D},
l’ensemble des minima globaux (ils peuvent être nombreux). De même pour les maxima globaux. Tout point
x∗ ∈ argmin{f (x) : x ∈ D} est une solution globale, la valeur f (x∗ ) s’appelle la valeur optimale.
1.3
Classes des problèmes d’optimisation
L’optimisation est découpée en sous-disciplines suivant la forme de la fonction objectif et celle des contraintes :
— Selon la convexité : L’optimisation convexe ou nonconvexe (un problème de minimisation est dit convexe
si et seulement si la fonction objectif f et l’ensemble des solutions réalisables D sont tous convexes ; sinon
le problème est nonvonvexe).
— Selon la continuité : L’optimisation continue ou combinatoire (les variables à optimiser sont discrètes
dans ce dernier cas).
— Selon la linéarité : L’optimisation linéaire ou nonlinéaire (un problème est linéaire si et seulement si les
fonctions f ,g et h sont linéaires ou affines).
— Selon la différentiabilité : L’optimisation différentiable ou non lisse (on qualifie ici la régularité des
fonctions définissant le problème).
— Selon la dimension : L’optimisation en dimension finie ou infinie (on parle ici de la dimension de l’espace
vectoriel des variables à optimiser).
Il y a également d’autres classes des problèmes d’optimisation, comme : l’optimisation multicritère (un compromis entre plusieurs objectifs contradictoires est recherché), l’optimisation bi-niveaux (l’ensemble admissible est
un ensemble des solutions optimales d’un autre problème d’optimisation), l’optimisation disjonctive (l’ensemble
admissible est une réunion d’ensembles), etc.
1.4
Rappels mathématiques pour l’optimisation
Dans cette partie, nous présenterons rapidement quelques notions mathématiques de base, notamment les
normes vectorielles et matricielles, la suite numérique vectorielle, la topologie, et le calcul différentiel des fonctions
de plusieurs variables. Dans ce cours, nous considérons les problèmes dans l’espace vectoriel de dimension finie sur
le corps R (c’est-à-dire, les coefficients des vecteurs et des matrices sont dans R).
1.4.1
Normes vectorielles et matricielles
Définition 1.4.2 (Norme vectorielle/Vector norm/向
向量 范数 ) : Une application k.k : Rn → R+ définit
une norme vectorielle si elle vérifie :
1. (caractère défini) ∀x ∈ Rn , kxk = 0 ⇐⇒ x = 0.
2. (homogénéité) ∀x ∈ Rn , ∀λ ∈ R, kλ.xk = |λ|kxk.
3. (inégalité triangulaire, ou de Minkowski) ∀(x, y) ∈ Rn × Rn , kx + yk ≤ kxk + kyk.
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
Page 12/109
上海交大 – 巴黎高科卓越工程师学院
Définition 1.4.3 (Norme Euclidienne/Euclidean norm/欧
欧 几 里 德 范 数 ) : Soit E est un espace préhilbertien réel, muni du produit scalaire h., .i, alors
k.k : E
x
→R
p+
7→ hx, xi
définit une norme Euclidienne.
Exemple(s) 1.2:
Soit x ∈ Rn , voici quelques normes vectorielles usuelles :
1. Norme p (p ≥ 1) :
! p1
n
X
kxkp =
|xi |p
(p ≥ 1).
i=1
On l’appelle souvent la norme `p .
Pour 0 < p < 1, a-t-on encore une norme ?
2. Norme 1 :
kxk1 =
n
X
|xi |.
i=1
3. Norme 2 (norme Euclidienne) :
v
!
u n
u X
2
t
xi .
kxk2 =
i=1
4. Norme infini :
kxk∞ = max |xi |.
i∈[[1,n]]
Figure 1.1 – kxkp = 1 dans R2 .
MATLAB
>> x=[1;2;3]
x =
1
2
3
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 13/109
>> norm(x,1)
ans =
6
>> norm(x,1.5)
ans =
4.3346
>> norm(x,2)
ans =
3.7417
>> norm(x,3)
ans =
3.3019
>> norm(x,inf)
ans =
3
Définition 1.4.4 (L’equivalence de normes/equivalence of norms/等
等 价 范 数) : Soit k.kp et k.kq
deux normes sur Rn , on dit qu’elles sont équivalentes si
∃(c1 , c2 ) ∈ (R∗+ )2 , ∀x ∈ Rn , c1 kxkp ≤ kxkq ≤ c2 kxkp .
Proposition 1.4.1 : Dans Rn , toutes les normes p vectorielles (p ≥ 1) sont équivalentes car
1
∀x ∈ Rn , ∀p ≥ 1, kxk∞ ≤ kxkp ≤ n p kxk∞ .
Démonstration :
• ∀p ≥ 1, kxkp =
n
X
! p1
|xi |
p
≥
max |xi |
p
p1
i∈[[1,n]]
= kxk∞ .
i=1
• ∀p ≥ 1, kxkp =
n
X
! p1
|xi |p
≤
n × max |xi |p
i∈[[1,n]]
p1
1
= n p kxk∞ .
i=1
Remarque(s) 1.2 :
En optimisation, on travaille souvent dans l’espace Euclidien Rn (en dimension finie), donc il est souvent
inutile de préciser la norme utilisée car elles sont équivalentes (comme pour démontrer l’existence d’une
solution optimale, ou la convergence d’un algorithme). Mais la solution optimale est différente par rapport
aux normes utilisées, par exemple,
argmin{kxk2 : kxk1 = 1} =
6 argmin{kxk2 : kxk2 = 1}.
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 14/109
Définition 1.4.5 (Norme matricielle/Matrix norm/矩
矩阵 范数 ) : Soit A, B deux matrices de Mm,n (ou
Mm,n est l’ensemble des matrices réelles à m lignes et n colonnes, isomorphe à Rm×n ), alors l’application
k.k : Mm,n → R+ définit une norme matricielle si elle vérifie :
1. (caractère défini) ∀A ∈ Mm,n , kAk = 0 ⇐⇒ A = 0.
2. (homogénéité) ∀A ∈ Mm,n , ∀λ ∈ R, kλ.Ak = |λ|kAk.
3. (inégalité triangulaire) kA + Bk ≤ kAk + kBk.
Remarque(s) 1.3 :
— On note Mn (R) (ou simplement Mn ) l’ensemble des matrices n × n réelles ; GLn (R) (ou simplement GLn )
n
n
l’ensemble des matrices n × n réelles inversibles ; S++
(R) (ou simplement S++
) l’ensemble des matrices
n
n
n × n réelles symétriques définies positives ; et S+ (R) (ou simplement S+ ) l’ensemble des matrices n × n
réelles symétriques semi-définies positives.
— Une norme matricielle est en effet un cas particulier de norme vectorielle sur un espace de matrices.
— Une norme matricielle est dite sous-multiplicative/sub-multiplicative/次可乘的 si
∀(A, B) ∈ M2n , kA.Bk ≤ kAkkBk.
Certains auteurs définissent une norme matricielle en ajoutant la propriété sous-multiplicative.
Une norme matrice n’est pas toujours sous-multiplicative. Par exemple : La norme-max
kAkmax = max |ai,j |
i,j
est une norme matricielle non sous-multiplicative.
Un exemple contraire :
0 0
1
A=
,B =
1 1
2
alors
A.B =
0
3
0
,
0
0
, kA.Bkmax = 3 ≥ kAkmax kBkmax = 1 × 2 = 2.
0
Exemple(s) 1.3:
Soit A = [ai,j ](i,j)∈[[1,m]]×[[1,n]] une matrice de Mm,n , voici quelques normes matricielles usuelles :
1. Norme de Frobenius :

 12
m X
n
q
X
kAkF = 
(ai,j )2  = tr(A> .A).
i=1 j=1
où tr désigne la trace de matrice, et A> est la transposée de la matrice A.
MATLAB
>> A=[1 2 3; 1 5 2; 2 6 2]
A =
1
2
3
1
5
2
2
6
2
>> norm(A,’fro’)
ans =
9.3808
2. Norme subordonnée : on parle de norme subordonnée matricielle aux normes vectorielles k.kp et k.kq
kAkp,q =
巴院
max
x∈Rn \{0}
kA.xkq
kxkp
Yi-Shuai NIU (牛一帅)
(p, q ≥ 1).
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 15/109
Si p = q, on a quelques normes subordonnées usuelles :
— Norme p (p ≥ 1) :
kAkp =
kA.xkp
= max kA.xkp
\{0} kxkp
kxkp =1
max
n
x∈R
(p ≥ 1).
C’est un problème d’optimisation nonconvexe, donc il est souvent difficile à résoudre sauf dans des cas
particuliers comme p = 1, 2 et ∞.
— Norme 1 :
m
X
kAk1 = max
|ai,j |.
j∈[[1,n]]
i=1
— Norme 2 (norme spectrale) :
kAk2 =
q
λmax (A> .A).
où λmax (A> .A) est la plus grande valeur propre (ou le rayon spectral) de la matrice symétrique A> .A,
notons souvent ρ(A> .A) 1 .
— Norme infini :
n
X
kAk∞ = max
|ai,j |.
i∈[[1,m]]
j=1
Clairement, on a kAk1 = kA> k∞ .
MATLAB
>> norm(A,1)
ans =
13
>> norm(A,inf)
ans =
10
>> norm(A’,1)
ans =
10
>> norm(A,2)
ans =
9.1419
Définition 1.4.6 (Compatibilité/Compatibility/相
相容 性) : Soit k.k une norme matricielle sur Mm,n ,
on dit qu’elle compatible/compatible/相容的 avec les normes vectorielles k.kp et k.kq si elle vérifie
∀A ∈ Mm,n , x ∈ Rn , kA.xkp ≤ kAkkxkq .
Proposition 1.4.2 : La norme k.kp,q sur Mm,n est compatible avec les normes vectorielles k.kp et k.kq .
Démonstration : Soit A ∈ Mm,n . Par la définition de la norme subordonnée
kAkp,q =
max
x∈Rn \{0}
kA.xkq
kxkp
(p, q ≥ 1),
1. Le rayon spectral d’endomorphisme f de valeurs propres complexes λ1 , . . . , λn est dénoté par ρ(f ) = maxi∈[[1,n]] |λi |.
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
Page 16/109
上海交大 – 巴黎高科卓越工程师学院
on obtient
kA.xkq ≤ kAkp,q kxkp .
Proposition 1.4.3 : Toute norme p (p ≥ 1) sur Mn est sous-multiplicative.
Démonstration : Soit A ∈ Mn . On a vu que ∀p, q ≥ 1
kAxkq ≤ kAkp,q kxkp .
Supposons que p = q et B ∈ Mn , alors
kA.B.xkp ≤ kAkp kB.xkp ≤ kAkp kBkp kxkp .
Donc,
kA.Bkp = max kA.B.xkp ≤ kAkp kBkp .
kxkp =1
D’où la propriété sous-multiplicative
kA.Bkp ≤ kAkp kBkp , ∀p ≥ 1.
Remarque(s) 1.4 :
La réciproque est fausse. E.g., La norme de Frobenius est sous-multiplicative qui n’est pas une norme p.
Proposition 1.4.4 : Soit A ∈ Mn , pour toute norme matricielle sous-multiplicative k.k, on a
ρ(A) ≤ kAk.
Démonstration : Soit λ une valeur propre de A et x un vecteur propre associé. notons B la matrice carrée dont
la première colonne est x et les autres sont nulles. On a donc
A.B = λB,
ceci implique
|λ|kBk = kA.Bk ≤ kAkkBk.
On peut simplifier par kBk 6= 0 car le vecteur x 6= 0 pour obtenir
|λ| ≤ kAk.
Donc
ρ(A) = max |λ| ≤ kAk.
λ∈Sp(A)
Proposition 1.4.5 : Toutes les normes matricielles sur Mm,n sont équivalentes.
Démonstration : C’est évident car Mm,n est un espace vectoriel en dimension finie.
1.4.2
Suite numérique dans Rn
Nous nous intéressons les suites de vecteurs réels {xk }k∈N d’ou xk ∈ Rn . On écrit simplement {xk }.
Définition 1.4.7 (Suite converge/Convergent sequence/收
收敛 序 列) : Soit {xk } une suite de vecteurs
réels de Rn . Elle est dite convergente si
∃x̄ ∈ Rn , ∀ > 0, ∃N () > 0, ∀k ≥ N =⇒ kxk − x̄k ≤ .
On écrit :
xk −→ x̄ ou
巴院
lim xk = x̄.
k→+∞
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 17/109
Définition 1.4.8 (Valeur d’adhérence/Limit point/极
极 限 点) : Soit {xk } une suite de vecteurs réels
n
n
de R . On dit qu’un vecteur x̄ ∈ R est une valeur d’adhérence de {xk } s’il existe une sous-suite converge
vers x̄. Soit il existe ϕ : N → N, strictement croissante telle que
xϕ(k) −→ x̄.
L’ensemble de valeurs d’adhérence de {xk } sera noté : Adh({xk }).
Théorème 1.4.1 (Bolzano-Weierstraß) : De toute suite de vecteurs réels et bornés a , on peut extraire
une sous-suite convergente. Autrement dit,
Adh({xk }) 6= ∅.
a. Une suite {xk } est bornée si kxk k < +∞, ∀k ∈ N.
Définition 1.4.9 (Suite de Cauchy/Cauchy sequence/柯
柯西 序列 ) : Une suite de vecteurs réels de Rn
k
{x } est appelée suite de Cauchy si
∀ > 0, ∃N > 0, ∀p, q ≥ N =⇒ kxp − xq k ≤ .
Remarque(s) 1.5 :
Dans Rn , on a Suite de Cauchy ⇐⇒ Suite converge.
1.4.3
Topologie dans Rn
Définition 1.4.10 (Ensemble fermé/Closed set/闭
闭集 ) : Soit S ⊂ Rn , on dit que S est fermé dans Rn
si toute suite convergente de S converge dans S.
Propriété(s) 1.4.1 :
— Les ensembles ∅ et Rn sont toujours fermés dans Rn ;
— Une intersection quelconque de fermés est fermée ;
— Une réunion finie de fermés est fermée. Voici un exemple contraire pour la réunion infinie :
[ 1
1
[ , 1 − ] =]0, 1[.
n
n
∗
n∈N
Définition 1.4.11 (Ensemble ouvert/Open set/开
开集) : Soit S ⊂ Rn , on dit que S est ouvert dans Rn
n
n
si R \S est fermé dans R . Soit ∀x̄ ∈ S, ∃r > 0 tel que
BO(x̄; r) ⊂ S. a
a. BO(x̄; r) := {x ∈ Rn : kx − x̄k < r} est une boule ouverte, et BF (x̄; r) := {x ∈ Rn : kx − x̄k ≤ r} est une boule fermée.
Propriété(s) 1.4.2 :
— Les ensembles ∅ et Rn sont ouverts dans Rn ;
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
Page 18/109
上海交大 – 巴黎高科卓越工程师学院
— Une réunion quelconque d’ouverts est ouverte ;
— Une intersection finie d’ouverts est ouverte. Par exemple,
\
1
1
] − , 1 + [= [0, 1].
n
n
∗
n∈N
Définition 1.4.12 (Voisinage/Neighbourhood/邻
邻域) : Soit a ∈ Rn , on dit que V est un voisinage de
n
a dans R si
∃ > 0, BO(a; ) ⊂ V.
L’ensemble des voisinages de a sera noté par V(a).
Propriété(s) 1.4.3 :
— L’ensemble V(a) est stable par intersections finies (i.e., ∀(V1 , V2 , . . . , Vn ) ∈ V(x)n , V1 ∩ V2 ∩ · · · ∩ Vn ∈ V(x)) ;
— L’ensemble V(x) est stable par croissance (i.e. ∀V ∈ V(x), V ⊂ W =⇒ W ∈ V(x)).
Définition 1.4.13 (Ensemble borné/Bounded set/有
有界 集) : Soit S ⊂ Rn , on dit que S est borné si :
∃x ∈ Rn , ∃r > 0, r < +∞, S ⊂ BO(x; r).
Définition 1.4.14 (Ensemble compact/Compact set/紧
紧集 ) : Soit S ⊂ Rn , on dit que S est compact
si pour toute suite de S, on peut extraire une sous-suite convergente dans S. Soit
∀{xk } ∈ S N , S ∩ Adh({xk }) 6= ∅.
Remarque(s) 1.6 :
— Dans Rn , un ensemble fermé et borné est compact.
— En général, un ensemble compact est fermé et borné, mais la réciproque n’est pas toujours vraie.
Définition 1.4.15 (Adhérence/Closure/闭
闭 包 ) : Soit S ⊂ Rn , on appelle adhérence de S dans Rn le
n
plus petit fermé de R contenant S. On le note S.
Un point de l’adhérence de S est dit adhérent à S.
Remarque(s) 1.7 :
Soit A ⊂ Rn , on peut distinguer parmi les éléments de A deux types de points :
1. Les points isolés/isolated point/孤立点 de A :
a isolé de A ⇐⇒ ∃r > 0, A ∩ BO(a; r) = {a}.
Ils sont donc dans A.
2. Les points d’accumulation/accumulation point/聚点 de A :
a point d’accumulation de A ⇐⇒ ∀r > 0, A ∩ (BO(a; r) \ {a}) 6= ∅.
On note A0 l’ensemble des points d’accumulation de A (ou l’ensemble dérivé de A). Les expressions «
point d’accumulation » et « point limite » sont synonymes. Un point a est un point d’accumulation de
A si tout voisinage de a contient au moins un élément de A autre que a. Autrement dit, a est adhérent
à A \ {a}.
Un point d’accumulation de A n’est pas nécessairement dans A.
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 19/109
Définition 1.4.16 (Dense/Dense/稠
稠 密 ) : Soit A et B deux ensembles de Rn , on dit que A est dense
dans B, si A ⊃ B.
Propriété(s) 1.4.4 :
—
—
—
—
—
—
A = A ⇐⇒ A est fermé ;
A ⊂ A;
A = A;
A⊂B ⇒ A⊂B;
A∪B =A∪B;
A ∩ B ⊂ A ∩ B, l’inclusion réciproque est fausse, par exemple,
soit A =]0, 1[ et B =]1, 2[, on a A ∩ B = ∅ mais A ∩ B = {1}.
Définition 1.4.17 (Point intérieur/Interior point/内
内 点 ) : Soit S ⊂ Rn , x̄ ∈ S, on dit que x̄ est un
point intérieur à S si
∃ > 0, BO(x̄; ) ⊂ S.
◦
L’ensemble de tous les points intérieurs de S sera appelé l’intérieur de S et noté : Int(S) ou S.
Propriété(s) 1.4.5 :
◦
— A = A ⇐⇒ A ouvert ;
◦
— A ⊂ A;
◦
◦
◦
— A = A;
◦
◦
— A⊂B ⇒ A⊂B;
◦
◦
◦
◦
◦
\
— A
∩B =A∩B;
◦
\
— A
∪ B ⊃ A∪ B , l’inclusion réciproque est en général fausse, par exemple,
◦
◦
◦
\
soit A = [0, 1] et B = [1, 2], on a A
∪ B =]0, 2[ mais A ∪ B =]0, 1[∪]1, 2[.
Définition 1.4.18 (Point extérieur/Exterior point/外
外点 ) : Soit S ⊂ Rn , un point x̄ ∈ Rn est dit un
point extérieur à S si
∃ > 0, BO(x̄; ) ∩ S = ∅.
L’ensemble de tous les points extérieurs de S sera appelé l’extérieur de S et noté : Ext(S).
Définition 1.4.19 (Point frontière/Boundary point/边
边界 点) : Un point qui n’est ni à l’intérieur ou
à l’extérieur de S est appelé un point frontière de S, noté : ∂S.
Remarque(s) 1.8 :
— ∂S = S\ Int S.
— S est ouvert si S ∩ ∂S = ∅.
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
Page 20/109
1.4.4
上海交大 – 巴黎高科卓越工程师学院
Fonctions de plusieurs variables et calcul différentiel
Dans ce cours, nous nous intéressons aux fonctions de plusieurs variables de type f : Rn → Rm . On note
dom(f ) := {x ∈ Rn : |fi (x)| < ∞, ∀i ∈ [[1, m]]} le domaine sur le quel f est bien définie.
Définition 1.4.20 (Continuité/Continuity/连
连续 性 ) : Soit U un ouvert de Rn , f : U → Rm et a ∈ U .
La fonction f est dite continue en a si :
∀ > 0, ∃η > 0, ∀x ∈ S, kx − ak < η ⇒ kf (x) − f (a)k < .
Définition 1.4.21 (Dérivée directionnelle/Directional derivative/方
方 向 导 数 au sens de Dini) :
Soit E un espace vectoriel, F un espace vectoriel normé et f : E → F une fonction. On dit que f est
directionnellement dérivable (au sens de Dini) en x ∈ E dans la direction d ∈ E si la limite dans la
définition de f 0 (x; d) ci-dessous existe dans F :
f 0 (x; d) := lim
t↓0
f (x + td) − f (x)
.
t
On appelle f 0 (x; d) la dérivée directionnelle de f en x dans la direction d.
Définition 1.4.22 (Dérivée partielle/Partial derivative/偏
偏 导 数 ) : Soit f : Rn → R, on appelle la
∂f
n
dérivée partielle (d’ordre 1) de f au point a ∈ R par rapport à la i-ième variable xi , notée ∂x
(a) ou
i
∂i f (a), est définie par :
∂i f (a) = f 0 (a; ei ),
d’où ei est le i-ième vecteur de la base canonique de Rn .
Définition 1.4.23 (Gradient/Gradient/梯
梯 度) : Soit a ∈ Rn et f : Rn → R dont toutes les dérivées
partielles existent en a, alors le gradient de f en a, noté ∇f (a), est défini par :


∂1 f (a)


∇ f (a) =  ...  .
∂n f (a)
Remarque(s) 1.9 :
— On peut également définir les dérivées partielles des dérivées partielles, donc les dérivées partielles secondes :
2
f
∂i,j f ou ∂x∂i ∂x
, d’ordre 3 : ∂i,j,k f et d’ordre supérieur.
j
— Pour tous d et a dans Rn , si f est directionnelle dérivable en a dans la direction d, alors
f 0 (a; d) = ∇f (a)> .d = h∇f (a), di.
Définition 1.4.24 (Hessienne/Hessian Matrix/海
海 森 矩 阵 ) : Soit a ∈ Rn et f : Rn → R dont toutes
les dérivées partielles secondes existent en a, alors la matrice Hessienne (ou simplement la Hessienne) de
f en point a, notée ∇2 f (a), est la matrice carrée définie par :
2
∂ f
∇2 f (a) =
(a)
.
∂xi ∂xj
(i,j)∈[[1,n]]2
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 21/109
Remarque(s) 1.10 :
D’après le Théorème de Schwarz, si f est une fonction de classe C 2 définie sur un ouvert U de Rn et ∀a ∈ U ,
2
2
2
f
f
on a ∂x∂i ∂x
(a) = ∂x∂j ∂x
(a), ∀(i, j) ∈ [[1, n]] , et donc ∇2 f (a) est symétrique.
j
i
Définition 1.4.25 (Matrice Jacobienne/Jacobian matrix/雅
雅 可 比 矩 阵) : Soit f : Rn → Rm , x 7→
(f1 (x), . . . , fm (x)), les dérivées partielles des fonctions fi , i ∈ [[1, m]] en un point a ∈ Rn , si elles existent,
peuvent être rangées dans une matrice à m lignes et n colonnes, appelée matrice Jacobienne de f en a :


∂f1
∂f1
(a) · · ·
(a)

 ∂x1
∂xn


.
.
.
.

.
.
.
Jf (a) = 
.
.
.

 ∂f
∂fm 
m
(a) · · ·
(a)
∂x1
∂xn
Particulièrement, pour m = 1, on a
∇ f (a) = Jf (a)> .
Définition 1.4.26 (Dérivée au sens de Fréchet/Frechet derivative/弗
弗雷 谢导 数) : Soit E un espace
vectoriel normé, F un espace vectoriel topologique séparé, f une application de E dans F et a un point de
E. On dit que f est différentiable en a (au sens de Fréchet) s’il existe une application linéaire continue
L : E → F telle que
f (a + h) − f (a) − L(h)
lim
= 0F .
h→0E
khkE
Une telle application linéaire L est unique, appelée la différentielle de f en a et se note d fa .
Particulièrement, si E = Rn , F = Rm , a ∈ E et h ∈ E, alors, la forme matricielle de d fa dans la base
canonique de Rm est exactement la matrice Jacobienne Jf (a).
Définition 1.4.27 (Développement limité/Taylor expansion/泰
泰勒 展开 à l’ordre 1) : Soit f : Rn →
n
R différentiable et a ∈ R , alors f admet un développement limité à l’ordre 1 en a, donné par :
f (x) = f (a) + d fa (x − a) + o(kx − ak).
ou bien sous la forme matricielle :
f (x) = f (a) + ∇ f (a)> .(x − a) + o(kx − ak).
Définition 1.4.28 (Développement limité à l’ordre 2) : Soit f : Rn → R deux fois différentiable et
a ∈ Rn , alors f admet un développement limité à l’ordre 2 en a, donné par :
f (x) = f (a) + d fa (x − a) +
1 2
d fa (x − a, x − a) + o(kx − ak2 ).
2
ou bien sous la forme matricielle :
1
f (x) = f (a) + ∇ f (a)> .(x − a) + (x − a)> . ∇2 f (a).(x − a) + o(kx − ak2 ).
2
MATLAB
>> syms x1 x2 x3
>> x=[x1;x2;x3];
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 22/109
>> f = 2*sin(x1)+x2^3+exp(x3);
>> gradient(f,x)
ans =
2*cos(x1)
3*x2^2
exp(x3)
>> jacobian(f,x)
ans =
[ 2*cos(x1), 3*x2^2, exp(x3)]
>> hessian(f,x)
ans =
[ -2*sin(x1),
0,
0]
[
0, 6*x2,
0]
[
0,
0, exp(x3)]
>> g=[2*x1^2; exp(x2*x3)]
g =
2*x1^2
exp(x2*x3)
>> jacobian(g,x)
ans =
[ 4*x1,
0,
0]
[
0, x3*exp(x2*x3), x2*exp(x2*x3)]
Proposition 1.4.6 : Soit f : Rn → Rm différentiable en x ∈ Int dom(f ), et g : Rm → Rp différentiable en
f (x) ∈ Int dom(g), alors la fonction composée h = g ◦ f est différentiable en x et
d hx = d gf (x) ◦ d fx ,
ou bien sous la forme matricielle :
Jh (x) = Jg (f (x)).Jf (x).
Théorème 1.4.2 (Accroissements finis) : Soit O un ouvert de Rn et f : O → R.
• Si f ∈ C 1 (O, R) alors ∀x ∈ O, h ∈ Rn et x + h ∈ O, il existe λ ∈ [0, 1] tel que
f (x + h) = f (x) + d fx+λ.h (h),
ou bien sous la forme matricielle :
f (x + h) = f (x) + ∇f (x + λ.h)> .h.
• Si f ∈ C 2 (O, R), alors ∀x ∈ O, h ∈ Rn et x + h ∈ O, il existe λ ∈ [0, 1] tel que
f (x + h) = f (x) + d fx (h) +
1 2
d fx+λ.h (h, h),
2
ou bien sous la forme matricielle :
1
f (x + h) = f (x) + ∇f (x)> .h + h> .∇2 f (x + λ.h).h.
2
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 23/109
EXERCICES
1.1 Une usine de fabrication planifie de fabriquer n type de produits en utilisant m ressources. Supposons que
chaque produit de type i ∈ [[1, n]] a besoin d’une ressource j ∈ [[1, m]] de la quantité ai,j . D’après la limitation
du fournisseur des ressources, la quantité totale de la ressource j est bj , et le besoin total du produit i est
limité par di au maximum. Notons ci le profit de chaque produit i. Construire un modèle d’optimisation sur
la planification du production en maximisant le profit total.
1.2 Soit m, n ∈ N∗ , x ∈ Rn et A ∈ Mm,n .
1
Pn
(a) Pour p ≥ 1, montrer que x 7→ kxkp = ( i=1 |xi |p ) p est une norme vectorielle sur Rn .
Pn
(b) En déduire kxk1 = i=1 |xi | et kxk∞ = maxi∈[[1,n]] |xi |.
p
(c) Montrer que A 7→ kAkF = tr(A> .A) es une norme matricielle sur Mm,n .
kA.xk
(d) Pour p, q ≥ 1, montrer que A 7→ kAkp,q = supx6=0Rn kxkp q est une norme matricielle sur Mm,n .
p
Pn
Pm
(e) En déduire kAk1 = maxj∈[[1,n]] i=1 |ai,j |, kAk2 = λmax (A> .A) et kAk∞ = maxi∈[[1,m]] j=1 |ai,j |.


2 −1 1
1.3 Soit la matrice A = −1 2 −1
1 −1 2
(a) Calculer la norme 1, norme infini, norme 2 et norme de Frobenius de A.
(b) Calculer la trace et le déterminant de A.
(c) Calculer les valeurs propres et les espaces propres de A.
(d) A est-elle inversible ? Si oui, calculer A−1 .
1.4 Démontrer que la norme de Frobenius est sous-multiplicative.
1.5 Est-ce que la norme de Frobenius est compatible avec la norme 2 vectorielle ? la même question avec la norme
infini vectorielle ?
1.6 Montrer que toute norme matricielle sur Mm,n est continue.
1.7 Montrer que GLn est un ouvert de Mn .
1.8 Soit A ∈ Mm,n . Démontrer que
(a) rg(A) = rg(A.A> ) = rg(A> .A).
(b) Les matrices A.A> et A> .A sont symétriques semi-définies positives.
1.9 Soit X, Y ∈ Mm,n . Démontrer que φ : M2m,n → R telle que
φ(X, Y ) = tr(X > .Y ) =
m X
n
X
Xi,j Yi,j
i=1 j=1
définie un produit scalaire.
1.10 Soit A et B deux matrices de Mn .
(a) Montrer que tr(A.B) = tr(B.A).
(b) Supposons que A est inversible, montrer que A−1 est unique.
n
n
(c) Démontrer que pour tout A ∈ S++
, la matrice A est inversible et A−1 ∈ S++
.
n
(d) Soit A ∈ S++
, le théorème de décomposition spectrale dit qu’ils existent une matrice orthonormée P
(P > = P −1 ) et une matrice diagonale Λ (avec les valeurs propres de A sur la diagonale) telles que
A = P · Λ · P >.
n
Démontrer qu’elle existe une matrice B ∈ S++
(racine carrée de A) telle que
A = B2.
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 24/109
1.11 Démontrer que une suite de Rn est convergente si et seulement si elle est de Cauchy.
1.12 Dans l’espace Euclidien (Rn , h., .i) muni du produit scalaire usuel, montrer l’inégalité de Hölder :
Soit p, q ∈ [1, +∞] avec p1 + 1q = 1, alors
|hx, yi| ≤ kxkp kykq , ∀x, y ∈ Rn .
Les deux membres sont égaux si et seulement si x et y sont linéairement dépendants.
Particulièrement, si p = q = 2, alors on a l’inégalité de Cauchy-Schwarz.
1.13 Soit f : Rn → Rm une application continue, soit {xk } une suite de Rn et lim xk = a.
k→+∞
Montrer que
k→+∞
k→+∞
xk −−−−−→ a =⇒ f (xk ) −−−−−→ f (a).
1.14 (Théorème du point fixe) Soit f : Rn → Rm une application continue vérifiée que
∃k ∈]0, 1[, ∀(x, y) ∈ Rn × Rn , kf (x) − f (y)k ≤ k × kx − yk.
Montrer que
∃!z ∈ Rn , f (z) = z.
1.15 Considérer la fonction quadratique
f : Rn
x
→R
7→ 21 x> .A.x + b> .x + c
où x ∈ Rn , A ∈ Mn , b ∈ Rn , c ∈ R . Calculer ∇ f (x) et ∇2 f (x).


sin x1 + cos x2
. Calculer la matrice Jacobienne Jf (x).
1.16 Soit x ∈ R2 ,f (x) =  ex1 +2x2
x21 + 2x1 x2
1.17 Soit u : R3 → R2 , f : R2 → R2 , et h = f ◦ u où
2
u − u2
x1 + x3
f (u) = 1
,
u(x)
=
.
u1 + u22
x22 − x3
Calculer la matrice Jacobienne Jh (x).
1.18 Soit a1 , . . . , am ∈ Rn , et b1 , . . . , bm ∈ R. Considérer la fonction f : Rn → R définie par
f (x) = ln
m
X
exp(a>
i .x + bi ).
i=1
Calculer ∇ f (x).
1.19 Justifier l’existence et calculer les différentielles et différentielles secondes des fonctions suivantes :
(a) f : Mm,n → Mn,m telle que f (A) = A> .
(b) f : Mn → R telle que f (A) = tr(A).
(c) f : Mn → Mn telle que f (A) = exp(A).
(d) f : Mn → Mn telle que f (A) = Ak ou k ∈ N.
(e) f : Mn → R telle que f (A) = det(A).
(f) f : GLn → Mn telle que f (A) = A−1 .
1.20 Soit k.k une norme Euclidienne de l’espace Euclidien (Rn , h., .i). Montrer que k.k est différentiable sur Rn \{0Rn }
et calculer sa différentielle sur Rn \{0Rn }.
n
n
1.21 Soit X ∈ S++
, f : S++
→ R est définie par
f (X) = ln det(X).
Calculer la différentielle d fX .
♣♦♥♠
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 25/109
Chapitre 2
Ensemble convexe et fonction convexe
2.1
Ensemble convexe
2.1.1
Définition
Définition 2.1.1 (Ensemble convexe/Convex set/凸
凸集) : Soit S ⊂ Rn , S est dit convexe si
∀(x, y) ∈ S 2 , ∀λ ∈ [0, 1], λ.x + (1 − λ).y ∈ S.
Figure 2.1 – Ensemble convexe (à gauche) et nonconvexe (à droite).
Exemple(s) 2.1:
Voici quelques exemples des ensembles convexes :
1. Hyperplan/Hyperplane/超
超平 面 :
H := {x ∈ Rn : c> .x = b}, où c ∈ Rn , b ∈ R .
Un hyperplan est un ensemble convexe fermé non-borné.
En optimisation, un hyperplan n’est pas forcément un espace vectoriel (car 0 n’est pas sûr dans H), c’est
plutôt un espace affine. L’ensemble H est un espace vectoriel si b = 0.
◦
Bien noté que H = ∅ ! (Pourquoi ?)
2. Demi-espace/Half-space/半
半空 间 :
H + := {x ∈ Rn : c> .x ≥ b}, où c ∈ Rn , b ∈ R .
H − := {x ∈ Rn : c> .x ≤ b}, où c ∈ Rn , b ∈ R .
Les demi-espaces H + et H − sont ensembles convexes fermés non-bornés. On a l’intérieur de H + défini par
◦
d
+ = {x ∈ Rn : c> .x > b} est un ensemble convexe ouvert.
H
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
Page 26/109
上海交大 – 巴黎高科卓越工程师学院
Figure 2.2 – Hyperplan et demi-espaces dans R2 .
3. Demi-droite/Half-line/射
射线 : Soit a ∈ Rn et d ∈ Rn , une demi-droite à l’origine a et à direction d est
L(a; d) := {x ∈ Rn : x = a + λ.d, λ ≥ 0}.
Une demi-droite est un ensemble convexe fermé non-borné.
Figure 2.3 – Demi-droite dans R2 .
4. Segment/Segment/线
线段 : Un segment reliant deux points a et b dans Rn est noté [a, b] défini par
[a, b] := {(1 − t).a + t.b : t ∈ [0, 1]}.
C’est un ensemble compact convexe.
Figure 2.4 – Segment dans R2 .
5. Boule Euclidienne/Euclidean ball/欧
欧氏球 : Une boule Euclidienne fermée de centre a ∈ Rn et de rayon
r > 0 est
BF (a; r) = {x ∈ Rn : kx − ak2 ≤ r}.
C’est un ensemble compact convexe. L’intérieur de BF (a; r) est la boule Euclidienne ouverte BO(a; r). Bien
noté que pour toute norme-p vectorielle avec p ≥ 1, la boule définie par {x ∈ Rn : kx − akp ≤ r} est toujours
compact convexe.
Figure 2.5 – Boule Euclidienne ouverte et fermée dans R2 .
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 27/109
Propriété(s) 2.1.1 : Soit S1 et S2 deux ensembles convexes de Rn , β ∈ R, alors
— L’ensemble β.S1 := {β.x : x ∈ S1 } est convexe.
— L’ensemble S1 ∩ S2 est convexe (l’intersection quelconque d’ensembles convexes est un ensemble convexe).
— L’ensemble S1 ± S2 := {x1 ± x2 : x1 ∈ S1 , x2 ∈ S2 } est convexe.
Remarque(s) 2.1 :
— Bien noté que S1 + S2 6= S1 ∪ S2 et S1 − S2 6= S1 \ S2 et non plus S1 ∩ S2 .
— L’ensemble S1 ∪ S2 n’est pas toujours convexe, il est convexe si S1 ⊂ S2 ou S2 ⊂ S1 .
Définition 2.1.2 (Cône/Cone/锥
锥体 ) : Un ensemble S ⊂ Rn est dit un cône si pour tout x ∈ S et λ > 0 a ,
on a λ.x ∈ S.
a. Certains auteurs définissent le cône avec λ ≥ 0. Dans ce cas, on a toujours 0 ∈ S qui n’est pas vrai dans notre définition.
Remarque(s) 2.2 :
— Un cône est une partie stable pour la multiplication par un réel strictement positif.
— Un cône n’est pas toujours convexe. S’il est convexe, alors il est un cône convexe/convex cone/凸锥 (voir
la figure 2.6).
Figure 2.6 – Cône convexe (à gauche) et cône non-convexe (à droite).
— Un cône S ne contient pas forcément d’origine. Si 0 ∈ S, alors S est pointé (et épointé dans le cas contraire).
— Un cône peut contenir une droite vectorielle. Sinon, on l’appelle un cône saillant.
Exemple(s) 2.2:
1. Soit v 1 , . . . , v m vecteurs de Rn , alors l’ensemble
(
m
X
)
λi .v i : λi ≥ 0, i ∈ [[1, m]]
i=1
est un cône convexe, et particulièrement un cône polyédrique/polyhedral cone/多面体锥 (voir la figure 2.7).
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
Page 28/109
上海交大 – 巴黎高科卓越工程师学院
Figure 2.7 – Cône convexe polyédrique.
Définition 2.1.3 (Polyèdre convexe/Polyhedron/多
多面 体) : Soit A ∈ Mm,n , C ∈ Mp,n , b ∈ Rm , d ∈
p
R , alors l’ensemble
S := {x ∈ Rn : A.x ≤ b, C.x = d} a
est un polyèdre convexe.
a. Soit u et v deux vecteurs de Rm , on dit que u ≤ v si et seulement si ui ≤ vi , ∀i ∈ [[1, m]].
Remarque(s) 2.3 :
— Un polyèdre convexe est l’intersection de nombres finis des hyperplans et demi-espaces, donc il est un
ensemble convexe (est-il fermé ? borné ?).
— Un polyèdre convexe borné est un polytope/polytope/多胞形.
— Un hyperplan H est l’intersection de deux demi-espaces H + et H − . Donc un polyèdre convexe est en effet
l’intersection de nombres finis des demi-espaces.
Exemple(s) 2.3:
L’ensemble
S = {x ∈ R2+ : x1 − x2 ≤ 1, x1 + 2x2 ≤ 4}
est un polyèdre convexe et de plus un polytope (voir la figure 2.8).
Figure 2.8 – Un exemple de polyèdre convexe.
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
2.1.2
Page 29/109
Combinaison linéaire, convexe, affine et positive
Définition 2.1.4 (Combinaison linéaire/Linear combination/线
线性 组 合) : Soit m ∈ N∗ , x1 , . . . , xm
n
des points de R , et λ1 , . . . , λm des scalaires de R. Le point
x=
m
X
λi .xi
i=1
est une combinaison linéaire des points xi , i ∈ [[1, m]].
Définition 2.1.5 (Sous-espace vectoriel engendré/Linear hull/线
线 性 包) : Soit S ⊂ Rn . Le sousespace vectoriel engendré par S est l’ensemble des combinaisons linéaires d’éléments de S, noté Vect(S),
défini par :
(
)
X
Vect(S) :=
λi .xi : ∀i, xi ∈ S, λi ∈ R . a
i
a.
X
désigne la somme finie.
i
Remarque(s) 2.4 :
— Vect(∅) = {0} (un espace vectoriel n’est jamais vide).
— L’ensemble Vect(S) est le plus petit sous-espace vectoriel contenant S.
— L’ensemble Vect(S) est l’intersection de tous sous-espaces vectoriels contenant S.
— Pour S ⊂ Rn , alors dim(Vect(S)) ≤ n.
— Un espace vectoriel de dimension finie est convexe et fermé. Ceci n’est pas vrai pour le cas en dimension
infinie, e.g., l’espace vectoriel C 0 (R+ , R) est en dimension infinie, on a une suite de fonctions {fn }n∈N ∈
1
C 0 (R+ , R)N où fn (x) = −(n + 1)x + 1, si x ∈ [0, n+1
] et 0 sinon, converge simplement vers la fonction
∗
∗
f : R+ → R définie par f (x) = 1 si x = 0 et 0 sinon, mais f ∗ ∈
/ C 0 (R+ , R). Donc C 0 (R+ , R) est non-fermé.
Définition 2.1.6 (Combinaison convexe/Convex combination/凸
凸 组 合) : Soit m ∈ N∗ , x1 , . . . , xm
n
des points de R , et λ1 , . . . , λm des scalaires de R tels que
∀i ∈ [[1, m]] , λi ≥ 0, et
m
X
λi = 1,
i=1
alors, le point
x=
m
X
λi .xi
i=1
i
est une combinaison convexe des points x , i ∈ [[1, m]].
Proposition 2.1.1 : Un ensemble C ⊂ Rn est convexe si et seulement si toute combinaison convexe d’une
famille finie de points de C est dans C.
Définition 2.1.7 (Enveloppe convexe/Convex hull/凸
凸 包) : Soit S ⊂ Rn . L’enveloppe convexe de S
est l’ensemble des combinaisons convexes d’éléments de S, noté co(S), défini par :
(
)
X
X
i
i
co(S) :=
λi .x :
λi = 1, ∀i, x ∈ S, λi ≥ 0 .
i
Def/Thm
i
Yi-Shuai NIU (牛一帅)
巴院
Page 30/109
上海交大 – 巴黎高科卓越工程师学院
Figure 2.9 – Enveloppe convexe d’un ensemble des points (à gauche) et d’un ensemble nonconvexe (à droite)
Remarque(s) 2.5 :
— co(∅) = ∅.
— S ⊆ co(S).
— L’ensemble co(S) est l’intersection de toutes les parties convexes de Rn contenant S.
— L’ensemble co(S) est le plus petit ensemble convexe contenant S (co(S) est-il borné ? fermé ?).
— L’ensemble S est convexe si et seulement si S = co(S).
Définition 2.1.8 (Espace affine/Affine space/仿
仿射 空 间 ) : Soit C ⊂ Rn en ensemble non-vide, on dit
que C est un espace affine si et seulement si
∀x ∈ C, V = C − x
est un sous-espace vectoriel de Rn .
On appelle dimension d’un espace affine C, c’est la dimension de sous-espace vectoriel V associée.
Remarque(s) 2.6 :
Un espace affine est convexe, car un espace vectoriel est convexe.
Définition 2.1.9 (Combinaison affine/Affine combination/仿
仿射组 合) : Soit m ∈ N∗ , x1 , . . . , xm des
Pm
n
points de R , et λ1 , . . . , λm des scalaires de R tels que i=1 λi = 1, alors, le point
x=
m
X
λi .xi
i=1
est une combinaison affine des points xi , i ∈ [[1, m]].
Définition 2.1.10 (Enveloppe affine/Affine hull/仿
仿射 包) : Soit S ⊂ Rn un ensemble non-vide. L’enveloppe affine de S est l’ensemble des combinaisons affines d’éléments de S, noté aff(S), défini par :
(
)
X
X
i
i
aff(S) :=
λi .x :
λi = 1, ∀i, x ∈ S .
i
i
On l’appelle aussi sous-espace affine engendré par S.
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 31/109
Figure 2.10 – Enveloppe affine des trois points x1 , x2 et x3 dans R3 .
Remarque(s) 2.7 :
—
—
—
—
—
L’ensemble aff(S) est le plus petit sous-espace affine contenant S.
L’ensemble aff(S) est-il convexe ? (fermé ? borné ?).
S ⊂ co(S) ⊂ aff(S).
Soit S un espace affine tel que C ⊂ S, alors aff(C) ⊂ S.
Soit C un ensemble convexe de Rn , alors on définit dim(C) par dim(aff(C)).
Définition 2.1.11 (Combinaison positive/Positive combination/正
正 线 性 组 合) : Soit m ∈ N∗ ,
n
1
m
x , . . . , x des points de R , et λ1 , . . . , λm des scalaires de R+ , alors le point
x=
m
X
λi .xi
i=1
est une combinaison positive des points xi , i ∈ [[1, m]].
Définition 2.1.12 (Enveloppe conique/Conic hull/锥
锥包) : Soit S ⊂ Rn . L’enveloppe conique de S est
l’ensemble des combinaisons positives d’éléments de S, noté cone(S), défini par :
(
)
X
cone(S) :=
λi .xi : ∀i, xi ∈ S, λi ≥ 0 .
i
Remarque(s) 2.8 :
— cone(∅) = {0} de façon à obtenir le vecteur nul (sous la forme de la somme vide).
— L’ensemble cone(S) est le plus petit cône convexe pointé contenant S.
— L’ensemble cone(S) est-il convexe ? borne ? fermé ?
Exemple(s) 2.4:
1.
Les relations et les différences entre combinaison linéaire, combinaison convexe, combinaison affine, et
combinaison positive peuvent être visualisées dans un exemple de R3 (voir la figure 2.12).
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
Page 32/109
上海交大 – 巴黎高科卓越工程师学院
Figure 2.11 – Enveloppe conique d’un ensemble des points (à gauche) ou d’un ensemble nonconvexe (à droite)
Figure 2.12 – Différences entre les combinaisons convexes, affines, positives et linéaires d’un ensemble des trois
points S = {x1 , x2 , x3 } dans R3 .
Définition 2.1.13 (Intérieur relatif/Relative interior/相
相对 内部 ) : Soit S ⊂ Rn non-vide. L’intérieur
relatif de S est son intérieur dans aff(S), noté Ir(S), définie par :
Ir(S) = {x ∈ S : ∃r > 0, BF (x; r) ∩ aff(S) ⊂ S}.
Exemple(s) 2.5:
1. Soit C =]0, 1[2 ⊂ R2 . Alors, Vect(C) = aff(C) = R2 , co(C) = C, cone(C) = (R∗+ )2 ∪ {0}, et
Ir(C) = {x ∈ C : ∃r > 0, BF (x; r) ∩ aff(C) ⊂ C} = C.
Int(C) = {x ∈ C : ∃r > 0, BO(x; r) ⊂ C} = C.
2. Soit l’ensemble C ⊂ R3 défini par
C = {x ∈ R3 : x21 + x22 ≤ 1, x3 = 0}.
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 33/109
Alors, Vect(C) = aff(C) = cone(C) = {x ∈ R3 : x3 = 0}, co(C) = C, donc
Ir(C) = {x ∈ C : ∃r > 0, BF (x; r) ∩ aff(C) ⊂ C} = {x ∈ R3 : x21 + x22 < 1, x3 = 0}.
En revanche,
Int(C) = {x ∈ C : ∃r > 0, BO(x; r) ⊂ C} = ∅.
Figure 2.13 – Intérieur et intérieur relatif de C = {x ∈ R3 : x21 + x22 ≤ 1, x3 = 0}.
Remarque(s) 2.9 :
— L’intérieur relatif d’un point est ce point lui-même.
— Si C ∈ Rn convexe non-vide, alors Int(C) et Ir(C) sont ensembles convexes.
— L’intérieur relatif d’un ensemble convexe non-vide C en dimension finie n’est jamais vide, et a la même
dimension que C. Ceci n’est pas vrai pour l’intérieur de C.
2.1.3
Théorème de Carathéodory
Théorème 2.1.1 (Carathéodory) : Soit S ⊂ Rn , alors ∀x ∈ co(S), on peut présenter x en combinaison
convexe d’au plus n + 1 points de S.
Figure 2.14 – Théorème de Carathéodory sur l’ensemble S = {x1 , x2 , x3 , x4 } ⊂ R2 .
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 34/109
Démonstration : Notons Γ l’ensemble des combinaisons convexes d’au plus n + 1 points de S.
Γ = {x ∈ Rn : x =
n+1
X
αi .xi , xi ∈ S, i ∈ [[1, n + 1]] ,
i=1
n+1
X
αi = 1, αi ≥ 0, i ∈ [[1, n + 1]]}.
i=1
On va montrer que : Γ = co(S).
⇐) : L’inclusion Γ ⊂ co(S) est évidente.
⇒) : Soit x ∈ co(S), donc on peut prendre k points de S, {x1 , . . . , xk }, tels que
k
X
x=
αi .xi ,
i=1
k
X
αi = 1, αi ≥ 0, i ∈ [[1, k]] .
i=1
B x ∈ Γ si k ≤ n + 1.
B Sinon, on va montrer que l’on peut présenter x en combinaison convexe des k − 1 points bien choisis parmi ces k
points. On réitère le procédé jusqu’à x ∈ Γ.
Soit k > n + 1, supposons que αi > 0, ∀i ∈ [[1, k]] (sinon, ∃j ∈ [[1, k]] tel que αj = 0, donc x est déjà représenté en
combinaison convexe de k − 1 points).
Alors, on peut démontrer (laissé en exercice) qu’il existe (β1 , . . . , βk ) 6= 0 et au moins un βi > 0 tels que
k
X
βi .xi = 0,
k
X
i=1
βi = 0.
i=1
Choisissons
i0 ∈ argmin{
αj
: βj > 0, j ∈ [[1, k]]} 6= ∅.
βj
Et
αi0
> 0.
βi0
On va montrer que x ∈ co({x1 , . . . , xk } \ {xi0 }). Notons
λ=
α̂i = αi − λβi , i ∈ [[1, k]] .
On peut vérifier que :
k
X
α̂i ≥ 0, i ∈ [[1, k]] \ {i0 }, α̂i0 = 0;
α̂i0 = αi0 −
Sinon (i 6= i0 ), alors
Si βi > 0, alors 0 < λ =
αi0
βi0
<
αi
,
βi
α̂i .xi .
i=1,i6=i0
i=1,i6=i0
1) Si i = i0 , alors
k
X
α̂i = 1; x =
αi0
βi = 0.
βi0 0
donc
α̂i = αi − λβi ≥ αi −
αi
βi = 0.
βi
Si βi ≤ 0, on a également
α̂i = αi − λβi ≥ αi > 0.
Donc α̂i0 = 0, α̂i ≥ 0, i ∈ [[1, k]] \ {i0 }.
2) Pour α̂i0 = 0, on a les égalités :
k
X
α̂i =
i=1,i6=i0
k
X
α̂i =
i=1
k
X
αi − λ
i=1
k
X
βi =
i=1
k
X
αi = 1.
i=1
| {z }
=0
k
X
i=1,i6=i0
k
α̂i .xi =
X
i=1
k
α̂i .xi =
X
αi .xi −λ
k
βi .xi = x.
i=1
i=1
| {z }
| {z }
=x
1
k
X
=0
i0
Donc x ∈ co({x , . . . , x } \ {x }). On réitère le procédé jusqu’à rester n + 1 points, d’où x ∈ Γ.
Exemple(s) 2.6:
Soit S ⊂ Rn compact, montrer que co(S) est compact (laisser en exercice).
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
2.1.4
Page 35/109
Projection et Séparation
Théorème 2.1.2 (Projection orthogonale sur un ensemble convexe fermé) : Soit C ⊂ Rn un
convexe fermé non-vide, un point x ∈ Rn . Il existe une unique projection orthogonale de x sur C, noté par
PC (x), qui minimise la distance de x à C : kx − PC (x)k = miny∈C kx − yk. De plus, on a
hx − PC (x), y − PC (x)i ≤ 0, ∀y ∈ C.
Figure 2.15 – Projection orthogonale d’un point sur un ensemble convexe fermé.
Démonstration :
B L’existence de PC (x) : Si x ∈ C, alors PC (x) = x, donc kx − PC (x)k = miny∈C kx − yk = 0.
Sinon, on a x ∈
/ C, supposons que
r = min kx − yk > 0.
y∈C
k
k
Soit {x } une suite de points de C telle que kx − x k → r. On va montrer que {xk } est une suite de Cauchy. D’après
l’identité du parallélogramme, on a
kxk − xm k2 = 2(kx − xk k2 + kx − xm k2 ) − kxm − xk − 2.xk2 = 2(kx − xk k2 + kx − xm k2 ) − 4k
Et
xm −xk
2
∈ C (car C est convexe), donc k x
m
−xk
2
xm − xk
− xk2 .
2
− xk ≥ r. On obtient :
kxk − xm k2 ≤ 2(kx − xk k2 + kx − xm k2 ) − 4r2 → 0.
Étant donné C fermé, donc {xk } converge dans C vers PC (x) ∈ C.
B L’unicité de PC (x) : Si x ∈ C, le résultat est évident !
Supposons que x ∈
/ C et il existe deux point x̄ et x̂ de C tels que
kx − x̄k = kx − x̂k = r.
Comme C est convexe, donc
x̄+x̂
2
∈ C, alors
r ≤ kx −
x̄ + x̂
k.
2
D’après l’inégalité triangulaire, on obtient
r ≤ kx −
x̄ + x̂
1
1
k ≤ kx − x̄k + kx − x̂k = r.
2
2
2
D’où,
x̄ + x̂
k = r.
2
L’inégalité triangulaire devient égalité si et seulement si
kx −
∃λ ∈ R, x − x̄ = λ.(x − x̂).
Donc
r = kx − x̄k = |λ|k(x − x̂)k = |λ|r.
On tire λ = ±1.
Si λ = −1, alors x − x̄ = −(x − x̂), donc x =
Def/Thm
x̄+x̂
2
∈ C. Absurde avec l’hypothèse x ∈
/ C.
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 36/109
Si λ = 1, alors x − x̄ = x − x̂, ceci implique x̄ = x̂ = PC (x).
Donc la projection PC (x) est unique.
B Démontrer que hx − PC (x), y − PC (x)i ≤ 0, ∀y ∈ C :
Voir la figure 2.15, ∀y ∈ C, α ∈]0, 1[, comme PC (x) ∈ C et C convexe, on a (1 − α).PC (x) + α.y ∈ C. Donc
kx − PC (x)k2 = min kx − yk2 ≤ k(1 − α).PC (x) + α.y − xk2 = kPC (x) − x + α.(y − PC (x))k2
y∈C
= kPC (x) − xk2 + 2αhPC (x) − x, y − PC (x)i + α2 ky − PC (x)k2 .
Comme α > 0, donc on peut simplifier l’expression comme :
0 ≤ 2hPC (x) − x, y − PC (x)i + αky − PC (x)k2 .
|
{z
α→0
}
−−−→0
D’où
hx − PC (x), y − PC (x)i ≤ 0, ∀y ∈ C.
B ȳ ∈ C, hx − ȳ, y − ȳi ≤ 0, ∀y ∈ C ⇒ ȳ = PC (x) :
D’après l’inégalité de Cauchy-Schwarz, on obtient
0 ≥ hx − ȳ, y − ȳi = hx − ȳ, y − x + x − ȳi = kx − ȳk2 − hx − ȳ, x − yi ≥ kx − ȳk2 − kx − ȳkkx − yk.
Comme kx − ȳk > 0 car x ∈
/ C, on tire finalement
kx − ȳk ≤ kx − yk, ∀y ∈ C.
Donc
kx − ȳk = min kx − yk.
y∈C
D’où ȳ = PC (x).
Définition 2.1.14 (Séparation/Separation/分
分离) : Soit S1 et S2 deux ensembles de Rn non-vide. On
dit qu’un hyperplan H sépare S1 et S2 si
S1 ⊂ H + , S2 ⊂ H − ou S2 ⊂ H + , S1 ⊂ H − .
Théorème 2.1.3 (Séparation d’ensemble convexe et de point) : Soit C ⊂ Rn un convexe fermé
non-vide, et un point y ∈
/ C. Il existe un hyperplan H séparant C et y.
Démonstration : On va montrer que
∃p ∈ Rn \{0}, et > 0, ∀x ∈ C, p> .x + ≤ p> .y.
Voir la figure 2.16. D’après le théorème de la projection sur un convexe fermé, ∃!PC (y) ∈ C telle que
ky − PC (y)k = min ky − xk.
x∈C
Prenons p = y − PC (y) 6= 0, = kpk22 > 0. On va montrer donc
≤ p> .(y − x).
On obtient alors
p> .(y − x) = p> .(y − PC (y) + PC (y) − x) = kpk22 +p> .(PC (y) − x).
|{z}
=
Il suffit de vérifier que
(y − PC (y))> .(PC (y) − x) ≥ 0, ∀x ∈ C.
Ceci est vrai d’après le théorème de projection sur un ensemble convexe.
Donc
∃p = y − PC (y) ∈ Rn \{0}, et = kpk22 > 0, ∀x ∈ C, p> .x + ≤ p> .y.
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 37/109
Figure 2.16 – Séparation d’un ensemble convexe et d’un point.
Remarque(s) 2.10 :
— Soit C un convexe non-vide (n’est pas forcément fermé), y ∈ Ext(C), on peut de la même manière montrer
qu’il existe un hyperplan H sépare y et C (séparation entre y et C).
— Particulièrement, pour C un convexe non-vide, si y ∈ ∂C, on peut montrer qu’il existe un hyperplan H tel
que y ∈ H et C ⊂ H − (voir le Théorème 2.1.4).
Définition 2.1.15 (Hyperplan d’appui/Supporting hyperplane/支
支 撑 超 平 面 ) : Soit S ⊂ Rn un
0
ensemble non-vide, x ∈ ∂S, on dit qu’un hyperplan H est un hyperplan d’appui de S en x0 lorsque x0 ∈ H
et S ⊂ H + ou S ⊂ H − (voir la figure 2.17). Autrement dit,
∃a ∈ Rn \{0}, a> .x ≤ a> .x0 , ∀x ∈ S.
Figure 2.17 – Hyperplan d’appui pour l’ensemble S.
Remarque(s) 2.11 :
— L’hyperplan d’appui d’un ensemble nonconvexe n’existe pas toujours.
— L’hyperplan d’appui n’est pas toujours unique (voir un exemple dans la figure 2.18).
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 38/109
Figure 2.18 – Non-unicité de l’hyperplan d’appui pour l’ensemble S.
Théorème 2.1.4 (Existence d’un hyperplan d’appui) :
Il existe au moins un hyperplan d’appui de C en y.
Soit C ⊂ Rn convexe non-vide, et y ∈ ∂C.
Démonstration : Soit {y k } une suite des points de Ext(C) telle que y k → y ∈ ∂C.
D’après le Théorème 2.1.3 (séparation d’un ensemble convexe et d’un point), on sait pour chaque y k ∈ Ext(C), il
existe un hyperplan Hk sépare le convexe fermé C et y k . Donc ∃pk vecteurs unitaires tels que
∀x ∈ C, hpk , y k − xi > 0.
Figure 2.19 – L’existence d’un hyperplan sur les points frontières d’un ensemble convexe.
Sachant que {pk } est une suite de vecteurs unitaires et donc bornée, d’après le théorème de Bolzano-Weierstraß, on
peut extraire une sous-suite convergente. c’est-à-dire, ∃ϕ : N → N strictement croissante telle que
pϕ(k) → p.
Donc pour k → +∞, on obtient que
∀x ∈ C, y ∈ ∂C, ∃p 6= 0, hp, y − xi ≥ 0.
On obtient alors l’hyperplan
H = {x ∈ Rn : p> .x = p> .y}.
Et on a bien vérifié que y ∈ H et C ⊂ H − , d’où H est un hyperplan d’appui de C en y.
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 39/109
Théorème 2.1.5 (Séparation de deux ensembles convexes) : Soit S1 et S2 deux ensembles convexes
non-vides de Rn , si S1 ∩ S2 = ∅ alors il existe un hyperplan H séparant S1 et S2 , c’est-à-dire, ∃p ∈ Rn \{0}
tel que
min{p> .x : x ∈ S1 } ≥ max{p> .x : x ∈ S2 }.
Figure 2.20 – Séparation de deux ensembles convexes.
Démonstration : Soit
S = S2 − S1 = {z ∈ Rn : z = x2 − x1 , x2 ∈ S2 , x1 ∈ S1 }.
S1 et S2 sont deux convexes non-vides, alors S est un convexe non-vide.
Et S1 ∩ S2 = ∅ implique 0 ∈
/ S. On a alors S est un ensemble convexe non-vide et 0 ∈
/ S, d’après le théorème de
séparation d’ensemble convexe et de point, il existe p ∈ Rn \{0} tel que
∀z ∈ S, p> .z ≤ p> .0 = 0.
Donc
p> .x1 ≥ p> .x2 , ∀(x1 , x2 ) ∈ S1 × S2 .
Alors,
min{p> .x : x ∈ S1 } ≥ max{p> .x : x ∈ S2 }.
2.1.5
Point extrémal et Direction extrémale
Définition 2.1.16 (Point extrémal/Extreme point/极
极 点 ) : Soit S ⊂ Rn un ensemble convexe nonvide, x ∈ S est un point extrémal de S si et seulement si S \ {x} est encore convexe.
Autrement dit, x est un point extrémal de S si
∀x1 , x2 ∈ S, λ ∈]0, 1[, x = λ.x1 + (1 − λ).x2 =⇒ x = x1 = x2 .
Remarque(s) 2.12 :
— Le nombre des points extrémaux d’un ensemble convexe peut être fini ou infini.
— Si un ensemble convexe possède un nombre fini des points extrémaux, on appelle ces points extrémaux
comme des sommets/vertex/顶点.
Exemple(s) 2.7:
1. Un exemple sur un triangle S qui est un ensemble convexe de R2 (voir la figure 2.21). Il y a trois points
extrémaux x1 , x2 , x3 . Mais le point P n’est pas un point extrémal de S car S \ {P } n’est plus un ensemble
convexe ([x1 , x2 ] * S). Ou,
∃λ ∈]0, 1[, P = λ.x1 + (1 − λ).x2 .
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 40/109
Figure 2.21 – Point extrémaux (x1 , x2 , x3 ) et point non-extrémal P
2. Un autre exemple, dans la boule unité S = BF (0; 1) ⊂ R2 (voir la figure 2.22), tous les points sur la cercle
unité sont les points extrémaux de S. Donc il y a un nombre infini des points extrémaux.
Figure 2.22 – Tous les point sur le cercle unité sont les point extrémaux de S.
3. Dans un polyèdre convexe
P = {x ∈ Rn : A.x ≤ b},
où A ∈ Mm,n , b ∈ Rm , m ≥ n. Les points extrémaux de P sont en nombre fini. En effet, Le nombre des
sommets de P est limité par m
n au maximum (pourquoi ?). En 1970, McMullen [11] a trouvé une plus petite
borne supérieure :
n+2
m − b n+1
2 c + m−b 2 c .
µ(m, n) =
m−n
m−n
Définition 2.1.17 (Direction/Direction/方
方 向 et Direction extrémale/Extreme direction/极
极方
向 ) : Soit S ⊂ Rn un convexe fermé non-vide, d ∈ Rn un vecteur non nul. On dit que d est une direction
de S si
∀x ∈ S, {x + λ.d : λ ≥ 0} ⊂ S.
Une direction de S est dite une direction extrémale si elle ne peut pas être présentée en combinaison positive
des autres directions différentes de S.
Remarque(s) 2.13 :
— Deux directions u et v de S sont différentes si @λ > 0, u = λ.v. Donc deux directions linéairement indépendantes sont différentes, mais la réciproque n’est pas toujours vraie (Pourquoi ?).
— Direction est une définition dans un ensemble non-borné. Pour l’ensemble borné, il n’y a pas de direction.
Exemple(s) 2.8:
1. Dans la figure 2.23 à gauche, les vecteurs u, v, w sont des directions de S, le vecteur d n’est pas une direction
de S. Les directions extrémales de S sont u et v.
Pour un ensemble borné, il n’existe pas une direction (par exemple, la figure 2.23 à droite).
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 41/109
Figure 2.23 – Directions et directions extrémales.
2.1.6
Théorème de représentation
Théorème 2.1.6 (dit de Krein-Milman) : Tout convexe compact de Rn est enveloppe convexe de
l’ensemble de ses points extrémaux.
Figure 2.24 – Théorème de Krein-Milman.
Démonstration : On va démontrer par récurrence sur la dimension de l’ensemble convexe.
Initialisation : Si n = 0, le résultat est évident pour un singleton.
Hérédité : Supposons désormais le résultat vrai pour tous les convexes de dimension strictement inférieure à un
entier fixé k ≥ 1, et soit C un convexe compact de dimension k. Donc dim(C) = dim aff(C) = k.
Prenons maintenant un point m ∈ C et montrons qu’il est dans l’enveloppe convexe des points extrémaux de C.
Pour ce faire, on trace une droite D passant par m (voir la figure 2.24). Alors, l’ensemble C ∩ D est un segment de
la forme [a, b] (convexe compact), où m ∈ [a, b] et a, b ∈ ∂C.
D’après le théorème d’hyperplan d’appui (Théorème 2.1.4), il existe donc des hyperplans d’appui Ha et Hb en points
a et b. Introduisons les convexes Ca = C ∩ Ha et Cb = C ∩ Hb .
On peut montrer que tout point extrémal de Ca (rep. Cb ) est encore un point extrémal de C.
Soit c un point extrémal de Ca , puis x et y deux points de C \ {c}.
— Si l’un au moins des deux points x et y n’est pas dans Ha , vu le caractère séparant de cet hyperplan, le segment
ouvert ]x, y[ reste dans un seul demi-espace ouvert délimité par Ha et c ∈]x,
/ y[ ;
— Si x, y ∈ Ha , c’est la convexité de Ca \ {c} qui assure que [x, y] évite c.
Dans tous les cas, le segment [x, y] ⊂ C \ {c} et donc c est un point extrémal de C.
Par ailleurs, comme Ha et Hb sont en dimension k − 1 (car codim(Ha ) = 1), et Ca ⊂ Ha , donc
dim Ca ≤ dim Ha = k − 1 < k = dim aff(C) = dim C.
C’est-à-dire, les deux convexes Ca et Cb sont en dimension strictement inférieure à k. On peut donc leur appliquer
l’hypothèse de récurrence. Ceci montre que a (resp. b) est combinaison convexe de points extrémaux de Ca (resp.
Cb ), donc de points extrémaux de C.
Tant a que b appartient donc à l’enveloppe convexe de ces points extrémaux, puis à son tour m (car m ∈ [a, b]). Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 42/109
Exemple(s) 2.9:
1. n-simplexe/n-simplex/n-单纯形 : un n-simplexe est un polytope convexe de dimension n défini par l’enveloppe convexe de n + 1 points S = {u0 , . . . , un } ⊂ Rn affinement indépendant, c’est-à-dire, {u1 − u0 , . . . , un −
u0 } est linéairement indépendant. L’ensemble S est l’ensemble des sommets.
Particulièrement, on note
n
X
∆n := {x ∈ Rn+ :
xi = 1}
i=1
le (n − 1)-simplexe standard de Rn (que veut la dimension de ∆n ?). C’est-à-dire, ∆n = co(B), où B est la
base canonique de Rn .
2. n-rectangle/n-rectangle/n维立方体 : un n-rectangle est un polytope convexe de dimension n défini par
n := {x ∈ Rn : a ≤ x ≤ b},
où a et b sont deux vecteurs de Rn avec
Qna ≤ b. L’ensemble des sommets de n est
{a2 , b2 } × · · · × {an , bn } et n = co ( i=1 {ai , bi }).
Qn
i=1 {ai , bi }
:= {a1 , b1 } ×
Théorème 2.1.7 (dit de Représentation) : Soit S = {x ∈ Rn : A.x ≤ b, C.x = d, x ≥ 0} un polyèdre
convexe non-vide de Rn . Alors il existe un nombre fini des points extrémaux v 1 , v 2 , . . . , v N (N ≥ 1) et un
nombre fini des directions extrémales d1 , d2 , . . . , dM (M ≥ 0) tels que ∀x ∈ S,
x=
N
X
λi .v i +
i=1
N
X
M
X
µj .dj ,
j=1
λi = 1, λi ≥ 0, ∀i ∈ [[1, N ]] , µj ≥ 0, ∀j ∈ [[1, M ]] .
i=1
Figure 2.25 – Théorème de Représentation.
Démonstration : C’est une conséquence immédiate du théorème de Krein-Milman pour S un convexe compact,
et facilement à vérifier si S est non-borné (comme dans la figure 2.25).
2.1.7
Lemme de Farkas et de Gordan
Théorème 2.1.8 (Lemme de Farkas) : Soit A ∈ Mm,n , c ∈ Rn , alors l’un des deux ensembles suivants
est vide
S = {x ∈ Rn : A.x ≤ 0, c> .x > 0},
D = {y ∈ Rm : A> .y = c, y ≥ 0}.
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 43/109
Figure 2.26 – Lemme de Farkas.
Démonstration :
B S 6= ∅ ⇒ D = ∅ : Démontrer par l’absurde. Soit S 6= ∅, alors ∃x̄ ∈ S. Supposons que D 6= ∅, alors ∃y ≥ 0 tel que
A> .y = c, donc
(A> .y)> .x̄ = c> .x̄.
Or y ≥ 0 et A.x̄ ≤ 0, on obtient que
c> .x̄ = y > .A.x̄ ≤ 0.
Ceci est en contradiction avec l’hypothèse c> .x̄ > 0. Donc D = ∅.
B D = ∅ ⇒ S 6= ∅ : Notons
S1 = {z ∈ Rn : z = A> .y, y ≥ 0}.
Alors, S1 est un polyèdre convexe fermé. Clairement,
D=∅⇔c∈
/ S1 .
D’après le théorème de séparation d’ensemble convexe et de point, pour c ∈
/ S1 , et un ensemble convexe fermé S1 ,
il existe un hyperplan H sépare S1 et c. C’est-à-dire,
∃x ∈ Rn \{0}, > 0, ∀z ∈ S1 ⇒ x> .c ≥ x> .z + .
D’où
x> .c > x> .z = x> .(A> .y), ∀y ≥ 0.
Prenons y = 0, on tire alors
c> .x > 0.
D’autre part, comme
x> .A> .y < x> .c < +∞, ∀y ≥ 0.
S’il existe un indice i ∈ [[1, m]] telle que la i-ième coordonnée du vecteur A.x, noté (A.x)i , est strictement positive.
On peut prendre yi → +∞, donc (A.x)> .y → +∞. Ceci est au contraire de (A.x)> .y < +∞. Donc
A.x ≤ 0.
D’où, il existe x ∈ S, alors S 6= ∅.
Remarque(s) 2.14 :
L’ensemble {x ∈ Rn : A.x ≤ 0} est un cône polyédrique. C’est une intersection d’un nombre fini de demiespaces. D’après le théorème de représentation, c’est une enveloppe conique engendrée par l’ensemble des
directions extrémales de ce cône.
Théorème 2.1.9 (Lemme de Gordan) : Soit A ∈ Mm,n , alors l’un des deux ensembles suivants est vide
S = {x ∈ Rn : A.x < 0},
>
D = {y ∈ Rm
+ \{0} : A .y = 0}.
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 44/109
Figure 2.27 – Lemme de Gordan.
Démonstration :
B S 6= ∅ ⇒ D = ∅ : Soit S est non-vide, alors ∃x̄ ∈ S, donc
A.x̄ < 0.
>
Alors ∀y ∈ Rm
+ \{0} tel que A .y = 0, on obtient
0 = (y > .A) .x̄ = y > . (A.x̄) < 0.
|{z} | {z }
| {z }
06=y≥0
=0
<0
>
Absurde ! Donc @y ∈ Rm
+ \{0} tel que A .y = 0.
B D = ∅ ⇒ S 6= ∅ : On va montrer que
>
@y ∈ Rm
+ \{0}, A .y = 0 ⇒ S 6= ∅.
Par contraposée, ceci équivaut à dire
>
S = ∅ ⇒ ∃y ∈ Rm
+ \{0}, A .y = 0.
Car
[P Vrai ⇒ Q Vrai ] ≡ [Q Faux ⇒ P Faux ].
Notons
S1 = {z ∈ Rm : z = A.x, x ∈ Rn }, S2 = {z ∈ Rm : z < 0}.
Si S = ∅, alors S1 ∩ S2 = ∅. D’après le théorème de séparation de deux ensembles convexes,
∃y ∈ Rn \{0}, ∀z 1 ∈ S1 , z 2 ∈ S2 ⇒ y > .z 1 ≥ y > .z 2 .
Or z 1 = A.x, si x = 0, on obtient
0 ≥ y > .z 2 .
Or z 2 < 0, ceci implique y ≥ 0. Donc
∃y 6= 0, y ≥ 0
tel que 0 ≥ y > .z 2 .
D’autre part,
0>z 2 →0
y > .z 1 = y > .A.x ≥ y > .z 2 −−−−−→ 0, ∀x ∈ Rn .
On choisit x = −A> .y, alors
−kA> .yk2 ≥ 0.
Grâce au caractère défini de la norme, on obtient que
A> .y = 0.
>
D’où, ∃y ∈ Rn
+ \{0}, A .y = 0.
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
2.2
Page 45/109
Fonction convexe
2.2.1
Fonction convexe
Définition 2.2.18 (Fonction convexe/Convex function/凸
凸函 数) : Soit C une partie convexe non-vide
de Rn , alors une fonction f : C → Rm est dite convexe si ∀x, y ∈ C, t ∈ [0, 1],
f (t.x + (1 − t).y) ≤ t.f (x) + (1 − t).f (y).
Remarque(s) 2.15 :
— f est une fonction convexe ⇐⇒ −f est une fonction concave .
— Une forme affine est à la fois convexe et concave.
— Une fonction f est dite strictement convexe si ∀x, y ∈ C, x 6= y, t ∈]0, 1[,
f (t.x + (1 − t).y) < t.f (x) + (1 − t).f (y).
Figure 2.28 – Fonction convexe (à gauche et à droite) et strictement convexe (à gauche).
— Soit X un espace vectoriel réel, une fonction f : X → R ∪{+∞} ≡] − ∞, +∞] est dite propre/proper
function/真函数 si f n’est pas identiquement égale à +∞ et ne prend jamais la valeur −∞. Alors, pour une
partie convexe C ⊂ X, on peut aussi définir la fonction convexe propre f : C →] − ∞, +∞] par la Définition
2.2.18 (Vérifiez-le). Peut-on définir la convexité pour la fonction impropre f : C → R ≡ [−∞, +∞] à valeurs
dans la droite réelle achevée R par la même définition ?
Exemple(s) 2.10:
1. Soit C ⊂ Rn convexe, une fonction indicatrice de C est une fonction propre définie par
(
0
, x ∈ C;
χC (x) =
+∞ , x ∈
/ C.
Il est facile de vérifier que χC est convexe si et seulement si C est convexe.
2. Soit f une fonction propre définie sur Rn , l’ensemble suivant
∂f (x) := {v ∈ Rn : f (y) ≥ f (x) + v > .(y − x), ∀y ∈ Rn }
est appelée la sous-différentielle/sub-differential/次微分 de f en x, qui est toujours convexe. Un élément de
∂f (x) est un sous-gradient/sub-gradient/次梯度. Si f est différentiable en x, alors ∂f (x) = {∇f (x)}.
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 46/109
Propriété(s) 2.2.2 : Soit C une partie convexe de Rn , et les applications fi : C → R, i ∈ [[1, k]] sont
convexes, alors
— Toute combinaison positive des fonctions convexes fi , i ∈ [[1, k]] est une fonction convexe (c’est-à-dire,
l’ensemble des fonctions convexe est un cône convexe).
— La fonction sup fi est convexe.
1≤i≤k
Définition 2.2.19 (Ligne de niveau/Level set/水
水平 集) : Soit f : Rn → R, et c ∈ R une constante. On
appelle ligne de niveau l’ensemble
Lc (f ) := {x ∈ Rn : f (x) = c}.
Figure 2.29 – Ligne de niveau.
Proposition 2.2.2 : Soit S ⊂ Rn un ensemble convexe non-vide, f : S → R une fonction convexe, et
α ∈ R, alors l’ensemble
Sα = {x ∈ S : f (x) ≤ α}
est un ensemble convexe.
Démonstration : Laisser en exercice.
Définition 2.2.20 (Épigraphe/Epigraph/上
上 境 图 ) : Soit S ⊂ Rn un ensemble non-vide, f : S → R.
L’épigraphe de f , noté epi(f ), est l’ensemble défini par
epi(f ) = {(x, α) ∈ S × R : f (x) ≤ α}.
Figure 2.30 – Épigraphe.
Théorème 2.2.10 : Soit C ⊂ Rn un ensemble convexe non-vide, alors f : C → R ∪{+∞} est une
fonction convexe si et seulement si epi(f ) est un ensemble convexe (voir la figure 2.30).
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 47/109
Démonstration :
⇒) : Soit f une fonction convexe sur un ensemble convexe C, on a
∀x, y ∈ C, λ ∈ [0, 1], f (λ.x + (1 − λ).y) ≤ λf (x) + (1 − λ)f (y).
Alors, ∀(x, α), (y, β) ∈ epi(f ), ∀λ ∈ [0, 1], on obtient que
λ.(x, α) + (1 − λ).(y, β) = (λ.x + (1 + λ).y, λα + (1 − λ)β).
Comme f est convexe, donc
f (λ.x + (1 + λ).y) ≤ λ f (x) +(1 − λ) f (y) ≤ λα + (1 − λ)β.
|{z}
|{z}
≤α
≤β
On obtient donc (λ.x + (1 + λ).y, λα + (1 − λ)β) ∈ epi(f ) d’où epi(f ) est un ensemble convexe.
⇐) : Soit x1 , x2 ∈ C, (x1 , f (x1 )), (x2 , f (x2 )) ∈ epi(f ). Comme epi(f ) est un ensemble convexe, alors
∀λi ≥ 0, i ∈ [[1, 2]] ,
2
X
λi = 1 ⇒
i=1
2
X
λi .(xi , f (xi )) ∈ epi(f ).
i=1
Donc
f
2
X
!
λi .x
i
≤
2
X
λi f (xi ).
i=1
i=1
D’où la convexité de f .
Remarque(s) 2.16 :
— Soit S ⊂ Rn , f : S → [−∞, +∞], on a dom(f ) = {x ∈ S : ∃α ∈ R, (x, α) ∈ epi(f )}.
— On peut généraliser la définition de la fonction convexe à l’aide de l’épigraphe. Une fonction f est convexe
si et seulement si epi(f ) est convexe. Par exemple, soit C ⊂ Rn convexe non-vide, une fonction f : C →
[−∞, +∞] est convexe si et seulement si epi(f ) est une partie convexe de Rn+1 .
— Une fonction f est dite fermée/closed function/闭函数 si epi(f ) est un ensemble fermé.
— Une fonction propre f est une fonction telle que epi(f ) 6= ∅ et epi(f ) ne contient pas de droite verticale.
Exemple(s) 2.11:
1. Soit f : Rn → R définie par
f (x) := sup {a>
i .x + bi }
i∈[[1,m]]
n
avec ai ∈ R et bi ∈ R, ∀i ∈ [[1, m]]. Alors, f est appelé une fonction convexe polyédrique. Elle est convexe et
fermée car epi(f ) est un convexe fermé.
2. Soit f : Rn → R. La fonction conjuguée/conjugate function/共轭函数 de f , dénotée f ∗ , est définie par :
f ∗ (y) := sup{x> .y − f (x) : x ∈ Rn }.
La fonction f ∗ est toujours convexe malgré la convexité de f . L’application f 7→ f ∗ est appelée transformation
de Legendre-Fenchel.
Théorème 2.2.11 (Condition d’ordre 1 de fonction convexe) : Soit C ⊂ Rn un ensemble ouvert
convexe non-vide, f : C → R une fonction différentiable, alors f est convexe si et seulement si
∀(x, y) ∈ C 2 , f (y) ≥ f (x) + ∇ f (x)> .(y − x).
Si l’inégalité est stricte pour y 6= x, alors la fonction f est strictement convexe.
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 48/109
Démonstration :
B Soit f convexe, ∀(x, y) ∈ C 2 et λ ∈ [0, 1], on a
f (λ.y + (1 − λ).x) ≤ λf (y) + (1 − λ)f (x)
d’où,
f (λ.y + (1 − λ).x) − f (x)
f (x + λ.(y − x)) − f (x) λ→0+
=
−−−−→ ∇ f (x)> .(y − x).
λ
λ
Réciproquement, soit (x, y) ∈ C 2 et z ∈ [x, y] ⊂ C, on a
f (y) − f (x) ≥
f (x) ≥ f (z) + ∇ f (z)> .(x − z)
f (y) ≥ f (z) + ∇ f (z)> .(y − z)
alors, ∀λ ∈ [0, 1], z = λ.x + (1 − λ).y ∈ [x, y]. On multiplie λ en deux inégalités ci-dessus puis faire l’addition, on
obtient
λf (x) + (1 − λ)f (y) ≥ (λ + 1 − λ)f (z) + ∇ f (z)> .(λ.(x − z) + (1 − λ).(y − z))
= f (z) + ∇ f (z)> . (λ.x + (1 − λ).y − z) = f (z).
{z
|
=0
}
D’où
f (z) = f (λ.x + (1 − λ).y) ≤ λf (x) + (1 − λ)f (y), ∀λ ∈ [0, 1]
Donc f est convexe.
B La démonstration pour strictement convexe est similaire en modifiant les inégalités en les inégalités strictes.
Théorème 2.2.12 (Condition d’ordre 2 de fonction convexe) : Soit S ⊂ Rn un ensemble ouvert
convexe non-vide, f : S → R une fonction de C 2 (S, R), alors f est convexe si et seulement si
∇2 f (x) 0, ∀x ∈ S.
Si l’inégalité est stricte, alors la fonction f est strictement convexe.
Démonstration :
B On va montrer que :
2
f est une fonction convexe en S ⇐⇒ ∇2 f (x) 0, ∀x ∈ S.
2
⇐) : ∀(x, y) ∈ S et f ∈ C , on a pour certain α ∈ [0, 1],
f (y) = f (x) + ∇ f (x)> .(y − x) +
1
(y − x)> . ∇2 f (x + α(y − x)).(y − x)
2
Comme ∇2 f (x) 0, ∀x ∈ S et x + α(y − x) ∈ [x, y] ⊂ S (par convexité de S), on obtient que
f (y) − f (x) − ∇ f (x)> .(y − x) =
1
(y − x)> . ∇2 f (x + α(y − x)).(y − x) ≥ 0.
2
On obtient la convexité de f par le Théorème 2.2.11.
⇒) :∀(x, y) ∈ S 2 et f ∈ C 2 , on a pour certain α ∈ [0, 1],
f (y) = f (x) + ∇ f (x)> .(y − x) +
1
(y − x)> . ∇2 f (x + α(y − x)).(y − x).
2
f convexe implique
f (y) − f (x) − ∇ f (x)> .(y − x) ≥ 0
D’où
1
(y − x)> . ∇2 f (x + α(y − x)).(y − x) ≥ 0, ∀(x, y) ∈ S 2
2
Par la continuité de ∇2 f , on obtient ∇2 f (x) 0 pour y → x ∈ S.
B La démonstration pour strictement convexe est similaire en modifiant les inégalités en les inégalités strictes.
Théorème 2.2.13 : Soit C un ouvert convexe non-vide de Rn , f : C → R une fonction convexe, alors
i) Tout minimum local de f est un minimum global.
ii) Si f est strictement convexe, il existe au plus un minimum global.
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 49/109
Démonstration :
i) Supposons qu’il existe x ∈ C un minimum local non global de f , alors ∃y ∈ C tel que f (y) < f (x). Par la
convexité de f , on peut en déduire que
f (α.x + (1 − α).y) ≤ α.f (x) + (1 − α).f (y) < f (x), ∀α ∈ [0, 1[.
Contradiction avec x minimum local. Donc tout minimum local de f est un minimum global.
ii) Supposons qu’il existe deux minima globaux x et y (points de S) avec x 6= y, alors le point
convexité de S), puis par la convexité stricte de f , on a
f
x+y
2
<
x+y
2
∈ S (par la
1
(f (x) + f (y)) = f (x).
2
Contradiction avec x minimum global. Donc il existe au plus un minimum global si f est strictement convexe.
Théorème 2.2.14 (dit de Weierstraß) : Soit S ⊂ Rn un compact non-vide, f est une application
continue sur S. Alors f est bornée sur S et atteint ses bornes.
Démonstration : Comme f est continue sur un compact S, donc f (S) est aussi un compact. Alors, pour tout x
dans S, on a f (x) est bornée. Notons f ∗ une valeur d’extrémum global de f sur S, c’est-à-dire,
f ∗ ∈ extrémum global{f (x) : x ∈ S}.
Donc f ∗ ∈ f (S). Comme l’ensemble f (S) est compact, alors, il existe une suite {f k } dans f (S) telle que f k → f ∗ .
Il existe donc une suite {xk } dans S telle que f (xk ) = f k , ∀k ∈ N. On obtient alors
f (xk ) = f k → f ∗ .
Comme S est un compact et {xk } est une suite dans S, d’après le théorème de Bolzano-Weierstraß, il existe une
sous-suite {xφ(k) } tend vers x∗ ∈ S. Par la continuité de f , on a
xφ(k) → x∗ =⇒ f (xφ(k) ) → f (x∗ ).
Comme la suite {f k } est convergente, donc la sous-suite {f φ(k) } est aussi convergente et converge vers la même
limite f ∗ . On a donc
f φ(k) = f (xφ(k) ) → f ∗ .
Donc il existe un point x∗ ∈ S telle que f ∗ = f (x∗ ). D’où, on peut atteindre les bornes de f sur S.
Théorème 2.2.15 : Soit S ⊂ Rn un compact convexe non-vide, f : S → R une application concave. Alors
f peut attendre ses minima globaux aux points extrémaux de S.
Démonstration : Laisser en exercice.
2.2.2
Fonction D.C.
Définition 2.2.21 (Fonction D.C./D.C. function/DC函
函数) : La différence de deux fonctions convexes
fermées et propres est une fonction d.c. (différence des fonctions convexes), sous la convention (+∞) −
(+∞) = +∞.
Remarque(s) 2.17 :
— L’ensemble des fonctions d.c. est une extension de l’ensemble des fonctions convexes fermées et propres.
C’est en effet un espace vectoriel engendré par l’ensemble des fonctions convexes fermées et propres. C’est
également le plus petit espace vectoriel contenant l’ensemble des fonctions convexes.
— Une fonction convexe est un cas particulier de d.c. En général, une fonction d.c. est souvent non-convexe, par
n
exemple : Soit Q et P deux matrices de S+
, alors ∀x ∈ Rn , la fonction quadratique f (x) = x> .P.x−x> .Q.x
est d.c. La convexité de f dépend de la matrice P − Q, si P − Q 0 1 , alors f est quadratique convexe ;
Si P − Q 0, alors f est quadratique concave ; Si P − Q est une matrice indéterminée, alors f est une
fonction quadratique indéterminée (c’est-à-dire, ni convexe ni concave).
1. A 0 (resp. A 0) signifie que A est semi-définie (resp. définie) positive. De même, A 0 (resp. A ≺ 0) signifie que A est
semi-définie (resp. définie) négative.
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 50/109
Propriété(s) 2.2.3 : Soit f, fi , i ∈ [[1, m]] des fonctions d.c., alors les fonctions suivantes sont aussi d.c. :
— Toute combinaison linéaire des fonctions d.c. est d.c.
— Les fonctions sup fi et inf fi sont d.c.
1≤i≤m
1≤i≤m
— Les fonctions |f |, f + = max{0, f }, f − = min{0, f } sont d.c.
m
Y
— La fonction
fi est d.c.
i=1
Proposition 2.2.3 : Toute fonction f de classe C 2 (Rn ) est d.c. sur tout compact convexe de Rn .
Proposition 2.2.4 : Pour toute fonction continue f sur un compact convexe Ω de Rn et pour tout ε > 0,
elle existe une fonction d.c., notée par g, telle que
max |f (x) − g(x)| ≤ ε.
x∈Ω
Proposition 2.2.5 : Soit Ω1 ⊂ Rn un ensemble convexe et Ω2 ⊂ Rm un ensemble convexe ouvert. Si
f : Ω1 → Ω2 et g : Ω2 → Rk sont deux fonctions d.c., alors g ◦ f : Ω1 → Rk est aussi d.c.
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 51/109
EXERCICES
2.1 Vérifier la convexité de l’ensemble S suivant :
(a) S = {x ∈ R2 : x1 + 2x2 ≥ 1, x1 − x2 ≥ 1}.
(b) S = {x ∈ R2 : x2 ≥ |x1 |}.
(c) S = {x ∈ R2 : x2 ≥ x31 }.
(d) S = {x ∈ R2 : x21 + x22 ≤ 10}.
n
(e) S = S+
.
(f) Soit g : Rn → Rm une fonction convexe, S = {x ∈ Rn : g(x) ≤ 0}.
(g) Soit g : Rn → Rm une fonction convexe, S = {x ∈ Rn : g(x) ≥ 0}.
(h) Soit C ⊂ Rn convexe, A ∈ Mm,n et S = {x ∈ Rm : x = A.y, y ∈ C}.
2.2 Soit C une partie de Rn , λ1 et λ2 deux scalaires non-négatives.
(a) Montrer que : Si C est convexe, alors
(λ1 + λ2 ).C = λ1 .C + λ2 .C.
(2.1)
(b) Donner un exemple contraire si C est non-convexe.
2.3 Soit E et F deux espaces vectoriels de dimension finie, f : E → F une application affine, S une partie convexe
de E et C une partie convexe de F .
(a) Montrer que f (S) est une partie convexe de F .
(b) Montrer que f −1 (C) est une partie convexe de E.
(c) Application : Soit A1 , . . . , Am , B des matrices de S p (l’ensemble des matrices symétriques réelles de taille
p × p, c’est bien un espace vectoriel de dimension finie). Montrer que l’ensemble suivant est convexe
L = {x ∈ Rm : x1 .A1 + · · · + xm .Am B}.
2.4 Soit A ∈ Mm,n , b ∈ Rm , d ∈ Rn \{0}, S = {x ∈ Rn : A.x = b, x ≥ 0} un ensemble non-vide.
Montrer que d est une direction de S si et seulement si
d ≥ 0, A.d = 0.
2.5 Soit C un ensemble convexe non vide dans un espace vectoriel de dimension finie.
(a) L’ensemble C est soit un singleton, soit constitué que de points d’accumulation.
(b) Montrer que ∀x ∈ Ir(C), y ∈ C, on a
[x, y[⊂ Ir(C).
(c) Montrer que Int(C) et Ir(C) sont convexes.
2.6 Soit C1 et C2 deux ensembles convexes non-vides, montrer que
(a) Ir(C1 + C2 ) = Ir(C1 ) + Ir(C2 ).
(b) C1 + C1 ⊂ C1 + C2 .
(c) si l’un de C1 et C2 est borné, alors C1 + C1 = C1 + C2 .
(d) Ir(C1 ) ∩ Ir(C2 ) ⊂ Ir(C1 ∩ C2 ).
(e) C1 ∩ C2 ⊂ C1 ∩ C2 .
(f) si Ir(C1 ) ∩ Ir(C2 ) 6= ∅, alors Ir(C1 ) ∩ Ir(C2 ) = Ir(C1 ∩ C2 ) et C1 ∩ C2 = C1 ∩ C2 .
2.7 Soit S ⊂ Rn et V = {x1 , . . . , xk } un ensemble des k (k > n + 1) points de S.
Montrer que : Il existe (β1 , . . . , βk ) 6= 0 et au moins un βi positif tels que
k
X
i=1
Def/Thm
βi .xi = 0,
k
X
βi = 0.
i=1
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 52/109
1
2.8 Soit A =
−1
−2
1
 
2
1
, c = 1. Montrer que l’ensemble S = {x ∈ R3 : A.x ≤ 0, c> .x > 0} est non-vide.
1
0
2.9 Montrer que l’ensemble S = {(x1 , x2 ) ∈ R2 : x1 + 3x2 < 0, 3x1 − x2 < 0, 17x1 + 11x2 > 0} est vide.
2.10 Soit A ∈ Mm,n , c ∈ Rn . Montrer que l’un des deux ensembles suivants est non-vide
S1 = {x ∈ Rn : A.x ≤ 0, x ≥ 0, c> .x > 0};
S2 = {y ∈ Rm : A> .y ≥ c, y ≥ 0}.
2.11 Soit f : Rn → R telle que pour tous x dans Rn et t dans R+ , f (t.x) = tf (x).
Montrer que : l’application f est convexe si et seulement si ∀x, y ∈ Rn , f (x + y) ≤ f (x) + f (y).
2.12 Soit f : Rn → R, montrer que
(a) f ≥ f ∗∗ sur Rn .
(b) si f est convexe propre et fermée, alors f = f ∗∗ .
2.13 (Inégalité de Jensen) Soit f : Rn → Rm une fonction convexe, soit N points x1 , . . . , xN de Rn , et λ ∈
PN
RN
+,
i=1 λi = 1, alors
!
N
N
X
X
f
λi .xi ≤
λi .f (xi ).
i=1
i=1
2.14 Soit (E, k k) un espace vectoriel normé de dimension finie, O un ouvert non vide et convexe de E et f : O → R
une fonction deux fois différentiable telle que d2 f est continue sur O. Montrer que les propositions suivantes
sont équivalentes :
(a) f est convexe, c’est-à-dire que
∀x, y ∈ O, ∀t ∈ [0, 1], f x + t(y − x) ≤ f (x) + t f (y) − f (x) .
(b)
(c)
2.15 Soit
(a)
∀x, y ∈ O, f (y) − f (x) − d fx (y − x) ≥ 0.
∀x ∈ O, ∀h ∈ E, d2 fx (h, h) ≥ 0.
C ⊂ Rn un ensemble convexe fermé non-vide.
Montrer que ∀x, y ∈ Rn ,
kPC (x) − PC (y)k2 ≤ hPC (x) − PC (y), x − yi.
(b) Enduire que PC est 1-Lipschitzienne, i.e.,
∀x, y ∈ Rn , kPC (x) − PC (y)k ≤ kx − yk.
(c) Montrer que la fonction de la distance d : Rn → R définie au dessous est convexe
d(x) = kx − PC (x)k.
2.16 (Fortement convexe) On dit qu’une application f : Rn → R est fortement convexe de module ρ > 0 (ρfortement convexe) si et seulement si l’application φ : x 7→ f (x) − ρ2 kxk2 est convexe.
Supposons que f est ρ-fortement convexe et différentiable sur Rn .
(a) Montrer que l’on a des équivalences suivants :
(i) l’application φ est convexe.
(ii) ∀x, y ∈ Rn , f (y) ≥ f (x) + h∇f (x), y − xi + ρ2 ky − xk2 .
(iii) ∀x, y ∈ Rn , h∇f (x) − ∇f (y), x − yi ≥ ρkx − yk2 .
2.17
2.18
2.19
2.20
2.21
2.22
2.23
(iv) ∀x, y ∈ Rn , ∀λ ∈ [0, 1], f (λ.x + (1 − λ).y) ≤ λf (x) + (1 − λ)f (y) − λ(1−λ)ρ
kx − yk2 .
2
n
(b) Montrer que ∀x, y ∈ R , k∇f (x) − ∇f (y)k ≥ ρkx − yk.
1
(c) Soit α = min f (x). Montrer l’inégalité de Polyak-Łojasiewicz : f (x) − α ≤ 2ρ
k∇f (x)k2 , ∀x ∈ Rn .
Démontrer le théorème 2.2.15.
Démontrer les propriétés 2.2.2.
Démontrer la proposition 2.2.2.
Démontrer les propriétés 2.2.3.
Démontrer la proposition 2.2.3.
Démontrer la proposition 2.2.4.
Démontrer la proposition 2.2.5.
♣♦♥♠
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 53/109
Chapitre 3
Optimisation Linéaire
3.1
Problème d’optimisation linéaire
L’optimisation linéaire (OL) s’adresse au problème d’optimisation mathématique via les fonctions linéaires
et/ou affines. Elle est également désignée par le nom de ‘programmation linéaire’ (PL), terme introduit par George
Bernard Dantzig vers 1947, qui est renommé par l’invention de l’algorithme du simplexe en optimisation linéaire.
Figure 3.1 – George Bernard Dantzig (8 novembre 1914 - 13 mai 2005).
Définition 3.1.1 (Optimisation linéaire/Linear optimization/线
线性规 划 ) : Un problème d’optimisation linéaire (OL) demande de minimiser une fonction linéaire sur un polyèdre convexe.
On appelle l’optimisation linéaire sous la forme standard/standard form/标准形式, tout problème d’optimisation défini de la forme :
min{c> .x : A.x = b, x ≥ 0}
(OL)
d’où A ∈ Mm,n , b ∈ Rm , c ∈ Rn .
Remarque(s) 3.1 :
Quelque soit un problème d’optimisation linéaire, nous pouvons toujours le transformer sous la forme
standard. Voici quelques techniques usuelles :
1. Problème de maximisation : un problème de maximisation est équivalent à un problème de minimisation sous la forme standard comme
max c> .x = − min −c> .x.
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
Page 54/109
上海交大 – 巴黎高科卓越工程师学院
2. Contraintes d’inégalité : A.x ≤ b ou A.x ≥ b.
On peut introduire une variable z ∈ Rm , z ≥ 0 telle que
A.x + z = b ou A.x − z = b.
Ceci pourra s’écrire en matrice par bloc comme
x
x
= b ou [A| − I].
= b.
[A|I].
z
z
x
D’où les contraintes d’inégalité devient d’égalité sous la forme standard avec variable
≥ 0.
z
On appelle telle variable z une variable d’écart/slack variable/松弛变量.
3. Variables négatives : x ≤ 0.
Ceci est facile de ramener sous la forme standard. Il suffit de remplacer la variable x par x0 = −x. Par
exemple : la forme standard du problème
min{c> .x : A.x = b, x ≤ 0}
est
min{(−c)> .x0 : A.x0 = −b, x0 ≥ 0}.
4. Variables libres : x ∈ Rn .
On pourra ajouter des variables y, z ∈ Rn+ , telles que
x = y − z.
Remplaçant la variable libre x en y − z, on va rendre le problème d’optimisation linéaire sous la forme
standard. Par exemple :
min{c> .x : A.x = b, x ∈ Rn }.
En remplacant x par y − z, on obtient sa forme standard
y
y
y
(P )
min{[c> | − c> ].
: [A| − A].
= b,
≥ 0}.
z
z
z
d’où la variable du (P ) de la forme standard est
y
.
z
Exemple(s) 3.1:
1. On fait rappel sur le problème de transport Exemple 1.1 défini comme le problème suivant :

m X
n
X

 min

ci,j xi,j




i=1 j=1


m


 s.c. X x = b (j = 1, . . . , n).
i,j
j
(P T )
i=1


n

X



xi,j = di (i = 1, . . . , m).




j=1


xi,j ≥ 0 (i = 1, . . . , m; j = 1, . . . , n).
Maintenant, on sais que ceci est un problème d’optimisation linéaire et sous la forme standard. Nous pouvons
donc le représenter sous forme matricielle.
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
3.2
Page 55/109
Solution d’optimisation linéaire
Il y a deux cas dans lesquels le problème sous la forme standard (OL) n’a pas de solution.
1. Si l’ensemble admissible du problème est vide (par exemple, {x ∈ R : x ≥ 1, x ≤ 0}). Dans ce cas, on dit que
le problème est non-réalisable/infeasible/无解.
2. Si le problème (OL) est réalisable mais que sa valeur optimale vaut −∞ (par exemple, min{x : x ∈ R− }).
Dans ce cas, on dit que le problème est non-borné/unbounded/无界.
Dans tous les autres cas, la valeur optimale du problème (OL) est finie et le problème a une solution.
3.2.1
Théorème d’existence de solution optimale d’optimisation linéaire
Théorème 3.2.1 (Existence de solution optimale d’optimisation linéaire) : Soit C = {x ∈ Rn :
A.x = b, x ≥ 0} un polyèdre convexe tel que x1 , x2 , . . . , xN sont des points extrémaux de C et d1 , d2 , . . . , dM
sont des directions extrémales de C. Alors le problème d’optimisation linéaire sous la forme standard (OL)
existe une solution optimale si et seulement si
C 6= ∅, c> .dj ≥ 0, ∀j ∈ [[1, M ]] .
Démonstration : Si C = ∅, alors le problème (OL) n’a pas de solution. Donc C 6= ∅ est une condition nécessaire
(mais non suffisante) pour que le problème (OL) possède une solution optimale.
Supposons donc que C 6= ∅, d’après le théorème de représentation, le polyèdre convexe C peut s’écrire sous la forme :
C = {x : x =
N
X
λi .xi +
i=1
M
X
µj .dj ,
N
X
λi = 1, λi ≥ 0, ∀i ∈ [[1, N ]] , µj ≥ 0, ∀j ∈ [[1, M ]]}.
i=1
j=1
Donc le problème (OL) est équivalent au problème :
min
c> .x =
N
X
λi .c> .xi +
i=1
s.c.
N
X
M
X
µj .c> .dj
j=1
λi = 1
i=1
λi ≥ 0, i ∈ [[1, N ]]
µj ≥ 0, j ∈ [[1, M ]] .
PN
PM
Comme la fonction objectif
λ .c> .xi + j=1 µj .c> .dj est une fonction séparable. Alors pour les variables λi ,
i=1 i
comme {xi } sont des points extrémaux de C, donc c> .xi est toujours borné. Alors, la combinaison convexe des
PN
{c> .xi } est aussi bornée. Il existe donc toujours une solution λ pour minimiser la partie
λ .c> .xi .
i=1 i
PM
Ensuite, pour la partie j=1 µj .c> .dj , avec µj ≥ 0, j ∈ [[1, M ]], on peut vérifier facilement qu’elle existe un minimum
si et seulement si c> .dj ≥ 0, j = 1, . . . , M .
⇒) : Montrer par l’absurde, si elle existe un minimum et si ∃k ∈ [[1, M ]] tel que c> .dk < 0, alors pour µk → +∞,
PM
on obtient µk .c> .dk → −∞, donc j=1 µj .c> .dj → −∞, c’est-à-dire, elle n’existe pas de minimum. Absurde ! Donc
elle existe un minimum ⇒ c> .dj ≥ 0, ∀j ∈ [[1, M ]] .
PM
⇐) : Réciproquement, si c> .dj ≥ 0, µj ≥ 0, ∀j ∈ [[1, M ]], alors,
µ .c> .dj ≥ 0, le minimum est clairement égal
j=1 j
à 0 si µj = 0, j = 1, . . . , M .
Finalement, C 6= ∅, c> .dj ≥ 0, ∀j ∈ [[1, M ]] est une condition nécessaire et suffisante pour l’existence de solution
optimale du problème (OL).
Théorème 3.2.2 (Existence de solution-sommet) : Si le problème (OL) a une solution, il a une
solution en un sommet de C.
Démonstration : On a vu dans le théorème d’existence de solution optimale de (OL), on peut choisir µj = 0, ∀j ∈
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 56/109
[[1, M ]] pour minimiser la partie
PM
j=1
µj .c> .dj qui veut 0. Alors, le problème devient
min
N
X
λi .c> .xi
i=1
s.c.
N
X
λi = 1
i=1
λi ≥ 0, i ∈ [[1, N ]]
Prenons p ∈ [[1, N ]] tel que
c> .xp = min c> .xi .
1≤i≤N
Comme
PN
i=1
λi = 1, λi ≥ 0, i ∈ [[1, N ]], on obtient alors
N
X
i=1
.x}i ≥
λi . c|>{z
|{z}
≥0
≥c> .xp
N
X
λi .c> .xp = (
i=1
N
X
λi ) .c> .xp = c> .xp .
i=1
| {z }
=1
>
p
Donc c .x est la valeur optimale du problème (OL). C’est-à-dire, le sommet xp est une solution optimale.
Remarque(s) 3.2 :
Lorsqu’on sait tous les points extrémaux et toutes les directions extrémales de C, alors, le Théorème 3.2.2
nous permet de trouver une solution optimale en un sommet de C.
3.2.2
Solution de base
Considérons le système linéaire :
A.x = b
d’où A ∈ Mm,n (m ≤ n) et rg(A) = m, b ∈ Rm .
Comme rg(A) = m, il y a donc m colonnes de A linéairement indépendantes. Par exemple, soit les premières
m colonnes sont linéairement indépendantes, on peut donc écrire A sous la forme d’une matrice par bloc :
A = [B|N ]
d’où B ∈ GLm , et N ∈ Mm,n−m .
Définition 3.2.2 (Matrice de base/Basic matrix/基
基矩阵 ) : Comme B est une matrice inversible, elle
forme une base de Rm , on l’appelle une matrice de base/basic matrix/基矩阵 (ou une base). En revanche,
la matrice N s’appelle une matrice hors base/non-basic matrix/非基矩阵.
Définition 3.2.3 (Variable de base/Basic variable/基
基 变 量) : Étant donnée une base B, on peut
également décomposer les variables x en deux parties :
x
x= B
xN
d’où xB ∈ Rm correspond à des colonnes de B, appelée variable de base/basic variable/基变量 ; et xN ∈
Rn−m correspond à des colonnes de N , appelée variable hors base/non-basic variable/非基变量.
On obtient alors
巴院
xB
A.x = b ⇐⇒ A.x = [B|N ].
= B.xB + N.xN = b.
xN
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 57/109
Comme B est inversible, on a
xB = B −1 .b − B −1 .N.xN .
Particulièrement, si on prend xN = 0, alors
xB = B −1 .b.
−1 B .b
Donc x =
est une solution possible d’équation A.x = b.
0
Définition 3.2.4 (Base réalisable/Feasible base/可
可行 基) : Soit une base B donnée, si B −1 .b ≥ 0, alors
la matrice B est appelée une base réalisable/feasible base/可行基 pour les contraintes {A.x = b, x ≥ 0}.
Sinon, B est une base non-réalisable/infeasible base/非可行基.
Définition 3.2.5 (Solution de base ; Solution de base réalisable ; Solution de base optimale)
:
B −1 .b
Dans le problème d’optimisation linéaire (OL), soit B une matrice de base , on appelle x =
une
0
solution de base/basic solution/基本解 pour l’équation du système linéaire A.x = b.
— Si de plus B −1 .b ≥ 0, on l’appelle une solution de base réalisable/basic feasible solution/基本可行
解.
−1 B .b
— Si x =
est une solution optimale du problème (OL), alors B est une base optimale/optimal
0
base/最优基, et x est une solution de base optimale/optimal basic solution/最优基本可行解.
−1 B .b
Définition 3.2.6 (Dégénération/Degeneration/退
退 化 ) : Soit x =
une solution de base réali0
−1
sable du problème (OL), si B .b > 0, alors la solution x est non-dégénérée, sinon x est dégénérée.
Exemple(s) 3.2:
Considérer le polyèdre convexe
C = {x ∈ R2 : x1 + 2x2 ≤ 8, x2 ≤ 2, x1 , x2 ≥ 0}.
— Trouver les solutions de base.
— Vérifier les réalisablilités des solutions de base.
Réponse : Voir la figure 3.2 sur le design de l’ensemble C.
Figure 3.2 – Solution de base (Exemple 3.2).
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
Page 58/109
上海交大 – 巴黎高科卓越工程师学院
Trouver les solutions de base : On transforme les contraintes C sous la forme standard (l’inégalité vers l’égalité) en ajoutant des variables d’écart (x3 , x4 ) ≥ 0.

 x1 + 2x2 + x3 = 8,
x2 + x4 = 2,

(x1 , x2 , x3 , x4 ) ≥ 0.
On peut écrire sous forme matricielle :
A.x = b
1 2 1 0
8
d’où A =
et b =
.
0 1 0 1
2
Notons ci , i = 1, . . . , 4 les colonnes de A. Pour chaque base B choisie (c’est-à-dire, deux colonnes de A
linéairement indépendant), on a une solution de base correspondante. Nous avons donc 42 possibilités au
maximum :
1 2
1 −2
−1
(a) B = [c1 |c2 ] =
. On peut calculer B =
. Donc la solution de base est
0 1
0 1
x3 = x4 = 0;
x1
1
= B −1 .b =
x2
0
−2
8
4
.
=
.
1
2
2
D’où, (4, 2, 0, 0) est une solution de base.
1 1
(b) B = [c1 |c3 ] =
, cette matrice n’est pas inversible. Donc B n’est pas une base.
0 0
1 0
(c) B = [c1 |c4 ] =
. On obtient donc
0 1
x2 = x3 = 0;
x1
1
= B −1 .b =
x4
0
0
8
8
.
=
.
1
2
2
D’où, (8, 0, 0, 2) est une solution de base.
2 1
0 1
−1
(d) B = [c2 |c3 ] =
, alors B =
. On obtient donc
1 0
1 −2
x1 = x4 = 0;
x2
0
= B −1 .b =
x3
1
1
8
2
.
=
.
−2
2
4
D’où, (0, 2, 4, 0) est une solution de base.
1
0
2 0
−1
2
. On obtient donc
(e) B = [c2 |c4 ] =
, alors B =
1 1
− 21 1
x1 = x3 = 0;
1
x2
= B −1 .b = 21
x4
−2
0
8
4
.
=
.
2
−2
1
D’où, (0, 4, 0, −2) est une solution de base.
1 0
(f) B = [c3 |c4 ] =
, on obtient donc
0 1
x3
1
−1
x1 = x2 = 0;
= B .b =
x4
0
0
8
8
.
=
.
1
2
2
D’où, (0, 0, 8, 2) est une solution de base.
On obtient finalement 5 solutions de base.
Quelles solutions de base sont réalisables ? On peut vérifier facilement que, sauf la solution de base (0, 4, 0, −2) 0 (donc non-réalisable). Les autres 4 solutions de base sont toutes réalisables.
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 59/109
Remarque(s) 3.3 :
Dans cet exemple, on a constaté que les 4 solutions de base réalisable : (4, 2, 0, 0), (8, 0, 0, 2), (0, 2, 4, 0) et
(0, 0, 8, 2) dont la partie (x1 , x2 ) sont exactement les 4 sommets de C.
Ceci est toujours vrai. En général, on peut démontrer que l’ensemble des sommets d’un polyèdre convexe
est identique à l’ensemble des solutions de base réalisable. C’est le sens géométrique de la solution de base
réalisable d’un polyèdre convexe.
Théorème 3.2.3 (Théorème fondamental de l’optimisation linéaire) : Soit la matrice A ∈ Mm,n
et rg(A) = m dans le problème (OL), alors
i) S’il existe une solution réalisable, alors il existe une solution de base réalisable.
ii) S’il existe une solution optimale, alors il existe une solution de base optimale.
Démonstration :
i) Notons pi , i ∈ [[1, n]] les colonnes de la matrice A.
Soit I l’ensemble des indices, un sous ensemble de [[1, n]], tel que
x=
i∈I
i∈
/I
xi ,
0,
(d’où xi > 0, ∀i ∈ I) est une solution réalisable. Alors, pour les colonnes pi , i ∈ I il y a deux cas possibles :
1) Si les vecteurs pi , i ∈ I sont libres. Comme rg(A) = m, donc |I| ≤ m 1 , et on peut toujours choisir m − |I|
colonnes de A : pj , j ∈ J d’où J ∩ I = ∅ et |J| = m − |I| telles que
B = [pi , pj ]i∈I,j∈J
est une base de Rm . Donc on a une solution de base. Particulièrement, la solution réalisable x est dans ce
cas une solution de base réalisable pour certain base B.
2) Sinon, les vecteurs pi , i ∈ I sont liés. Alors, par la définition d’une famille liée, il existe des coefficients
λi , i ∈ I non pas tous nuls telles que
X
λi .pi = 0.
i∈I
Dans ce cas là, nous pouvons construire un vecteur x̂ :
x̂i =
xi − γλi
0
,i ∈ I
,i ∈
/I
D’où γ = min{ λxii : λi > 0, i ∈ I} > 0 (car xi > 0, ∀i ∈ I ). Notons
k ∈ argmin{
xi
: λi > 0, i ∈ I}.
λi
On peut vérifier que x̂ est une solution réalisable :
A.x̂ =
n
X
x̂i .pi =
i=1
X
i∈I
x̂i .pi +
X
i∈I
/
x̂i .pi =
|{z}
=0
X
X
i∈I
i∈I
(xi − γλi ).pi =
xi .pi −γ
X
λi .pi = b.
i∈I
| {z }
=b
| {z }
=0
et x̂ ≥ 0 car ∀i ∈ I
— Si λi < 0, alors x̂i = xi − γλi > xi > 0.
— Si λi = 0, alors x̂i = xi > 0.
— Si λi > 0, alors x̂i = xi − γλi = xi − λxkk λi ≥ xi − λxii λi = 0.
∀i ∈
/ I, on a x̂i = 0. Donc x̂ est une solution réalisable.
Comme x̂k = xk − λxkk λk = 0, donc on peut mettre à jour l’ensemble des indices I = I \ {k}, alors
— Si les vecteurs pi , i ∈ I sont libres, comme dans le premier cas, on peut toujours ajouter des colonnes de
A pour construire une base B afin d’obtenir une solution de base réalisable.
1. |I| est le cardinal de l’ensemble I.
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 60/109
— Sinon, on est bien dans le deuxième cas. On va répéter la procédure jusqu’à ce que l’on trouve une solution
de base réalisable. Ceci est toujours possible car le cardinal de I est diminué d 1 à chaque répétition,
donc d’après un nombre fini de répétition, on peut toujours trouver une famille de vecteurs libres afin
d’arriver dans le premier cas qui nous permet de sortir une solution de base réalisable. Particulièrement,
x̂ est une solution de base réalisable.
ii) C’est une conséquence immédiate du Théorème 3.2.2, car un sommet est une solution de base réalisable. Donc
il existe toujours une solution de base optimale.
Méthodes de résolution du problème (OL)
3.3
On va présenter quelques méthodes classiques pour résoudre un problème d’optimisation linéaire.
3.3.1
Méthode graphique
Cette méthode est uniquement applicable pour résoudre un problème d’optimisation avec trois variables au
maximum et peu de contraintes linéaires.
Exemple(s) 3.3:
Considérons le problème d’optimisation linéaire suivant :


 min −x1 − 3x2

s.c. x1 + x2 ≤ 6
−x1 + 2x2 ≤ 8



(x1 , x2 ) ≥ 0.
Notons l’ensemble des contraintes linéaires par C. Nous pouvons tracer le domaine C dans la figure 3.3, et
c’est un polytope.
−1
x
La fonction objectif à minimiser : c> .x = −x1 − 3x2 où c =
,x = 1 .
−3
x2
Nous pouvons constater facilement
le
minimum
et
le
maximum
de
la
fonction
objectif sur C.
.
Le
maximum
global
:
(0,
0).
Le minimum global : 34 , 14
3
46
La valeur minimale : − 43 − 3 × 14
3 = − 3 . La valeur maximale : −0 − 3 × 0 = 0.
Figure 3.3 – Exemple de méthode graphique.
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
3.3.2
Page 61/109
Algorithme du simplexe
L’algorithme du simplexe/simplex algorithm/单纯形算法 est développé par Dantzig en 1947. C’est une méthode
qui permet de trouver une solution de base optimale d’OL en nombre fini d’étapes si le problème est réalisable, ou
montre que le problème est non borné ou non-réalisable (les seules trois possibilités pour un problème d’OL).
L’idée de cet algorithme est de passer d’un sommet de l’ensemble admissible (un polyèdre convexe), le long
d’une arête, vers un autre sommet qui permet de diminuer la valeur de la fonction objectif. L’algorithme s’arrête
lorsque la valeur de la fonction objectif ne décroît plus.
Pour construire cet algorithme, considérons le problème d’OL sous la forme standard :
min{f (x) = c> .x : A.x = b, x ≥ 0}
Question : Comment passer d’une solution de base réalisable vers une autre solution de base réalisable en diminuant la valeur de la fonction objectif f ?
Analyse : Notons B une matrice de base et N une matrice hors base, supposons que
x0 =
−1 B .b
0
est une solution de base réalisable. Alors
>
f (x0 ) = c> .x0 = [c>
B |cN ].
−1 B .b
−1
= c>
.b.
B .B
0
D’abord, on va essayer de chercher une solution réalisable x depuis x0 qui nous permet de diminuer la valeur
objectif, soit
x
x= B
xN
une solution réalisable améliorée (avec 0 6= xN ≥ 0). Alors,
xB = B −1 .b − B −1 .N.xN .
Si on a f (x) < f (x0 ), il faut donc
>
>
−1
−1
0
f (x) = c> .x = c>
.b −(c>
.N − c>
B .xB + cN .xN = cB .B
B .B
N ).xN < f (x ).
| {z }
=f (x0 )
On obtient alors
−1
(c>
.N − c>
B .B
N ).xN > 0.
Notons J l’ensemble des indices des variables hors base. Clairement |J| = n − m. Alors, on a deux cas possibles :
−1
.pj − cj > 0, on peut prendre une bonne valeur de xj > 0 et fixé
Cas 1 : S’il existe un indice j ∈ J tel que c>
B .B
xi = 0, ∀i ∈ J \ {j} vérifiant
−1
>
−1
(c>
.N − c>
.pj − cj ) xj > 0
B .B
N ).xN = (cB .B
|
{z
} |{z}
>0
>0
et le vecteur x pourra diminuer la valeur objectif.
−1
>
−1
Cas 2 : Sinon, c>
.N − c>
.N −
B .B
N ≤ 0, alors @xN ≥ 0 permettant de diminuer la valeur objectif, car (cB .B
c>
).x
≤
0,
∀x
≥
0.
N
N
N
D’après les discussions, prenons
−1
k ∈ argmax{c>
.pj − cj : j ∈ J}.
B .B
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
Page 62/109
上海交大 – 巴黎高科卓越工程师学院
−1
Si c>
.pk − ck ≤ 0, on est dans le deuxième cas, donc x est une solution de base réalisable et optimale.
B .B
>
−1
Sinon,
on
a cB .B .pk − ck > 0, et on cherche une valeur de xk qui permet de construire une solution réalisable
x
x = B telle que
xN
xk , j = k
xN = [xj ]j∈J où xj =
0 , j ∈ J \ {k}
xB = B −1 .b − B −1 .N.xN = B −1 .b − xk .B −1 .pk .
Pour simplifier la notation, on note b̄ = B −1 .b et y k = B −1 .pk . Alors
xB = b̄ − xk .y k .
Donc
f (x) = f (x0 ) − xk (c>
.y k − c ) < f (x0 ).
|{z} | B {z k}
>0
>0
0
Pour maximiser l’écart entre f (x) et f (x ), on peut prendre xk le plus grand que possible en gardant la faisabilité
de x. Comme A.x = b est toujours vrai, et xN ≥ 0, il reste à garantir xB ≥ 0. On a deux cas possibles :
— Si y k ≤ 0 (y k 6= 0), alors
∀xk > 0, xB = b̄ − xk .y k > b̄ ≥ 0.
Donc x est réalisable.
On tend xk vers +∞, alors xB → +∞, donc le problème est non-borné. Dans ce cas là,
x →+∞
k
f (x) = f (x0 ) − xk (c>
.y k − ck ) −−
−−−→ −∞.
| B {z
}
>0
Donc il n’existe pas de solution optimale.
— Sinon, ∃i ∈ [[1, m]] tel que yik > 0, comme xB ≥ 0, il faut donc
b̄i − xk yik ≥ 0.
Ceci implique
xk ≤
b̄i
.
yik
Donc
xk ≤ min{
b̄i
: yik > 0, i ∈ [[1, m]]}.
yik
Prenons
r ∈ argmin{
et on choisit xk =
b̄i
: yik > 0, i ∈ [[1, m]]}
yik
b̄r
(c’est la plus grande xk possible).
yrk
Si b̄r = 0 (dégénéré car x0B = b̄ n’est pas un vecteur strictement positif), alors xk = 0 et donc x = x0 . On
ne peut pas améliorer la valeur optimale (On va le discuter plus tard dans le cas cyclage).
Sinon, xk > 0, alors x est une solution réalisable et
xBr = b̄r − xk yrk = b̄r −
b̄r k
y = 0.
yrk r
Notons B̄, la base B en remplaçant la colonne pBr (la r-ième colonne de la base B) par pk , c’est-à-dire,
B̄ = (B \ {pBr }) ∪ {pk }. On peut vérifier que la nouvelle solution réalisable x est une solution de base
réalisable associée à la nouvelle base B̄ :
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 63/109
D’abord, on va démontrer que B̄ est une base. Comme y k = B −1 .pk , donc pk = B.y k .
B̄ est une base si et seulement si
X
λi .pBi + λr .pk = 0 ⇒ λi = 0, ∀i ∈ [[1, m]] .
1≤i6=r≤m
On peut vérifier que pour
X
λi .pBi + λr .pk =
1≤i6=r≤m
X
X
λi .pBi + λr .B.y k =
1≤i6=r≤m
(λi + λr yik ).pBi + λr yrk .pBr = 0,
1≤i6=r≤m
comme B est une base, donc
λi + λr .yik = 0, 1 ≤ i 6= r ≤ m
λr .yrk = 0
Or yrk > 0 (grâce à la définition de r), ceci implique λi = 0, ∀i ∈ [[1, m]], d’où, B̄ est une base.
Ensuite, on peut démontrer qu’une telle solution réalisable associée à la base B̄ est une solution de base
réalisable (laissé en exercice). Donc on a bien trouvé une nouvelle solution de base réalisable x en diminuant
la valeur de la fonction objectif.
Remarque(s) 3.4 :
−1
.N − c>
— On appelle c>
B .B
N les coûts réduits. Clairement,
−1
c>
.N − c>
B .B
N ≤0
est une condition suffisante pour qu’une base réalisable B soit optimale. Nous pouvons donc répéter la
procédure en passant d’un sommet vers un autre sommet amélioré, afin de trouver une solution de base
optimale si elle existe.
— À chaque itération, on échange une variable hors base xk avec une variable de base xBr pour établir une
nouvelle solution de base réalisable.
— Dans le cas dégénéré, la valeur de la fonction objectif n’améliore pas dans la prochaine itération, ceci
n’implique pas l’optimalité de x0 . On a deux cas possibles :
1. Soit continuer sur l’algorithme du simplex, il est possible de trouver un autre sommet (autre base
réalisable) avec la même valeur objectif. Et la valeur objectif peut s’améliorer d’après certaines itérations.
2. Soit se tromper dans un cyclage.
Dans ce dernier cas, on peut également surmonter le cyclage via certain technique d’anti-cyclage (voir la
Section 3.3.5).
— Pour la complexité de l’algorithme du simplexe. Il pouvait prendre un temps de calcul exponentiel car
au pire des cas, l’algorithme du simplexe peut parcourir tous les sommets du polyèdre convexe qui est en
nombre exponentiel (e.g., polytope de Klee–Minty). Néanmoins, l’algorithme du simplexe est très efficace
en pratique et implémenté dans tous les solveurs d’optimisation linéaire. L’analyse lisse permet d’expliquer
l’efficacité du simplexe en pratique, en calculant des performances sur des entrées légèrement perturbées
(pour en savoir plus, voir [13]).
On résume finalement cet algorithme du simplexe ci-dessous et on a le résultat de convergence finie.
Théorème 3.3.4 (Convergence de l’algorithme du simplexe) : Si le problème d’optimisation linéaire
sous la forme standard (OL) est réalisable avec une base réalisable B donnée, alors l’algorithme du simplexe
(si jamais dans le cas dégénéré) va terminer après un nombre fini d’itérations, soit en déterminant que le
problème (OL) est non borné, soit en trouvant une solution-sommet.
Démonstration : La convergence d’algorithme du simplexe est évidente. En effet, dans un problème d’OL réalisable, l’algorithme du simplexe soit trouver une solution de base optimale ; soit déterminer que le problème est
non-borné ; soit se tromper dans un cyclage au cas dégénéré. Si jamais dans le cas dégénéré, alors l’algorithme du
simplexe va terminer en un nombre fini d’itérations (car l’ensemble des sommets est en cardinal fini).
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
Page 64/109
上海交大 – 巴黎高科卓越工程师学院
Algorithme du simplexe:
Entrées: Une base réalisable B.
Sorties: Une solution de base optimale x∗ ; la valeur optimale f (x∗ ).
Initialisation : iter = 1;
Itération :
B Étape 1 : Résoudre le système linéaire B.xB = b pour trouver
xB = B −1 .b = b̄, xN = 0 et f (x) = c>
B .xB .
B Étape 2 : Calculer
−1
k ∈ argmax{c>
.pj − cj : j ∈ J}.
B .B
−1
Si c>
.pk − ck ≤ 0 alors
B .B
∗
x = (xB , 0) et f (x∗ ) = c>
B .xB . Terminé.
B Étape 3 : Résoudre le système linéaire B.y k = pk pour trouver
y k = B −1 .pk .
Si y k ≤ 0 alors
Le problème est non-borné, donc pas de solution optimale. Terminé.
B Étape 4 : Calculer
b̄i
k
: yi > 0, i ∈ [[1, m]] .
r ∈ argmin
yik
Si b̄r = 0 (problème dégénéré) alors
Les techniques d’anti-cyclage (voir la Section 3.3.5).
B Étape 5 : On échange xBr (variable de base → variable hors base) avec xk (variable hors base →
variable de base) pour obtenir
b̄r
xk = k ; xBr = 0;
yr
B = (B \ {pBr }) ∪ {pk };
iter = iter + 1;
Répéter l’Étape 1.
Exemple(s) 3.4:
Résoudre le problème d’optimisation linéaire suivant via l’algorithme du simplexe :

max 4x1 + x2




 s.c. −x1 + 2x2 ≤ 4
2x1 + 3x2 ≤ 12


x1 − x2 ≤ 3



(x1 , x2 ) ≥ 0.
Réponse :
Standardisation :
min −4x1 − x2
s.c. −x1 + 2x2 + x3 = 4
2x1 + 3x2 + x4 = 12
x1 − x2 + x5 = 3
xi ≥ 0, i ∈ [[1, 5]] .
On l’écrit sous la forme matricielle :
min{c> .x : A.x = b, x ≥ 0},
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
 
−4

−1
−1
 
 ; A = [p1 |p2 |p3 |p4 |p5 ] =  2
0
c=
 
0
1
0
2
3
−1
Page 65/109

 
1 0 0
4
0 1 0 ; b = 12 .
0 0 1
3
Initialisation :
B = [p3 |p4 |p5 ] = I3 est bien une base réalisable (car xB = B −1 .b = b > 0), et iter = 1.
Itération 1 :
Étape 1 : On calcule
 
x3
xB = x4  = B −1 .b = b = b̄,
x5
x
xN = 1 = 0,
x2
 
4

= 0.
0
0
0
12
f (x) = c>
.x
=
.
B B
3
Étape 2 : J = {1, 2}, alors
−1
k ∈ argmax{c>
.pj − cj : j ∈ J} = argmax{−c1 , −c2 } = argmax{ 4 , 1} = 1.
B .B
Donc k = 1.
−1
On a c>
.pk − ck = 4 >0, on passe à l’étape 3.
B .B
−1
Étape 3 : y 1 = B −1 .p1 =  2  0. Donc on passe à l’étape 4.
1
Étape 4 : r ∈ argmin{ yb̄ki : yik > 0, i ∈ [[1, 3]]} = argmin{ yb̄2k , yb̄3k } = argmin{ 12
2 ,
2
i
3
3
}=3
1
Donc r = 3.
Comme b̄3 = 3 6= 0, donc non-dégénérée. On passe à l’étape 5.
Étape 5 : On échange pB3 = p5 avec pk = p1 . Donc
x1 =
3
= 3; x5 = 0.
1
B = (B \ {pBr }) ∪ {pk } = (B \ {p5 }) ∪ {p1 } = [p3 |p4 |p1 ].
iter = 2
Retourner à l’étape 1.
Itération 2
Étape 1 : On calcule B −1
Def/Thm


1 0 1
= 0 1 −2, donc
0 0 1
 
 
x3
7
xB = x4  = B −1 .b = 6 = b̄,
x1
3
x
xN = 2 = 0,
x5
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 66/109
f (x) = c>
B .xB = 0
0
 
7
−4 . 6 = −12 .
3
Étape 2 :
−1
c>
B .B
= 0
0

1
−4 . 0
0

0 1
1 −2 = 0
0 1
0
−4 .
J = {2, 5}, alors
−1
k ∈ argmax{c>
.pj − cj : j ∈ J}
B .B
On a
0
0
−4 .p2 − c2 = 0
0
0
−4 .p5 − c5 = 0
Donc k = 2.
−1
.pk − ck = 5 > 0,
On a c>
B .B
1 0
Étape 3 : y 2 = B −1 .p2 = 0 1
0 0
Étape 4 :
r ∈ argmin{
0
0
 
2
−4 .  3  + 1 = 5 > 0,
−1
 
0
−4 . 0 − 0 = −4 < 0.
1
on 
passe
 àl’étape
 3.
2
1
1
−2 .  3  =  5  0. Donc on passe à l’étape 4.
−1
−1
1
b̄i
7 6
b̄1 b̄2
} = 2.
: yik > 0, i ∈ [[1, 3]]} = argmin{ k , k } = argmin{ ,
k
1 5
yi
y1 y2
Donc r = 2.
Comme b̄2 = 6 6= 0, donc non-dégénérée. On passe à l’étape 5.
Étape 5 : On échange pB2 = p4 avec pk = p2 . Donc
x2 =
6
; x4 = 0.
5
B = (B \ {pBr }) ∪ {pk } = (B \ {p4 }) ∪ {p2 } = [p3 |p2 |p1 ].
iter = 3.
Retourner à l’étape 1.
Itération 3
Étape 1 : On calcule B −1

1
= 0
0
− 15
1
5
1
5
7
5
− 52 ,
3
5

donc
 
 29 
x3
5
xB = x2  = B −1 .b =  65  = b̄,
21
x1
5
xN
f (x) = c>
B .xB = 0
巴院
x
= 4 = 0,
x5
−1
 29 
5
−4 .  65  = −18 .
Yi-Shuai NIU (牛一帅)
21
5
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 67/109
Étape 2 :
−1
c>
= 0
B .B
−1

1
−4 . 0
0
− 51
7
5
− 52 
3
5

1
5
1
5
= 0
−1
−2 .
J = {4, 5}, alors
−1
k ∈ argmax{c>
.pj − cj : j ∈ J}.
B .B
On a
0
0
−1
−2 .p4 − c4 = 0
−1
−1
−2 .p5 − c5 = 0
−1
 
0
−2 . 1 − 0 = −1 < 0,
0
 
0
−2 . 0 − 0 = −2 < 0.
1
Donc k = 4.
−1
Comme c>
.pk − ck = −1 < 0, donc l’algorithme est terminé.
B .B
On trouve une solution de base optimale :
 


x3
29/5
x
−1




xB = x2 = B .b = 6/5 ; xN = 4 = 0.
x5
x1
21/5
f (x) = c>
B .xB = −18.
Conclusion :
L’algorithme du simplexe se termine en 3 itérations. On obtient une solution maximale : x∗ = (x∗1 , x∗2 ) =
6
∗
( 21
5 , 5 ) et la valeur optimale : f (x ) = 18.
3.3.3
Tableau du simplexe
Dans le but de simplifier l’utilisation d’algorithme du simplexe, nous présentons une version “tableau” dont
tous calculs pour une itération sont dans un tableau, on l’appelle tableau du simplexe/simplex table/单纯形表.
Considérons le problème d’OL sous la forme standard pour une base B donnée :
>
f = min c>
B .xB + cN .xN
s.c. B.xB + N.xN = b
xB , xN ≥ 0.
>
On peut représenter ce problème en ajoutant une contrainte linéaire f − c>
B .xB − cN .xN = 0 comme :
min f
>
s.c. f − c>
B .xB − cN .xN = 0
B.xB + N.xN = b
xB , xN ≥ 0, f ∈ R
−1
−2
Comme B est inversible, en multipliant B −1 à gauche dans 2 , on obtient
xB + B −1 .N.xN = B −1 .b
puis en multipliant c>
B à gauche
>
−1
−1
c>
.N.xN = c>
.b
B .xB + cB .B
B .B
et en sommant avec 1 :
−1
>
−1
f + (c>
.N − c>
.b.
B .B
N ).xN = cB .B
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 68/109
Alors, le problème d’OL devient
min f
s.c. xB + B −1 .N.xN = B −1 .b
−1
>
−1
f + (c>
.N − c>
.b
B .B
N ).xN = cB .B
xB , xN ≥ 0, f ∈ R
Ceci peut s’écrire sous forme de tableau ci-dessous :
f
xB
xN
xB
0
Im
B −1 .N
f
1
0
c> .B −1 .N − c>
N
{z
}
|B
B −1 .b = b̄
−1
c>
.b = c>
B .B
B .b̄
les coûts réduits
Dans ce tableau, nous avons toutes les informations pour une itération de l’algorithme du simplexe.
— La solution de base réalisable :
xB = b̄; xN = 0.
— La valeur de la fonction objectif :
c> .x = c>
B .b̄.
— Les coûts réduits :
−1
c>
.N − c>
B .B
N.
On suit la procédure suivante pour le passage d’un tableau (une solution de base réalisable) au tableau suivant(une
autre solution de base réalisable améliorée) :
1. Tester les coûts réduits.
−1
Si c>
.N − c>
B .B
N ≤ 0, alors (xB , xN ) = (b̄, 0) est une solution optimale.
−1
Sinon, on trouve la plus grande valeur de c>
.N − c>
N telle que :
B .B
−1
k ∈ argmax{c>
.pi − ci , i ∈ J},
B .B
où J est l’ensemble des indices des variables hors base xN . Et on trouve la colonne y k .
2. Calculer
b̄r
yrk
= min{ yb̄ki : yik > 0}.
i
3. Si y k ≤ 0, alors le problème est non-borné, terminé.
4. Si b̄r = 0 (cas dégénéré), et si on se trompe dans un cyclage, alors l’algorithme terminé ou continue via les
technique anti-cyclage.
5. Sinon, on échange la variable hors base xk avec la variable de base xBr . Il suffit d’appliquer la méthode de
Gauss en choisissant le pivot yrk comme dans le tableau du simplex ci-dessous.
xB
xB1
..
.
xBr
..
.
Im
xBm
f
xN
y11
..
.
···
y1k
..
.
···
yr1
..
.
···
yrk
..
.
···
1
ym
···
k
ym
···
z1
···
zk
0
|
巴院
c>
B .b̄
···
{z
c>
.B −1 .N −c>
B
N
Yi-Shuai NIU (牛一帅)
b̄
}
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 69/109
D’après la méthode de Gauss, l’élément de la dernière ligne et dernière colonne du tableau (valeur de la
fonction objectif) devient :
b̄r
c>
B .b̄ − zk ( k ).
yr
Comme zk ( yb̄rk ) > 0, donc la valeur de la fonction objectif diminue.
r
Exemple(s) 3.5:
Résoudre le problème d’OL suivant via tableau du simplexe :

min x1 − 2x2 + x3




 s.c. x1 + x2 − 2x3 + x4 = 10
2x1 − x2 + 4x3 ≤ 8
(OL)


−x1 + 2x2 − 4x3 ≤ 4



x ≥ 0.
Réponse :
Standardisation : On présente d’abord le problème sous la forme standard en ajoutant les variables d’écart.

min x1 − 2x2 + x3




 s.c. x1 + x2 − 2x3 + x4 = 10
2x1 − x2 + 4x3 + x5 = 8


−x1 + 2x2 − 4x3 + x6 = 4



x ≥ 0.
Tableau du simplexe :
On a une base initiale évidente : les colonnes x4 , x5 et x6 . Alors
B = I3 ; b̄ = B −1 .b = b; cB = 0
>
0 ; c>
B .b̄ = 0;
0
−1
>
c>
.N − c>
B .B
N = −cN = −1
−1 .
2
Le premier tableau du simplexe est donc :
T1
x1
x2
x3
x4
x5
x6
x4
1
1
-2
1
0
0
10
x5
2
-1
4
0
1
0
8
x6
-1
2
-4
0
0
1
4
f
−1
|{z}
2
|{z}
−1
|{z}
0
0
0
0
<0
>0
<0
On calcule alors max{2} = 2 correspond à la colonne de x2 , puis min{10/1, 4/2} = 2 correspond à la ligne de x6 .
Donc le pivot est l’élément de ligne x6 et colonne x2 (mettant en cadre dans T1). On échange la variable de base
x6 par la variable hors base x2 , d’après la méthode de Gauss, on obtient le tableau T2 suivant.
T2
x1
x2
x3
x4
x5
x6
x4
3
2
0
0
1
0
− 21
x5
3
2
0
2
0
1
1
2
10
x2
− 12
1
−2
0
0
1
2
2
f
0
|{z}
0
3
|{z}
0
0
−1
|{z}
=0
Def/Thm
>0
Yi-Shuai NIU (牛一帅)
8
−4
<0
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 70/109
On a donc une nouvelle base qui correspond aux colonnes x3 , x4 et x5 . On calcule alors max{3} = 3 correspond à
la colonne de x3 , puis min{10/2} = 5 correspond à la ligne de x5 , donc obtient le pivot (ligne x5 et colonne x3 ).
En échangeant la variable de base x5 avec la variable hors base x3 , d’après la méthode de Gauss, on obtient T3.
T3
x1
x2
x3
x4
x5
x6
x4
3
2
0
0
1
0
− 12
8
x3
3
4
0
1
0
1
2
1
4
5
x2
1
9
−
4
|{z}
1
0
0
0
0
0
1
3
−
2
|{z}
1
7
−
4
|{z}
f
<0
<0
12
−19
<0
La nouvelle base est donc les colonnes x2 , x3 et x4 . Comme les coûts réduits sont négatifs, l’algorithme est donc
terminé. On obtient :
une solution optimale :(0, 12, 5, 8, 0, 0), et la valeur optimale : − 19.
Une solution optimale du problème d’origine est (0, 12, 5, 8) en éliminant les variables d’écart.
3.3.4
Méthode des deux phases
La technique des deux phases/two-phase method/两阶段法 décompose la résolution du problème d’optimisation
linéaire (OL) sous la forme standard en deux étapes :
B Phase I : il consiste à résoudre un problème d’optimisation linéaire auxiliaire par l’algorithme du simplexe
(version tableau). La solution de ce problème auxiliaire fournit un sommet du problème (si réalisable) ou indique
que ce problème est non-réalisable. Le problème d’optimisation linéaire auxiliaire est défini comme :
0 = min
(Aux)
m
X
zi
i=1
s.c.
A.x + z = b
x ≥ 0, z ≥ 0.
d’où b ≥ 0 et les variables zi , i = 1, . . . , m sont des variables artificielles/artificial variables/人工变量.
B Phase II : on résout (OL) par l’algorithme du simplexe depuis le sommet obtenu de la phase I.
Remarque(s) 3.5 :
— L’objective de la Phase I est pour trouver une base réalisable du problème (OL) (c’est-à-dire, une sommet).
— Si la valeur optimale du problème auxiliaire n’est pas 0, alors le problème (OL) est non-réalisable.
— On met toujours b ≥ 0 pour trouver facilement une base réalisable initiale (comme une matrice identité).
Exemple(s) 3.6:
Considérer le problème d’optimisation suivant :

min x1 − x2




 s.c. −x1 + 2x2 + x3 ≤ 2
−4x1 + 4x2 − x3 = 4


x1 − x3 = 0



x ≥ 0.
Résoudre le problème par la méthode des deux phases.
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 71/109
Réponse :
Standardisation : On peut ajouter une variable d’écart x4 > 0 sur la contrainte d’inégalité pour avoir le
problème sous la forme standard :

min x1 − x2




 s.c. −x1 + 2x2 + x3 + x4 = 2
−4x1 + 4x2 − x3 = 4


x1 − x3 = 0



x ≥ 0.
Phase I : En ajoutant deux variables artificielles x5 et x6 pour les dernières deux contraintes d’égalité, on
obtient le problème auxiliaire :

0 = min x5 + x6




s.c. −x1 + 2x2 + x3 + x4 = 2

−4x1 + 4x2 − x3 + x5 = 4


x1 − x3 + x6 = 0



x ≥ 0.
On a une base correspondant aux colonnes x4 , x5 et x6 , alors B = I3 , et donc
 
 
0
2
 
b̄ = B −1 .b = b; cB = 1 ; c>
B .b̄ = 0 1 1 . 4 = 4;
1
0


−1 2 1
−1
>
0
1
1
c>
.B
.N
−
c
=
. −4 4 −1 − 0 0 0 = −3 4
B
N
1 0 −1
−2 .
On établit le premier tableau du simplexe T1 :
T1
x1
x2
x3
x4
x5
x6
x4
-1
2
1
1
0
0
2
x5
-4
4
-1
0
1
0
4
x6
1
0
-1
0
0
1
0
f
−3
|{z}
4
|{z}
−2
|{z}
0
0
0
4
<0
>0
<0
On calcule max{4} = 4 qui correspond à colonne de x2 , puis min{2/2, 4/4} = 1. Parmi les variables x4 et
x5 , la variable x5 est artificielle, et l’élimination des variables artificielles de la base est toujours en
priorité (car l’objectif de la phase I est de trouver une base réalisable sans variable artificielle du problème
initial). Donc on choisit la ligne x5 au lieu de x4 . Le pivot est l’élément (ligne x5 et colonne x2 ). En échangeant la variable de base x5 par la variable hors base x2 , d’après la méthode de Gauss, on obtient :
x4
x1
x2
x3
x4
x5
x6
1
0
3
2
1
− 21
0
0
0
1
4
0
1
x2
-1
1
− 41
x6
1
0
-1
0
0
1
0
f
1
|{z}
0
−1
|{z}
0
−1
|{z}
0
0
>0
<0
<0
Comme x5 est une variable hors base et elle va désormais jamais devenir une variable de base, on peut
donc éliminer la colonne de x5 et obtient le tableau réduit T2.
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
Page 72/109
上海交大 – 巴黎高科卓越工程师学院
x1
T2
x2
x3
x4
x6
1
0
0
x4
1
0
3
2
x2
-1
1
− 14
0
0
1
x6
1
0
-1
0
1
0
f
1
|{z}
0
−1
|{z}
0
0
0
>0
<0
Continuer sur l’algorithme du simplexe, on calcule max{1} = 1 correspond à la colonne de x1 , puis min{ 01 , 10 } =
0. On trouve un cas dégénéré. Ici, sans considérer les techniques d’anti-cyclage, nous pouvons continuer l’algorithme du simplexe pour voir si on va se tromper dans un cyclage ou pas. Choisissons la ligne x6 (car x6
est une variable artificielle). En échangeant la variable de base x6 par la variable hors base x1 , et éliminant
la colonne de x6 (variable artificielle), on obtient donc le tableau T3.
T3
x1
x2
x3
x4
x4
0
0
5
2
1
0
0
1
x2
0
1
− 45
x1
1
0
-1
0
0
f
0
0
0
|{z}
0
0
=0
On a trouvé une solution de base réalisable (x1 , x2 , x3 , x4 , x5 , x6 ) = (0, 1, 0, 0, 0, 0). Et la valeur optimale du
problème auxiliaire est bien 0, donc le problème est bien réalisable.
il ne faut pas avoir variable artificielle dans la base).
Les variables de base sont donc x4 , x2 et x1 (
Phase II : Considérons maintenant le problème initial sous la forme standard sans variable d’artificielle :

min x1 − x2




 s.c. −x1 + 2x2 + x3 + x4 = 2
−4x1 + 4x2 − x3 = 4


x1 − x3 = 0



x ≥ 0.
On peut construire le tableau du simplexe à partir de la solution de base réalisable obtenu dans la Phase I
(car les deux systèmes d’équations linéaires sont équivalents). Donc il nous reste uniquement de recalculer
la dernière ligne du tableau du simplexe. Comme les variables de base sont {x4 , x2 , x1 }, alors
 
 
0
← x4
0
cB = −1 ← x2 , b̄ = 1 .
← x1
0
1
On peut calculer les coûts réduits :
−1
c>
.N − c>
B .B
N
= 0
−1
 5 
2
1
1 . − 45  − 0 =
4
−1
et la valeur objectif :
c>
B .b̄ = 0
−1
 
0
1 . 1 = −1.
0
On obtient alors le premier tableau du simplexe T1 de la phase II.
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
T1
x1
x2
x3
x4
1
0
x4
0
0
5
2
x2
0
1
− 45
0
1
x1
1
0
0
0
f
0
0
-1
1
4
|{z}
0
-1
Page 73/109
>0
Comme max{1/4} > 0 correspond à la colonne de x3 , puis min{0/ 52 } = 0 correspond à la ligne de x4 . On
obtient donc le pivot sur ligne x4 et colonne x3 . En échangeant la variable de base x4 par la variable hors
base x3 , d’après la méthode de Gauss, on obtient alors le tableau T2 de la phase II.
T2
x1
x2
x3
x4
x3
0
0
1
2
5
0
1
0
x2
0
1
0
1
2
x1
1
0
0
2
5
f
0
0
0
1
−
10
| {z }
−1
<0
1
Comme le coût réduit − 10
< 0, donc l’algorithme du simplexe est terminé.
On obtient finalement une solution de base optimale : (x1 , x2 , x3 ) = (0, 1, 0) et la valeur optimale −1.
3.3.5
Règles d’anti-cyclage
L’algorithme du simplexe peut cycler dans le cas dégénéré. Voici un exemple bien connu proposé par Beale :

min − 43 x4 + 20x5 − 21 x6 + 6x7




 s.c. x1 + 41 x4 − 8x5 − x6 + 9x7 = 0
x2 + 21 x4 − 12x5 − 12 x6 + 3x7 = 0


x3 + x6 = 1



x ≥ 0.
Appliquer l’algorithme du simplexe, on trouve :
T1
x1
x2
x3
x4
x5
x6
x7
x1
1
0
0
1
4
−8
−1
9
0
x2
0
1
0
1
2
−12
− 21
3
0
x3
0
0
1
0
1
0
0
0
1
1
2
|{z}
0
f
0
3
4
|{z}
−6
|{z}
0
>0
−20
|{z}
<0
>0
<0
Dans le tableau T1, min{ 01 , 01 } = 0, donc on a bien un cas dégénéré. Si on continue sur l’algorithme du sim4
2
plexe en choisissant les pivots comme dans les 6 tableaux du simplexe T2 - T7. Alors, on revient dans le premier
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 74/109
tableau (T7 = T1), donc se trompe dans un cyclage.
T2
x1
x2
x3
x4
x5
x6
x7
x4
4
0
0
1
−32
−4
36
0
−15
0
0
1
−33
|{z}
0
x2
−2
1
0
0
4
3
2
x3
0
0
1
0
0
f
−3
|{z}
0
0
0
4
|{z}
1
7
2
|{z}
>0
<0
<0
>0
T3
x1
x2
x3
x4
x5
x6
x7
x4
4
8
0
1
0
8
−84
0
x5
− 12
1
4
0
0
1
3
8
− 15
4
0
x3
0
0
1
0
0
1
0
1
f
−1
|{z}
−1
|{z}
0
0
0
2
|{z}
−18
|{z}
0
T4
x1
x2
x3
x4
x5
x6
x7
x6
− 32
1
0
1
8
0
1
− 21
2
0
x5
1
16
− 18
0
3
− 64
1
0
3
16
0
x3
3
2
−1
1
0
0
21
2
1
f
2
|{z}
−3
|{z}
0
− 18
1
−
4
|{z}
0
0
3
|{z}
0
<0
>0
>0
<0
<0
<0
>0
<0
T5
x1
x2
x3
x4
x5
x6
x7
x6
2
−6
0
− 52
56
1
0
0
x7
1
3
− 32
0
− 14
16
3
0
1
0
x3
−2
6
1
5
2
−56
0
0
1
1
2
|{z}
−16
|{z}
0
0
0
f
1
|{z}
>0
−1
|{z}
<0
0
>0
<0
Pour remédier au phénomène de cyclage de l’algorithme du simplexe, plusieurs auteurs ont présenté des règles
pour choisir les variables entrantes et sortantes (par exemple, règle de Bland[5], règle des petites perturbations [7]
et règle lexicographique [8]). Ici, on va présenter la règle de Bland.
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
T6
x1
x2
Page 75/109
x3
x4
x5
x6
x7
28
1
2
0
0
x1
1
−3
0
− 45
x7
0
1
3
0
1
6
−4
− 16
1
0
x3
0
0
1
0
1
0
2
|{z}
0
1
1
−
2
|{z}
0
f
0
7
4
|{z}
0
0
>0
−44
|{z}
<0
>0
T7
x1
x2
<0
x3
x4
x5
x6
x7
−8
−1
9
0
x1
1
0
0
1
4
x2
0
1
0
1
2
−12
− 21
3
0
x3
0
0
1
0
1
0
0
0
1
1
2
|{z}
0
f
0
3
4
|{z}
−6
|{z}
0
−20
|{z}
<0
>0
>0
<0
Règle de Bland/Bland’s rule/布
布 兰 德 规 则 On appelle également la règle des plus petits indices de Bland,
elle consiste à faire entrer dans la base le plus petit indice k ∈ J tel que le coût réduit est positif et à faire sortir
le plus petit indice r ∈ argmin{ yb̄ki : yik > 0}. Il a été démontré que la règle de Bland permet d’éviter le cyclage.
i
Un exemple est dans le cas de Beale, si on applique la règle de Bland, alors les premiers trois tableaux sont les
mêmes, mais dans le quatrième tableau, on a
T4
x1
x2
x3
x4
x5
x6
x7
x6
− 32
1
0
1
8
0
1
− 21
2
0
x5
1
16
− 18
0
3
− 64
1
0
3
16
0
x3
3
2
−1
1
0
0
21
2
1
f
2
|{z}
−3
|{z}
0
− 18
1
−
4
|{z}
0
0
3
|{z}
0
>0
<0
>0
<0
Le plus indice k ∈ J avec le coût réduit positif correspond à la colonne de variable x1 , puis min{ 01 , 13 } = 0
16
2
correspond à la ligne de x5 , donc le pivot est l’élément de ligne x5 et colonne x1 , ceci est différent au élément de
ligne x5 et colonne x7 . On continue sur l’algorithme du simplexe pour obtenir le tableau T5.
T5
x1
x2
x3
x4
x5
x6
x7
x6
0
−2
0
−1
24
1
−6
0
16
0
3
0
−24
0
6
1
−32
|{z}
0
−3
|{z}
0
x1
1
−2
0
− 43
x3
0
2
1
f
0
1
|{z}
0
1
5
4
|{z}
>0
>0
Def/Thm
<0
Yi-Shuai NIU (牛一帅)
<0
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 76/109
Comme max{ 54 , 1} = 45 correspond à la colonne de x4 , puis min{ 11 } = 1 6= 0 correspond à la ligne de x3 . On
est dans le cas non-dégénéré. Donc on continue sur l’algorithme du simplexe en choisissant le pivot l’élément de
ligne x3 et de colonne x4 . On obtient le tableau T6.
T6
x1
x2
x3
x4
x5
x6
x7
x6
0
0
1
0
0
1
0
1
x1
1
− 21
3
4
0
−2
0
15
2
3
4
x4
0
−24
0
0
−2
|{z}
0
6
21
−
| {z2}
1
0
1
5
−
4
|{z}
1
f
2
3
−
2
|{z}
<0
<0
<0
− 54
<0
Les coûts réduits sont tous négatifs, donc l’algorithme est terminé. On a bien trouvé une solution de base
optimale : ( 43 , 0, 0, 1, 0, 1), et sa valeur optimale : − 54 .
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 77/109
Remarque(s) 3.6 :
Lorsque nous rencontrons le cas dégénéré en Phase I, choisir une variable sortante comme variable artificielle
est toujours une priorité avant d’appliquer la règle d’anti-cyclage. Alors, pour le cas dégénéré en Phase II,
on peut utiliser la règle d’anti-cyclage pour éviter la boucle. Quand le sommet devient non-dégénéré, on
peut continuer avec l’algorithme du simplexe classique.
3.3.6
Logiciels pour l’optimisation linéaire
MATLAB Nous pouvons utiliser MATLAB Optimization toolbox fonction ‘linprog’ pour résoudre un problème
d’OL sous la forme :
min c> .x
s.c. A.x ≤ b
C.x = d
u ≤ x ≤ v.
Voici les codes pour résoudre Exemple 3.4 via l’algorithme du simplexe.
MATLAB
>> A=[-1 2;2 3;1 -1]; b=[4;12;3]; c=[-4 -1]; u=[0;0];
>> options=optimset(’Algorithm’,’simplex’,’Display’,’iter’);
>> [fval,xopt,exitflag,output] = linprog(c,A,b,[],[],u,[],[],options)
The default starting point is feasible, skipping Phase 1.
Phase 2: Minimize using simplex.
Iter
Objective
f’*x
A’*y+z-w-f
0
0
1
-12
2
-18
Optimization terminated.
Dual Infeasibility
4.12311
5
0
x =
4.2000
1.2000
fval =
-18
exitflag =
1
output =
iterations: 2
algorithm: ’simplex’
cgiterations: []
message: ’Optimization terminated.’
constrviolation: 0
firstorderopt: 0
Remarque(s) 3.7 :
— Nous devons utiliser ‘optimset’ pour modifier les options de linprog afin d’activer l’algorithme du simplexe
comme : optimset(’Algorithm’,’simplex’). De plus, modifier la valeur de ‘Display’ en ‘iter’ dans options
nous permet d’afficher des informations sur les itérations. On constate que linprog se termine d’après deux
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
Page 78/109
上海交大 – 巴黎高科卓越工程师学院
itérations et l’on trouve les valeurs de la fonction objectif {0, −12, −18} exactement comme on l’a fait à la
main dans Exemple 3.4. Les “Phase 1” et “Phase 2” correspondent à la méthode des deux phases.
La valeur sortie en ‘exitflag’ est très importante. Il faut que exitflag= 1 pour garantir ‘numériquement’
—
l’optimalité de solution (voir le Chapitre 5 pour les conditions d’optimalité à vérifier). Regarder le manuel
de toolbox pour savoir plus détails sur les autres valeurs.
Ici, l’algorithme du simplexe est en effet l’algorithme du simplexe primal des deux phases. Cette méthode
—
a été éliminée depuis Matlab R2016b. En revanche, il est souvent recommandé d’utiliser l’algorithme ‘dualsimplex’ (l’algorithme par défaut dans plupart des solvers) pour résoudre l’optimisation linéaire qui est
souvent plus efficace que l’algorithme primal en pratique.
Exemple de Beale : Voici un code de Matlab pour résoudre le problème de Beale, on trouve exactement la même
solution optimale à la main et sous Matlab.
MATLAB
>> A=[1,0,0,1/4,-8,-1,9;0,1,0,1/2,-12,-1/2,3;0,0,1,0,0,1,0];
>> c=[0,0,0,-3/4,20,-1/2,6]; b=[0;0;1]; lb=[0;0;0;0;0;0;0];
>> options=optimset(’Algorithm’,’simplex’,’Display’,’iter’);
>> [fval,xopt,exitflag,output] = linprog(c,[],[],A,b,lb,[],[],options)
Phase 1: Compute initial basic feasible point.
Iter
Infeasibility
0
0.75
1
-0
Phase 2: Minimize using simplex.
Iter
Objective
f’*x
A’*y+z-w-f
0
-0.2
1
-1.25
Optimization terminated.
Dual Infeasibility
1.4
0
fval =
0.7500
0
0
1.0000
0
1.0000
0
xopt =
-1.2500
exitflag =
1
output =
iterations: 1
algorithm: ’simplex’
cgiterations: []
message: ’Optimization terminated.’
constrviolation: 0
firstorderopt: 0
CPLEX Nous pouvons utiliser IBM ILOG CPLEX [17] pour résoudre l’optimisation linéaire. CPLEX est un
outil informatique d’optimisation commercialisé par IBM depuis son acquisition de l’entreprise française ILOG
en 2009 (version académique disponible). Son nom fait référence au langage C et à l’algorithme du simplexe.
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 79/109
Il est composé d’un exécutable (CPLEX interactif) et d’une bibliothèque de fonctions pouvant s’interfacer avec
différents langages de programmation : MATLAB, C, C++, C#, Java et Python. Voici un exemple d’utiliser
CPLEX interactif.
CPLEX
CPLEX> e test.lp
Enter new problem [’end’ on a separate line terminates]:
max 4x1+x2
s.t.
-x1+2x2<=4
2x1+3x2<=12
x1-x2<=3
end
CPLEX> primopt
Tried aggregator 1 time.
No LP presolve or aggregator reductions.
Presolve time = 0.00 sec. (0.00 ticks)
Using devex.
Iteration log . . .
Iteration:
1
Objective
=
12.000000
Primal simplex - Optimal: Objective = 1.8000000000e+001
Solution time =
0.00 sec. Iterations = 2 (0)
Deterministic time = 0.00 ticks (4.30 ticks/sec)
CPLEX> disp sol var Variable Name
x1
x2
Solution Value
4.200000
1.200000
CPLEX> disp sol obj
Primal simplex - Optimal:
Objective = 1.8000000000e+001
On peut sauvegarder le problème dans un fichier en format “lp” (ou “mps”), puis relire le fichier dans CPLEX.
Voir le manuel d’utilisation de CPLEX pour en savoir plus sur le format de lp et mps.
CPLEX
CPLEX> w test.lp
Problem written to file ’test.lp’.
CPLEX> r test.lp
Problem ’test.lp’ read.
Read time = 0.02 sec. (0.00 ticks)
Un autre solveur similaire appelé GUROBI [18] est un solveur commercial pour les problèmes d’optimisation
linéaire et quadratique, avec des variables continues ou mixte en nombres entiers. GUROBI a été fondé en 2008
et porte son nom de ses fondateurs : Zonghao Gu, Edward Rothberg et Robert Bixby. Bixby est également le
fondateur de CPLEX, tandis que Rothberg et Gu ont dirigé l’équipe de CPLEX pendant près d’une décennie.
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
Page 80/109
上海交大 – 巴黎高科卓越工程师学院
EXERCICES
3.1 Considérer le problème suivant :

max 3x1 + x2



s.c. x1 − x2 ≥ 0
x1 + x2 ≤ 5



(x1 , x2 ) ≥ 0.
(a) Résoudre le problème en utilisant la méthode graphique.
(b) Trouver toutes les solutions de base réalisable, et déterminer une solution de base optimale.
(c) Résoudre le problème en utilisant l’algorithme du simplexe.
(d) Résoudre le problème en utilisant le tableau du simplexe.
3.2 Résoudre le problème suivant en utilisant la méthode des deux phases.

min −3x1 − x2




 s.c. 3x1 + 3x2 + x3 = 30
x1 − x2 ≤ 4


2x1 − x2 ≤ 12



(x1 , x2 , x3 ) ≥ 0.
3.3 Résoudre le problème suivant en utilisant la méthode des deux phases.

max −3x1 + 2x2 − x3




 s.c. 2x1 + x2 − x3 ≤ 5
4x1 + 3x2 + x3 ≥ 3


−x1 + x2 + x3 = 2



(x1 , x2 , x3 ) ≥ 0.
3.4 Résoudre le problème suivant en utilisant la méthode des deux phases.

max 2x1 + x2 − x3 − x4




 s.c. x1 − x2 + 2x3 − x4 = 2
2x1 + x2 − 3x3 + x4 = 6


x1 + x2 + x3 + x4 = 7



x ≥ 0.
3.5 Résoudre le problème suivant en utilisant la

max



s.c.



méthode des deux phases.
4x1 + 6x2
2x1 + x2 ≤ 4
3x1 − x2 ≤ 9
−1 ≤ x1 ≤ 4, 0 ≤ x2 ≤ 3.
3.6 Résoudre le problème suivant en utilisant la méthode des deux phases.

max 2.3x1 + 2.15x2 − 13.55x3 − 0.4x4



s.c. 0.4x1 + 0.2x2 − 1.4x3 − 0.2x4 ≤ 0
−7.8x1 − 1.4x2 + 7.8x3 + 0.4x4 ≤ 0



x ≥ 0.
3.7 Soit x0 ∈ Rn une solution de l’équation A.x = b d’où A ∈ Mm,n , b ∈ Rm , et rg(A) = m. Notons A =
[p1 , . . . , pn ] (pi est la i−ème colonne de la matrice A).
Montrer que : x0 est une solution de base si et seulement si les composantes non nulles de x0 correspondent
aux colonnes de A linéairement indépendantes.
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
1
3
6
6
7
2
6
0
4
5
6
2
7
12
6
3
6
2
Page 81/109
5
7
7
Figure 3.4 – Problème de flot maximum.
3.8 (Problème de flot maximum) L’objectif est de chercher dans un graphe pondéré (dont le poids sur chaque arc
représente une capacité maximale) le flot maximal entre un sommet de départ et un sommet d’arrivé.
(a) Construire un modèle d’optimisation linéaire pour le problème de flot maximum allant de 0 à 6 (voir le
réseau dans la figure 3.4).
(b) Résoudre ce modèle en utilisant l’algorithme du simplexe (via CPLEX and MATLAB).
(c) Interpréter votre résultat dans le réseau.
3.9 Soit A ∈ Mm,n et b ∈ Rm . Considérer le problème
min kA.x − bk1 .
x∈Rn
(a) Reformuler le problème sous la forme d’optimisation linéaire.
(b) Standardiser le problème reformulé.
3.10 Simuler le problème de transport en utilisant MATLAB ou CPLEX.
3.11 Implémenter l’algorithme du simplexe et la méthode des deux phases sous MATLAB, puis résoudre les exercices
3.1-3.6 numériquement en comparant avec les résultats obtenues à la main et de linprog.
♣♦♥♠
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
Page 82/109
巴院
上海交大 – 巴黎高科卓越工程师学院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 83/109
Chapitre 4
Théorie de dualité
Dans ce chapitre, on envisage d’étudier la dualité d’un problème d’optimisation mathématique.
4.1
Problème dual et point-selle
Définition 4.1.1 (Problème dual/Dual problem/对
对 偶 问 题) : Soit les ensembles X ⊆ Rn , Y ⊆ Rm ,
les applications f : X → R et g : Y → R vérifiant que
∀(x, y) ∈ X × Y, f (x) ≥ g(y).
Alors, on note le problème primal (minimisation) :
min f (x),
x∈X
et le problème dual (maximisation) :
max g(y).
y∈Y
Définition 4.1.2 (Saut de dualité/Duality gap/对
对偶间 隙) : Soit x∗ une solution optimale du problème
∗
primal et y une solution optimale du problème dual. Alors f (x∗ ) − g(y ∗ ) est appelé le saut de dualité.
Remarque(s) 4.1 :
Le saut de dualité est toujours non-négatif.
Proposition 4.1.1 : Soit F : X × Y → R, X ⊆ Rn et Y ⊆ Rm . On a
max min F (x, y) ≤ min max F (x, y).
y∈Y x∈X
x∈X y∈Y
Démonstration : Soit y ∈ Y , on a
F (x, y) ≥ min F (x, y) = p(y), ∀x ∈ X.
x∈X
Donc
max p(y) = max min F (x, y) ≤ min max F (x, y)
y∈Y
y∈Y x∈X
x∈X y∈Y
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 84/109
Définition 4.1.3 (Point-selle/Saddle point/鞍
鞍点) : Un point (x∗ , y ∗ ) ∈ X × Y est appelé un point-selle
(ou point-col) de F : X × Y → R si ∀(x, y) ∈ X × Y , on a
F (x∗ , y) ≤ F (x∗ , y ∗ ) ≤ F (x, y ∗ ).
La valeur F (x∗ , y ∗ ) est appelée la valeur-selle de F .
Figure 4.1 – Point-selle.
Théorème 4.1.1 (dit de point-selle) : Un point (x∗ , y ∗ ) ∈ X × Y est un point-selle de F : X × Y → R
si et seulement si
F (x∗ , y ∗ ) = max min F (x, y) = min max F (x, y)
y∈Y x∈X
∗
x∈X y∈Y
∗
avec x ∈ argminx∈X maxy∈Y F (x, y) et y ∈ argmaxy∈Y minx∈X F (x, y).
Démonstration :
⇒) : Soit (x∗ , y ∗ ) un point-selle de F , alors
F (x∗ , y) ≤ F (x∗ , y ∗ ) ≤ F (x, y ∗ ).
Donc
F (x∗ , y ∗ ) = min F (x, y ∗ ) ≤ max min F (x, y) ≤ min max F (x, y) ≤ max F (x∗ , y) = F (x∗ , y ∗ ).
x∈X
y∈Y x∈X
x∈X y∈Y
y∈Y
Ceci implique
F (x∗ , y ∗ ) = max min F (x, y) = min max F (x, y).
y∈Y x∈X
x∈X y∈Y
De plus, minx∈X F (x, y ∗ ) = maxy∈Y minx∈X F (x, y) implique y ∗ ∈ argmaxy∈Y minx∈X F (x, y), et maxy∈Y F (x∗ , y) =
minx∈X maxy∈Y F (x, y) implique x∗ ∈ argminx∈X maxy∈Y F (x, y).
⇐) : Comme
F (x∗ , y ∗ ) = max min F (x, y) = min max F (x, y),
y∈Y x∈X
x∈X y∈Y
et
min F (x, y ∗ ) = max min F (x, y), max F (x∗ , y) = min max F (x, y).
x∈X
y∈Y x∈X
y∈Y
x∈X y∈Y
On a
F (x∗ , y ∗ ) = max F (x∗ , y) = min F (x, y ∗ ).
y∈Y
x∈X
Donc
F (x∗ , y) ≤ F (x∗ , y ∗ ) ≤ F (x, y ∗ ), ∀x ∈ X, y ∈ Y.
D’où la définition du point-selle.
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
4.2
Page 85/109
Dualité de Lagrange
Considérons le problème d’optimisation mathématique
min{f (x) : g(x) ≥ 0, h(x) = 0, x ∈ X}
(P)
d’où X ⊆ Rn , f : X → R, g : X → Rp , h : X → Rm .
Définition 4.2.4 (Lagrangien/Lagrangian/拉
拉格朗 日函 数) : On appelle Lagrangien associé au problème
(P) l’application L : X × Rp+ × Rm → R telle que
L(x, λ, µ) = f (x) − λ> .g(x) − µ> .h(x).
Les variables (λ, µ) sont appelées les multiplicateurs de Lagrange.
Proposition 4.2.2 : Le problème primal (P) est équivalent à
inf
L(x, λ, µ).
sup
x∈X λ≥0,µ∈Rm
Démonstration : Considérons le problème suivant :
L(x, λ, µ).
sup
λ≥0,µ∈Rm
On obtient alors
sup
L(x, λ, µ) =
λ≥0,µ∈Rm
f (x) − λ> .g(x) − µ> .h(x) =
sup
λ≥0,µ∈Rm
f (x)
+∞
, si g(x) ≥ 0, h(x) = 0;
, sinon.
Donc
inf
sup
L(x, λ, µ) = inf{f (x) : g(x) ≥ 0, h(x) = 0, x ∈ X}.
x∈X λ≥0,µ∈Rm
Définition 4.2.5 (La dualité Lagrangienne/Lagrangian duality/拉
拉格朗 日对 偶) : Le problème
inf L(x, λ, µ)
sup
(D)
λ≥0,µ∈Rm x∈X
est appelé le problème dual de Lagrange du problème primal (P), et les multiplicateurs de Lagrange (λ, µ)
s’appellent variables duales.
Remarque(s) 4.2 :
Il est facile de vérifier que (D) est un problème dual de (P) car
sup
inf L(x, λ, µ) ≤ inf
λ≥0,µ∈Rm x∈X
sup
x∈X λ≥0,µ∈Rm
L(x, λ, µ).
Proposition 4.2.3 : La fonction d(λ, µ) = inf x∈X L(x, λ, µ) est appelée la fonction duale de Lagrange qui
est une fonction concave, et donc le problème dual de Lagrange
sup
d(λ, µ)
λ≥0,µ∈Rm
est un problème d’optimisation convexe.
Démonstration : Laisser en exercice.
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 86/109
Exemple(s) 4.1:
Considérer le problème d’optimisation linéaire sous la forme standard :
min{c> .x : A.x = b, x ≥ 0}.
(P )
Déterminer son problème dual de Lagrange.
Réponse : Le Lagrangien est donc
L(x, λ, µ) = c> .x − λ> .x − µ> .(A.x − b)
(λ ∈ Rn+ , µ ∈ Rm .)
Le problème primal (P ) est donc équivalent au problème
min
max
L(x, λ, µ),
max
min L(x, λ, µ).
x∈Rn λ≥0,µ∈Rm
et son problème dual de Lagrange est
(D)
λ≥0,µ∈Rm x∈Rn
Alors, la fonction duale
d(λ, µ) = infn L(x, λ, µ) = infn (c> − λ> − µ> .A).x + µ> .b =
x∈R
µ> .b , si c> − λ> − µ> .A = 0
−∞ , sinon
x∈R
Donc le problème dual (D) est
max
λ≥0,µ∈Rm
d(λ, µ) = max{b> .µ : A> .µ + λ = c, λ ≥ 0, µ ∈ Rm }.
Ce problème dual est équivalent au problème
max{b> .µ : A> .µ ≤ c, µ ∈ Rm }
en considérant λ comme une variable d’écart.
Conclusion : Le problème dual d’optimisation linéaire est encore linéaire.
Théorème 4.2.2 (dit de dualité faible) : Soit x∗ une solution optimale du problème primal et (λ∗ , µ∗ )
une solution optimale du problème dual, alors
d(λ∗ , µ∗ ) ≤ f (x∗ ).
Démonstration :
d(λ∗ , µ∗ ) =
inf L(x, λ, µ) ≤ inf
sup
λ≥0,µ∈Rm x∈X
L(x, λ, µ) = f (x∗ ).
sup
x∈X λ≥0,µ∈Rm
Théorème 4.2.3 (dit de dualité forte) : S’il existe un point-selle (x∗ , λ∗ , µ∗ ) du Lagrangien L(x, λ, µ),
alors x∗ est une solution optimale du problème primal et (λ∗ , µ∗ ) est une solution optimale du problème
dual, et
d(λ∗ , µ∗ ) = f (x∗ ).
Démonstration : D’après le théorème de point-selle, on a
L(x∗ , λ∗ , µ∗ ) =
sup
inf L(x, λ, µ) = inf
λ≥0,µ∈Rm x∈X
L(x, λ, µ).
sup
x∈X λ≥0,µ∈Rm
Et d’après la dualité Lagrangienne, on a
d(λ∗ , µ∗ ) =
sup
inf L(x, λ, µ) et f (x∗ ) = inf
λ≥0,µ∈Rm x∈X
sup
L(x, λ, µ) = f (x∗ ).
x∈X λ≥0,µ∈Rm
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 87/109
Remarque(s) 4.3 :
— Une conséquence immédiate du théorème de dualité forte : Le saut de dualité s’annule si et seulement si le
Lagrangien possède un point-selle.
— Si le problème primal est convexe et que la solution optimale existe, sous la qualification de contraintes
(voir le Chapitre 5), le saut de dualité lagrangien s’annule.
— Pour un problème d’optimisation nonconvexe, le saut de dualité est en général non nul, c’est-à-dire, le
Lagrangien ne possède pas forcément de point-selle.
Exemple(s) 4.2:
Considérons le problème
min{x3 : −x2 ≥ 0, x ∈ R}.
Calculer le saut de dualité.
Réponse : L’ensemble des solutions réalisables est {0}, donc la valeur optimale est 0.
Notons f (x) = x3 et g(x) = −x2 , alors le Lagrangien est
L(x, λ) = f (x) − λg(x) = x3 + λx2 , λ ≥ 0.
On peut déduire son problème dual :
max min L(x, λ).
λ≥0 x∈R
La fonction duale est
d(λ) = min L(x, λ) = min x3 + λx2 .
x∈R
x∈R
Ce problème n’existe pas un minimum ∀λ ≥ 0 car
x→−∞
x3 + λx2 = x2 (λ + x) −−−−−→ −∞.
Donc la fonction duale est une fonction constante d(λ) = −∞, ∀λ ≥ 0.
Le saut de dualité est donc 0 − (−∞) = +∞ =
6 0.
Conclusion : Quand un problème d’optimisation nonconvexe existe une solution optimale. Le saut de dualité
sera également non-nul possible. Donc l’existence d’un point-selle du Lagrangien n’est pas toujours assurée.
Théorème 4.2.4 (Conditions nécessaires et suffisantes du point-selle) : Le point (x∗ , λ∗ , µ∗ ) est
un point-selle du Lagrangien L(x, λ, µ) si et seulement si
1. L(x∗ , λ∗ , µ∗ ) = min L(x, λ∗ , µ∗ ).
x∈X
∗
∗
2. g(x ) ≥ 0, h(x ) = 0.
3. g(x∗ )> .λ∗ = 0.
Démonstration :
⇐) : Soit les trois conditions 1, 2, 3 vraies, alors
L(x∗ , λ∗ , µ∗ ) = min L(x, λ∗ , µ∗ ) ≤ L(x, λ∗ , µ∗ ), ∀x ∈ X.
x∈X
Et de plus
>
>
L(x∗ , λ∗ , µ∗ ) = f (x∗ )−λ∗ .g(x∗ ) −µ∗ . h(x∗ ) = f (x∗ ) ≥ f (x∗ )−|{z}
λ> . g(x∗ ) −µ> . h(x∗ ) = L(x∗ , λ, µ), ∀(λ, µ) ∈ Rp+ × Rm .
|
{z
=0
}
| {z }
=0
≥0
| {z }
≥0
| {z }
=0
On obtient alors
L(x∗ , λ, µ) ≤ L(x∗ , λ∗ , µ∗ ) ≤ L(x, λ∗ , µ∗ ).
D’où la définition du point-selle.
⇒) :
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 88/109
Démontrer 1 :
Comme (x∗ , λ∗ , µ∗ ) est un point-selle de L, donc d’après le théorème de point-selle, on a
L(x∗ , λ∗ , µ∗ ) = min
max
x∈X λ≥0,µ∈Rm
L(x, λ, µ) = min L(x, λ∗ , µ∗ ).
x∈X
Démontrer 2 :
Comme L(x∗ , λ, µ) ≤ L(x∗ , λ∗ , µ∗ ), ∀λ ≥ 0, µ ∈ Rm . On obtient alors
(λ − λ∗ )> .g(x∗ ) + (µ − µ∗ )> .h(x∗ ) ≥ 0, ∀λ ≥ 0, µ ∈ Rm .
On peut montrer par l’absurde que ceci est vrai si et seulement si g(x∗ ) ≥ 0, h(x∗ ) = 0.
Démontrer 3 :
Comme (λ − λ∗ )> .g(x∗ ) ≥ 0, ∀λ ≥ 0. Ceci est aussi vrai pour λ = 0. On obtient alors
>
λ∗ .g(x∗ ) ≤ 0.
D’autre part, g(x∗ ) ≥ 0 et λ∗ ≥ 0, on a
>
λ∗ .g(x∗ ) ≥ 0.
>
D’où λ∗ .g(x∗ ) = 0.
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 89/109
EXERCICES
4.1 Soit le problème d’optimisation quadratique
(QP )
min
1 >
x .Q.x + c> .x : A.x ≤ b
2
n
où Q ∈ S++
, c ∈ Rn , A ∈ Mm,n , b ∈ Rm . Déterminer son problème dual de Lagrange.
4.2 Déterminer respectivement le problème dual :
(a)

max 4x1 − 3x2 + 5x3




 s.c. 3x1 + x2 + 2x3 ≤ 15
−x1 + 2x2 − 7x3 ≥ 3


x1 + x3 = 1



x ≥ 0.
(b)

min −4x1 − 5x2 − 7x3 + x4




 s.c. x1 + x2 + 2x3 − x4 ≥ 1
2x1 − 6x2 + 3x3 + x4 ≤ −3


x1 + 4x2 + 3x3 + 2x4 = −5



x1 , x2 , x4 ≥ 0, x3 ∈ R .
4.3 Trouver le problème dual de Lagrange de l’optimisation linéaire suivante :
min c> x + f > y
s.c. Ax + By ≥ b
Cx + Dy = d
x≥0
(PL)
où x ∈ Rn , y ∈ Rm , b ∈ Rp , d ∈ Rq .
4.4 Démontrer la Proposition 4.2.3.
4.5 Étudier le saut de dualité pour un problème d’optimisation convexe.
(a) Considérez le problème d’optimisation
min{f (x) : x1 = 0, x ∈ R2+ }
où f (x) = e−
√
x1 x2
. Montrer que il est un problème d’optimisation convexe avec non-nul saut de dualité.
(b) Soit un problème d’optimisation convexe :
min{f (x) : x ∈ S}
où S = {x ∈ Rn : g(x) ≤ 0, A.x = b}, g : Rn → Rm et f : Rn → R sont des fonctions convexes. Montrer
que le saut de dualité s’annule pour un problème d’optimisation convexe s’il existe un point x ∈ S tel
que g(x) < 0 (voir la condition de Slater dans le Chapitre 5).
4.6 Soit X ⊂ Rn , f : X → R ∪{+∞} et g : X → Rm .
(a) Montrer que la fonction conjuguée f ∗ est convexe sur Rn .
(b) Pour le problème d’optimisation
min{f (x) : g(x) ≥ 0},
exprimer la fonction duale de Lagrange en f ∗ .
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
Page 90/109
上海交大 – 巴黎高科卓越工程师学院
4.7 Soit M ⊂ Rn × R. Considérer les deux problèmes d’optimisation (P) et (D) définis par :
w∗ = inf{w : (0Rn , w) ∈ M };
(P )
(D)
q ∗ = sup q(µ),
µ∈Rn
où q(µ) = inf{h(µ, 1), (u, w)i : (u, w) ∈ M }.
(a) Montrer que (D) est un problème dual de (P).
(b) Montrer que l’on a le théorème de dualité faible : q ∗ ≤ w∗ .
4.8 (Dualité de Fenchel) Soit A ∈ Mm,n , f1 : Rn → R ∪{+∞} et f2 : Rn → R ∪{+∞} deux fonctions convexes et
fermées. Supposons qu’elle existe une solution réalisable du problème :
min f1 (x) + f2 (A.x).
x∈Rn
Montrer que son problème duale est :
min f1∗ (A> .y) + f2∗ (−y).
y∈Rm
♣♦♥♠
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 91/109
Chapitre 5
Conditions d’optimalité
Dans ce chapitre, on va considérer le problème d’optimisation
min{f (x) : x ∈ S},
(P)
où f : Rn →] − ∞, +∞] est une fonction propre, g : Rn → Rp , h : Rn → Rm et S := {x ∈ Rn : g(x) ≥ 0, h(x) = 0}.
5.1
Direction réalisable et Direction de descente
Définition 5.1.1 (Direction réalisable/Feasible direction/可
可行 方 向) : Un vecteur d ∈ Rn est appelé
∗
une direction réalisable au point x ∈ S si
∃λ∗ > 0, ∀λ ∈]0, λ∗ ], x∗ + λ.d ∈ S.
Notons Z(x∗ ) l’ensemble des directions réalisables au point x∗ .
Figure 5.1 – Direction réalisable : les vecteurs u et v sont directions réalisables de S, mais pas w.
Remarque(s) 5.1 :
— Il faut faire la différence entre la direction et la direction réalisable. La direction est une notion dans
l’ensemble non-borné. Une direction est toujours une direction réalisable, mais la réciproque n’est pas
toujours vraie. Une direction réalisable peut apparaître dans un ensemble borné.
— L’ensemble Z(x∗ ) n’est jamais vide, car 0 ∈ Z(x∗ ). Si Z(x∗ ) = {0}, alors x∗ est un point isolé.
— L’ensemble Z(x∗ ) n’est pas forcément fermé.
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
Page 92/109
上海交大 – 巴黎高科卓越工程师学院
Définition 5.1.2 (Direction de descente/Descent direction/下
下 降 方 向) : Un vecteur d ∈ Z(x∗ ) est
∗
dit une direction de descente au point x si
∃λ∗ > 0, ∀λ ∈]0, λ∗ ], f (x∗ + λ.d) < f (x∗ ).
Notons D(x∗ ) l’ensemble des directions de descente au point x∗ .
Théorème 5.1.1 : Soit f une application différentiable en x∗ ∈ S, alors
[d ∈ Z(x∗ ), h∇f (x∗ ), di < 0] ⇔ [d ∈ D(x∗ )].
Démonstration : Par tout d ∈ Z(x∗ ) \ {0}, par la différentiabilité de f en x∗ , on a le DL à l’ordre 1 de f (x∗ + λ.d)
en x∗ comme
f (x∗ + λ.d) = f (x∗ ) + λh∇ f (x∗ ), di + o(kλ.dk).
Pour λ → 0+ , on a
lim
λ↓0
f (x∗ + λ.d) − f (x∗ )
d
= h∇ f (x∗ ),
i.
kλ.dk
kdk
D’où,
[d ∈ Z(x∗ ), h∇f (x∗ ), di < 0] ⇔ [d ∈ D(x∗ )].
Remarque(s) 5.2 :
Ce théorème équivaut à dire que si x̄ ∈ S est un minimum local alors
∀d ∈ Z(x̄), h∇f (x̄), di ≥ 0
(l’ensemble Z(x̄) est remplacé par Z(x̄) car le produit scalaire h., .i est continue). On peut aussi l’écrire sous
la forme dérivée directionnelle : ∀d ∈ Z(x̄), f 0 (x̄; d) ≥ 0. Bien noté que la réciproque n’est pas vraie.
5.2
Conditions d’optimalité du problème d’optimisation sans contrainte
Soit S = Rn , on considère le problème d’optimisation sans contrainte :
min f (x)
x∈Rn
Théorème 5.2.2 (Condition nécessaire du premier ordre d’un minimum local) : Soit f une
application différentiable en x̄ ∈ Rn . Si x̄ est un minimum local alors
∇ f (x̄) = 0.
Démonstration : Si x̄ est un minimum local, alors on prend
d = − ∇ f (x̄)
comme une direction réalisable, et donc d’après le Théorème 5.1.1, on a
h∇ f (x̄), di = −k ∇ f (x̄)k22 ≥ 0.
C’est-à-dire, k ∇ f (x̄)k2 = 0, d’où ∇ f (x̄) = 0.
Remarque(s) 5.3 :
La réciproque est fausse. Par exemple, un maximum local.
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 93/109
Théorème 5.2.3 (Condition nécessaire du 2nd ordre d’un minimum local) : Soit f une application
deux fois différentiables en x̄ ∈ Rn . Si x̄ est un minimum local alors
∇f (x̄) = 0 et ∇2 f (x̄) 0.
Démonstration : On fait un DL à l’ordre 2 de f (x̄ + λ.d) en x̄ :
f (x̄ + λ.d) = f (x̄) + λh∇ f (x̄), di +
1 2 > 2
λ .d . ∇ f (x̄).d + o(kλ.dk2 ).
2
Alors, pour tout d ∈ Rn \{0} et λ > 0, on a
h∇ f (x̄), di
o(kλ.dk2 )
f (x̄ + λ.d) − f (x̄)
1 d > 2
d
=
+
. ∇ f (x̄).
+
.
2
2
kλ.dk
λkdk
2 kdk
kdk
kλ.dk2
Si x̄ est un minimum local, alors d’après le Théorème 5.2.2, on a ∇f (x̄) = 0 et donc, pour λ → 0+ , on a
lim
λ↓0
f (x̄ + λ.d) − f (x̄)
d
1 d > 2
. ∇ f (x̄).
.
=
2
kλ.dk
2 kdk
kdk
De plus, pour x̄ un minimum local, on a
∀d ∈ Z(x̄) = Rn , ∃λ∗ > 0, ∀λ ∈]0, λ∗ ], f (x̄ + λ.d) ≥ f (x̄).
Ceci implique
d> . ∇2 f (x̄).d ≥ 0, ∀d ∈ Rn \{0}.
D’où
∇2 f (x̄) 0.
Théorème 5.2.4 (Condition suffisante du 2nd ordre d’un minimum local) : Soit f une application
deux fois différentiables en x̄ ∈ Rn . Si
∇ f (x̄) = 0 et ∇2 f (x̄) 0,
alors x̄ est un minimum local.
Démonstration : La matrice Hessienne ∇2 f (x̄) 0 implique d> . ∇2 f (x̄).d > 0, ∀d ∈ Rn \{0} ; de plus, comme
∇f (x̄) = 0, on a donc
1
f (x̄ + λ.d) − f (x̄) = λ2 . d> . ∇2 f (x̄).d +o(kλ.dk2 ).
2
|
{z
}
>0
+
Alors, pour λ → 0 , on a
lim
λ↓0
f (x̄ + λ.d) − f (x̄)
1 d>
d
= .
. ∇2 f (x̄).
> 0.
kλ.dk2
2 kdk
kdk
D’où, pour tout d ∈ Rn \{0}, si λ → 0+ , on a
f (x̄ + λ.d) > f (x̄).
Ceci implique x̄ est un minimum local.
Remarque(s) 5.4 :
Si f est convexe, alors les conditions d’optimalité nécessaires sont aussi suffisantes.
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
Page 94/109
上海交大 – 巴黎高科卓越工程师学院
Exemple(s) 5.1:
Résoudre le problème d’optimisation sans contraintes :
min f (x) = x41 − x21 + x22 − 2x1 .
Réponse : ∇ f (x) = 0 implique
4x31 − 2x1 − 2 = 0
2x2 = 0
On a un unique point stationnaire x̄ = (1, 0).
Pour vérifier l’optimalité, on peut appliquer la condition suffisante d’optimalité d’ordre 2 : Comme
12x21 − 2 0
∇2 f (x) =
,
0
2
pour x = x̄, on a
10
∇ f (x̄) =
0
2
0
0
2
d’où (1, 0) est un minimum local et la valeur optimale est f (x̄) = −2.
5.3
Conditions d’optimalité du problème d’optimisation sous contraintes
d’inégalités et d’égalités
Soit les contraintes d’inégalités et d’égalités S = {x ∈ Rn : g(x) ≥ 0, h(x) = 0}. On considère le problème
d’optimisation générale (P) :
min{f (x) : x ∈ S}.
5.3.1
Contrainte active et qualification de contrainte
Définition 5.3.3 (Contrainte active/Active constraint/积
积 极 约 束) : Soit x∗ ∈ S. On dit que la
∗
∗
contrainte d’inégalité gi (x) ≥ 0 est active en x si gi (x ) = 0 et inactive en x∗ si gi (x∗ ) > 0.
Notons A(x∗ ) l’ensemble des indices des contraintes actives en x∗ .
Figure 5.2 – Contrainte active : g1 et g2 (en rouge) sont actives et g3 est inactive en x∗ .
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 95/109
Définition 5.3.4 (Qualification de contrainte/Constraint qualification/约
约束 规范 ) : Le point x̄ ∈ S
est dit régulier si
Z(x̄) = L(x̄) := {d ∈ Rn : d> . ∇ gi (x̄) ≥ 0, ∀i ∈ A(x̄); d> . ∇ hj (x̄) = 0, ∀j ∈ [[1, m]]}.
Les conditions qui assurent la régularité de x̄ ∈ S sont appelées la qualification de contraintes .
Remarque(s) 5.5 :
L’ensemble L(x̄) est un cône convexe fermé non-vide. C’est en effet une approximation linéaire de l’ensemble
S au point x̄.
Proposition 5.3.1 : ∀x∗ ∈ S, Z(x∗ ) ⊂ L(x∗ ).
Démonstration : Soit x∗ ∈ S, on a ∀d ∈ Z(x∗ ),∃λ∗ > 0, ∀λ ∈]0, λ∗ ], alors x∗ + λ.d ∈ S. C’est-à-dire,
g(x∗ + λ.d) ≥ 0, h(x∗ + λ.d) = 0, ∀λ ∈]0, λ∗ ]
d’où
gi (x∗ + λ.d) ≥ gi (x∗ ) = 0, ∀i ∈ A(x∗ ); h(x∗ + λ.d) = 0, ∀λ ∈]0, λ∗ ]
D’après les DL à l’ordre 1 de gi et h, on obtient
0 ≤ gi (x∗ + λ.d) − gi (x∗ ) = |{z}
λ .d> . ∇ gi (x∗ ) + o(kλ.dk), ∀i ∈ A(x∗ ),
>0
| {z }
λ→0
−−−→0
donc d> . ∇ gi (x∗ ) ≥ 0. De même, on a
0 = hj (x∗ + λ.d) = hj (x∗ ) + |{z}
λ .d> . ∇ hj (x∗ ) + o(kλ.dk), ∀j ∈ [[1, m]] ,
| {z }
=0
>0
| {z }
→0
donc d> . ∇ hj (x∗ ) = 0, ∀j ∈ [[1, m]]. D’où d ∈ L(x∗ ). On obtient que
Z(x∗ ) ⊂ L(x∗ ), ∀x∗ ∈ S.
Comme l’ensemble L(x∗ ) est fermé et Z(x∗ ) ⊂ L(x∗ ), donc
Z(x∗ ) ⊂ L(x∗ ), ∀x∗ ∈ S.
Remarque(s) 5.6 :
L’inclusion inversée de Proposition 5.3.1 n’est pas toujours vraie. Voici un exemple :
Soit D = {x ∈ R : −x2 ≥ 0}. Montrer que 0 n’est pas un point régulier de D.
Réponse : L’ensemble D est un singleton {0}, donc
Z(0) = Z(0) = D = {0}.
Mais L(0) = {d ∈ R : −d × 2 × 0 ≥ 0} = R. On a donc l’inclusion strict Z(0) ⊂ L(0). D’où 0 n’est pas un
point régulier de D.
5.3.2
Qualifications des contraintes usuelles
Soit S = {x ∈ Rn : g(x) ≥ 0, h(x) = 0}, un point x̄ ∈ S est régulier s’il satisfait l’une des conditions suivantes :
1. Affinité (QC-A) : Si g et h sont d’applications linéaires (ou affines).
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 96/109
Démonstration : D’après la Proposition 5.3.1, il suffit de montrer que L(x̄) ⊂ Z(x̄) :
Soit d ∈ L(x̄), on a
d> . ∇ gi (x̄) ≥ 0, ∀i ∈ A(x̄); d> . ∇ hj (x̄) = 0, ∀j ∈ [[1, m]] .
B Par les affinités de h et de g, on a pour tout α > 0 :
h(x̄ + α.d) = h(x̄) +α. Jh (x̄).d = 0,
|{z}
| {z }
=0
=0
α . ∇ gi (x̄)> .d ≥ 0,
∀i ∈ A(x̄), gi (x̄ + α.d) = gi (x̄) + |{z}
| {z }
>0
=0
|
{z
≥0
}
B Pour tout i ∈ [[1, p]] \ A(x̄), comme gi (x̄) > 0 et par la continuité de gi , on obtient alors
∀i ∈ [[1, p]] \ A(x̄), ∃α∗ > 0, ∀α ∈]0, α∗ ], gi (x̄ + α.d) ≥ 0.
Donc
∃α∗ > 0, ∀α ∈]0, α∗ ], x̄ + α.d ∈ S.
Ceci implique
d ∈ Z(x̄).
D’où
L(x̄) ⊂ Z(x̄).
2. Slater (QC-S) : Si (P) est un problème d’optimisation convexe (c’est-à-dire, f convexe, g concave et h
affine), et ∃x∗ ∈ S tel que g(x∗ ) > 0.
Démonstration : Par analogie comme dans la démonstration de (QC-S), on va montrer que L(x̄) ⊂ Z(x̄) :
Soit d ∈ L(x̄), on a
d> . ∇ gi (x̄) ≥ 0, ∀i ∈ A(x̄); d> . ∇ hj (x̄) = 0, ∀j ∈ [[1, m]] .
B Par l’affinité de h, on a pour tout α > 0 :
h(x̄ + α.d) = h(x̄) +α. Jh (x̄).d = 0.
|{z}
| {z }
=0
=0
∗
B Pour tout i ∈ A(x̄), par la concavité de gi , gi (x ) > 0 et gi (x̄) = 0, on a
0 < gi (x∗ ) ≤ gi (x̄) + ∇ gi (x̄)> .(x∗ − x̄) = ∇ gi (x̄)> .(x∗ − x̄).
| {z }
=0
ˆ
Pour tout λ ∈]0, 1[, notons d(λ)
= (1 − λ).d + λ(x∗ − x̄), comme
d> .∇gi (x̄) ≥ 0, et (x∗ − x̄)> .∇gi (x̄) > 0,
donc
ˆ > .∇gi (x̄) = (1 − λ) d> .∇gi (x̄) + λ (x∗ − x̄)> .∇gi (x̄) > 0, ∀λ ∈]0, 1[.
d(λ)
|{z}
| {z } |
>0
{z
≥0
}
>0
|
{z
}
>0
On obtient donc
ˆ
ˆ +o(kα.d(λ)k).
ˆ
∀i ∈ A(x̄), ∀λ ∈]0, 1[, gi (x̄ + α.d(λ))
= gi (x̄) + |{z}
α ∇ gi (x̄)> .d(λ)
| {z }
=0
>0
|
{z
>0
}
Alors, pour α → 0+ , on a
lim
α↓0
ˆ
ˆ
gi (x̄ + α.d(λ))
∇ gi (x̄)> .d(λ)
=
> 0, ∀λ ∈]0, 1[.
ˆ
ˆ
kα.d(λ)k
kd(λ)k
Donc
ˆ
∃α∗ > 0, ∀α ∈]0, α∗ ], gi (x̄ + α.d(λ))
> 0, ∀λ ∈]0, 1[.
Par les continuités de dˆ et de gi , il suffit de prendre λ → 0+ pour déduire que
∀i ∈ A(x̄), ∃α∗ > 0, ∀α ∈]0, α∗ ], gi (x̄ + α.d) ≥ 0.
B Pour tout i ∈ [[1, p]] \ A(x̄), comme gi (x̄) > 0 et par la continuité de gi , on obtient alors
∀i ∈ [[1, p]] \ A(x̄), ∃α∗ > 0, ∀α ∈]0, α∗ ], gi (x̄ + α.d) ≥ 0.
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 97/109
Donc
∃α∗ > 0, ∀α ∈]0, α∗ ], x̄ + α.d ∈ S.
Ceci implique
d ∈ Z(x̄).
D’où
L(x̄) ⊂ Z(x̄).
3. Indépendance linéaire (QC-IL) : Si la famille {∇ gi (x̄), ∀i ∈ A(x̄), ∇ hj (x̄), ∀j ∈ [[1, m]]} est libre.
4. Mangasarian-Fromovitz (QC-MF) : Si la famille {∇ hj (x̄), j ∈ [[1, m]]} est libre et il existe d ∈ Rn tel
que d> . ∇ gi (x̄) > 0, ∀i ∈ A(x̄) et d> . ∇ hj (x̄) = 0, ∀j ∈ [[1, m]].
Proposition 5.3.2 : On a (QC-IL) ⇒ (QC-MF), mais la réciproque n’est pas toujours vraie.
Démonstration :
B Notons la matrice
M = ∇ gi (x∗ )
| ∇ hj (x∗ )
>
i∈A(x∗ ),j∈[[1,m]]
,
c’est une matrice avec |A(x∗ )| + m lignes et n colonnes. Notons le vecteur
b = [1, · · · , 1 | 0, · · · , 0 ]> .
| {z }
m terms
| {z }
|A(x∗ )| terms
Comme les lignes de M sont libres, donc il existe une solution pour le système linéaire M.d = b. On obtient alors
d> .∇gi (x̄) = 1 > 0, ∀i ∈ A(x̄); d> . ∇ hj (x̄) = 0, ∀j ∈ [[1, m]] .
D’où
(QC-IL) =⇒ (QC-MF).
B Un exemple contraire pour la réciproque :

2
2
g1 (x) = 2 − (x1 − 1) − (x2 − 1) ;

g2 (x)
g1 (x)
= 2 − (x1 − 1)2 − (x2 + 1)2 ;
= x1 .
Le point x̄ = (0, 0) est réalisable pour les contraintes g(x) ≥ 0, et on a A(x̄) = {1, 2, 3}, les trois vecteurs
2
2
1
∇g1 (x̄) =
, ∇g2 (x̄) =
, ∇g3 (x̄) =
.
2
−2
0
Comme pour d = [1, 0]> , on a
d> .[∇g1 (x̄)|∇g2 (x̄)|∇g3 (x̄)] = [2, 2, 1] > 0,
d’où la qualification (QC-MF) est vérifiée. En revanche, la famille {∇g1 (x̄), ∇g2 (x̄), ∇g3 (x̄)} est liée, donc la qualification (QC-IL) n’est pas vérifiée.
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 98/109
5.3.3
Conditions de Karush-Kuhn-Tucker
Théorème 5.3.5 (Conditions de Karush–Kuhn–Tucker) : Soit x∗ un point régulier de (P), et les
applications f, g et h sont différentiables en x∗ . Si x∗ est un minimum local, alors
• Les conditions nécessaires d’optimalité d’ordre 1 :
1. (Réalisabilité primale)
x∗ ∈ S
2. (Réalisabilité duale et stationnarité)
∃λ∗ ≥ 0, µ∗ ∈ Rm , ∇x L(x∗ , λ∗ , µ∗ ) = 0.
3. (Complémentarité)
g(x∗ )> .λ∗ = 0.
• Si f, g, h deux fois différentiables en x∗ , alors on a la condition nécessaire d’optimalité d’ordre 2 :
d> . ∇2x L(x∗ , λ∗ , µ∗ ).d ≥ 0, ∀d ∈ T (x∗ )
où T (x∗ ) est un espace tangent défini par
T (x∗ ) = {d ∈ Rn : d> . ∇ gi (x∗ ) = 0, ∀i ∈ A(x∗ ); d> . ∇ hj (x∗ ) = 0, ∀j ∈ [[1, m]]}.
Démonstration :
B Conditions de KKT d’ordre 1 :
Réalisabilité primale : c’est évidemment nécessaire car un minimum local est réalisable.
Réalisabilité duale et stationnarité : Nous pouvons appliquer le lemme de Farkas, c’est-à-dire,
{d : B.d ≤ 0, c> .d > 0} = ∅ ⇔ {y : B > .y = c, y ≥ 0} 6= ∅.
Notons A(x∗ ) l’ensemble des indices des contraintes inégalités actives,
B = − ∇ gi (x∗ )
| − ∇ hj (x∗ )
| ∇ hj (x∗ )
>
i∈A(x∗ ),j∈[[1,m]]
; c = − ∇ f (x∗ ).
Comme x∗ est un minimum local régulier, donc
∀d ∈ Z(x∗ ) = L(x∗ ) = {d : ∇ gi (x∗ )> .d ≥ 0, ∀i ∈ A(x∗ ); ∇ hj (x∗ )> .d = 0, ∀j ∈ [[1, m]]},
on a ∇ f (x∗ )> .d ≥ 0. C’est-à-dire
B.d ≤ 0 ⇒ c> .d ≤ 0.
D’où
{d : B.d ≤ 0, c> .d > 0} = ∅.
D’après le lemme de Farkas
{y : B > .y = c, y ≥ 0} 6= ∅.
λ
Donc ∃y = u ≥ 0,
v
" #
∇ f (x∗ ) −
X
λi . ∇ gi (x∗ ) −
i∈A(x∗ )
X
(uj − vj ). ∇ hj (x∗ ) = 0.
j∈[[1,m]]
Notons λ∗ = λ, µ∗ = u − v ∈ Rm , alors ∃λ∗ ≥ 0, µ∗ ∈ Rm tels que
∇ f (x∗ ) −
X
λ∗i . ∇ gi (x∗ ) −
i∈A(x∗ )
X
µ∗j . ∇ hj (x∗ ) = 0.
j∈[[1,m]]
D’où
∇x L(x∗ , λ∗ , µ∗ ) = 0.
Complémentarité : Comme
f (x∗ ) = minn
x∈R
max
λ≥0,µ∈Rm
L(x, λ, µ) ≤
max
λ≥0,µ∈Rm
L(x∗ , λ, µ) =
max
λ≥0,µ∈Rm
f (x∗ ) − g(x∗ )> .λ − h(x∗ )> .µ,
| {z }
=0
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 99/109
donc, on obtient avec g(x∗ ) ≥ 0 que
0 ≥ max g(x∗ )> .λ ≥ 0,
λ≥0
d’où
max g(x∗ )> .λ = 0.
λ≥0
On a donc
0 = max g(x∗ )> .λ ≥ g(x∗ )> .λ∗ ≥ 0.
λ≥0
Donc
g(x∗ )> .λ∗ = 0.
B Condition de KKT d’ordre 2 :
La condition de complémentarité signifie que (P ) est équivalent au problème
min{f (x) : x ∈ S̄}
(Px∗ )
où S̄ = {x : gi (x) = 0, i ∈ A(x∗ ), h(x) = 0} et le point x∗ est un minimum local de (Px∗ ). Donc ∀d ∈ Z(x∗ ), on a
∇ f (x∗ )> .d ≥ 0. Comme T (x∗ ) ⊂ L(x∗ ) = Z(x∗ ), donc ∀d ∈ T (x∗ ), on a également ∇ f (x∗ )> .d ≥ 0. Ceci implique
∃α∗ > 0, ∀α ∈]0, α∗ ], x∗ + α.d ∈ S̄, on peut faire le DL à l’ordre 2 de f (x∗ + α.d) en x∗ :
1
f (x∗ + α.d) = f (x∗ ) + α. ∇ f (x∗ )> .d + α2 .d> . ∇2 f (x∗ ).d + o(kα.dk2 ) .
| {z } 2
| {z }
≥0
Donc
α→0
−−−→0
1 2 > 2
0 ≤ f (x∗ + α.d) − f (x∗ ) = α. ∇ f (x∗ )> .d + |{z}
α .d . ∇ f (x∗ ).d + o(kα.dk2 ) .
|
| {z }
{z
} 2
≥0
>0
(5.1)
α→0
−−−→0
∗
De même, on peut faire les développements limités à l’ordre 2 pour gi , i ∈ A(x ) et hj , j ∈ [[1, m]].
On obtient alors :
1
0 = gi (x∗ + α.d) − gi (x∗ ) = α. ∇ g(x∗ )> .d + α2 .d> . ∇2 gi (x∗ ).d + o(kα.dk2 ), i ∈ A(x∗ ), d ∈ T (x∗ )
| {z } 2
| {z }
=0
(5.2)
α→0
−−−→0
et
1
0 = hj (x∗ + α.d) − hj (x∗ ) = α. ∇ h(x∗ )> .d + α2 .d> . ∇2 hj (x∗ ).d + o(kα.dk2 ), j ∈ [[1, m]] , d ∈ T (x∗ ).
| {z }
| {z } 2
=0
(5.3)
α→0
−−−→0
En multipliant −λ∗i avec (5.2) et −µ∗j avec (5.3) et en sommant avec (5.1), on obtient alors
1 2 > 2
0 ≤ α. ∇ f (x∗ )> .d + |{z}
α .d . ∇x L(x∗ , λ∗ , µ∗ ).d + o(kα.dk2 )
|
{z
} 2
| {z }
≥0
>0
α→0
−−−→0
D’où
d> . ∇2x L(x∗ , λ∗ , µ∗ ).d ≥ 0, ∀d ∈ T (x∗ ).
Remarque(s) 5.7 :
— La réalisabilité primale x∗ ∈ S est équivalente aux conditions ∇λ L(x∗ , λ∗ , µ∗ ) ≥ 0 et ∇µ L(x∗ , λ∗ , µ∗ ) = 0.
— L’espace tangent T (x∗ ) est un sous-espace vectoriel dans l’ensemble L(x∗ ).
— Les conditions de KKT sont nécessaires pour un minimum local régulier. Un point vérifiant les conditions
de KKT est dit stationnaire (ou critique) pour le problème (P), on appelle également un point de KKT.
Un point de KKT n’est pas forcément un point stationnaire de la fonction objectif f , et non plus obligé
d’être un minimum local (même la condition nécessaire d’optimalité d’ordre 2 est vérifiée).
— Un minimum local non-régulier n’a pas forcément vérifié les conditions de KKT. Par exemple, max{x1 :
(1 − x1 )3 − x2 ≥ 0, x2 ≥ 0} procède un minimum x∗ = (1, 0). On peut facilement vérifier que x∗ n’est pas
un point régulier car Z(x∗ ) 6= L(x∗ ), et x∗ n’est pas un point de KKT car la stationnarité n’est pas vérifiée.
— Les conditions de KKT sont nécessaires et suffisantes si le saut de dualité s’annule. Autrement dit, s’il existe
un point-selle du Lagrangien. Par exemple, une optimisation convexe sous les qualifications des contraintes.
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 100/109
— La condition de complémentarité g(x∗ )> .λ∗ = 0 signifie que si i ∈ A(x∗ ) alors gi (x∗ ) = 0 et λ∗i ≥ 0 ; sinon
gi (x∗ ) > 0 et λ∗i = 0. Donc les multiplicateurs de Lagrange associés aux contraintes inactives sont toujours
nulles. C’est-à-dire, les contraintes inactives en x∗ sont inutiles, et donc x∗ est également un minimum local
du problème d’optimisation via les contraintes d’égalité :
min{f (x) : x ∈ SA(x∗ ) }
(Px∗ )
∗
où SA(x∗ ) = {x : gi (x) = 0, ∀i ∈ A(x ), h(x) = 0}.
Théorème 5.3.6 (Conditions suffisantes d’optimalité locale du second ordre) : Soit (x∗ , λ∗ , µ∗ )
vérifier les conditions de KKT, et si de plus f, g et h sont deux fois différentiables en x∗ et vérifiant
d> . ∇2x L(x∗ , λ∗ , µ∗ ).d > 0, ∀d ∈ T (x∗ ) \ {0}.
Alors x∗ est un minimum local du problème (P ).
Démonstration : Comme (P ) est équivalent au problème (Px∗ ), soit (x∗ , λ∗ , µ∗ ) est un point de KKT du problème
(Px∗ ), on a la stationnarité :
X
∇x L(x∗ , λ∗ , µ∗ ) = ∇ f (x∗ ) −
λ∗i . ∇ gi (x∗ ) −
i∈A(x∗ )
m
X
µ∗i . ∇ hi (x∗ ) = 0.
i=1
∗
On va montrer par l’absurde : Si x n’est pas un minimum local, alors ∃{xk } ∈ S N telle que
xk → x∗ et f (xk ) ≤ f (x∗ ).
Alors, on peut écrire
xk = x∗ + αk .dk
k
k
où αk > 0 et kd k = 1, d ∈ Z(x∗ ).
Comme {dk } est une suite de vecteurs unitaires donc bornée, d’après TBW (le théorème de Bolzano-Weierstraß), il
existe une sous-suite {dψ(k) } convergente et vers une valeur d’adhérence d∗ ∈ Adh({dk }).
Particulièrement, T (x∗ ) ⊂ L(x∗ ) = Z(x∗ ), et on s’intéresse uniquement sur les directions dans T (x∗ ). Alors pour
toutes les sous-suites {dψ(k) } telle que dψ(k) ∈ T (x∗ ) et d∗ ∈ T (x∗ ). On a donc
αψ(k) → 0 ⇒ xψ(k) → x∗ .
D’autre part, xψ(k) ∈ S̄ et x∗ ∈ S̄, on a
gi (xψ(k) ) = gi (x∗ ) = 0, i ∈ A(x∗ ) et hi (xψ(k) ) = hi (x∗ ) = 0, j ∈ [[1, m]] .
On fait les DL à l’ordre 2 de gi , hj et f :
= gi (x∗ + αψ(k) .dψ(k) )
0 = gi (xψ(k) )
α2
ψ(k)
= gi (x∗ ) +αψ(k) . ∇ gi (x∗ )> .dψ(k) +
>
.dψ(k) . ∇2 gi (x∗ ).dψ(k) + o(kαψ(k) .dψ(k) k2 ), ∀i ∈ A(x∗ ).
2
| {z }
=0
= hj (x∗ + αψ(k) .dψ(k) )
0 = hj (xψ(k) )
= hj (x∗ ) +αψ(k) . ∇ hj (x∗ )> .dψ(k) +
α2
ψ(k)
2
>
.dψ(k) . ∇2 hj (x∗ ).dψ(k) + o(kαψ(k) .dψ(k) k2 ), ∀j ∈ [[1, m]] .
| {z }
=0
et
0 ≥ f (xψ(k) ) − f (x∗ ) = αψ(k) . ∇ f (x∗ )> .dψ(k) +
2
αψ(k)
>
.dψ(k) . ∇2 f (x∗ ).dψ(k) + o(kαψ(k) .dψ(k) k2 )
2
En combinant ces expressions avec les coefficients λ∗ et µ∗ , on obtient alors
0 ≥ f (xψ(k) ) − f (x∗ ) −
X
λ∗i gi (xψ(k) ) −
i∈A(x∗ )
= αψ(k) . ∇x L(x∗ , λ∗ , µ∗ ) .dψ(k) +
2
αψ(k)
m
X
µ∗j hj (xψ(k) )
j=1
>
. dψ(k) . ∇2x L(x∗ , λ∗ , µ∗ ).dψ(k) + o(kαψ(k) .dψ(k) k2 ) > 0, k → ∞.
2
{z
} |
{z
}
| {z } |
=0
>0
αψ(k) →0
>0
−−−−−−→0
Absurde ! Donc x∗ est un minimum local.
|
巴院
{z
}
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 101/109
Remarque(s) 5.8 :
Particulièrement, si f est convexe, g est concave et h est affine, alors le Lagrangien L(x, λ, µ) est une fonction
convexe, donc y > . ∇2x L(x∗ , λ∗ , µ∗ ).y ≥ 0, ∀y ∈ Rn . Sinon, Il y a une relation entre les contraintes actives et
les valeurs propres négatives de la matrice Hessienne ∇2x L(x∗ , λ∗ , µ∗ ) donnée dans le théorème suivant.
Théorème 5.3.7 : Si les conditions d’optimalité du second ordre sont vérifiées, alors la dimension de
l’espace vectoriel engendré par les vecteurs ∇ gi (x∗ ), i ∈ A(x∗ ); ∇ hj (x∗ ), j ∈ [[1, m]] est inférieure ou égale
au nombre des valeurs propres négatives de la matrice Hessienne ∇2x L(x∗ , λ∗ , µ∗ ).
Démonstration : Laisser en exercice.
Exemple(s) 5.2:
Présenter les conditions de KKT de l’optimisation quadratique :
1 >
min
x .Q.x + c> .x : A.x = b
2
d’où Q ∈ S n , c ∈ Rn , A ∈ Mm,n et b ∈ Rm .
Réponse :
B Qualification : Comme la contrainte A.x = b est linéaire, la qualification (QC-A) vérifiée.
B Le Lagrangien : Il n’y a que des contraintes d’égalité, alors le Lagrangien est
L(x, µ) =
B Les conditions de KKT :
1 >
x .Q.x + c> .x − µ> .(A.x − b), x ∈ Rn , µ ∈ Rm .
2

(réalisabilité primale)
 A.x = b
µ ∈ Rm
(réalisabilité duale)

∇x L(x, µ) = 0 (stationarité)
Il n’y a pas de condition de complémentarité car sans contrainte d’inégalité.
On simplifie alors
∇x L(x, µ) = Q.x + (c − A> .µ) = 0.
Donc le KKT devient un système linéaire :
A.x = b
Q.x − A> .µ = −c
Conclusion : L’ensemble des solutions du problème d’optimisation quadratique sous contraintes d’égalités
n
linéaires contient dans l’ensemble des solutions du système KKT linéaire. Particulièrement, si Q ∈ S+
, alors
l’ensemble des solutions du système KKT linéaire est équivalent à l’ensemble des solutions optimales.
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
上海交大 – 巴黎高科卓越工程师学院
Page 102/109
EXERCICES
5.1 Considérer les trois problèmes d’optimisation sans contrainte :
1) min2 f (x) = e3x2 − 3x1 ex2 + x31 ;
2) min2 f (x) =
x∈R
x∈R
x1 + x2
;
3 + x21 + x22 + x1 x2
3) min2 f (x) = x21 + x32 .
x∈R
(a) Trouver les points stationnaires de f .
(b) Les points stationnaires sont-ils minima locaux ?
(c) Quels sont les minima globaux ?
5.2 Considérer le problème d’optimisation
min (x1 − 3)2 + (x2 − 2)2
s.c. x21 + x22 ≤ 5
x1 + 2x2 = 4
x1 ≥ 0, x2 ≥ 0
(a) Montrer que le problème est convexe, puis déterminer l’existence et l’unicité de la solution optimale.
(b) Trouver la solution optimale via la méthode graphique.
(c) Donner les conditions de KKT en vérifiant les qualifications.
(d) Trouver les solutions optimales en résolvant les conditions de KKT.
5.3 Résoudre le problème d’optimisation :
min{−x1 x2 x3 : 0 ≤ x1 + 2x2 + 2x3 ≤ 72}.
5.4 Résoudre le problème d’optimisation :
max 14x1 − x21 + 6x2 − x22 + 7
s.c. x1 + x2 ≤ 2
x1 + 2x2 ≤ 3
5.5 Démontrer le Théorème 5.3.7.
5.6 Trouver les solutions optimales du problème :
min{c> .x : A.x = 0, x> .x ≤ γ 2 }
d’où A ∈ Mm,n , rg(A) = m, c ∈ Rn \{0Rn }, γ ∈ R+ .
5.7 Considérer le problème d’optimisation
max{b> .x : x> .x ≤ 1, x ∈ Rn }
d’où b 6= 0. Montrer que
b
kbk
est un extrémum local.
5.8 (Problème de Sylvester) Soit N points a1 , . . . , aN de R2 . Déterminer le plus petit cercle contenant ces points.
5.9 (Inégalité d’Hadamard) Soit n ∈ N∗ , les vecteurs X1 , . . . , Xn ∈ Rn , on note det(X1 , . . . , Xn ) le déterminant
de la matrice X = [X1 | · · · |Xn ]. Soit Γ = {X ∈ Mn : kX1 k = · · · = kXn k = 1}. Considérer le problème :
(H) α = max{det(X) : X ∈ Γ}.
(a) Montrer que Γ est un compact de Mn .
(b) Montrer que α ≥ 1.
(c) Soit X ∗ ∈ Γ une solution maximale. Donner les conditions de KKT.
(d) Montrer que (X1∗ , . . . , Xn∗ ) est une base orthonormée de Rn et en déduire la valeur maximale de (H).
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 103/109
(e) Montrer l’inégalité d’Hadamard
∀X ∈ Mn ,
| det(X) | ≤
n
Y
kXi k.
i=1
(f) À quelle(s) condition(s) a-t-on égalité ? Interpréter ce résultat géométriquement.
5.10 (Méthode du nombre d’or) La méthode du nombre d’or est un algorithme d’optimisation dans le cas où la
fonction objectif est unimodale (c’est-à-dire, un seul pic ou une seule vallée) sur une intervalle de recherche.
Considérons une fonction unimodale f dans une intervalle [x1 , x3 ]. On veut minimiser la fonction f sur [x1 , x3 ].
L’idée est la suivante :
• En prenant trois points, x1 , x2 et x3 , avec x1 < x2 < x3 , et supposons que l’on ait f (x2 ) < f (x1 ) et
f (x2 ) < f (x3 ) (comme dans le dessin ci-dessous).
• On cherche un point x4 dans l’intervalle [x1 , x3 ], afin de réduire l’intervalle de recherche.
On peut prendre x4 dans ]x1 , x2 [ ou bien dans ]x2 , x3 [, il est potentiellement plus «rentable» de le prendre
dans l’intervalle le plus grand, ici ]x2 , x3 [.
• Selon la valeur de f (x4 ), alors on a deux cas possibles :
Cas a : Si f (x4 ) = f4a > f (x2 ), on sait que le minimum se trouve dans ]x1 , x4 [ ;
Cas b : Si f (x4 ) = f4b < f (x2 ), on sait que le minimum se trouve dans ]x2 , x3 [.
On procède ensuite de manière récursive.
Figure 5.3 – Méthode du nombre d’or.
(a) Si l’on désire toujours garder la même proportion entre la largeur du segment à l’étape i et celle à l’étape
i + 1, alors montrer que
√
a
5−1
=
.
b
2
(b) Application : Considérer le problème d’optimisation avec une seule variable
(P1 )
min{x3 + 2x2 + 3 : x ∈ [−0.5, 2]}
i. Définir la fonction f (x) = x3 + 2x2 + 3 sous MATLAB et tracer le graphe de f sur [−0.5, 2], puis
visualiser les solutions optimales.
ii. Résoudre ce problème en utilisant la fonction de MATLAB fminbnb sur [−0.5, 2].
iii. Que constatez vous si on travail sur [−4, 2] ?
iv. Comprendre la limitation du méthode de nombre d’or et expliquer comment ca se passe sur [−4, 2].
5.11 (Méthode du gradient) Soit f : Rn → R une fonction différentiable. On cherche à minimiser f sur Rn :
min f (x).
x∈Rn
On étudie une méthode de descente dont le principe pourra être expliqué en figure 5.4 :
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
Page 104/109
上海交大 – 巴黎高科卓越工程师学院
Figure 5.4 – Méthode de descente.
On construit une suite {x(k) }k∈N telle que
x(k+1) = x(k) + αk .d(k)
où d(k) est une direction de descente au point x(k) et αk ∈ R+ est un pas dans la direction d(k) . Si on prendre
particulièrement d(k) = − ∇ f (x(k) ), alors cet algorithme de descente s’appelle algorithme du gradient. On
peut terminer cet algorithme quand k∇f (x(k) )k ≤ ε pour un tolérance ε > 0 donné.
Dans la suite, on recherche à résoudre un problème d’optimisation quadratique convexe, dont la fonction
n
et b ∈ Rn , en utilisant l’algorithme du gradient.
objectif est définie par f (x) = 12 x> .A.x − b> .x où A ∈ S++
B Algorithme du gradient à pas fixe : Il s’agit de prendre toujours le même pas fixe α convenable.
(a) Calculer le gradient de f et montrer que le problème admet une unique solution.
(b) Donner la définition de la suite {xk }k∈N pour l’algorithme du gradient à pas fixe .
(c) Montrer que l’algorithme du gradient converge si et seulement si
0≤α<
2
.
ρ(A)
où ρ(A) désigne le rayon spectral de la matrice A.
2
Et si en outre 0 < α < ρ(A)
, alors la limite de la suite {x(k) } est la solution du problème.
(d) Implémenter cet algorithme dans MATLAB et tester avec l’exemple
2 0
1
1
A=
,b =
, x(0) =
, ε = 0.0001.
0 4
1
2
pour α = 0.25, 0.5 et 0.6 respectivement en comparant avec la solution optimale théorique.
(e) Visualiser la surface de f et afficher les itérations de la méthode du gradient à pas fixe.
B Algorithme du gradient à pas optimale : Pour déterminer le meilleur pas dans la direction d(k) au point
x(k) , on peut résoudre un problème d’optimisation avec une variable α ∈ R+ comme :
f (x(k) ) ≥ min f (x(k) + α.d(k) ).
α≥0
(a) Calculer le pas optimal pour la fonction quadratique convexe.
(b) Donner un algorithme du gradient à pas optimale.
(c) Montrer que cet algorithme converge vers une solution optimale.
(d) Implémenter cet algorithme dans MATLAB, puis tester et comparer sur le même exemple.
(e) Visualiser la surface de f et les itérations de la méthode du gradient à pas optimale.
♣♦♥♠
巴院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 105/109
Bibliographie
[1] Beck, A. First order methods in optimization. MOS-SIAM Ser. Optim. 25, SIAM, Philadelphia, PA, 2017.
[2] Bertsimas, D.P., and Tsitsiklis, J.N. Introduction to linear optimization. Vol. 6. Belmont, MA : Athena Scientific, 1997.
[3] Bertsekas, D.P. Convex optimization theory. Belmont : Athena Scientific, 2009.
[4] Bertsekas, D.P. Nonlinear programming : 3rd edition. Athena Scientific, 2016.
[5] Bland, R.G. New Finite Pivoting Rules for the Simplex Method. Mathematics of Operations Research, 2,
103–107, 1977.
[6] Boyd, S., and Vandenberghe, L. Convex optimization. Cambridge university press, 2004.
[7] Charnes, A. Optimality and degeneracy in linear programming. Econometrica, 20, 160-170, 1952.
[8] Dantzig, G.B., Orden, A., and Wolfe, P. Notes on linear programming : Part I – The generalized simplex
method for minimizing a linear form under linear inequality restrictions. Pacific J Math 5(2), 183–195, 1955.
[9] Dantzig, G.B. Linear programming and extensions. Princeton university press, 1965.
[10] Luenberger, D.G., and Ye, Y.Y. Linear and nonlinear programming. MA : Addison-wesley, 1984.
[11] McMullen, P. The Maximum Numbers of Faces of a Convex Polytope. Mathematika, 17(2), 179-184, 1970.
[12] Nesterov, Y. Lectures on convex optimization. Vol. 137. Cham : Springer, 2018.
[13] Spielman, D.A., and Teng, S.H. Smoothed Analysis of Algorithms : Why the Simplex Algorithm Usually
Takes Polynomial Time. Journal of the ACM. 51(3), 385–463, 2004.
[14] Tuy, H. Convex analysis and global optimization : 2nd edition. Springer, Berlin, 2016.
[15] Hiriart-Urruty, J.B., and Lemaréchal, C. Fundamentals of convex analysis. Springer Science & Business Media,
2004.
[16] Rockafellar, R.T. Convex analysis. Princeton university press, 1970.
[17] IBM ILGO CPLEX https://www.ibm.com/analytics/cplex-optimizer.
[18] GUROBI http://www.gurobi.com.
Def/Thm
Yi-Shuai NIU (牛一帅)
巴院
Page 106/109
巴院
上海交大 – 巴黎高科卓越工程师学院
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 107/109
Définitions (定
定义 索 引 )
Adhérence/Closure/闭包, 18
Algorithme du simplexe/Simplex algorithm/单纯形算法, 61
Base non-réalisable/Infeasible base/非可行基, 57
Base optimale/Optimal base/最优基, 57
Base réalisable/Feasible base/可行基, 57
Boule Euclidienne/Euclidean ball/欧氏球, 26
Fonction fortement convexe/Strongly convex function/强凸函
数, 52
Fonction propre/Proper function/真函数, 45
Fonction strictement convexe/Strictly convex function/严格凸
函数, 45
Forme standard/Standard form/标准形式, 53
Gradient/Gradient/梯度, 20
Combinaison affine/Affine combination/仿射组合, 30
Combinaison convexe/Convex combination/凸组合, 29
Combinaison linéaire/Linear combination/线性组合, 29
Combinaison positive/Positive combination/正线性组合, 31
Compatibilité/Compatibility/相容性, 15
Condition de Slater/Slater’s condition/斯莱特条件, 96
Cône/Cone/锥体, 27
Cône polyédrique/Polyhedral cone/多面体锥, 27
Continuité/Continuity/连续性, 20
Contrainte active/Active constraint/积极约束, 94
Cône convexe/Convex cone/凸锥, 27
Dégénérée/Degenerate/退化, 57
Demi-droite/Half-line/射线, 26
Demi-espace/Half-space/半空间, 25
Dense/Dense/稠密, 19
Dérivée directionnelle au sens de Dini/Directional derivative of
Dini/迪尼方向导数, 20
Dérivé au sens de Fréchet/Frechet derivative/弗雷谢导数, 21
Dérivée partielle/Partial derivative/偏导数, 20
Direction de descente/Descent direction/下降方向, 92
Dimension/Dimension/维度, 30
Direction/Direction/方向, 40
Direction extrémale/Extreme direction/极方向, 40
Direction réalisable/Feasible direction/可行方向, 91
Développement limité/Taylor expansion/泰勒展开, 21
Dualité de Fenchel/Fenchel’s duality/Fenchel对偶, 90
Dualité Lagrangienne/Lagrangian duality/拉格朗日对偶, 85
Ensemble borné/Bounded set/有界集, 18
Ensemble compact/Compact set/紧集, 18
Ensemble convexe/Convex set/凸集, 25
Ensemble ouvert/Open set/开集, 17
Enveloppe affine/Affine hull/仿射包, 30
Enveloppe conique/Conic hull/锥包, 31
Enveloppe convexe/Convex hull/凸包, 29
Épigraphe/Epigraph/上境图, 46
Equivalence de normes/Equivalence of norms/等价范数, 13
Espace affine/Affine space/仿射空间, 30
Espace tangent/Tangent space/切空间, 98
Ensemble fermé/Closed set/闭集, 17
Fonction fermée/Closed function/闭函数, 47
Fonction concave/Concave function/凹函数, 45
Fonction conjugée/Conjugate function/共轭函数, 47
Fonction convexe/Convex function/凸函数, 45
Fonction D.C./D.C. function/DC函数, 49
Fonction duale de Lagrange/Lagrangian dual function/拉格朗
日对偶函数, 85
Def/Thm
Hyperplan/Hyperplane/超平面, 25
Hyperplan d’appui/Supporting hyperplane/支撑超平面, 37
Inégalité d’Hadamard/Hadamard’s inequality/阿达马不等式,
103
Inégalité de Cauchy-Schwarz/Cauchy–Schwarz inequality/柯
西-施瓦茨不等式, 24
Inégalité de Hölder/Hölder’s inequality/赫尔德不等式, 24
Inégalité de Jensen/Jensen’s inequality/琴生不等式, 52
Inégalité de Minkowski/Minkowski inequality/闵可夫斯基不等
式, 11
Inégalité de Polyak-Łojasiewicz/PL inequality/PL不等式, 52
Intérieur relatif/Relative interior/相对内部, 32
Lagrangien/Lagrangian/拉格朗日函数, 85
Ligne de niveau/Level set/水平集, 46
Matrice de base/Basic matrix/基矩阵, 56
Matrice Hessienne/Hessian Matrix/海森矩阵, 20
Matrice hors base/Non-basic matrix/非基矩阵, 56
Matrice Jacobienne/Jacobian matrix/雅可比矩阵, 21
Méthode des deux phases/Two-phase method/两阶段法, 70
Méthode du gradient/Gradient method/梯度法, 104
Méthode graphique/Graphic method/图解法, 60
Multiplicateur de Lagrange/Lagrangian multiplier/拉格朗日乘
子, 85
Non-borné/Unbounded/无界, 55
Non-réalisable/Infeasible/无解, 55
Non-dégénérée/Nondegenerate/非退化, 57
Norme Euclidienne/Euclidean norm/欧几里德范数, 12
Norme de Frobenius/Frobenius norm/Frobenius范数, 14
Norme matricielle/Matrix norm/矩阵范数, 14
Norme spectrale/Spectral norm/谱范数, 15
Norme subordonnée/Induced norm/算子范数, 14
Norme vectorielle/Vector norm/向量范数, 11
Optimisation linéaire/Linear optimization/线性规划, 53
Point d’accumulation/Accumulation point/聚点, 18
Point extrémal/Extreme point/极点, 39
Point frontière/Boundary point/边界点, 19
Point-selle/Saddle point/鞍点, 84
Point extérieur/Exterior point/外点, 19
Point intérieur/Interior point/内点, 19
Point isolé/Isolated point/孤立点, 18
Point régulier/Regular point/正则点, 95
Point stationaire/Stationary point /驻点, 99
Polyèdre convexe/Polyhedron/多面体, 28
Yi-Shuai NIU (牛一帅)
巴院
Page 108/109
上海交大 – 巴黎高科卓越工程师学院
Polytope/Polytope/多胞形, 28
Problème dual/Dual problem/对偶问题, 83
Problème primal/Primal problem/原问题, 83
Qualification de contrainte/Constraint qualification/约束规范,
95
Qualification de contrainte indépendance linéaire/Linear independence constraint qualification/线性独立约束规范, 97
Qualification de contrainte linéaire/Linearity constraint qualification/线性约束规范, 95
Qualification de contrainte Mangasarian-Fromovitz/MangasarianFromovitz constraint qualification/Mangasarian-Fromowitz约
束规范, 97
Solution de base optimale/Optimal basic solution/最优基本可
行解, 57
Solution de base réalisable/Basic feasible solution/基本可行解,
57
Solution réalisable/Feasible solution/可行解, 10
Sommet/Vertex/顶点, 39
Sous-différentielle/Sub-differential/次微分, 45
Sous-espace vectoriel engendré/Linear hull/线性包, 29
Sous-gradient/Sub-gradient/次梯度, 45
Sous-multiplicative/Sub-multiplicative/次可乘性, 14
Suite converge/Convergent sequence/收敛序列, 16
Suite de Cauchy/Cauchy sequence/柯西序列, 17
Tableau du simplexe/Simplex table/单纯形表, 67
Règle de Bland/Bland’s rule/布兰德规则, 75
Règle de la chaîne/Chain rule/链式法则, 22
Saut de dualité/Duality gap/对偶间隙, 83
Segment/Segment/线段, 26
Séparation/Separation/分离, 36
Solution de base/Basic solution/基本解, 57
巴院
Valeur d’adhérence/Limit point/极限点, 17
Variable artificielle/Artificial variable/人工变量, 70
Variable d’écart/Slack variable/松弛变量, 54
Variable de base/Basic variable/基变量, 56
Variable hors base/Non-basic variable/非基变量, 56
Voisinage/Neighbourhood/邻域, 18
Yi-Shuai NIU (牛一帅)
Def/Thm
上海交大 – 巴黎高科卓越工程师学院
Page 109/109
Théorèmes (定
定理 索 引 )
Condition d’ordre 1 de fonction convexe/First-order condition
of convex function/凸函数的一阶判别条件, 47
Condition d’ordre 2 de fonction convexe/Second-order condition of convex function/凸函数的二阶判别条件, 48
Condition KKT/KKT condition/KKT条件, 98
Lemme de Farkas/Farkas’ Lemma/Farkas引理, 42
Lemme de Gordan/Gordan’s lemma/Gordan引理, 43
Projection orthogonale sur un ensemble convexe fermé/Orthogonal projection on a closed convex set/闭凸集投影定理, 35
Séparation d’ensemble convexe et de point/Separation of a
convex set and a point/凸集和点的分离定理, 36
Séparation de deux ensembles convexes/Separation of two
convex sets/凸集分离定理, 39
Théorème d’existence de solution optimale d’optimisation linéaire/Theory of existence of optimal solution of linear optimization/线性规划最优解存在性定理, 55
Def/Thm
Théorème de Bolzano-Weierstraß/Bolzano–Weierstrass theorem/Bolzano–Weierstrass定理, 17
Théorème de Carathéodory/Carathéodory’s theorem/Carathéodory定理, 33
Théorème de dualité faible/Weak duality theorem/弱对偶定理,
86
Théorème de dualité forte/Strong duality theorem/强对偶定
理, 86
Théorème de Krein-Milman/Krein-Milman theorem/KreinMilman定理, 41
Théorème des accroissements finis/Mean value theorem/中值
定理, 22
Théorème fondamental de l’optimisation linéaire/fundamental
theory of linear optimization/线性规划基本定理, 59
Théorème de point-selle/Saddle point theorem/鞍点定理, 84
Théorème d’hyperplan d’appui/Supporting hyperplan theorem/支撑超平面定理, 38
Théorème de représentation/Representation theorem/表示定
理, 42
Théorème de Weierstraß/Weierstraß theorem/魏尔斯特拉斯定
理, 49
Théorème du point fixe/Fixed-point theorem/不动点定理, 24
Yi-Shuai NIU (牛一帅)
巴院
Téléchargement