Académique Documents
Professionnel Documents
Culture Documents
2009
1 Introduction
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Gnralits
2.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
21
4 Dualit Lagrangienne
33
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2 Fonction de Lagrange et problme dual dans le cas de contraintes dgalit . . 33
4.3 Dualit
pour
les
problmes
avec
contraintes
cniques gnrales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
i
4.4 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Dual dun programme linaire Relaxation des problmes combinatoires
4.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.6 Correction des exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5 Problmes combinatoires
43
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Arbre couvrant (minimum spanning tree) Plus court chemin (shortest path
problem) Problme daffection, problme du mariage (assignment problem)
6 Scilab
49
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Prsentation Les bases
6.3 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.4 Correction des exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
II Applications
61
7 Vraisemblance Empirique
63
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
7.2 Thorme de Owen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
ii
Premire partie
Introduction la dualit Lagrangienne
Chapitre 1
Introduction
1.1
Introduction
La recherche oprationnelle est lapplication industrielle de la thorie de loptimisation (recherche dextrma). Elle a commenc aprs linvention de la programmation linaire par G. Dantzig dans les annes 50. Nous rencontrerons dans ce cours des problmes
de minimisation (de cot) ou de maximisation (de profit).
4
0
0
1.2
Quelques exemples
1.2.1
Problme de transport
On considre un problme courant de transport de marchandises. Des magasins (numrots de 1 n) ont une demande di pour un certain produit. On dispose dans plusieurs
entrepts (numrots de 1 m) de stocks sj . Sachant que le cot unitaire ci ,j pour transporter une marchandise dun entrept j un magasin i est donn, quelle stratgie minimise
le cot de transport tout en satisfaisant la demande ?
3
Chapitre 1
q
b
q
Entrepts
Magasins
Connections
b
q
ci ,j xi ,j
i ,j
1.2.2
xi ,j = di
X
j
xi ,j sj
xi ,j 0
Problme de coloration
On sinterresse au nombre minimum de couleurs ncessaires la coloration des sommets dun graphe sous la contrainte que deux sommets relis (directement) par une arrte
ne doivent pas avoir la mme couleur.
b
r
u
b
r
r
u
Existe-t-il une mthode rapide qui trouve srement une solution optimale ? La rponse
est non. En thorie de la complexit, on introduit plusieurs classes de problmes. Celui-ci
est N P-dur.
4
Chapitre 1
Dfinition 1.2.1. On appelle classe polynmiale (et on note P) la classe des problmes
tels quil existe un algorithme rsolvant le problme aprs un nombre doprations polynmial en les entres du problme. On appelle classe non dterministe polynmiale (et
non note N P) la classe des problmes tels quil existe un algorithme rsolvant le problme
avec une probabilit strictement positive aprs un nombre doprations polynmial en les
entres du problmes.
1.3
xRn
Dfinition 1.3.2 (gradient). Soit f : Rn R une fonction admettant des drives parf
f T
tielles. On appelle gradient de f et on note f le vecteur (
, ,
) .
x1
xn
Dfinition 1.3.3 (diffrentielle). Soit f : Rn R. On dit que f est diffrentiable en x0 Rn
si il existe une application linaire L(x0) L(Rn , R) telle que pour tout h Rn :
|f (x0 + h) f (x0 ) L(x0)(h)| = o(khk)
L(x0) est la diffrentielle de f en x0 . On la note en gnral df (x0 ). On peut lexprimer trs
simplement en fonction du gradient :
df (x0 )(h) = hf (x0 ), hi
Dfinition 1.3.4 (hessienne). Soit f : Rn R une fonction admettantdes drives
par
2
f
tielles secondes. On appelle hessienne de f la matrice n n : 2 f (x) =
. Si
xi xj 1i ,jn
f est une application deux fois differentiable en x0 alors on a la formule :
d 2 f (x0 )(h) = h2 f (x0 )h, i
5
Chapitre 1
Thorme 1.3.5 (Formule de Taylor)
Soit f : Rn R une fonction admettant des drives partielles secondes continues en x0 . Alors :
1
h Rn : f (x + h) = f (x) + hf (x), hi + h2 f (x)h, hi + o(khk)
2
Dmonstration.
f (x)
L
Soit d un vecteur unitaire tangent Lf (x) en x. Alors, il existe une suite (yn )n1 dlments de Lf (x) convergeant vers x telle que :
yn x
xk
d = lim
n+ kyn
1.4
Exercices
Exercice 0. Soit Sn (R) lensemble des matrices symtriques relles n n et soit A Sn (R).
On rappelle que A est diagonalisable. Montrer que A est diagonalisable dans une base
orthogonale de vecteurs propres.
6
Chapitre 1
Exercice 1. Soit a Rn et soit f la fonction dfinie par :
f
: Rn R
x
7 aT x
1. Calculer f
2. Montrer que f est diffrentiable et calculer df
3. Vrifier la relation df (x)(h) =< f (x), h >
Exercice 2. Soit A Mn (R). Montrer que la fonction f dfinie ci-dessous est diffrentiable
et calculer sa diffrentielle :
f : Rn R
x
7 x T Ax
Exercice 3. Soit S2 (R) lensemble des matrices symtriques relles 2 2 et soit A S2 (R).
On pose :
f : R2 R
x
7 x T Ax
1. En utilisant lexercice 0, donner une expression simple de f dans une base convenable.
2. Discuter suivant les valeurs propres de A la forme des lignes de niveau.
Chapitre 1
Chapitre 2
Ensembles convexes, cne tangent et
fonctions convexes
2.1
Introduction
Bla bla bla. Bla. Bla bla bla ? Bla ! Bla bla bla bla bla...
ensemble de
sous-niveau
f
2.2
2.2.1
Chapitre 2
Proposition 2.2.2
Soit I un ensemble dindices et (Ci )i I une famille de convexes. Alors,
Ci est
i I
un convexe.
TC (x)
x
NC (x)
Remarque. Un extraterrestre arrive en soucoupe volante S1 sur notre bonne vieille plante terre (dont la forme dcrite par toutes les thories modernes de physique est reprsente dans le dessin ci-dessous). Ayant trs faim, il va au plus court vers le premier
magasin de frites F quil voit. Comme cest un extraterrestre, il est clair quil peut passer
travers les murs. On note v1 son vecteur vitesse linstant o il arrive au milieu de la
baraque frites. De mme, un extraterrestre se pose en soucoupe S2 sur la terre et va lui
aussi au magasin de frites. Soit v2 son vecteur vitesse linstant o il arrive au milieu du
magasin. Lensemble des vecteurs vitesse possibles forme un plan. Cest le plan tangent
la surface en F . Il parat naturel de dessiner les espaces tangents colls aux surface que
lon considre malgr le fait que les plans tangents sont en fait des espaces vectoriels et
devraient plutt contenir 0. On fait la mme chose pour les cnes tangents et normaux qui
10
Chapitre 2
sont points en x au lieu de zro. Cela na pas dincidence puisque nous dessinerons
aussi le gradient de la fonction minimiser en x plutt quen zro.
Plan tangent
v1
Baraque frites
S2
v2
S1
Remarque. Pourquoi a-t-on frquemment des cnes plutt que des demi-espaces dans la
pratique ? Parce que lensemble des contraintes est de la forme C = {x Rn : g1 (x)
0, , gm (x) 0} et quil a des coins qui correspondent aux x tels que gi (x) = gj (x)
pour certain i , j.
2.3
Fonctions convexes
Dfinition 2.3.4 (Fonction strictement convexe). Soit f : Rn R. On dit que f est strictement convexe si :
(x, y ) Rn Rn , x 6= y , t ]0, 1[ : f (tx + (1 t)y ) < tf (x) + (1 t)f (y )
11
Chapitre 2
2.3.1
z x
y x
y z
2
Pente 1 Pente 2 Pente 3
Dmonstration. Comme z [x, y ], il existe t [0, 1] tel que z = x + t(y x). Donc, par
convexit :
(z) (1 t)(x) + t(y )
Soit :
(z) (x) t((y ) (x))
Mais :
t=
z x
y x
z x
y x
Lautre ingalit sobtient de la mme manire.
Corollaire 2.3.6
z x
y x
12
Chapitre 2
Donc, en passant la limite lorsque z tend vers x, on obtient :
(x)
On a aussi :
(y ) (x)
y x
(y ) (x)
(y ) (z)
y x
y z
(y )
y x
Finalement :
(x)
(y ) (x)
(y )
y x
(z) (x) =
(u)du
(z)du = (z)(z x)
x
De mme, on a :
(y ) (z) (z)(y x)
Donc :
(z) (x)
(y ) (z)
(z)
y z
z x
(y x) (z)
1t
t
Do lingalit de convexit recherche.
Corollaire 2.3.7
2.3.2
13
Chapitre 2
Cette proposition indique quune fonction convexe est toujours au-dessus de ses tangentes comme lillustre la figure ci-dessous :
f
y = f (x) + hf (x), y xi
x
Dmonstration. Soit x < zt < y , o zt = x + t(y x). Par convexit, on a :
tf (y ) + (1 t)f (x) f (zt )
Donc :
f (y ) f (x)
f (zt ) f (x)
t
f (x + t(y x)) f (x)
=
t
f (x) + hf (x), t(y x)i + o(ky xk) f (x)
=
t
hf (x), y xi
t0
Dfinition 2.3.9. Soit A Sn (R). On dit que A est semie-dfinie positive si pour tout
x Rn , hAx, xi 0. Comme une matrice symtrique relle est diagonalisable valeurs
propres relles, cela revient dire que la plus petite valeur propre de A est positive ou
nulle.
Dfinition 2.3.10. Soit A Sn (R). On dit que A est dfinie positive si pour tout x
Rn \{0}, hAx, xi > 0. Cest quivalent ce que la plus petite valeur propre de A soit positive.
Proposition 2.3.11
Soit f : Rn R une fonction convexe de classe C 2 (i.e. deux fois diffrentiable et
dont la diffrentielle seconde est continue). Si 2 f est semi-definie positive, alors
f est convexe.
14
Chapitre 2
Dmonstration. Soit (x, y ) R R fix. Pour t [0, 1], on note zt = tx + (1 t)y . Pour se
ramener au cas scalaire, on dfinit la fonction :
: [0, 1] R
t
7 f (zt )
Montrer la convexit de (indpendemment de x et y ) quivaut montrer la convexit
de f . Nous allons donc montrer que est deux fois drivable et que 0.
f (y )
f (zt )
f (x)
x zt y
(t) :
(t + h) (t)
h
f (zt+h ) f (zt )
h
hf (zt ), zt+h zt i o(kzt+h zt k)
+
=
h
h
hf (zt ), h(x y )i o(kh(x y )k)
+
=
h
h
hf (zt ), y xi = (t)
=
h0
(t + h) (t)
h
hf (zt+h ) f (zt ), y xi
h
2
f (zt )(h)(y x), y x o(khk)
+
=
h
h
T 2
(y x) f (zt )(y x) = (t) 0
=
h0
Proposition 2.3.12
Soit f : Rn R une fonction convexe de classe C 2 (i.e. deux fois diffrentiable et
dont la diffrentielle seconde est continue). Alors, f est strictement convexe si et
seulement si 2 f est definie positive.
15
Chapitre 2
2.4
Conditions doptimalit
2.4.1
Thorme 2.4.1
Soit f : Rn R une fonction convexe de classe C 1 . Alors : x Rn minimise
f f (x ) = 0.
2.4.2
Thorme 2.4.2
Soit f : Rn R une fonction convexe de classe C 1 et C Rn un convexe ferm.
Alors : x minimise f sur C f (x ) NC (x ).
16
Chapitre 2
NC (x)
L
x
TC (x)
f (x )
f (x ),
0
ky x k
Do :
> 0, y C : hf (x ), (y x )i 0
Le rsultat est alors prouv si on se rappelle que TC (x ) est la fermeture de {(y x), y
C , R+ } et que NC (x) = {v Rn : u K , hv , ui 0}.
: Supposons que f (x ) NC (x ). Soit y C , par lingalit du gradient :
f (y ) f (x) hf (x), y xi f (x)
En effet, y x TC (x) et par hypothse f (x ) NC (x ).
2.5
Exercices
Chapitre 2
Exercice 5.
1. Soit la forme quadratique Q(x) = x12 + 3x1 x2 + 5x22 . Cette forme peut
scrire x t Mx o M est une matrice 2 2. Donnez cette matrice.
2. Soit la matrice M donne par
0 a1 a2
1
M = a1 Q11 Q12
2
a2 Q12 Q22
(2.1)
6
3
2
0
18
Chapitre 2
Exercice 10. On considre lespace vectoriel Sn des matrices carres coefficients rels et
symtriques. Il se trouve que beaucoup de problmes doptimisation moderne ont pour
variables des matrices et quil est donc intressant de considrer ces matrices comme les
variables de base pour notre calcul diffrentiel. On sait que toute matrice A Sn est diagonalisable et les valeurs propres de A sont relles.
1. Soit A Sn et soient 1 n ses valeurs propres et (e1 , ... , en ) une famille
orthonorme de vecteurs propres associs. Vrifier que :
A=
n
X
k ek ekt
k=1
max
u t.q. kuk2 =1
u t Au.
: X R
x 7 maxfi (x)
i I
Soit x0 X tel que le maximum nest atteint que pour un seul indice i0 (!io I :
f (x0 ) = fi0 (x0 )). Montrer que f est diffrentiable en x0 et donner son gradient en x0 . Faire
un dessin dans le cas o les fi sont affines et X = R.
Exercice 12.
1. Soit la fonction f : R2 7 R donne par f (x, y ) = xy . Cette fonction
est-elle convexe ?
2. On considre n ralisations Y1 , ... , Yn dune variable alatoire Y de loi p1 (1 , 2 ) +
p2 (2 , 2 ) et on suppose 2 connu. Donner la log-vraisemblance des observations.
Cette fonction a-t-elle intuitivement une raison de ne pas tre concave ?
19
Chapitre 2
20
Chapitre 3
Programmation linaire, quadratique,
et non linaire
3.1
Programmation linaire
3.1.1
a1T x b1
..
.
T
am
x bm
xRn
Ax = b
x 0
Proposition 3.1.3
Tout problme de programmation linaire peut se mettre sous forme standard.
21
Chapitre 3
Dmonstration. Plutt que de donner une dmonstration dtaille de cette proposition,
nous en donnerons les grandes lignes puis nous traiterons un exemple. Soit donn un
problme de programmation linaire :
min c T x, Ax b
xRn
y = b Ax 0
X = (x y )
A = (A Id )
xRn
xR3
x1 + x2 + x3 = 1
x1 x2 x3 1
x1 + x3 1
x1 0, x2 0
x R4
x1 + x2 + y1 y2 = 1
x1 x2 y1 + y2 1
x1 y1 + y2 1
x1 0, x2 0, y1 0, y2 0
Enfin, pour transformer les ingalits en galits, on introduit encore deux nouvelles va
riables positives z1 et z2 . Si on note x = (x1 , x2, y1 , y2 , z1 , z2 )T problme devient :
min 3x1 y1 + y2
x R6
x1 + x2 + y1 y2 = 1
x1 x2 y1 + y2 + z1 = 1
x1 y1 + y2 + z2 = 1
x1 0, x2 0, y1 0, y2 0, z1 0, z2 0
22
Chapitre 3
3.1.2
Dfinition 3.1.5 (Contrainte active). Une contrainte ajT x bj sera dite active en x si ajT x =
bj . On note Jx lensemble des indices des contraintes actives en x.
Thorme 3.1.6 (Caractrisation du cne normal pour les polydres)
Soit C = {x Rn : Ax b} un polydre et x C . Alors, NC (x) = {
j a j , j
jJx
0}.
Dmonstration. : Soit g =
que :
jJx
j Jx : ajT x = bj
j J1, mK : ajT y bj
Donc :
j Jx : ajT (y x) 0
Do :
j Jx : j ajT (y x) 0
Finalement,
hg , y xi = h
j aj , y xi =
jJx
jJx
23
j ajT (y x) 0
Chapitre 3
Le rsultat est encore vrai en remplaant y x par v TC (x) par stabilit de lingalit prcdente par multiplication par un scalaire positif et par passage la limite. Donc,
g NC (x).
X
j aj , j 0}. Soit g
/ M. Montrons que g
/ NC (x). Daprs le
: Notons M = {
jJx
thorme de Hahn-Banach :
u R /
z M, hu, zi 0
hu, g i > 0
Posons y = x + u et montrons que lon peut choisir > 0 suffisamment petit pour que y
soit un lment de C . On sait que si j Jx , ajT u 0 car aj M. Donc :
j Jx : ajT y = ajT (x + u) = ajT x + ajT u bj + ajT u bj
Si maintenant j
/ Jx , on sait que ajT x < bj , et donc, on peut choisir tel que ajT x + ajT u
bj , et ce, indpendemment de j. Donc :
j
/ Jx : ajT y = ajT (x + u) = ajT x + ajT u bj
Finalement, y est bien un lment de C . On conclut en remarquand que :
hg , y xi = hg , ui > 0
Ainsi, g
/ NC (x).
3.2
Programmation quadratique
3.2.1
Dfinition 3.2.1 (Programmation quadratique). La programmation quadratique est lensemble des problmes doptimisation du type :
1
minn x T Qx + q T x
xR 2
sous les contraintes :
Ax b
o Q Sn (R) et q Rn .
Remarque. On impose dans cette dfinition que la matrice Q soit symtrique. Dans le
cas gnral, on peut simplement se ramener une matrice symtrique. En effet, soit A
Mn (R), alors, comme x T Ax = (x T Ax)T = x T AT x, on a :
A + AT
T
x = x T Ax
x
2
et la matrice (A + AT )/2 est symtrique.
Remarquons aussi que la fonction maximiser tant de classe C 2 , elle est convexe si et
seulement si sa hessienne est dfinie positive cest--dire si et seulement si Q est dfinie
positive.
24
Chapitre 3
3.2.2
Le modle de Markovitz
On considre n actions dont les prix dachat linstant t sont (S1 (t), , Sn (t)). On dispose dun budget B que lon veut investir dans ces actions. Notons xi le nombre dactions
i que lon veut acheter. On veut maximiser le profit. On note f le profit.
T
n
X
xi (Si (t + 1) + Si (t)) = T x
i =1
maxn T x, S T x B, x 0
xR
Le problme est quon ne connat pas S(t + 1) ! Mais, on peut estimer la loi des accroissements S(t + 1) S(t) en se basant par exemple sur le prix des actions au cours des 15
derniers jours. Une approche naturelle mais nave consiste alors tenter de maximiser
lesprance du profit : E(f (x)) = E(T x) = E()T x. Cette approche est en fait trs risque puisque la solution consiste tout investir dans laction dont lesprance du taux
daccroissement est la plus grande. Markovitz a introduit la notion de risque. Mathmatiquement, le risque est li la variance. Plus la variance est leve, plus le risque est lev.
On dfinit le risque par :
Var T x =
=
=
=
=
o Q est la matrice de covariance des accroissements. On se fixe un rendement r . Le problme de Markovitz est alors :
min x T Qx, E()T x r , S T x B, x 0
xRn
3.2.3
Le problme du learning
On dispose dun ensemble (x1 , xn ) de points que lon peut sparer en deux sousgroupes et on cherche la meilleure droite de sparation. Comment se ramener un problme quadratique ?
+
+ ++ +
+ +
+
: wTx + b = 0
25
Chapitre 3
Le problme est donc de maximiser min d (xi , ), o est la droite dquation w T x +
b = 0. Les paramtres sont w et b.
Lemme 3.2.2
La distance dun point x la droite sexprime par la formule :
d (x, ) =
|w T x + b|
kw k
w T x b
kw k2
Finalement :
d (x, ) = kx (x)k = kw k =
|w T x + b|
kw k
Il faut bien sr prendre en compte le fait que la droite doit sparer les deux sousgroupes ! On introduit pour cela des variables (y1 , yn ). On affecte alors la variable
yi la valeur 1 si xi appartient au premier sous-groupe, et la valeur 1 si xi appartient au
deuxime sous-groupe. On peut traduire cela simplement par :
yi = 1 w T xi + b > 0
yi = 1 w T xi + b < 0
De plus, comme les xi sont en nombre fini, on sait que le maximum sur (w , b) de
min |w T x + b| est strictement positif (on peut toujours trouver une droite sparante qui
ne touche aucun point, condition que le problme admette une solution). Donc, quitte
multiplier w et b par un scalaire, on peut imposer : min |w T x + b| = 1. En effet, si on a
trouv une solution (w , b) au problme telle que min |w T x + b| = > 0, alors (w /, b/)
est aussi solution et vrifie lgalit. Le problme de dpart est donc quivalent :
(P)
min kw k ,
(w ,b)
yi (w T xi + b) 1
min |w T xi + b| = 1
26
Chapitre 3
Lemme 3.2.3
Le problme (P) est en fait quivalent :
e
(P)
min kw k2 ,
yi (w T xi + b) 1
(w ,b)
w
|w t x
i0
+ b|
, b
b=
b
|w t x
i0
+ b|
b, b
Alors, (w
b) est une meilleur solution que (w , b) ce qui est absurde. En effet, par construcb k2 < kw k2 . De plus :
tion : kw
b T xi + b
i J1, nK, |w
b| =
|w t xi + b|
|w t xi + b|
=
=1
|w t xi0 + b|
|w t xi + b|
Proposition 3.2.4
e est un problme de programmation quadratique.
(P)
Dmonstration. Posons :
xiT 1
1
0
2I 0
..
A=
, b = ...
, q=
, Q=
.
0
0
0
1
xiT + 1
e scrit :
Alors, le problme (P)
1
minn x T Qx + q T x ,
xR 2
27
Ax b
Chapitre 3
3.3
Dfinition 3.3.1 (Programmation non linaire). La programmation non linaire convexe est
lensemble des problmes doptimisation du type :
min f (x)
xRn
1
(gj (zt ) gj (x))
t
1
(hgj (x), zt xi + o(kzt xk))
t
t(y x)
o(t)
= hgj (x),
i+
t
t
+ hgj (x), y xi
=
t0
28
Chapitre 3
Donc, pour tout y C , pour tout 0, on a : hgj (x), (y x)i. Do le rsultat par
passage la limite.
: Soit u Rn tel que j Jx , hgj (x), ui 0.
Montrons que u TC (x). On a :
j
/ Jx , gj (x) < 0
Donc, pour j
/ Jx et tj petit, gj (x + t
u ) < 0. De plus :
j Jx , gj (x +t
u)gj (x) = gj (x), x +t
u xi+o(kx +t
uxk) = t(hgj (x), u i+o(t)/t)
Donc, pour j Jx et tj petit, gj (x + t
u ) < 0. Ainsi, en prenant t suffisament petit (par
exemple t = min tj ), x + t
u C . Do :
1
u = ((x + t
u ) x) TC (x)
t
Posons ut = u + t
u . Alors :
j Jx , hgj (x), ut i = hgj (x), ui + thgj (x), ui < 0
Donc, ut TC (x) pour la mme raison que u TC (x). De plus, TC (x) est ferm,
donc :
u = lim+ ut TC (x)
t0
Corollaire 3.3.3
Soit C lensemble admissible dfini par les contraintes de la dfinition, et soit
x C . On suppose quil existe u C tel que :
j Jx : hgj (x), ui < 0
On suppose de plus que la famille (g1 (x), , gne (x)) est libre. Alors, le cne
normal C en x est :
X
NC (x) = {
j gj (x), j Jx : tj 0}
jJx J1,ne K
3.4
Equations de Karush-Kuhn-Tucker
On considre le problme :
min f (x)
xRn
Chapitre 3
On note C lensemble des points admissibles pour ce problme. On suppose que le cne
normal C en x est donn par :
X
NC (x) = {
j gj (x), j Jx : tj 0}
jJx J1,ne K
3.5
Exercices
R2
R
(x, y ) 7 x 2 + y 2
sous la contrainte :
Max(|x|, |y |) 1
1. Ecrire le problme sous forme dun problme doptimisation convexe.
2. Rsoudre le problme.
Exercice 14. Minimiser la fonction f de R2 dans R :
f (x, y ) = 2x + y
sous les contraintes :
2x + 3y
x + y
x
x0 y
6
3
2
0
6
10
8
0
Chapitre 3
Exercice 16. Maximiser :
h(x, y ) = 8x + 4y x 2 y 2
sous les contraintes :
x +y 2
x 0 y 0
31
Chapitre 3
32
Chapitre 4
Dualit Lagrangienne
4.1
Introduction
4.2
inf n L(x, ) =
33
si j : gj (x) 6= 0
f (x) sinon
Chapitre 4
Alors,
sup f (x) = sup (x) = sup inf n L(x, )
xC
xX R
xX
La dualit lagrangienne consiste regarder le problme o le sup et linf sont pris dans
lordre inverse.
Dfinition 4.2.2 (Fonction duale). La fonction duale du problme de dpart est :
: Rm R
7 sup L(x, )
xX
Lemme 4.2.4
Soit (fi )i I une famille de fonctions convexes. Alors, la fonction supfi est convexe.
i I
Dmonstration du lemme 4.2.4. Commenons par remarquer que lpigraphe du sup est
gal lintersection des pigraphes. En effet :
\
(x, y )
epi (fi ) i I : y f (x) y supfi (x) (x, y ) epi (supfi ))
i I
i I
i I
On sait de plus quune intersection de convexes est convexe. Donc, lpigraphe de la fonction supfi tant convexe, le rsultat est dmontr.
i I
Rn
g (x)=0
xX
g (x)=0
g (x)=0
g (x)=0
xX
xX
xX
Chapitre 4
Dfinition 4.2.6 (sous-gradient). Soit une fonction convexe et tel que () < . On dit
que g est un sous-gradient de en si :
, () () + h , g i
Autrement dit, lhyperplan dirig par g passant par () est en-dessous de lpigraphe de
.
Dfinition 4.2.7 (sous-diffrentiel). Soit une fonction convexe et tel que () < . Le
sous diffrentiel de en est lensemble des sous-gradients de et . On le note .
= f (x ) + h, g (x)i
= f (x ) + h, g (x)i + h , g (x)i
= () + h , g (x)i.
35
Chapitre 4
Donc, g (X ) (). Do le rsultat en passant lenveloppe convexe ferme.
Si X est compact, daprs le thorme de Weirstrass, X nest jamais vide. On admettra
quil nexiste alors pas de sous-gradient qui ne soit pas dans Conv g (X).
Thorme 4.2.9 (Dualit forte)
Si minmise et que est diffrentiable en , alors, pour toute solution x du
problme primal, ( ) = f (x ). Si de plus X 6= , pour tout x X , x est
solution du problme primal.
4.3
Exemple.
2. K =
Rm
4. K = S+
n ensemble des matrices semi-dfinies positives.
Le problme (P) est en fait clairement quivalent au problme :
e
(P)
max
(x,z)XK
On sest ramen au cas prcdent avec uniquement des contraintes dgalit ! La fonction de Lagrange est alors :
Lext (x, z, ) = f (x) + h, g (x) zi
= f (x) + h, g (x)i h, zi
36
Chapitre 4
Et donc, la fonction duale est :
ext () =
sup
Lext (x, z, )
(x,z)XK
f (x) + h, g (x)i h, zi
sup
(x,z)XK
On peut donc maintenant donner les dfinitions de la fonction de Lagrange et de la fonction duale dans le cas de contraintes cniques. Ce sont les mmes quau paragraphe prcdent ! La seule diffrence est que le problme duale consiste minimiser la fonction
duale non pas sur Rm mais sur K .
Dfinition 4.3.1 (Fonction de Lagrange). La fonction de Lagrange associe au problme
(P) est :
L : X Rm R
(x, )
7 f (x) + h, g (x)i
Dfinition 4.3.2 (Fonction duale). La fonction duale du problme (P) est :
: Rm R
7 sup L(x, )
xX
En rsum :
PRIMAL
DUAL
xX
g (x)=0
xX
Chapitre 4
Remarque. En gnral, comme on la vu dans la section prcdente, nest pas diffrentiable. On a introduit un sous-diffrentiel pour gnraliser la notion de gradient.
Dans le problme sans contrainte, on a donn une condition doptimalit suffisante qui
tait 0 ( ), au lieu du bon vieux ( ) = 0. Dans le cas avec contraintes, on avait
(KKT abstrait) : ( ) NC ( ). Dans le cas non diffrentiable, cela se gnralise :
0 ( ) + NC ( ).
Thorme 4.3.4 (dualit forte)
Supposons que minimise sur K et que est diffrentiable en . Alors,
pour tout x X , f (x ) = ( ). En particulier, le problme dual est quivalent au problme primal.
Chapitre 4
4.4
4.4.1
Exemples
Dual dun programme linaire
Donc :
(
T b
() = sup (c + AT )T x T b =
+
xRn
si c + AT = 0Rn
sinon
infm () = inf bT ,
c + AT = 0
0
(
AT = c
= inf bt ,
0
4.4.2
Chapitre 4
Une faon de procder est de traiter Ax b explicitement et les contraintes combinatoires implicitement :
supc T x , Ax b
n
xX
n
n
X
max
x{0;1}n
n
X
ci ()xi bT
i =1
max(ci (), 0) bT
i =1
Cette fonction nest pas diffrentiable loptimum en gnral. Ce nest pas tonnant
car inf est un problme simple rsoudre ( est convexe) mais le problme primal est
NP-dur. Si tait diffrentiable, on pourrait rsoudre facilement un problme NP-dur !
Remarque. On a :
() = max n
x{0;1}
n
X
ci ()xi b
i =1
= max n
x[0;1]
n
X
ci ()xi b
i =1
Cela signifie que cette relaxation ne fait pas la diffrence entre X = {0; 1}n (non convexe)
et X = [0; 1]n (convexe). Dans le chapitre 5 nous verrons quelques cas o cela na pas
dincidence.
Souvent, les problmes ont une jolie structure de type dcomposable :
A1 x b1
T
min c x,
A2 x b2
xRn
x {0; 1}n , ou x Zn , ou x Nn
avec :
(
A1 x b1
minn c T x,
xR
x {0; 1}n , ou x Zn , ou x Nn
facile rsoudre. Dans ces cas, on peut laborer une relaxation lagrangienne un peu plus
subtile :
L(x, ) = c T x + h, A2 x b2 i , X = {x Rn : A1 x b1 } {0; 1}n
La fonction duale est alors :
() = sup (c + AT2 )T x b2T
xX
Cette relaxation est plus fine que de remplacer simplement {0; 1}n par [0; 1]n comme on
la fait prcdemment.
40
Chapitre 4
4.5
Exercices
Exercice 17. On considre le problme du sac dos. Etant donns des biens de valeurs
respectives pi et de volume vi pour i = 1, ... , n, on veut rassembler les biens constituant
un butin de valeur maximale sous une contrainte de volume donn V . On se donne les
valeurs suivantes :
10
3
4
p=
et v = 1
14
4
et on prendra V = 4.
4
6 4 3 2 1 3
8
2 10 2 0 8 2
C =
1 2 4 4 6 4 et f = 11
7
3 6 1 1 2 8
5
5 1 3 4 5 1
41
Chapitre 4
5. Calculer la valeur de () pour = [5, 6, 3, 2, 6, 4]t .
6. Pour quel x obtient-on cette valeur ?
7. Comment modifier x pour obtenir une solution primale peu prs satisfaisante ?
4.6
ci ,j xi ,j
i ,j
y j fj
ci ,j xi ,j
i ,j
X X
j
y j fj +
X
i
(i ci ,j )xi ,j yj fj
42
xi ,j 1
X
i
Chapitre 5
Problmes combinatoires
5.1
Introduction
Commenons par prsenter rapidement quelques exemples de problmes combinatoires. Cette liste nest bien sr pas exhaustive, on pourra par exemple citer le problme
de coloration mais aussi les problmes du max cut, vertex cover, independence set...
5.1.1
j
b
cij
b
i
b
b
b
On considre un graphe poids (verts ou rouges). On veut relier les noeuds de manire la plus conomique possible sous la contrainte que tous les noeuds du graphe soient
relis (indirectement) entre eux. On peut penser par exemple un rseau dgots. On
cherche donc construire ce quon appelle un arbre couvrant de poids minimal, cest-dire un sous-graphe tel quil nexiste pas de boucle et dont tous les noeuds sont relis.
Cest le problme du minimum spanning tree.
5.1.2
Chapitre 5
5.1.3
personnes
missions
5.2
On considre le problme :
(
Ax b K
maxn c T x,
xR
x {0; 1}n ou x Zn
o K = {0}ne Rni . La question est de savoir quand est-ce que la relaxation prsente au chapitre 4 donne la bonne solution. On cherche donc dans quelles situations la
relaxation de {0; 1}n en [0; 1]n (ou de Zn en Rn ) ne change pas le problme.
Dfinition 5.2.1 (totale unimodularit). Une matrice est dite totalement unimodulaire si et
seulement si tous ses mineurs (i.e. les dterminants de ses sous-matrices carres) valent
tous 1, 0 ou 1.
44
Chapitre 5
Rappel (Formule de Cramer). Si A Mn (R) est une matrice inversible et si b Rn , alors, la
solution du systme Ax = b est donne par :
i J1, nK : xi =
det Ai ,b
det A
o Ai ,b est la matrice dont les colonnes sont celles de A sauf la i -me qui a t remplace
par b.
Thorme 5.2.2
Soit A une matrice totalement unimodulaire. Alors, la solution (si elle existe et si
elle est finie) du problme :
maxn c T x, Ax b K , b Zn
xR
est entire.
Dmonstration. Soit x optimal. Il vrifie donc les quations de KKT. Rappelons que lon a
not Jx lensemble des contraintes actives en x . On a alors :
X
j aj , j Jne + 1, ne + ni K : j 0}
c N{AxbK } (x ) = {
jJx
Chapitre 5
Thorme 5.2.4
Soit G un graphe et A sa matrice dincidence. Alors, A est totalement unimodulaire si et seulement si G est biparti.
Thorme 5.2.5
Soit G un graphe orient et A sa matrice dincidence. Alors, A est totalement
unimodulaire.
Dmonstration. On procde par rcurrence sur la taille des sous-matrices carres de A :
Les mineurs de taille 1 dune matrice dincidence valent videmment 1, 0 ou 1 puisquune matrice dincidence nest compose que de 1, de 0 et de 1.
Supposons le rsultat vrai pour les mineurs de taille k k et soit M une sous-matrice de
A de taille (k + 1) (k + 1). Trois cas se prsentent :
Toutes les colonnes de M contiennent un 1 et un 1. Alors :
(1, , 1)M = 0
Donc, M nest pas inversible. Ainsi, det M = 0.
Il existe une colonne de M qui est nulle. Alors, det M = 0.
Il existe dans M une colonne o il y a un 1 ou un 1 et que des zros. En dveloppant
par rapport cette colonne, le rsultat est encore vrai par hypothse de rcurrence.
5.3
5.3.1
Exemples
Problme daffectation
On suppose ici quil y a plus de missions que de personnes pour fixer les ides. On
rappelle que le problme est alors :
X
xi ,j 1 (chacun a un job)
X
j
X
min
ci ,j xi ,j ,
xi ,j = 1
(chaque job nest fait quune seule fois)
i ,j
o on a not :
(
1 si on choisit larte (i , j)
xi ,j =
0 sinon
Chapitre 5
5.3.2
On reprend le problme du plus court chemin introduit page 43. On note A la matrice
dincidence du graphe orient o le premier noeud est i et le dernier est j. Le problme
scrit alors :
X
min
ci ,j xi ,j , Ax = (1, 0, , 0, 1)T , x 0
i ,j
47
Chapitre 5
48
Chapitre 6
Scilab
6.1
Introduction
6.1.1
Prsentation
6.1.2
Les bases
2+2
a=2
a=a+1
a=a+1;
a
Un des atouts de Scilab est la simplicit de lcriture matricielle. Une matrice scrit
avec des crochets. Un changement de colonne est dclar avec un espace ou une virgule,
et un changement de ligne avec un point virgule. Lcriture de matrice par bloc est alors
trs aise :
-->
-->
-->
-->
-->
A=[1 2 ; 3 4]
B=[-1 -4 ; 6 -2]
C=[A B]
D=[A ; B]
E=D
49
Chapitre 6
Pour accder un lment dans une matrice, on utilise des parenthses. Lextraction
dun bloc est aussi une opration des plus simples :
-->
-->
-->
-->
-->
A(1,2)
A(1,$)
A(1,2)=8
A(:,1)
C(:,3:4)
Comme tous les langages de programmation, Scilab offre la possibilit deffectuer des
boucles, du conditionnement... Voici un exemple simple :
--> res=[]
--> for k=-1:0.2:2
-->
if k>0 then
-->
res=[res ; k+1]
-->
else
-->
res=[res ; k/2]
-->
end
--> end
Notez au passage que lindentation nest pas obligatoire. Cependant elle est conseille
car elle rend vos programmes beaucoup plus lisibles. Si vous voulez enregistrer votre travail, vous pouvez utiliser lditeur Scipad en cliquant sur le bouton Editor. Maintenant,
crivons une fonction. Pour cela, dmarrez Scipad et crivez :
//Ceci est un commentaire
function [x,y]=mafonction(a,b)
x=a+b
y=a*b
endfunction
Enregistrez votre travail et cliquez sur Execute -> Load into Scilab. Vous pouvez maintenant utiliser votre fonction depuis Scilab en lappelant par son petit nom :
--> [somme,produit]=mafonction(2,3)
Avant den finir avec ce paragraphe dintroduction, donnons une liste (non exhaustive) de quelques fonctions qui sont trs utiles :
help
help topic
size(A)
plot2d(x,y)
ones(n,m)
zeros(n,m)
eye(n,m)
affiche laide
affiche laide relative topic
donne la taille de la matrice A.
trace une ligne brise.
matrice n m remplie de 1.
matrice n m remplie de 0.
matrice n m avec des 1 sur la diagonale (0 ailleurs).
50
Chapitre 6
6.2
Scilab et loptimisation
6.2.1
La fonction linpro
Notez quil est inutile de spcifier Scilab la dimension du problme, les donnes la rendant implicite. Le rsultat renvoy est un vecteur. La premire coordonne de ce vecteur
est une solution du problme. La deuxime est le vecteur des multiplicateurs de Lagrange
correspondant. Enfin, la troisime est la valeur de la fonction minimiser en ce point.
Bien que lon puisse crire tous les problmes de programmation linaire sous cette
forme, pour simplifier lutilisation de la fonction linpro il est possible dajouter des paramtres. Ainsi, si on veut entrer p contraintes dgalit, une borne infrieure (lb) et une
borne suprieure (ub), le problme scrit :
lb x ub
et se rsout avec Scilab de cette faon :
[s,lagr,fs]=linpro(c,C,b,lb,ub,p)
o on aura bien pris soin dcrire les contraintes dgalit dans les p premires lignes
de la matrice C . Il peut arriver quil y ait une borne infrieure mais pas de borne suprieure (ou le contraire). On peut dans ce cas donner pour ub un tableau vide ([]). Si il y
a une borne suprieure qui ne porte pas sur toutes les coordonnes de x on peut donner comme borne suprieure + pour ces composantes (en utilisant au choix %inf ou
number_properties(huge)). Pour aller plus loin, consultez laide de la fonction linpro en
tapant sous Scilab :
--> help linpro
6.2.2
La fonction quapro
La fonction quapro sutilise de la mme manire que la fonction linpro. Elle prend en
argument un lment de plus : la matrice de la forme quadratique. Ainsi, pour rsoudre
le problme de programmation quadratique suivant :
1 T
T
min
x Qx + q x
sous la contrainte : Cx rhs
x
2
on crit :
51
Chapitre 6
[s,lagr,fs]=quapro(Q,q,C,rhs)
On peut ajouter des arguments supplmentaires exactement de la mme manire quavec
la fonction linpro. Pour aller plus loin, consultez laide de Scilab :
--> help quapro
6.3
Exercices
6
3
2
0
Exercice 21. Une entreprise doit transporter du beurre de cacahute entre trois dpts D1 ,
D2 et D3 et trois magasins M1 , M2 et M3 . Chaque dpt a une quantit limite de marchandise, chaque destination une demande, et le cot unitaire pour transporter un camion de
beurre de cacahute varie suivant le dpt et le magasin. On rsume tout dans le tableau
ci-dessous (la dernire colonne reprsente le cot unitaire) :
Dpt Quantit disponible
D1
35
D2
40
D3
40
Magasin
M1
M2
M3
Demande
45
50
15
D1
D2
D3
M1
5
20
5
M2
10
30
8
M3
10
20
12
Exercice 22. Un bcheron a 100 hectares de bois de feuillus. Couper un hectare de bois
et laisser la zone se rgnrer naturellement cote 10 k$ par hectares, et rapporte 50 k$.
Alternativement, couper un hectare de bois, et replanter avec des pins cote 50 k$ par
hectares, et rapporte terme 120 k$. Sachant que le bcheron na que 4000 k$ en caisse au
dbut de lopration, dterminer la meilleure stratgie adopter et le profit escomptable.
Exercice 23. Trois machines M1 , M2 et M3 peuvent produire chacune deux types de pices
P1 et P2 . Le temps de fabrication dun pice Pi sur la machine Mj est donn comme suit :
(temps de fab. de P1 ) sur M1 : 3h , sur M2 : 4h sur M3 : 4h
(temps de fab. de P2 ) sur M1 : 4h , sur M2 : 6h sur M3 : 5h
On veut fabriquer au moindre cot 6 pices de type P1 et 8 pices de type P2 . La
machine M1 est disponible 14 heures et les machines M2 et M3 sont disponibles chacune
24 heures. Le cout horaire de M1 est 7, celui de M2 est 5 et celui de M3 est 6.
52
Chapitre 6
(6.1)
o est une variable gaussienne valeurs dans R N (0, 2). Il sagit donc destimer les
coefficients rels a0 , a1 , . . . , ap . Pour cela, on effectue plusieurs mesures et on obtient autant
de variables que dexpriences ralises, cest dire
Yi = a0 + a1 Xi ,1 + + ap Xi ,p + i
i = 1, ... , n.
(6.2)
(6.3)
aRp+1
(6.4)
aRp+1
(6.5)
Chapitre 6
Exercice 26 (Mthode du LASSO). Une autre approche pour le problme prcdent consiste
utiliser le LASSO, une technique dont le succs est due ltude mathmatique et la
promotion ultrieure quen a fait Robert Tibshirani de luniversit de Stanford en Californie. Cette mthode consiste remplacer la pnalisation quadratique par une pnalisation
utilisant la norme l1 du vecteur a, et revient donc rsoudre le problme
min kY Xak22 + kak1 .
aRp+1
(6.6)
min kY
a, uRp+1
Xak22
p
X
k=1
2. Implanter cette solution laide de la fonction quapro pour les donnes detroit
qui donnent le nombre dhomicides en fonction de divers parametres dans la ville
de Detroit de 1961 1970. Faites varier le paramtre et affichez sur la mme figure
lvolution jointe des composantes de a en fonction de .
Remarque. partir dune valeur assez grande de , certaines composantes de a deviennent nulles. Ainsi, la mthode effectue un choix automatique des variables importante pour expliquer le phnomne observ. On rsout alors ce quon appelle la question
du choix de modle dune manire globale. Ltude thorique de cette mthode est actuellement en pleine effervescence (voir par exemple http ://www.acm.caltech.edu/ emmanuel/papers/LassoPredict.pdf parmi plein dautres). Cette technique est aussi extrment
utlise pour la dtection des groupes de gnes important pour une maladie spcifique tudie mais dans ce cas, le modle introduit nest plus une rgression linaire mais une rgression logistique, ce qui donne un problme doptimisation un peu plus compliqu ! Un
article intressant ce sujet est http ://www-stat.stanford.edu/ hastie/Papers/JRSSB.69.4%20(2007)%20
677%20Park.pdf parmi une tonne dautres bien sr.
i : yi (aT xi + b) 1
54
Chapitre 6
+
+ ++ +
+ +
+
: aT x + b = 0
Chapitre 6
8. Bland Chromatin (1 - 10), 9. Normal Nucleoli (1 - 10), 10. Mitoses (1 - 10), 11. Class
(2 for benign, 4 for malignant).
Les deux classes identifier sont les tumeurs benignes et les malignes (dernire
variable).
3. Enlever quelques donnes (une dizaine) de la base puis construire lhyperplan sur
les donnes restantes. Combien sont mal classes ?
4. Une mthode systmatique dtude consiste en le fait denlever une donne, de calculer lhyperplan et de voir si cette donne est oui ou non bien classe et de recommencer en tirant chaque fois une donne diffrente. Cela sappelle la validation
croise. Implmenter cette mthode. Quel pourcentage de mauvais classement obtenez vous ?
6.4
Cx rhs
xiT 1
2 0 0
0
..
Q= 0 2 0 , q= 0 , C =
, rhs =
.
0 0 0
0
xiT + 1
1
..
.
1
Il ne nous reste alors plus qu crire ces matrices en Scilab et la fonction quapro fera le
reste.
56
Chapitre 6
-->
-->
-->
-->
-->
-->
-->
Q = [2 0 0 ; 0 2 0 ; 0 0 0]
q = zeros(3,1)
C = [-groupe1 -ones(10,1) ; groupe2 ones(10,1)]
rhs = -ones(20,1)
[z,lagr,fz] = quapro(Q,q,C,rhs)
a = z(1:2)
b = z(3)
Et voil ! Un simple plot2d permet de se convaincre que le rsultat donn par Scilab est
correct. Amusons-nous maintenant regarder ce quil se passe si on effectue dautres
tirages alatoires : sont-ils bien classs ?
--> u=grand(50,mn,[0;0],eye(2,2));
--> v=grand(50,mn,[10;5],2*eye(2,2));
--> length(find(a*u+b>0))+length(find(a*u+b<0))
2
0
1n
.
..
..
.
..
0
Q() =
, q = . , lb =
..
.
.
..
.
.
.
..
0
0
2
x1T
..
.
1
..
.
xnT
1
1
C =
x T
1
n1 +1
..
..
.
.
xnT1 +n2 1
0
..
.
0
1
0
..
..
..
.
.
.
.
1 0 ... 0
.
, rhs = .
... 0 1
..
..
..
.
.
..
... 0
1
1
0
..
.
...
o 1n est le vecteur (1, ... , 1)T Rn et o on a not (x1T , ... , xnT1 ) les lignes de groupe1 et
(xnT1 +1 , ... , xnT1 +n2 ) celles de groupe2. La matrice C est une matrice (n1 +n2 )(n +1+n1 +n2 ).
57
Chapitre 6
En Scilab, scrit %inf. Comme il ny a pas de borne suprieure sur les variables, on
peut rentrer un tableau vide pour ub. Heureusement, il est beaucoup plus ais dcrire ces
matrices sous Scilab (qui accepte lcriture matricielle par bloc) quil ne lest sous LATEX. Il
ne nous reste alors plus qu demander la fonction quapro de rsoudre le problme.
Comme toutes les questions se ressemblent, nous nous contenterons de rsoudre la
dernire. Commenons par crire un programme qui reoit en entre une matrice (par
exemple la matrice de toutes les donnes, ou la matrice de toutes les donnes sauf quelques
unes) ainsi que et qui rend a et b :
function [a,b]=svm(D,lambda)
//Sparation des donnes en deux sous-groupes
s=size(D)
n=s(1)
groupe1=[]
groupe2=[]
for k=1:n
if D(k,$)==2 then
groupe1=[groupe1 ; D(k,2:$-1)]
else
groupe2=[groupe2 ; D(k,2:$-1)]
end
end
//Construction de Q,q,C,rhs,lb,ub.
s1=size(groupe1)
n1=s1(1)
n2=n-n1
Q=[2*eye(9,9) , zeros(9,n+1) ; zeros(1,n+10) ;
zeros(n,10) 2*lambda*eye(n,n)]
q=zeros(n+10,1)
C=[groupe1 ones(n1,1) -eye(n1,n1) zeros(n1,n2) ;
-groupe2 -ones(n2,1) -eye(n2,n2) zeros(n2,n1)]
rhs=-ones(n,1)
lb=[ -%inf*ones(10,1) ; zeros(n,1)]
ub=[]
//Rsolution du problme :
x=quapro(Q,q,C,rhs,lb,ub)
a=x(1:9)
b=x(10)
endfunction
Notez au passage que si on a appel la matrice des donnes Data on peut rsoudre la
premire question en tapant dans Scilab (pour = 1) :
-->[a,b]=svm(Data,1)
Une fois le programme svm crit, la validation croise est trs facile mettre en place.
On pourra par exemple crire :
58
Chapitre 6
function res=valid_croisee(lambda)
res=0
for k=1:683
D=Data
D(k,:)=[]
//supprime la k-ime ligne
[a,b]=svm(D,lambda)
if (Data(k,$)==2 & Data(k,2:$-1)*a+b<0) then
res=res+1
elseif (Data(k,$)==4 & Data(k,2:$-1)*a+b>0) then
res=res+1
end
end
res=res/683*100
endfunction
Le temps dexcution de ce programme est relativement long (environ quelques heures
sur une machine rcente). Le rsultat est plutt bon puisquon obtient 97% de points bien
classs !
59
Chapitre 6
60
Deuxime partie
Applications
61
Chapitre 7
Vraisemblance Empirique
7.1
Introduction
Proposition 7.1.3
La probabilit empirique de (X1 , ... , Xn ) est la loi de probabilit qui maximise la
vraisemblance de lchantillon.
7.2
Thorme de Owen
Le thorme de Owen part dun constat simple, celui de la proposition 7.1.3 : la loi
de probabilit empirique dun chantillon maximise la vraisemblance de cet chantillon.
Etant donn un chantillon, lide est alors de maximiser la vraisemblance de cet chantillon en ajoutant une contrainte.
63
Chapitre 7
Notation. Soit (Xi )i N une suite de variables alatoires relles i.i.d. et R. On pose :
( n
)
n
n
Y
X
X
R() = max
npi ,
pi = 1 , pi 0
pi Xi =
i =1
i =1
i =1
2 log R(0 ) 2
R() tant dfini par un problme de maximisation, il nest pas tonnant que la dmonstration du rsultat de Owen fasse appel la dualit Lagrangienne. Nous allons voir
quil y a dualit forte dans ce problme, ce qui est utilis dans la preuve du thorme mais
qui nest trangement pas dmontr !
64
Index
I
A
Arbre couvrant . . . . . . . . . . . . . . . . . . . . . . . . . 43 Ingalit du sous-gradient . . . . . . . . . . . . . . 13
Assignment problem . . . . . . . . . . . . . . . . . . . . 44
K
B
Karush-Kuhn-Tucker . . . . . . . . . . . . . . . . . . . 29
Beaux dessins . . . . . . . . . voir un peu partout
L
C
Lagrange, fonction de . . . . . . . . . . . . . . . 33, 37
Chemin, plus court chemin . . . . . . . . . . . . . 43
LASSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Coloration, problme de . . . . . . . . . . . . . . . . . 4
Learning, problme du . . . . . . . . . . . . . . . . . . 25
Cne
Lemme des trois pentes . . . . . . . . . . . . . . . . . 12
normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
linpro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
un polydre . . . . . . . . . . . . . . . . . . . . . 23
polaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
M
tangent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Markovitz, problme de . . . . . . . . . . . . . . . . . 25
Contrainte active . . . . . . . . . . . . . . . . . . . . . . . . 23
Matrice
Convexe
dincidence . . . . . . . . . . . . . . . . . . . . . . . . . 45
ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Matrice
fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
positive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Cramer, formule de . . . . . . . . . . . . . . . . . . . . . 45
semi-dfinie positive . . . . . . . . . . . . . . . . 14
Minimum spanning tree . . . . . . . . . . . . . . . . 43
D
Diffrentielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
O
Duale, fonction . . . . . . . . . . . . . . . . . . . . . . 34, 37
Owen
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Dualit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
faible . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34, 37
P
forte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36, 38
Problme
E
daffectation . . . . . . . . . . . . . . . . . . . . . . . . 44
Epigraphe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
du mariage . . . . . . . . . . . . . . . . . . . . . . . . . 44
Equations de Karush-Kuhn-Tucker . . . . . . 29 Problmes
Extraterrestre . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
combinatoire . . . . . . . . . . . . . . . . . . . . . . . . 43
Programmation
F
linaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Fonction
non linaire convexe . . . . . . . . . . . . . . . . 28
de Lagrange . . . . . . . . . . . . . . . . . . . . . 33, 37
quadratique . . . . . . . . . . . . . . . . . . . . . . . . . 24
duale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34, 37
Q
G
quapro.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 6
R
H
Hahn-Banach . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Rgression linaire . . . . . . . . . . . . . . . . . . . . . . 53
Hessienne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Rgression ridge . . . . . . . . . . . . . . . . . . . . . . . . 53
65
S
Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
linpro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
quapro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Shortest path problem . . . . . . . . . . . . . . . . . . 43
Soucoupe . . . . . . . . . . . . . . . voir Extraterrestre
Sous-diffrentiel . . . . . . . . . . . . . . . . . . . . . . . . 35
Sous-gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Support Vector Machines . . . . . . . . . . . . 54, 56
T
Taylor, formule de. . . . . . . . . . . . . . . . . . . . . . . . 6
Thorme
de dualit faible . . . . . . . . . . . . . . . . . 34, 37
de Owen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
de dualit forte . . . . . . . . . . . . . . . . . . 36, 38
Totale unimodularit . . . . . . . . . . . . . . . . . . . . 44
Transport, problme de . . . . . . . . . . . . . . . . . . 3
U
Unimodularit . . . . . . . . . . . . . . . . . . . . . . . . . . 44
V
Vraisemblance Empirique . . . . . . . . . . . . . . . 63
W
Weirstrass, thorme de . . . . . . . . . . . . . . . . . . 5