PROBLEMES LINEAIRES EN VARIABLES ENTIERES … de cours_118.pdf · 1.2 Problµemes entiers...

48
PROBLEMES LINEAIRES EN VARIABLES ENTIERES Les contraintes in´ egalit´ e d’un probl` eme peuvent toujours ˆ etre mises sous forme de contraintes ´ egalit´ e, par l’introduction de vari- ables d’´ ecart.La formulation la plus g´ en´ erale d’un probl` eme lin´ eaire en nombres entiers est donc le probl` eme suivant, not´ e (PNE): Minimiser z = cx sous Ax = b x ∈N n . La relaxation la plus ´ evidente de ce probl` eme consiste `a relacher les contraintes d’int´ egrit´ e, c’est`a dire `a plonger ce probl` eme dans < n + . On obtient alors un probl` eme lin´ eaire standard, not´ e (PL), que l’on sait g´ en´ eralement r´ esoudre de fa¸con 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

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