PROBLEMES LINEAIRES EN VARIABLES ENTIERES … de cours_118.pdf · 1.2 Problµemes entiers...
Transcript of PROBLEMES LINEAIRES EN VARIABLES ENTIERES … de cours_118.pdf · 1.2 Problµemes entiers...
PROBLEMES LINEAIRES EN VARIABLES
ENTIERES
Les contraintes inegalite d’un probleme peuvent toujours etre
mises sous forme de contraintes egalite, par l’introduction de vari-
ables d’ecart.La formulation la plus generale d’un probleme lineaire
en nombres entiers est donc le probleme suivant, note (PNE):
Minimiser z = cx
sous Ax = b
x ∈ N n.
La relaxation la plus evidente de ce probleme consiste a relacher
les contraintes d’integrite, c’esta dire a plonger ce probleme dans
<n+.
On obtient alors un probleme lineaire standard, note (PL), que
l’on sait generalement resoudre de facon efficace, par exemple en
utilisant l’algorithme du simplexe:
Minimiser z = cx
sous Ax = b
x ≥ 0.
1
Outils d'aide à la décision
Master SIS 2009-2010
1 Utilisation du PL continu associe
1.1 Problemes lineaires a solutions entieres
Certains problemes a coefficients entiers ont naturellement des so-
lutions entieres.
Definition : Matrice totalement unimodulaire
C’est une matrice dont toutes les sous-matrices carrees regulieres
ont un determinant egal a +1 ou -1.
Exemple: matrice de permutation.
Propriete:
Si A ∈ Zm×n, m ≤ n, est totalement unimodulaire, avec b ∈ Zm,
alors, une solution optimale x∗ du probleme lineaire continu (PL)
est entiere: x∗ ∈ Zn.
Propriete:
La matrice d’incidence sommets-aretes d’un graphe est totalement
unimodulaire si et seulement si le graphe est biparti.
C’est le cas en particulier pour les problemes d’affectation.
Remarque :
La condition d’unimodularite est suffisante mais non necessaire a
l’existence d’une solution optimale entiere du probleme (PL). En
pratique, de nombreux problemes d’optimisation a donnees entieres
ont une solution entiere bien que la matrice A ne soit pas unimod-
ulaire, mais l’integrite de la solution risque d’etre perdue si des
parametres changent.
2
Outils d'aide à la décision
Master SIS 2009-2010
1.2 Problemes entiers generaux
En general, la solution optimale du probleme continu differe de la
solution optimale entiere.
Relaxation des conditions d’integrite
Meme lorsque les solutions optimales du probleme continu et
du probleme discret different, la solution optimale continue est
interessante a calculer.
• elle peut fournir une solution approche du problme en vari-
ables entieres par recherche de la solution entiere la plus proche
dans le voisinage de la solution optimale continue (solution
”arrondie”)
• elle fournit une borne inferieure (pour un probleme de minimi-
sation) a la valeur du critere optimal en variables discretes,
• elle permet de borner les performances d’ensembles de solution
dans la technique PSEP (branch and bound)
3
Outils d'aide à la décision
Master SIS 2009-2010
Exemple:
Probleme du type sac a dos:
Minimiser z = −10x1 − 11x2
sous 10x1 + 12x2 ≤ 59
x1 et x2 entiers.
x 1
x 2
210 3 4 5 6
2
1
3
4
5
6
•
•
•
•
z=59
z=54
Optimum réel
Optimum entier
Figure 1: Les solutions optimales dans les reels et dans les entiers
L’optimum continu est le point x1 = 5.9, x2 = 0, pour lequel
z = −59.
Une simple methode d’arrondi conduit a x1 = 6, x2 = 0, qui n’est
pas admissible.
Un arrondi par valeurs inferieures donne x1 = 5, x2 = 0, pour
lequel z = −50.
La solution entiere optimale est x1 = 1, x2 = 4, pour laquelle
z = −54.
4
Outils d'aide à la décision
Master SIS 2009-2010
1.3 Utilisation de l’approche lagrangienne
Comme dans le cas de problemes lineaires en variables continues,
on peut associer aux contraintes Ax = b un vecteur de variables
duales, encore appelees multiplicateurs de Lagrange:
u = [u1, ..., ur].
Le lagrangien du probleme en variables entieres est:
L(x, u) = cx + u(b− Ax)
Modifications admissibles du vecteur de couts
Pour u donne, le probleme (PNE) est equivalent a (PNEu):
Minimiser z′ = (c− uA)x
sous Ax = b
x ∈ N n.
En particulier, on peut utiliser cette formulation pour rendre, par
un choix approprie de u, tous les coefficients du critere non negatifs.
C’est le principe de base utilise pour resoudre le probleme d’affectation
par l’algorithme hongrois.
5
Outils d'aide à la décision
Master SIS 2009-2010
Relaxations lagrangiennes
Supposons que l’ensemble des contraintes puisse etre decompose
en:
- des contraintes compliquees A1x = b1
- des contraintes simples A2x = b2.
On definit une relaxation lagrangienne du probleme (PNE) par:
Minimiser x z′ = (c− u1A1)x + u1b
sous A2x = b2
x ∈ N n.
Ce probleme est par hypothese facile a resoudre.
Soit x∗u1sa solution, pour laquelle la valeur du critere est z′∗(u1).
La solution optimale du probleme est:
z∗ = maxu1
z′∗(u1).
On s’interesse en fait a l’ensemble de ses solutions entieres admissibles,Q,
et a son enveloppe convexe conv(Q), qui est independante de u1.
6
Outils d'aide à la décision
Master SIS 2009-2010
1.4 Problemes de cout minimal dans un graphe bi-parti
Ce sont des problemes lineaires a structure particuliere pour lesquels
il existe des techniques de resolution specifiques.
Matrice de couts des arcs d’un graphe bi-parti
Dans les problemes d’affectation et de transport, le critere prend
la forme :
Minimisern∑
i=1
m∑
j=1cijxij.
Les contraintes du probleme de transport sont les suivantes :
∑mj=1 xij = qi
∑ni=1 xij = dj
avec xij entier non negatif et des donnees qui satisfont :
n∑
i=1qi =
n∑
j=1dj
Le probleme d’affectation est un cas particulier du
probleme de transport pour lequel
qi = 1 ∀i = 1, ..., n
dj = 1 ∀j = 1, ..., m
m = n.
7
Outils d'aide à la décision
Master SIS 2009-2010
La technique des couts modifies
Soit λi la variable duale associee a la contrainte ayant pour terme
de droite qi. Soit µj la variable duale associee a la contrainte
ayant pour terme de droite dj. Pour des valeurs quelconques des
parametres λi, on peut optimiser le critere equivalent :
Minimisern∑
i=1
m∑
j=1(cij − λi)xij.
que l’on peut ecrire :
Minimisern∑
i=1
m∑
j=1c′ijxij.
Les couts modifies c′ij sont les couts initiaux auxquels on a soustrait
(ou ajoute) une constante quelconque aux coefficients de chaque
ligne i.
De meme, pour des valeurs quelconques des parametres µj, on
peut optimiser le critere equivalent :
Minimiserm∑
j=1
n∑
i=1(cij − µj)xij.
que l’on peut ecrire :
Minimisern∑
i=1
m∑
j=1c′′ijxij.
Les couts modifies c′′ij sont les couts initiaux auxquels on a soustrait
(ou ajoute) une constante quelconque aux coefficients de chaque
colonne j.
On obtient ainsi le resultat suivant :
Propriete Dans un probleme de transport et dans un probleme
d’affectation, on peut ajouter ou soustraire n’importe quelle quan-
tite a chaque ligne et a chaque colonne de la matrice de couts,
((cij)), sans changer la solution optimale ((x∗ij)) du probleme.
8
Outils d'aide à la décision
Master SIS 2009-2010
Probleme d’Affectation : Algorithme Hongrois
C’est un probleme de couplage maximal de cout minimal dans
un graphe biparti complet.
1
i
n
1
j
n
cij
Figure 2: Graphe bi-parti d’un probleme d’affectation
9
Outils d'aide à la décision
Master SIS 2009-2010
Formulation
Soient n machines et n taches a executer au moindre cout (ou
en temps minimum), avec exactement une tache par machine:
Minimiser∑
cijxij
sous∑
jxij = 1 ∀i ∈ (1, ..., n)
et∑
ixij = 1 ∀j ∈ (1, ..., n)
xij = 0 ou 1∀(i, j).
Les termes de cout, cij, peuvent, selon le probleme, etre interpretes
comme des couts de transport, ou des couts de preparation des
machines, ou encore comme des durees d’execution.
Les premieres contraintes expriment que chaque tache i = 1, ..., n
doit etre executee.
Les secondes contraintes expriment que chaque machine j doit etre
utilisee.
En pratique, il arrive souvent qu’il y ait plus de machines que de
taches ou plus de taches que de machines, mais l’on peut se ramener
a la formulation standard par l’introduction de machines ou de
taches fictives, ce qui permet d’utiliser les algorithmes standards.
Pour resoudre un probleme d’affectation par l’algorithme hon-
grois, on utilise la propriete ci-dessus pour faire apparaıtre des 0
dans la matrice de couts modifies en gardant tous les couts non-
negatifs. Ensuite, si l’on peut trouver une affectation admissible
n’utilisant que des arcs dont le couts modifie est nul, on a une af-
fectation optimale.
10
Outils d'aide à la décision
Master SIS 2009-2010
Exemple
Une entreprise automobile doit assembler 5 types de vehicules
differents, notes A,B,C,D, dans 5 usines notees 1,2,3,4,5. Chaque
usine doit assembler un type de vehicules et un seul. L’objectif
est de minimiser le cout moyen d’assemblage par vehicule, sachant
que les couts moyens d’assemblage par vehicule des differents types
pour chaque usine sont donnes en kF dans le tableau suivant.
Vehicule \Usine 1 2 3 4 5
A 16 18 16 13 15
B 14 13 12 11 13
C 20 19 20 16 18
D 19 19 21 18 20
E 22 21 24 19 20
11
Outils d'aide à la décision
Master SIS 2009-2010
Formulation mathematique du probleme :
Le probleme de minimisation du cout moyen sous les contraintes
d’affectation s’ecrit :
Minimiser1
5(
5∑
i=1
5∑
j=1cijxij)
sous5∑
j=1xij = 1 ∀i ∈ (1, ..., 5)
5∑
i=1xij = 1 ∀j ∈ (1, ..., 5)
xij = 0 ou 1 ∀(i, j).
On peut sans changer le probleme multiplier le critere par 5. Comme
la solution est naturellement entiere. Les contraintes xij = 0 ou 1
peuvent etre remplacees par : xij ≥ 0 ∀i ∈ (1, ..., 5), ∀j ∈(1, ..., 5), le non depassement de la borne 1 etant assure par les
autres contraintes.
12
Outils d'aide à la décision
Master SIS 2009-2010
12
Résolution par l’algorithme hongrois
Véhicule\Usine 1 2 3 4 5 A 16 18 16 13 15 B 14 13 12 11 13 C 20 19 20 16 18 D 19 19 21 18 20 E 22 21 24 19 20
Première étape : on fait apparaître des 0 par soustraction de l’élément minimal, par ligne :
- 1 2 3 4 5 A 3 5 3 0 2 B 3 2 1 0 2 C 4 3 4 0 2 D 1 1 3 0 2 E 3 2 5 0 1
On fait de même pour les colonnes sans coefficient nul dans la matrice ci-dessus :
- 1 2 3 4 5 A 2 4 2 0 1 B 2 1 0 0 1 C 3 2 3 0 1 D 0 0 2 0 1 E 2 1 4 0 0
On ne peut pas déduire de ce tableau une affectation de coût minimal.
Outils d'aide à la décision
Master SIS 2009-2010
13
Deuxième étape:
On trace des traits sur les 0, puis on soustrait aux cases non marquées l’élément minimal non marqué :
- 1 2 3 4 5 A 2 4 2 0 1 B 2 1 0 0 1 C 3 2 3 0 1 D 0 0 2 0 1 E 2 1 4 0 0
ce qui donne,
- 1 2 3 4 5 A 1 3 2 0 1 B 1 0 0 0 1 C 2 1 3 0 1 D 0 0 3 1 2 E 1 0 4 0 0
avec 1 comme élément minimal non marqué.
On ne peut pas déduire de ce tableau une affectation de coût minimal.
Outils d'aide à la décision
Master SIS 2009-2010
14
Itération de la procédure
- 1 2 3 4 5 A 1 3 2 0 1 B 1 0 0 0 1 C 2 1 3 0 1 D 0 0 3 1 2 E 1 0 4 0 0
ce qui donne,
- 1 2 3 4 5 A 0 2 1 0 0 B 1 0 0 1 1 C 1 0 2 0 0 D 0 0 3 2 2 E 1 0 4 1 0
avec 1 comme élément minimal non marqué.
Outils d'aide à la décision
Master SIS 2009-2010
15
Résolution
On obtient alors 4 solutions optimales :
A1, B3, C4, D2 E5
A4, B3, C2, D1 E5
A5, B3, C4, D1 E2
A4, B3, C5, D1 E2.
Le minimum du critère, c’est `a dire le coût moyen d’assemblage par véhicule vaut
83/5 =16,6k€.
Outils d'aide à la décision
Master SIS 2009-2010
Probleme de transport: Algorithme du stepping stone
Probleme de Hitchcock
Des stocks de marchandises sont disponibles en quantites q1, ..., qn
aux entrepots s1, ..., sn. On veut en acheminer les quantites d1, ..., dm
aux magasins r1, ..., rm. Chaque unite de marchandise acheminee
de si a rj coute cij. Le cout total du transport doit etre minimise.
Representation graphique: graphe biparti
A
B
C
1
2
3
4
Figure 3: Graphe bi-parti d’un probleme de transport
16
Outils d'aide à la décision
Master SIS 2009-2010
Formulation mathematique
Les donnees sont supposees satisfaire:
n∑
i=1qi =
n∑
j=1dj
Formulation:
Minimisern∑
i=1
m∑
j=1cijxij
sous∑m
j=1 xij = qi ∀i = 1, ..., n∑n
i=1 xij = dj ∀j = 1, ..., m
xij ∈ N ∀i = 1, ..., n, ∀j = 1, ..., m
17
Outils d'aide à la décision
Master SIS 2009-2010
Exemple
Tableau de couts
OFFRE
2 5 4 5 60
1 2 1 4 80
3 1 5 2 60
DEMANDES 50 40 70 40 200
Algorithme de Resolution
• Recherche d’une solution admissible : Regle du coin Nord-
Ouest
1 2 3 4 OFFRE
A 50 10 60
B 30 50 80
C 20 40 60
DEMANDES 50 40 70 40 200
La valeur du critere correspondant a cette solution vaut z =
440. Cette solution peut etre representee graphiquement.
18
Outils d'aide à la décision
Master SIS 2009-2010
Solution admissible par la regle du coin
Nord-Ouest
A
B
C
1
2
3
4
10
50
30
50
20
40
Figure 4: Solution initiale admissible
19
Outils d'aide à la décision
Master SIS 2009-2010
• Amelioration: algorithme du ”stepping stone ”.
Comme on part de la solution courante, on peut augmenter
le flux sur les arcs origine-destination s’ils ne sont pas satures,
mais on peut aussi diminuer le flux sur ces arcs. De facon
equivalente, on peut donc introduire des arcs destination orig-
ines la ou les arcs directs sont utilises. On considere donc le
nouveau graphe suivant, dans lequel on va chercher un circuit
de cout negatif, de facon a ameliorer le critere en augmentant le
flux sur ce circuit (appele circulation) jusqu’a atteindre la sat-
uration. En fait, on execute ainsi une iteration de la methode
primale du simplexe.
A chaque iteration, on cherche le circuit de cout minimal.
Si ce cout est negatif, on augmente la circulation dans le cir-
cuit jusqu’a saturer une contrainte. Le fait de ne considerer
que des circuits permet de generer un deplacement admissible
par rapport aux contraintes sur l’offre et sur la demande.
Si ce cout est positif, STOP.
L’enumeration de tous les circuits elementaires pouvant etre
tres longue, on evalue directement les circuits elementaires a
cout minimal par modification de la matrice de couts, cette
modification etant autorisee par modification lagrangienne.
20
Outils d'aide à la décision
Master SIS 2009-2010
Algorithme de resolution
A chaque case occupee de la matrice de transport (variable de
base xij), on associe 2 parametres, ui et vj tels que
cij = ui + vj.
La matrice des couts reduits est alors obtenue par:
cij = cij − ui − vj
On note que les cases associees a la solution courante ont un
cout nul, et que donc il suffit de generer un deplacement sur
des cases de cout negatif pour ameliorer le critere.
Exemple : sur le tableau precedent, en imposant arbitraire-
ment la valeur d’un de ces coefficients, par exemple u1 = 0, on
obtient les coefficients suivants:
1 2 3 4 ui
A 2 5 0
B 2 1 -3
C 5 2 1
vj 2 5 4 1
La matrice des couts reduits est alors :
1 2 3 4 ui
A • • 0 4 0
B 2 • • 6 -3
C 0 -5 • • 1
vj 2 5 4 1
On met en evidence le circuit (2B,B3,3C,C2) dont le cout de
circulation d’une unite de produit est δ = −5.
21
Outils d'aide à la décision
Master SIS 2009-2010
Circulation maximale dans le graphe incremental
1 2 3 4 OFFRE
A 50 10 60
B 30 50 80
C 20 40 60
DEMANDES 50 40 70 40 200
Pour connaıtre la circulation maximale admissible, on detecte
le flux qui devient nul le premier sur les arcs en sens inverse.
Ici, la circulation maximale correspond a l’arc (3C) dont le flux
maximal est 20.
A
B
C
1
2
3
4
20
30
20
Figure 5: Circuit a cout negatif
En appliquant cette circulation de 20 unites, on fera donc
decroıtre le critere de 100. D’ou la nouvelle valeur z = 340
pour le transport donne par le tableau suivant.
22
Outils d'aide à la décision
Master SIS 2009-2010
Solution apres une iteration
1 2 3 4 OFFRE
A 50 10 60
B 10 70 80
C 20 40 60
DEMANDES 50 40 70 40 200
A
B
C
1
2
3
4
10
50
10
70
20
40
23
Outils d'aide à la décision
Master SIS 2009-2010
• Nouvelle iteration
En imposant arbitrairement la valeur d’un de ces coefficients,
par exemple u1 = 0, on obtient les coefficients suivants:
1 2 3 4 ui
A 2 5 0
B 2 1 -3
C 1 2 -4
vj 2 5 4 6
La matrice des couts reduits est alors :
1 2 3 4 ui
A • • 0 -1 0
B 2 • • 1 -3
C 5 • 5 • -4
vj 2 5 4 6
δ14 = −1.
24
Outils d'aide à la décision
Master SIS 2009-2010
A
B
C
1
2
3
4
10
20
40
Figure 6: Circuit a cout negatif
Nouvelle solution admissible
Circulation maximale pour ce cycle:10 . Alors, x12 = 0.
1 2 3 4 OFFRE
A 50 10 60
B 10 70 80
C 30 30 60
DEMANDES 50 40 70 40 200
En imposant arbitrairement la valeur d’un de ces coefficients,
par exemple u1 = 0, on obtient les coefficients suivants:
1 2 3 4 ui
A 2 5 0
B 2 1 - 2
C 1 2 -3
vj 2 4 3 5
25
Outils d'aide à la décision
Master SIS 2009-2010
• Solution optimale
La matrice des couts reduits est alors :
1 2 3 4 ui
A • 1 1 • 0
B 1 • • 1 -2
C 4 • 5 • -3
vj 2 4 3 5
A
B
C
1
2
3
4
10
50
10
70
30
30
Figure 7: Graphe du transport
Toute circulation sur un cycle admissible est positive:
δ12 = 1, δ13 = 1, δ21 = 1, δ24 = 1, δ31 = 4, δ33 = 5.
Cout minimum z=330
26
Outils d'aide à la décision
Master SIS 2009-2010
2 Methodes de coupes
pour les problemes en variables entieres
2.1 Principe
1. On resoud le probleme d’optimisation en variables continues.
Si la solution obtenue est entiere, STOP.
2. Sinon, on ajoute une contrainte supplementaire (continue)(une
coupe) au probleme pour eliminer cette solution reelle sans
eliminer aucune solution entiere. Retour a l’etape 1.
Dans le cas d’un probleme lineaire, il est interessant d’utiliser
une methode duale car la solution duale courante reste admissible.
Le polyedre d’admissibilite initial est peu a peu reduit jusqu’a
l’enveloppe convexe des solutions entieres au voisinage de l’optimum.
27
Outils d'aide à la décision
Master SIS 2009-2010
Exemple
Reprenons l’exemple precedent du type sac a dos:
Minimiser z = −10x1 − 11x2
sous 10x1 + 12x2 ≤ 59
x1 et x2 entiers.
pour lequel l’optimum continu est le point (5.9, 0).
En imposant x2 ≥ 0 et x1 ≥ 0 , on obtient par exemple les
contraintes supplementaire:
x1 + x2 ≤ 5
x2 ≤ 4
En ajoutant ces contraintes au probleme, le point (5.9, 0) de-
vient non admissible et l’on obtient comme solution optimale du
probleme dans les reels la solution optimale entiere (1, 4).
28
Outils d'aide à la décision
Master SIS 2009-2010
Exemple de coupe
x 1
x 2
210 3 4 5 6
2
1
3
4
5
6
•
•
•
•
z=59
z=54
Optimum réel
Optimum entier
x1+x2 ² 5
x2 ² 4
Figure 8: Le domaine des solutions entieres
29
Outils d'aide à la décision
Master SIS 2009-2010
2.2 L’enveloppe convexe des solutions entieres
Definition
C’est l’ensemble supremal qui contient toutes les solutions entieres
du probleme.
Proprietes
• Ce domaine est convexe.
• Tous les sommets de l’enveloppe convexe des solutions entieres
ont leurs coordonnees entieres.
• Le probleme formule dans les reels avec comme domaine de
contraintes l’enveloppe convexe des solutions entieres a pour
solution la solution optimale entiere du probleme.
• Dans l’exemple, on a directement generel’enveloppe convexe
des solutions entieres. Mais en general, on ne sait pas generer
simplement cette enveloppe.
• Pour que deux problemes en variables entieres aient la meme
solution s’ils ont le meme critere, il suffit que leurs solutions
entieres aient la meme enveloppe.
Il y a donc, en general, de nombreuses formulations equivalentes
d’un probleme en variables entieres.
30
Outils d'aide à la décision
Master SIS 2009-2010
2.3 Les coupes de Gomory
La methode de Gomory permet de generer des coupes garantissant
la convergence en temps fini de l’algorithme.
On resoud en variables continues le probleme lineaire (PL) a
coefficients entiers:
Minimiser z = cx ; cT ∈ Zn
sous Ax = b ; b ∈ Zm, A ∈ Zm×n
Soit B la matrice de base optimale. D=det(B) est entier non nul.
On peut reordonner les colonnes de A pour obtenir:
A = [B, N ], x = [xB, xN ]T , c = [cB, cN ].
Et l’on exprime xB en fonction de xN sous la forme:
xB = −B−1NxN + B−1b
ce que l’on peut reecrire, avec les coefficients de U et v entiers:
xB = − 1
DUxN +
1
Dv
Pour la solution optimale continue, les composantes de xN sont
nulles.
Si la solution continue n’est pas entiere, l’une de ses composantes
xB est fractionnaire.
31
Outils d'aide à la décision
Master SIS 2009-2010
Les coupes de Gomory
Toute solution entiere doit verifier:
UxN = v(modD)
Chaque variable hors-base de la solution optimale continue doit
donc verifier:
∑
jUijxj = vi(modD)
et aussi pour tout entier λi premier avec D
∑
j(λiUij)xj = λivi(modD).
Tous les coefficients peuvent etre ramenes entre 0 et D − 1 car
ils sont definis modulo D. On note αD le representant de α dans
cet intervalle.
L’equation precedente conduit a:
∑
j(λi)U
Dij xj = (λivi)
D + sD
avec s entier positif.
Alors l’equation:
∑
j(λiUij)
Dxj ≥ (λivi)D
est necessairement verifiee par toute solution entiere, et n’est
pas verifiee par la solution continue courante qui n’est pas entiere.
32
Outils d'aide à la décision
Master SIS 2009-2010
Les coupes de Gomory
Notons qu’une equation de congruence analogue peut etre ecrite
pour le critere lorsque la valeur obtenue pour la solution optimale
continue n’est pas entiere:
z = cBB−1b + (−cBB−1N + cN)xN .
Ces inequation constituent bien des coupes. En pratique, pour
chaque xi non entier, on choisit λi pour lequel le second membre
(λivi)D est maximum.
Remarque:
Lorsque l’on rajoute des coupes, la solution primale devient
non admissible, mais la solution duale reste admissible (mais sous-
optimale).
Il est donc interessant apres introduction de coupes de resoudre
le probleme lineaire par l’algorithme du simplexe dual a partir de
sa solution courante, qui est non admissible mais duale realisable.
33
Outils d'aide à la décision
Master SIS 2009-2010
3 Les Methodes Arborescentes
Ces methodes sont bien connues depuis le debut des annees 1960,
et sont toujours parmi les plus utilisees. Notons que ce sont des
methodes optimales et qu’il existe par ailleurs de nombreuses tech-
niques heuristiques qui permettent d’obtenir des solutions approchant
la solution optimale.
Considerons un un programme lineaire en nombres entiers (PNE)
du type :
Minimiser z = cx
sous Ax = b ; b ∈ Zm
x ∈ N n.
On suppose que les contraintes Ax = b definissent un polyedre
convexe borne.
Un cas particulier important est lorsque le probleme est ecrit sous
forme d’un programme lineaire en variables bivalentes (PB):
Minimiser z = cx
sous Ax = b ; b ∈ Zm
xj = 0 ou 1 ∀j = 1, .., n.
34
Outils d'aide à la décision
Master SIS 2009-2010
3.1 Enumeration implicite
Une enumeration explicite de toutes les solutions n’est pas envis-
ageable pour les problemes de grandes tailles. Pour 20 variables
booleennes, on a deja 220 > 1000000.
On procede donc par enumeration implicite sur la base des
principes de separation et d’evaluation.
3.2 Principes de separation
Le principe est de separer l’ensemble des solutions en fixant la
valeur d’une ou de plusieurs variables.
x1=0 x1=1
x2=0 x2=1
x3=0 x3=1 x3=0 x3=1 x3=0 x3=1 x3=0 x3=1
x2=1x2=0
Figure 9: Principe de separation
35
Outils d'aide à la décision
Master SIS 2009-2010
Principes de separation
On a deux techniques extremes de separation :
• Largeur d’abord
L’avantage de cette technique est que l’on progresse sans ou-
blier de solution. On maintient donc l’optimalite de la procedure
sans backtracking.
• Profondeur d’abord
L’avantage est l’obtention rapide d’une solution admissible,
sur laquelle on peut s’arreter si la recherche d’optimalite est
trop longue,
qui permet rapidement d’eliminer des branches de solutions
sous-optimales.
36
Outils d'aide à la décision
Master SIS 2009-2010
3.3 Techniques d’evaluation
• On part generalement d’une solution admissible obtenue en
fixant toutes les valeurs des variables.
On obtient ainsi un majorant z du critere.
• Pour le sous-ensemble de solutions couramment teste, Si, on
cherche un minorant par une fonction d’evaluation:
e(Si) ≤ minx∈Si
f (x)
Une telle fonction est generalement obtenue par relaxation du
probleme:
– Relaxation des contraintes d’integralite pour les variables
non fixees
– Relaxation lagrangienne des contraintes ”compliquees” et
resolution de problemes combinatoires ”simples.
L’utilisation d’une solution duale approchee est souvent
interessante.
• Si e(Si) ≥ z, Si ne contient aucune solution optimale. On
peut supprimer Si de l’exploration.
• Si e(Si) < z, on teste l’admissibilite de la solution. Si elle
est admissible, on actualise z. Si elle ne l’est pas, on continue
l’exploration jusqu’a obtention d’une des conditions precedentes.
• on explore ainsi tous les branchements possibles.
37
Outils d'aide à la décision
Master SIS 2009-2010
3.4 Mise en oeuvre des methodes par separation et evaluation
• Choix de la fonction d’evaluation:
Eviter les evaluations trop couteuses en temps de calcul car
le nombre d’evaluations peut etre considerable.
• Sommet a separer a chaque etape:
– Profondeur d’abord.
Fournit rapidement une solution admissible et une bonne
valeur de z.
– Largeur d’abord.
Choix systematique du sommet a Si minimal.
• Choix de la variable de separation
.
Sur la base d’evaluations anterieures, on peut penaliser les pos-
sibilites xi = 1 et xi = 0.
38
Outils d'aide à la décision
Master SIS 2009-2010
3.5 Exemple : Probleme du sac a dos
Forme generique du probleme
Maximiser z =n∑
i=1cixi
sousn∑
i=1cixi ≤ b
x ∈ N n.
Techniques d’evaluation
• Etablissement d’une borne superieure de l’optimum
On sait resoudre le probleme dans les reels :
Probleme dual :
Minimiser w = ub
sous uai ≥ ci
u ≥ 0
Tous les parametres etant positifs, la solution optimale est :
u? = maxi
(ci
ai) =
ci?
ai?
La solution primale associee est
xi = 0 pour i 6= i?,
x?i? =
b
ai?
Dans le cas ou les variables xi sont booleennes ou entieres
mais bornees, on doit mettre les variables xi a leur valeur
maximale, par ordre decroissant de ( ciai
) jusqu’a saturation de
la contrainte.
On obtient ainsi un majorant z du critere.
39
Outils d'aide à la décision
Master SIS 2009-2010
• Recherche d’une solution initiale admissible
On cherche maintenant a resoudre le probleme dans les en-
tiers. L’algorithme dit glouton est directement deduit de la
procedure optimale. Mais on arrete la mise de variables xi
a leur valeur maximale, celle-ci etant par definition entiere, a
l’entier precedent la saturation de la contrainte.
On obtient ainsi un minorant z¯
du critere.
• On explore ensuite les branches de l’arbre de decision. Au
sous-ensemble de solutions couramment teste, Sk, correspond
un terme fixe dans le critere et une capacite residuelle bk. On
resoud alors un probleme reduit relaxe pour obtenir un ma-
jorant du critere pour toutes les solutions en aval du noeud
teste.
e(Sk) ≥ maxx∈Sk
f (x)
• Si e(Sk) ≤ z¯, Sk ne contient aucune solution meilleure que la
solution courante. On peut supprimer Sk de l’exploration.
• Si e(Sk) > z¯, on teste l’admissibilite de la solution. Si elle
est admissible, on actualise z¯. Si elle ne l’est pas, on continue
l’exploration jusqu’a obtention d’une des conditions precedentes.
• on explore ainsi tous les branchements possibles.
40
Outils d'aide à la décision
Master SIS 2009-2010
3.6 Application Numerique : Chargement d’un avion cargo
Enonce du Probleme
Un avion cargo a une capacite de chargement de 18 unites de vol-
ume. Il doit transporter des conteneurs de marchandises de facon
a maximiser la valeur totale de son chargement. Les conteneurs
disponibles sont en quantite illimitee pour chaque type, et choisis
parmi la liste suivante:
• Conteneur de type A, valeur 6, volume 2.
• Conteneur de type B, valeur 8, volume 3.
• Conteneur de type C, valeur 13, volume 4.
• Conteneur de type D, valeur 17, volume 5.
• Conteneur de type E, valeur 20, volume 7.
1. Resoudre ce probleme de facon heuristique par un algorithme
glouton
2. Puis determiner la solution optimale par une procedure de
separation et evaluation (branch & bound).
41
Outils d'aide à la décision
Master SIS 2009-2010
Resolution
Les donnees conduisent a la formulation suivante:
Maximiser z = 6xA + 8xB + 13xC + 17xD + 20xE
sous 2xA + 3xB + 4xC + 5xD + 7xE ≤ 18
avec xK ∈ N nombre de conteneurs de type K pour K ∈ {A, .., E}
1. Pour appliquer l’algorithme glouton, classons les variables par
ordre decroissant de cK/aK :
cD/aD = 3.4,
cC/aC = 3.25,
cA/aA = 3.0,
cE/aE ' 2.86,
cB/aB ' 2.67.
On met a sa valeur maximale la variable xD, dot le terme ca
est le plus fort:
xD = 3
Ayant fixe cette valeur, la variable de plus grand ca pouvant
prendre une valeur entiere positive est xA. D’ou:
xA = 1
Avec ces deux variables fixees, la capacite residuelle est 1. Elle
ne permet pas qu’une autre variable soit positive.
La solution sous optimale
xD = 3
xA = 1donne z = 57.
42
Outils d'aide à la décision
Master SIS 2009-2010
2. La valeur precedente fournit une borne inferieure de la solu-
tion optimale: z = 57. Une borne superieure est obtenue en
mettant xD a sa valeur rationnelle maximale: xD = 18/5, qui
donne z = 61.2.
Pour determiner la solution optimale par la technique branch
& bound, separons tout d’abord par rapport a xD:
• xD = 3. On resoud le programme lineaire relaxe (variables
rationnelles):
Maximiser z = 6xA + 8xB + 13xC + 20xE + 51
sous 2xA + 3xB + 4xC + 7xE ≤ 3
ce qui donne xC = 3/4 et z=60.75 (non-admissible). Comme
z ≥ z, on continue la separation:
– xA = 1. On resoud le programme lineaire relaxe
Maximiser z = 8xB + 13xC + 20xE + 57
sous 3xB + 4xC + 7xE ≤ 1
ce qui donne xC = 1/4 et z=60.25 (non-admissible).
Sur cette branche, la seule solution entiere est xB =
xC = xE = 0 qui redonne la solution du 1. C’est la
meilleure solution rencontree jusqu’a present.
– xA = 0. Le programme lineaire relaxe a pour seule
solution entiere xB = 1. La contrainte est alors saturee.
La solution est donc admissible et donne z = 59. On
met a jour z = 59.
C’est la meilleure solution rencontree jusqu’a present.
43
Outils d'aide à la décision
Master SIS 2009-2010
• xD = 2. On resoud le programme lineaire relaxe:
Maximiser z = 6xA + 8xB + 13xC + 20xE + 34
sous 2xA + 3xB + 4xC + 7xE ≤ 8
ce qui donne xC = 2 et z=60. La solution est admissible
et donne z = 60. On met a jour z = 60.
C’est la meilleure solution rencontree jusqu’a present.
• xD = 1. On resoud le programme lineaire relaxe :
Maximiser z = 6xA + 8xB + 13xC + 20xE + 17
sous 2xA + 3xB + 4xC + 7xE ≤ 13
ce qui donne xC = 13/4 et z=59.25. Cette borne superieure
est inferieure a z. Cette branche ne contient donc pas
l’optimum.
• xD = 0. On resoud le programme lineaire relaxe :
Maximiser z = 6xA + 8xB + 13xC + 20xE
sous 2xA + 3xB + 4xC + 7xE ≤ 18
ce qui donne xC = 9/2 et z=58.5. Cette borne superieure
est inferieure a z. Cette branche ne contient donc pas
l’optimum.
Tout le domaine des solutions entieres a ete explore.
L’optimum z∗ = 60 a ete obtenu pour xA = 0, xB = 0, xC =
2, xD = 2 , xE = 0.
44
Outils d'aide à la décision
Master SIS 2009-2010
L’arbre d’exploration a ete le suivant.
z = 61.2
z = 60.75 z = 60 z = 59.25 z = 58.5
z = 57 z = 59
NA
NA NA NAA(xc=2)
A A(xB=1)
xD=3xD=2 xD=1
xD=0
xA=1 xA=0
Figure 10: Arbre d’exploration
45
Outils d'aide à la décision
Master SIS 2009-2010
4 Conclusions sur l’optimisation en variables discretes
4.1 Complexite des Algorithmes
La plupart des problemes combinatoires, meme l’un des plus sim-
ples, le probleme du sac a dos, sont NP-difficiles.
4.2 Les techniques classiques de resolution
• Les methodes arborescentes
Elles reposent sur 2 principes : separation et evaluation. La
tache d’evaluation est generalement effectuee en fixant les valeurs
entieres de certaines variables et en resolvant le pb residuel en
variables continues, de facon a obtenir une borne inferieure du
critere pour l’ensemble de solutions en cours d’exploration.
• Les methodes de coupe
Elles resolvent generalement le pb en variables continues et
generent de nouvelles contraintes continues qui permettent
d’approcher peu a peu la solution optimale entiere.
• La programmation dynamique
Dans cette approche, chaque variable discrete est interpretee
comme une variable de decision. L’ensemble des decisions a
prendre est partitionne par etapes, les decisions en amont pou-
vant influencer les decisions en aval. Le probleme est en general
resolu de l’aval vers l’amont, en evaluant toutes les decisions
possibles a chaque etape, mais en reduisant la combinatoire
decisionnelle grace au principe d’optimalite de Bellman.
46
Outils d'aide à la décision
Master SIS 2009-2010
4.3 Les meta-heuristiques
L’objectif des techniques d’optimisation de ce chapitre est de resoudre
des problemes d’optimisation difficiles, c’est a dire :
• Certains problemes d’optimisation combinatoire pour lesquels
on ne connait pas d’algorithme exacts rapides (cas des prob-
lmes dits NP-difficiles).
• Certains problemes d’optimisation en variables continues pour
lesquel on ne connait pas d’algorithme permettant de reperer
un optimum global a coup sur en un nombre fini de calculs.
La plupart des heuristiques sont concues pour resoudre des
problemes combinatoires specifiques.
Les meta-heuristiques sont capables de s’adapter a differents
types de problemes, combinatoires ou continus.
Les meta-heuristiques sont principalement :
• La methode du recuit simule
• les algorithmes genetiques
• la methode TABOU
Elles ont generalement les caracteristiques suivantes :
• Elles sont stochastiques, pour faire face a l’explosion combina-
toire des choix possibles
• Elles sont directes (sans calcul de gradients ou sous-gradients)
• Elles sont inspirees par des analogies
• Elles doivent etre adaptees pour traiter des problemes continus
car elles s’appuient sur un codage des parametres, non sur les
parametres eux-meme.
47
Outils d'aide à la décision
Master SIS 2009-2010