Documente Academic
Documente Profesional
Documente Cultură
Pierre Bonami
Optimisation Combinatoire, Masters II, ID et IF
17 d ecembre 2012
Plans coupants
Soit X = {Ax b , x 0, xj Z, j = 1, . . . , p }. Comme x minimize la relaxation continue et x X , on a x conv(X ) (x est une solution de base de (PL)). paration si P est convexe et x Th. de Se P , hyperplan T x = tel que T x x P et T x .
1 x = (6, 2 )
Plans coupants
Soit X = {Ax b , x 0, xj Z, j = 1, . . . , p }. Comme x minimize la relaxation continue et x X , on a x conv(X ) (x est une solution de base de (PL)). paration si P est convexe et x Th. de Se P , hyperplan T x = tel que T x x P et T x .
1 x = (6, 2 )
`me de se paration : Trouver T x = s 1. Proble eparant X et x . 2. Ajouter T x ` a (PL) et r ep eter les etapes (re-r esoudre PL, v erier 1. et 2.,...).
Plans coupants
Soit X = {Ax b , x 0, xj Z, j = 1, . . . , p }. Comme x minimize la relaxation continue et x X , on a x conv(X ) (x est une solution de base de (PL)). paration si P est convexe et x Th. de Se P , hyperplan T x = tel que T x x P et T x .
1 x = (6, 2 )
`me de se paration : Trouver T x = s 1. Proble eparant X et x . 2. Ajouter T x ` a (PL) et r ep eter les etapes (re-r esoudre PL, v erier 1. et 2.,...).
Question Comment d eterminer si P = . une par une les Approche de Fourrier : Eliminer variable de P jusqu` a:
Question Comment d eterminer si P = . une par une les Approche de Fourrier : Eliminer variable de P jusqu` a:
1. Une contradiction ( P = ), ou
Question Comment d eterminer si P = . une par une les Approche de Fourrier : Eliminer variable de P jusqu` a:
1. Une contradiction ( P = ), ou 2. Un interval en dimension 1.
Question Comment d eterminer si P = . une par une les Approche de Fourrier : Eliminer variable de P jusqu` a:
1. Une contradiction ( P = ), ou 2. Un interval en dimension 1.
P s ecrit :
a11 x1 + . . . . . . aj 1 x1 + . . . . . .
+a1n xn b1
+ajn xn bj
am1 x1 + . . . +amn xn bm
Etape d elimination
On elimine la derni` ere variable xn . Soient :
I + := {i {1, . . . , m} : ain > 0 I := {i {1, . . . , m} : ain < 0 I 0 := {i {1, . . . , m} : ain = 0 ai 1 x1 + . . . +ai (n1) xn1 + ain xn bi ai 1 x1 + . . . +ai (n1) xn1 + ain xn bi ai 1 x1 + . . . +ai (n1) xn1 bi i I+ i I i I0
ecrit : P s
Etape d elimination
On elimine la derni` ere variable xn . Soient : + I := {i {1, . . . , m} : ain > 0 I := {i {1, . . . , m} : ain < 0 I 0 := {i {1, . . . , m} : ain = 0 P se re- ecrit : ai (n1) ai 1 bi x1 + . . . + xn 1 + xn ain ain ain a ai 1 bi i (n1) x1 + . . . + xn 1 xn ain ain ain ai 1 x1 + . . . +ai (n1) xn1 bi i I+ i I i I0
Etape d elimination
On elimine la derni` ere variable xn . Soient : + I := {i {1, . . . , m} : ain > 0 I := {i {1, . . . , m} : ain < 0 I 0 := {i {1, . . . , m} : ain = 0 P se re- ecrit : ai (n1) ai 1 bi x1 + . . . + xn 1 + xn ain ain ain a ai 1 bi i (n1) x1 + . . . + xn 1 xn ain ain ain ai 1 x1 + . . . +ai (n1) xn1 bi Pour tout i + I + et i I on a :
n 1 j =1
i I+ i I i I0
ai j bi b+ xj xn i ai n ai n ai + n
n 1 j =1
ai + j xj ai + n
Etape d elimination
On elimine la derni` ere variable xn . Soient :
ai 1 x1 + . . . + ai (n1) xn1
Th eor` eme
(x1 , . . . , xn1 ) P xn tel que (x1 , . . . , xn ) P
Lemme de Farkas
Question :
Lemme de Farkas
Question :
Th eor` eme
Le syst` eme P := {x : Ax b } na pas de solutions si et seulement si le syst` eme uA = 0, ub < 0 et u 0 a une solution.
Lemme de Farkas
Question :
Th eor` eme
Le syst` eme P := {x : Ax b } na pas de solutions si et seulement si le syst` eme uA = 0, ub < 0 et u 0 a une solution.
D emonstration.
Supposons x P , pour tout u 0, uAx ub . Si u 0 tel que uA = 0 et ub < 0, x : uAx = 0 > ub donc x P . Pour le sens inverse, on suppose P = , en appliquant l elimination de Fourrier on trouve u satisfaisant le th eor` eme.
Corrolaire
Le syst` eme Ax + By f Cx + Dy = g , x 0 a une solution si et seulement si (u , v ) tel que uA + vC 0, uB + vD = 0 et u 0 on a uf + vg 0.
Id ee de preuve.
Cas (a). xinP et u D on a cx = uAx ub (dualit e faible). En utilisant (plusieurs fois) le lemme de Farkas on montre que si P = et D = , le syst` eme : Ax b , uA = c , u 0, ub cx est r ealisable.
Th eor` eme
Supposons P = . x est valide pour P si et seulement si u 0 tel que = uA et ub.
Th eor` eme
Supposons P = . x est valide pour P si et seulement si u 0 tel que = uA et ub.
D emonstration.
Si u 0 tel que = uA et ub , x P : x = uAx ub . Si x est valide, max{x : x P } . Par la dualit e max{x : x P } = min{ub : uA = , u 0}, la solution optimale u satisfait le Th eor` eme.
Algorithme
1. C 2. R esoudre la relaxation continue max{cx : Ax b , x , , C , x 0}. Soit x la solution. 3. Si x Zn FIN. 4. Trouver x tel que x > et x pour tout x Zn tel que Ax b et x 0. 5. Ajouter , ` a C et aller en 2.
Un principe de coupe
Un principe simple
Si x Z et x f f Z alors x f o` u f est la partie enti` ere de f .
Utilisation
Soit une in egalit e x telle que i Z i = 1, . . . , n. Si x satisfait lin egalit e et x est entier x .
Exemple
x Z2 tel que x1 + x2 1.9
Un principe de coupe
Un principe simple
Si x Z et x f f Z alors x f o` u f est la partie enti` ere de f .
Utilisation
Soit une in egalit e x telle que i Z i = 1, . . . , n. Si x satisfait lin egalit e et x est entier x .
Exemple
x Z2 tel que x1 + x2 1.9
Un principe de coupe
Un principe simple
Si x Z et x f f Z alors x f o` u f est la partie enti` ere de f .
Utilisation
Soit une in egalit e x telle que i Z i = 1, . . . , n. Si x satisfait lin egalit e et x est entier x .
Exemple
x Z2 tel que x1 + x2 1.9 x1 + x2 1.9 = 1
Exemple
On consid` ere le polyh` edre donn e par les in egalit es : x1 + x2 2 3x1 + x2 5
Exemple
On consid` ere le polyh` edre donn e par les in egalit es : x1 + x2 2 3x1 + x2 5
Exemple
On consid` ere le polyh` edre donn e par les in egalit es : x1 + x2 2 3x1 + x2 5 En prenant u1 = u2 = 1/2 : 2x1 + x2 3.5
Exemple
On consid` ere le polyh` edre donn e par les in egalit es : x1 + x2 2 3x1 + x2 5 En prenant u1 = u2 = 1/2 : 2x1 + x2 3.5 En arrondissant on obtient : 2x1 + x2 3
Fermeture el ementaire
D enition
Soient P := {x Rn : Ax b } et X = P Zn , on appelle fermeture el ementaire de Chv atal lensemble : P (1) (P ) = {x Rn : uAx ub , pout tout u 0 tel que uA Zn }.
Proposition
X P (1) (P ) P
Application r ecursive
On peut appliquer r ecursivement la proc edure : P (2) (P ) = P (1) P (1) (P ) . . . P (k ) (P ) = P P (k 1) (P )
Exemple
max 9x1 + 5x2 x1 6 3x1 + 2x2 19 x Z2 + u1 u3 x1 + 3x2 1 u2
Exemple
max 9x1 + 5x2 x1 6 3x1 + 2x2 19 x Z2 + u1 u3 x1 + 3x2 1 u2
Exemple
max 9x1 + 5x2 x1 6 3x1 + 2x2 19 x Z2 + u1 u3 x1 + 3x2 1 u2
u1 = 0, u2 = 3/11, u3 = 1/11
Exemple
max 9x1 + 5x2 x1 6 3x1 + 2x2 19 x Z2 + u1 u3 x1 + 3x2 1 u2
Exemple
max 9x1 + 5x2 x1 6 3x1 + 2x2 19 x Z2 + u1 u3 x1 + 3x2 1 u2
Exemple
max 9x1 + 5x2 x1 6 3x1 + 2x2 19 x Z2 + u1 u3 x1 + 3x2 1 u2
aij xj = ai 0
Si a0 Zm la solution optimale de la relaxation continue est enti` ere (FIN). Sinon, il existe i tel que ai 0 Z
aij xj = ai 0
fj xj +
j B
aij xj = ai 0
aij xj ai 0
aij xj ai 0
aij xj ai 0
aij x j = ai 0 > ai 0
Algorithme de Gomory
On suppose A ` a coecients entiers. 1. C 2. R esoudre la relaxation continue max{cx : Ax b , x , , C , x 0}, par lalgorithme du simplexe. Soit x la solution et B la base optimale. 3. Si x Zn FIN. 4. Choisir une ligne du tableau : xi +
j B
aij xj = ai 0
aij xj ai 0
et aller en 2.
Finitude de lalgorithme
Solution lexicographiquement minimale
Une solution x est dite lexicographiquement optimale si :
elle est optimale ; elle est minimale dans lordre lexicographique : toute autre solution optimale x est telle que x 1 < x 1 ou ( x1 = x 1 et x 2 < x 2 ) ou . . .
Remarques
Remarques
Lalgorithme de Gomory a et e d ecouvert en 1958. Tr` es vite (1960 ?) il a et e consid er e comme inutile en pratique : mauvaise convergence, num eriquement instable. . .
Remarques
Lalgorithme de Gomory a et e d ecouvert en 1958. Tr` es vite (1960 ?) il a et e consid er e comme inutile en pratique : mauvaise convergence, num eriquement instable. . . En 2008 Zanette, Balas et Fischetti ont (re)d ecouvert que lalgorithme original de Gomory ne marchait pas si mal. En 2010, Z.B.F. donnent comme exemple un probl` eme pos e par Knuth en 1960 avec 51 variables et 43 contraintes r esolu pour la premi` ere fois en 1995 avec CPLEX.
Par branch-and-cut, le probl` eme est r esolu en 6 secondes et 91 000 nuds. Lalgorithme de Gomory (l eg` erement modi e) r esoud le probl` eme en 0,15 secondes avec 1 032 coupes !
Gomory pensait que lordre lexicographique etait une technicit e th eorique uniquement n ecessaire pour la preuve. En fait, il joue un ordre capital en pratique.
Principe disjonctif
Un principe simple
Si x Rn , x 0 et x satisfait soit la contrainte i =1 ai1 xi 1 soit la n contrainte i =1 ai2 xi 1. Alors x satisfait la contrainte :
n n
Exemple
Si x 0 satisfait soit x2 x1 + 1 2 2 soit 3 x2 x1 + 1 5 5
Principe disjonctif
Un principe simple
Si x Rn , x 0 et x satisfait soit la contrainte i =1 ai1 xi 1 soit la n contrainte i =1 ai2 xi 1. Alors x satisfait la contrainte :
n n
Exemple
Si x 0 satisfait soit x2 x1 + 1 2 2 soit 3 x2 x1 + 1 5 5
Principe disjonctif
Un principe simple
Si x Rn , x 0 et x satisfait soit la contrainte i =1 ai1 xi 1 soit la n contrainte i =1 ai2 xi 1. Alors x satisfait la contrainte :
n n
Exemple
Si x 0 satisfait soit x2 x1 + 1 2 2 soit 3 x2 x1 + 1 5 5
Principe disjonctif
Un principe simple
Si x Rn , x 0 et x satisfait soit la contrainte i =1 ai1 xi 1 soit la n contrainte i =1 ai2 xi 1. Alors x satisfait la contrainte :
n n
Exemple
Si x 0 satisfait soit x2 x1 + 1 2 2 soit 3 x2 x1 + 1 5 5
Principe disjonctif
Un principe simple
Si x Rn , x 0 et x satisfait soit la contrainte i =1 ai1 xi 1 soit la n contrainte i =1 ai2 xi 1. Alors x satisfait la contrainte :
n n
Exemple
Si x 0 satisfait soit x2 x1 + 1 2 2 soit 3 x2 x1 + 1 5 5 il satisfait : 3 x2 x1 + 1 5 2
soit aij xj f0 1.
j B
soit aij xj f0 1.
j B
On divise la premi` ere in egalit e par f0 > 0 et la seconde par f0 1 < 0, soit aij x 1 f0 j
j B
soit
j B
aij x 1. f0 1 j
aij aij , }x 1. f0 f0 1 j
Remarque
Comme f0 > 0 et f0 1 < 0 : max{ et lin egalit e s ecrit : aij x + f0 j aij x 1. 1 f0 j aij aij , }= f0 f0 1
aij f0 aij f0 1
j B ,aij >0
j B ,aij <0
aij xj +
j B ,j I
aij xj = ai 0
fj xj +
j B ,j I ,f j > f 0
(1 fj )xj
j B ,j I
aij xj = aij xj
j B ,j I ,f j > f 0
ai 0 xi
j B ,j I ,f j f 0
aij xj
(1)
En utilisant lint egrit e du membre de droite on peut d eriver une coupe de la m eme mani` ere, on obtient : fj x+ f0 j 1 fj x+ 1 f0 j aij x+ f0 j aij x 1. 1 f0 j
j B ,j I ,f j f 0
j B ,j I ,f j > f 0
j B ,j I ,aij >0
j B ,j I ,aij <0
j B ,f j f 0
j B ,f j > f 0
aij xj ai 0 .
Remarques
Pour les programmes mixtes, lalgorithme de Gomory ne converge pas en temps ni. En 1996, il a et e d ecouvert que lalgorithme pouvait en fait etre utile dans le cadre dun branch-and-cut.
Algorithme de renforcement
esoudre la relaxation continue 1. R max{cx : Ax b , x , , C , x 0}. Soit x la solution et B la base optimale. 2. Si x Zn FIN. 3. Pour toute les lignes du du tableau : xi +
j B
aij xj = ai 0
telles que ai 0 Z, ajouter lin egalit e Mixte de Gomory et aller en 2. Ces coupes sont int egr ees dans tous les solveurs modernes (CPLEX, GUROBI, GLPK, COIN-OR,. . . ).