La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Génération de colonnes ENSIIE-Master MPRO Alain Faye.

Présentations similaires


Présentation au sujet: "1 Génération de colonnes ENSIIE-Master MPRO Alain Faye."— Transcription de la présentation:

1 1 Génération de colonnes ENSIIE-Master MPRO Alain Faye

2 2 On considère le problème: (Pb) max f(x) s.c. g j (x) 0 j J, x X Avec f linéaire, g j affines Avec X={x Z n : h(x) 0 } X partie de Z n, contraintes quelconques h(x) 0 On fait les hypothèses suivantes : X contient un nombre fini de points Max f(x) s.c. x X se résout facilement f linéaire même si X est grand Autrement dit, si on enlève les contraintes g j (x) 0 on sait résoudre le problème On va tout de même tenir compte des contraintes mais considérer une autre relaxation. Introduction

3 3 On considère la relaxation de (Pb) suivante : (P) max f(x) s.c. g j (x) 0 j J, x ConvX On écrit : x= i i x i avec i 0, i i =1, x i X On reporte dans (P) et par linéarité les i sortent de f et des g j : (P') max i i f(x i ) s.c. i i g j (x i ) 0 j J i 0, i i =1 Maintenant les variables sont les i tandis que f(x i ), g j (x i ) sont les coefficients de lobjectif et des contraintes. (P') est un programme linéaire que lon va résoudre par un algorithme similaire au simplexe. (P') a généralement un nombre exponentiel de variables, on nintroduit que celles qui sont utiles, celles non introduites sont considérées hors-base et sont nulles. A une itération on introduit la variable de coût réduit>0 le plus grand. On sarrête quand toutes les variables ont leur coût réduit 0 Relaxation de X à ConvX

4 4 On démarre avec un sous ensemble restreint de points de X t.q. au moins un satisfait les contraintes. On note I les indices de ces points. 1- On résout le problème restreint : (PR') max i I i f(x i ) s.c. - i I i g j (x i ) 0 j J i I i =1 (convexité) i 0 i I On note j 0 j J, les variables duales associées aux contraintes j J et à la contrainte convexité. 2- Sous-problème: on recherche une variable de coût réduit>0. Pour cela on résout : cred=max x X f(x)+ j j g j (x) - Si cred>0 alors soit x i X la solution du sous-pb, on ajoute son indice i à I I:=I {i} (nouvelle colonne) et on retourne en 1. Sinon on arrête car tous les coûts réduits sont 0 et (P') est résolu Algorithme de génération de colonnes

5 5 Encadrement de la valeur optimale de (P ) A chaque itération de lalgorithme de génération de colonnes, on a lencadrement suivant: f(x*) +cred Où x* est la solution de (P ) et la variable duale associée à la contrainte de convexité. Par dualité, est égale à la valeur du problème restreint courant (PR ) Exercice: démontrer cet encadrement.

6 6 Exercice Max 5x 1 +4x 2 +3x 3 +2x 4 +x 5 s.c. x 1 +2x 2 +3x 3 +4x 4 +5x 5 7 x X={0,1} 5 Poser g(x)=7 - (x 1 +2x 2 +3x 3 +4x 4 +5x 5 ) 1-Ecrire (PR') le problème restreint à lenveloppe convexe des 3 points de X : ( ), ( ), ( ) 2-On résout (PR') et on obtient 1 =0, 2 =1/9, 3 =8/9, et les variables duales =1/3 et =12+1/3 Résoudre le sous-problème et rajouter la nouvelle colonne à (PR') 3-On résout le nouveau (PR') et on obtient 1 = 2 =0, 3 =3/4, 4 =1/4, et les variables duales =1/2 et =12+1/2 Résoudre le sous-problème et conclure.

7 7 Génération de coupes (P ) résolu, il se peut que lon ait résolu (Pb). Il suffit pour cela que les i soient non fractionnaires. Si tel nest pas le cas on peut toujours rajouter des coupes et réitérer lalgorithme de génération de colonnes. 1- Résoudre (P ) par lalgorithme de génération de colonnes Soit * la solution de (P ), poser x*= i * i x i. Si x* X alors Stop on a résolu (Pb) Sinon Chercher des inégalités valides violées par x*. Les rajouter à lensemble J Retourner en 1

8 8 Branch&Bound Une fois (P ) résolu et après avoir ajouté des coupes, il se peut que la solution optimale x*= i * i x i nappartienne pas à X ( * fractionnaire). On a alors recours à une procédure de type séparation et évaluation pour résoudre (Pb). De la même façon que lon rajoute des coupes à (P ) dans lalgorithme de coupes, on ajoute ici des contraintes qui séparent lensemble des solutions réalisables en deux parties. Soit x* j une coordonnée de x* fractionnaire. On sépare (P ) en deux problèmes fils: - lun avec la contrainte x j x* j, - lautre avec la contrainte x j x* j +1. On résout chacun par génération de colonnes.

9 9 Lien avec la relaxation lagrangienne Relaxation lagrangienne des contraintes J: on injecte les contraintes dans lobjectif. max f(x)+ j j g j (x) s.c. x X Avec j 0 j J Cela donne une borne supérieure de la valeur de (Pb). On recherche la plus petite borne supérieure. Le problème dual lagrangien consiste à minimiser la fonction duale: (D) min 0 max f(x)+ j j g j (x) s.c. x X Pour éliminer le max du problème interne on rajoute simplement une variable z : (D) min z, 0 z s.c. z f(x)+ j j g j (x) x X (D) est un programme linéaire de variables z et. Si on écrit le dual de (D) avec les variables i 0 une par contrainte de (D), on retrouve (P). Donc dans (Pb) la relaxation de X à son enveloppe convexe revient à faire la relaxation lagrangienne des contraintes J.

10 10 Cas particuliers La relaxation lagrangienne des contraintes J de (Pb) revient à optimiser sur ConvX cest-à-dire au problème (P). Dans le cas où lon sait décrire ConvX par un polyèdre i.e. ConvX={x : Ax b}, alors la relaxation lagrangienne de (Pb), équivalente à (P), revient au programme linéaire: max f(x) s.c. g j (x) 0 j J, Ax b Exemple: Si X={0,1} n alors ConvX=[0,1] n Dans ce cas le problème (P) revient à la relaxation continue de (Pb) dans laquelle lintégrité de x j est remplacée par 0 x j 1. Conclusion, si X={0,1} n la relaxation lagrangienne est équivalente à la relaxation continue.

11 11 Exercice: (Pb) max f(x)=x 1 +2x 2 s.c. g 1 (x)=3-3x 1 -2x 2 0 g 2 (x)=3-2x 1 -3x 2 0 x X={0,1} 2 Soit (P) la relaxation de (Pb) obtenue en passant de X à ConvX 1.Représenter graphiquement les solutions réalisables de (P). Observer le point extrême qui nest pas dans X. Que peut-on en conclure? 2.Ecrire (P) 3.Ecrire (D) le dual langrangien de (Pb) avec la variable z. 4.Ecrire le dual de (D) et vérifier que lon retrouve (P)

12 12 Généralisation: problème décomposable sous contraintes couplantes (Pb) max k=1,…,K f k (x k ) s.c. k=1,…,K g j,k (x k ) 0 j J, x k X k k=1,…K Avec | X k | fini, f k linéaire, g j,k affines ( k) Relaxation (P) = (Pb) avec x k ConvX k k=1,…K On écrit : x k = i k, i x k i avec k,i 0, k,i i =1, x k i X k On reporte dans (P) et par linéarité les k,i sortent de f k et des g j,k : (P') max k=1,…,K i k,i f k (x k i ) s.c. k=1,…,K i k,i g j,k (x k i ) 0 j J k,i i =1 k=1,…,K k,i 0 k=1,…,K, i Maintenant les variables sont les k,i


Télécharger ppt "1 Génération de colonnes ENSIIE-Master MPRO Alain Faye."

Présentations similaires


Annonces Google