1
Génération de colonnes
ENSIIE-Master MPRO
Alain Faye
2
On considère le problème:
(Pb) max f(x) s.c. gj(x)0 jJ , xX
Avec f linéaire, gjaffines
Avec X={xZn: h(x)0 }
X partie de Zn, contraintes quelconques h(x) 0
On fait les hypothèses suivantes :
X contient un nombre fini de points
Max f(x) s.c. xX se résout facilement f linéaire même si Xest grand
Autrement dit, si on enlève les contraintes gj(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
On considère la relaxation de (Pb) suivante :
(P) max f(x) s.c. gj(x)0 jJ , xConvX
On écrit : x=iixiavec i0, ii=1, xiX
On reporte dans (P) et par linéarité les isortent de f et des gj :
(P') max iif(xi)
s.c.
iigj(xi) 0 jJ
i0, ii=1
Maintenant les variables sont les itandis que f(xi), gj(xi) sont les coefficients
de l’objectif et des contraintes.
(P') est un programme linéaire que l’on va résoudre par un algorithme similaire
au simplexe.
(P') a généralement un nombre exponentiel de variables, on n’introduit 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 s’arrête quand toutes les variables ont leur coût réduit 0
Relaxation de X à ConvX
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') maxiIif(xi)
s.c.
-iIigj(xi) 0 jJ
iIi=1 (convexité)
i0 iI
On note j0 jJ, les variables duales associées aux contraintes jJ et à la
contrainte convexité.
2- Sous-problème: on recherche une variable de coût réduit>0. Pour cela on
résout :
cred=maxxXf(x)+jjgj(x) -
Si cred>0 alors soit xiX 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
Encadrement de la valeur optimale de (P)
A chaque itération de l’algorithme de génération de colonnes , on a l’encadrement
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.
1 / 12 100%