Programmation linéaire en nombres entiers - …ferland/ift3515/contenu_cours/9... · Méthode des...

Preview:

Citation preview

Programmation linéaire

en

nombres entiers

Introduction

• Problème de programmationlinéaire en nombres entiers

(P)

• F(P) = domaine réalisable de P

• Exemple

njx

mibxa

xc

j

i

n

j

jij

j

n

j

j

,,1entier ,0

,,1 àSujet

Min

1

1

=≥

==∑

=

=

entier,0,

2

2010 àSujet

5Min

21

1

21

21

≤+

−−=

xx

x

xx

xxz

Introduction

• Problème de programmationlinéaire en nombres entiers

(P)

• F(P) = domaine réalisable de P

• Exemple

njx

mibxa

xc

j

i

n

j

jij

j

n

j

j

,,1entier ,0

,,1 àSujet

Min

1

1

=≥

==∑

=

=

entier,0,

2

2010 àSujet

5Min

21

1

21

21

≤+

−−=

xx

x

xx

xxz

2010 21 =+ xx

21 =x

( ) ( ) ( ) ( ) ( ) ( ) ( ){ }( ) 0,0 , 1,0 , 2,0 , 0,1 , 1,1 , 2,1 , 0,2F P =

Introduction

• Problème de programmationlinéaire en nombres entiers

(P)

• F(P) = domaine réalisable de P

• dénote le problème (P) où les contraintes d’intégralité sur les variables sont rélaxées.

• Exemple

njx

mibxa

xc

j

i

n

j

jij

j

n

j

j

,,1entier ,0

,,1 àSujet

Min

1

1

=≥

==∑

=

=

entier,0,

2

2010 àSujet

5Min

21

1

21

21

≤+

−−=

xx

x

xx

xxz

( )P

2010 21 =+ xx

21 =x

( )P

Introduction

• Problème de programmationlinéaire en nombres entiers

• F(P) = domaine réalisable de P

• dénote le problème (P) où les contraintes d’intégralité sur les variables sont rélaxées.

• Exemple

njx

mibxa

xc

j

i

n

j

jij

j

n

j

j

,,1entier ,0

,,1 àSujet

Min

1

1

=≥

==∑

=

=

entiers,0,

2

2010 àSujet

5Min

21

1

21

21

≤+

−−=

xx

x

xx

xxz

( )P

2010 21 =+ xx

21 =x

( )PF

( )P

Introduction

• Problème de programmationlinéaire en nombres entiers

(P)

• Résolution du problème

Pourquoi pas résoudre le problème relaxé et arrondir la solution?

• Exemple

Solution du problème relaxé:

(2, 9/5) et z = –11

Solution arrondie: (2, 1) et z = –7

njx

mibxa

xc

j

i

n

j

jij

j

n

j

j

,,1entier ,0

,,1 àSujet

Min

1

1

=≥

==∑

=

=

entiers,0,

2

2010 àSujet

5Min

21

1

21

21

≤+

−−=

xx

x

xx

xxz

2010 21 =+ xx

21 =x

( )PF

Or (0, 2) est réalisable avec z = –10

Méthodes de résolution

• Principe de base

Générer un ensemble de contraintes

linéaires que nous ajoutons à (P)

• Exemple

entiers,0,

2

2010 àSujet

5Min

21

1

21

21

≤+

−−=

xx

x

xx

xxz

2010 21 =+ xx

21 =x

( )PF

42 21 =+ xx

Méthodes de résolution

• Principe de base

Générer un ensemble de contraintes linéaires que nous ajoutons à (P) pour engendrer un nouveau problème (PR) tel que

De plus en résolvant le problème relaxé , la solution optimale est entière et donc une solution optimale pour (P).

• Exemple

2010 21 =+ xx

21 =x

( )PF

42 21 =+ xx

entiers,0,

42

2

2010 àSujet

5Min

21

21

1

21

21

≤+

≤+

−−=

xx

xx

x

xx

xxz

( ) ( )( ) ( )

F PR F P

F PR F P

=

PR

Méthode des coupes de Gomory

• Principe des méthodes de coupes

Introduire de nouvelles contraintes linéaires au problème pour réduire le domaine réalisable du problème relaxé sans pour autant éliminer de points du domaine réalisable du problème avec les contraintes de nombre entier sur les variables.

• La procédure consiste à résoudre une suite de problèmes relaxés jusqu’à ce qu’une solution optimale en nombres entiers soit obtenue.

• Un problème de la suite est obtenu du précédent en lui ajoutant une contrainte linéaire (coupe) supplémentaire.

n

j 1

1

Considérons le problème de programmation linéaire

en nombres entiers suivant:

( ) Min

Sujet à 1, ,

0,entier, 1, ,

j j

n

ij j i

j

j

P c x

a x b i m

x j n

=

=

= =

≥ =

∑ ⋯

Voyons comment construire une coupe de Gomory.Soit une base optimale de ( ), et la variable de basedans la ième ligne du tableau optimal prenant une valeur qui n'est pas entière.

kB P x

i

1

1

1 2

11 12 1 1 1

1 2

1

var terme

base droite

0 1 0 0

1 0 0 0

m

m

k j j j n

j j n

k i i ij in i

j m m

x x x x x x x z

x t t t t b

x t t t t b

x t t

−… … … … …

… … … … …

… … … … …

2

1 2

0 0 1 0

0 0 0 1

mj mn m

j n

t t b

z c c c c z− −

… … … … …

… … … … …

Le tableau optimal est de la forme:

( )

{ }

La ligne correspondante du tableau optimal est de la forme:

1

où : est l'indice d'une variable hors base et n'est pas entier.

ik ij j

j J

i

x t x b

J j j b

+ =

=

( )

{ }

La ligne correspondante du tableau est de la forme:

1

où : est l'indice d'une variable hors base et

n'est pas entier.

ik ij j

j J

i

x t x b

J j j

b

+ =

=

Dénotons le plus grand entier (plancher) .Puisque 0 , alors

et par conséquent. (2)

j

ij j ij j

j J j J

ik ij j k ij j

j J j J

d d

x j

t x t x

x t x x t x b

∈ ∈

∈ ∈

= ≤ ≥ ∀

+ ≤ + =

∑ ∑

∑ ∑

( )

{ }

entier. pasest n' b

et base hors variableuned' indicel'est :où

1

:forme la deest du tableau antecorrespond ligne La

i

i

Jj

jijk

jjJ

bxtx

=

=+∑∈

(3).satisfait )( desolution touteAinsi

)3(.

que (2) de découle il , variablesdes

éintégralitd' contrainte la sconsidéron nous Si

P

bxtx

x

ij

Jj

ijk

j

≤+∑∈

)2(.

conséquentpar et

alors ,0 Puisque

.(plancher)entier grand plus le sDéfinisson

ij

Jj

ijk

Jj

jijj

Jj

ij

j

bxtx

xtxt

jx

dd

≤+

∀≥

≤=

∑∑

∈∈

( ) ( ) ( )

( ) ( ) 0et 0

que Notons

4

:(1)et (3) entre différence lefaisant

en obtenuerelation la maintenant sConsidéron

<−≤−

−≤−∑∈

iijij

ij

Jj

ijij

bbtt

bbxtt

i

i

).( desolution aucune éliminen' )( danson introductison et

(4),satisfait elle alors (3),et (1)satisfait )( desolution toutePuisque

PP

P

( ) ( ) ( )

( ) ( ) 0et 0

que Notons

4

:(1)et (3) entre différence lefaisant

en obtenuerelation la maintenant sConsidéron

<−≤−

−≤−∑∈

iijij

ij

Jj

ijij

bbtt

bbxtt

i

i

).( desolution aucune éliminen' )( danson introductison et

(4),satisfait elle alors (3),et (1)satisfait )( desolution toutePuisque

PP

P

).( relaxé problèmedu réalisable domaine

leréduit on introductison et (4) passatisfait ne 0

où )( relaxé problèmedu actuellesolution la contre,Par

P

Jjx

P

j ∈∀=

( ) ( ) ( ) ( )

Pour poursuivre la résolution, il suffit d'introduire la contrainte

où est une variable d'écart avec coût nul, au dernier tableau du

simplex

i ii iij ij j ij ij j

j J j J

t t x b b t t x x b b

x

τ

τ

∈ ∈

− ≤ − ↔ − + = − ∑ ∑

( )

e pour générer une solution de base au nouveau problème en

considérant comme la variable de base dans la nouvelle ligne du tableau.

Cette solution de base n'est pas réalisable puisque 0.i i

x

x b b

τ

τ = − <

Il suffit de poursuivre la résolution avec l'algorithme dual du simplexe.

1

1

1 2

11 12 1 1 1

1 2

var terme

base droite

0 1 0 0 0

1 0 0 0 0

m

m

k j j j n

j j n

k i i ij in i

j

x x x x x x x x z

x t t t t b

x t t t t b

x t

τ−… … … … …

… … … … …

… … … … …

1 2

1 1 2 2

1 2

0 0 1 0 0

0 0 0 1 0

0 0 0 0 1

i

m m mj mn m

ii i i i ij ij in in

j n

t t t b

x t t t t t t t t b b

z c c c c z

τ − − − − −

− −

… … … … …

… … … … …

… … … … …

( ) ( ) ( ) ( )

Pour poursuivre la résolution, il suffit d'introduire la contrainte

où est une variable d'écart avec coût nul, au dernier tableau du

simplex

i ii iij ij j ij ij j

j J j J

t t x b b t t x x b b

x

τ

τ

∈ ∈

− ≤ − ↔ − + = − ∑ ∑

( )

e pour générer une solution de base au nouveau problème en

considérant comme la variable de base dans la nouvelle ligne du tableau.

Cette solution de base n'est pas réalisable puisque 0.i i

x

x b b

τ

τ = − <

Il suffit de poursuivre la résolution avec l'algorithme dual du simplexe.

( )

Notes:

1) Si (i.e., est entier) , et si n'est pas entier, alors

1

indique que ( ) n'est pas réalisable puisque le terme de gauche prend une

valeur entière

iij ij ij

ik ij j

j J

t t t j J b

x t x b

P

= ∀ ∈

+ =∑

pour toute solution réalisable de ( ) alors que le terme de

droite n'est pas entier.

2) Une dérivation similaire s'applique à toutes les itérations.

P

1 2

1 2 3

1 2 3

Considérons le problème suivantMin 21 11Sujet à 7 4 13

, , 0, entiers

x xx x x

x x x

− −+ + =

1 2 3

2 3 4

Itération 1:Solution de base optimal de ( )

4 1 13

7 7 7valeur opt. 39

Nouvelle contrainte:4 4 1 1 13 13

7 7 7 7 7 7

P

x x x

x x x

+ + =

= −

− + − + = −

1647134

Ainsi .4713Or

.647

6

7

1

7

4

:egéométriqution Interpréta

1212

213

3232

≤⇔−≤++−−

−−=

−≤−−⇔−≤−−

xxxx

xxx

xxxx

( ) ( ) ( ) ( )i iij ij j i ij ij j i

j J j J

t t x b b t t x x b bτ

∈ ∈

− ≤ − ↔ − + = − ∑ ∑

1 2

1 2 3

1 2 3

Min 21 11Sujet à 7 4 13

, , 0, entiers

x xx x x

x x x

− −+ + =

entiers ,0,,,7

6

7

1

7

4

1347 àSujet

1121Min

de relaxé problème le Résoudre

:2Itération

4321

432

321

21

−=+−−

=++

−−

xxxx

xxx

xxx

xx

2

137opt.valeur

2

3

4

7

4

1

1

obtenons Nous

432

41

−=

=−+

=+

xxx

xx

2 3 4

3 4 5

3 4 5

1 7 3Nouvelle contrainte à partir de la 2ième ligne :

4 4 21 1 7 7 3 3

4 4 4 4 2 21 1 1

4 4 2

x x x

x x x

x x x

+ − =

− + − + + = −

− − + = −

3 4

4

2 3 4

3 2 3

3

3 1 2

Interprétation géométrique2

Substituons la valeur de tirée de ladernière contrainte ajoutée

4 1 6

7 7 7pour obtenir

4 1 62.

7 7 7Substituons maintenant la valeur de

13 7 4pour ob

x xx

x x x

x x x

xx x x

− − ≤ −

− − + = −

− − − + ≤ −

= − −

1 2 2

1 2 1 2

tenir8 32 4 6

13 8 27 7 7 7

8 68 4 2 13 2 3

7 7

x x x

x x x x

− + + − + ≤ −

⇔ + ≤ − + − ⇔ + ≤

( ) ( )

( ) ( )

iij ij j i

j J

iij ij j i

j J

t t x b b

t t x x b bτ

− ≤ −

− + = −

∑վ

1 2

1 2 3

2 3 4

1 2 3 4

Min 21 11Sujet à 7 4 13

4 1 6

7 7 7, , , 0, entiers

x xx x x

x x x

x x x x

− −+ + =

− − + = −

33optimaleValeur

1,3,0

:entière optimalesolution Donc

1

32

1

obtenons Nous

321

41

521

531

−=

===

=+

=++

=−+−

xxx

xx

xxx

xxx

entiers ,0,,,,2

1

4

1

4

12

3

4

7

4

1

1 àSujet

1121Min

problèmeleRésoudre

:3Itération

54321

543

432

41

21

−=+−−

=−+

=+

−−

xxxxx

xxx

xxx

xx

xx

Référence:

A. Schrijver, Theory of Linear and Integer Programming,

Wiley & Sons, 1986, 354 - 357

Convergence de la méthode de coupes de Gomory

En faisant certaines hypothèses sur le choix de la ligne du

tableau pour spécifier la prochaine coupe, l'auteur demontre:

"... the cutting plane method terminates"

Méthode de Branch & Bound

• Dans cette méthode nous résolvons également une suite de problèmes relaxés.

• Nous résolvons d’abord . Si la solution optimale est entière, alors cette solution est optimale pour le problème original (P).

• Sinon, nous utilisons une variable n’est pas entière.

• Nous considérons deux nouvelles contraintes

( )P x

ii xx valeur ladont

(plancher de )

ou

(plafond de )

ii i

ii i

x x x

x x x

1

1

Min

( ) Sujet à 1, ,

0, entier 1, ,

n

j j

j

n

ij j i

j

j

c x

P a x b i m

x j n

=

=

= =

≥ =

∑ ⋯

1

1

Min

( ) Sujet à 1, ,

0, 1, ,

n

j j

j

n

ij j i

j

j

c x

P a x b i m

x j n

=

=

= =

≥ =

∑ ⋯

66611 21 =+ xx

4510 21 =+ xx

entiers ,0,

4510

66611 àSujet

5Min

21

21

21

21

≤+

≤+

−−=

xx

xx

xx

xxz

375.24

125.4,75.3

:relaxé prob. opt. Sol.

21

−=

==

z

xx

1

1

Nouvelles contraintes considérées:

3.75 3

ou

3.75 4

x

x

≤ =

≥ =

( )Avec ces deux nouvelles contraintes - points réalisables de sont conservés - une tranche du domaine réalisable du problème relaxé est éliminée

P

66611 21 =+ xx

4510 21 =+ xx

entiers ,0,

4510

66611 àSujet

5Min

21

21

21

21

≤+

≤+

−−=

xx

xx

xx

xxz

375.24

125.4,75.3

:relaxé prob. opt. Sol.

21

−=

==

z

xx

1

1

Nouvelles contraintes considérées:

3.75 3

ou

3.75 4

x

x

≤ =

≥ =

( )Tranche de

éliminée

F P

66611 21 =+ xx

4510 21 =+ xx

entiers ,0,

4510

66611 àSujet

5Min

21

21

21

21

≤+

≤+

−−=

xx

xx

xx

xxz

375.24

125.4,75.3

:relaxé prob. opt. Sol.

21

−=

==

z

xx

1

1

Nouvelles contraintes :3.75 3

ou3.75 4

x

x

≤ =

≥ =

( )Tranche de

éliminée

F P

( )2PF( )3PF

( )

( ) ( )2 3

Par contre, ce qui reste de n'est plus connexe puisqu'il

comporte deux sous-ensembles et .

F P

F P F P

66611 21 =+ xx

4510 21 =+ xx

entiers ,0,

4510

66611 àSujet

5Min

21

21

21

21

≤+

≤+

−−=

xx

xx

xx

xxz

1

1

Nouvelles contraintes considérées:

3.75 3

ou

3.75 4

x

x

≤ =

≥ =

( )2PF( )3PF

( )

entiers ,0,

4

4510

66611 àSujet

5Min

21

1

21

21

212

≤+

≤+

−−=

xx

x

xx

xx

xxzP ( )

entiers ,0,

3

4510

66611 àSujet

5Min

21

1

21

21

213

≤+

≤+

−−=

xx

x

xx

xx

xxzP( ) ( )

( ) ( )

22

33

Poursuivre la résolution en associant des problèmes à

et à .

P F P

P F P

( ) ( )( )

2 3La meilleure des deux solutions optimales de et est la solution optimale de .

P P

P

• Prochaine itération

Choisir un des deux problèmes (P2) ou (P3 )

Le traiter comme nous avons fait pour P.

• Dans notre exemple, nous choisissons le problème (P3)

2

2

Nouvelles contraintes considérées:

4.2 4

ou

4.2 5

x

x

≤ =

≥ =

66611 21 =+ xx

4510 21 =+ xx

( )2PF( )3PF

( )

entiers ,0,

3

4510

66611 àSujet

5Min

21

1

21

21

213

≤+

≤+

−−=

xx

x

xx

xx

xxzP

( )3

1 2

Sol. opt. prob. relaxé :

3, 4.2

24

P

x x

z

= =

= −

( )Tranche de

éliminée

F P

2

2

Nouvelles contraintes considérées:

4.2 4

ou

4.2 5

x

x

≤ =

≥ =

66611 21 =+ xx

4510 21 =+ xx

( )2PF( )5F P

( )

entiers ,0,

3

4510

66611 àSujet

5Min

21

1

21

21

213

≤+

≤+

−−=

xx

x

xx

xx

xxzP

( )

entiers

àSujet Min

,0,43

451066611

5

21

2

1

21

21

215

≤+

≤+

−−=

xx

x

x

xx

xx

xxzP( )4 1 2

1 2

1 2

1

2

1 2

Min 5 Sujet à 11 6 66

10 4535

, 0, entiers

P z x x

x xx xxx

x x

= − −

+ ≤+ ≤

≤≥

• Prochaine itération

Choisir un des problèmes qui n’a pas encore ététraité.

Le traiter comme nous avons fait pour P.

• Dans notre exemple, nous choisissons le problème (P5)

{ }5 4 2, ,P P P

66611 21 =+ xx

4510 21 =+ xx

( )2PF( )5PF

( )

entiers

àSujet Min

,0,43

451066611

5

21

2

1

21

21

215

≤+

≤+

−−=

xx

x

x

xx

xx

xxzP

( )5

1 2

Sol. opt. prob. relaxé :

3, 4

23

P

x x

z

= =

= −

Puisque la solution du sous-problème relaxé est entière, elle est une solution réalisable de (P).Nous ne générons pas de nouveau sous-problème puisque nous avons identifié la meilleure solution de cette région du domaine réalisable de (P).Au cours du processus, nous conservons la meilleure solution entière rencontrée dontla valeur constitue une borne supérieure BS sur la valeur optimale de (P).

• Prochaine itération

Choisir un des problèmes qui n’a pas encore été traité.

Le traiter comme nous avons fait pour (P).

• Dans notre exemple, nous choisissons le problème (P4)

{ }4 2,P P

66611 21 =+ xx

4510 21 =+ xx

( )2PF

( )

entiers

àSujet Min

,0,53

451066611

5

21

2

1

21

21

214

≤+

≤+

−−=

xx

x

x

xx

xx

xxzP

( )

( )

4

4

Problème non réalisable

P

F P = Φ

Il n’y a donc pas lieu de poursuivre la fouille dans cette partie dudomaine réalisable de (P)qui est vide.

• Prochaine itération

Choisir un des problèmes qui n’a pas encore été traité.

Le traiter comme nous avons fait pour (P).

• Dans notre exemple, il ne reste que le problème (P2)

{ }2P

( )

entiers ,0,

4

4510

66611 àSujet

5Min

21

1

21

21

212

≤+

≤+

−−=

xx

x

xx

xx

xxzP

66611 21 =+ xx

4510 21 =+ xx

( )2PF( )2

1 2

Sol. opt. prob. relaxé :

4, 3.667

22.333

P

x x

z

= =

= −

La solution optimale du problème relaxé n’est pas entière maissa valeur z = –22.333 > BS = – 23Il n’y a donc pas lieu de poursuivre la fouille dans cette partie dudomaine réalisable de (P) car il est impossible d’y trouver une solutionentière de valeur inférieure à – 23.

• La procédure s’arrête quand tous les problèmes relaxés générés ont été résolus

• La solution entière dont la valeur est égale à BS est une solution optimale de (P).

Représentation comme un arbre d’énumération

( )P

( )2P ( )3P

( )4P ( )5P

41 ≥x 31 ≤x

42 ≤x52 ≥x

Sol. entièreBS = – 23

SolutionNon-réalisable

Sol. non entièrez = – 22.333 > BS

Solution optimale

2.42 =x

75.31 =x1 2

1 2

1 2

1 2

Min 5Sujet à 11 6 66

10 45, 0,

z x xx x

x xx x

= − −+ ≤

+ ≤≥

( )3 1 2

1 2

1 2

1

1 2

Min 5 Sujet à 11 6 66

10 453

, 0,

P z x x

x xx xx

x x

= − −

+ ≤+ ≤

≤≥

( )5 1 2

1 2

1 2

1

2

1 2

Min 5 Sujet à 11 6 66

10 4534

, 0,

P z x x

x xx xxx

x x

= − −

+ ≤+ ≤

≤≤

( )4 1 2

1 2

1 2

1

2

1 2

Min 5 Sujet à 11 6 66

10 4535

, 0,

P z x x

x xx xxx

x x

= − −

+ ≤+ ≤

≤≥

( )2 1 2

1 2

1 2

1

1 2

Min 5 Sujet à 11 6 66

10 454

, 0,

P z x x

x xx xx

x x

= − −

+ ≤+ ≤

≥≥

Problèmes candidats

( )P

( )2P

( )3P( )4P

( )5P

Approche du Branch & Bound

• Approche itérative.• À chaque itération,

- il y a une liste de problèmes candidats à être analysés. Audépart, la liste contient uniquement le problème original (P).

- nous choisissons un problème candidat et nous résolvons le problème relaxé correspondant

- la solution optimale du problème relaxé nous permet demettre à jour la liste de problèmes candidats ou la bornesupérieure de même que la meilleure solution rencontrée

Procédure du Branch & Bound

• Initialisation

Liste de problème candidat contient uniquement (P)

BS = ∞

Aller à l’étape 2.

• Étape 1

Si la liste est vide, terminer. La solution optimale est celle

associée à BS, a moins que BS = ∞ dans lequel cas le problème

P n’as pas de solution.

• Étape 2

Choisir le premier problème candidat (PC) en tête de liste.

Si la liste est vide, terminer. La solution optimale est celle

associée à , a moins que = dans lequel cas le problème

n'as pas de solutio

Étape

n

1

.

BS BS ∞

i

( ) Choisir le premier problème candidat en têt

Étape

e de li t .

2

s ePC

i

( ) ( )

( )

( )

( )

Analyser en solutionnant .

Si , aller à l 'étape 1.

Si , aller à l 'étape 1.

Si la solution optimale d

Étap

e est entière, alo

e

rs

3

PC PC

F PC

v PC BS

PC

= Φ

i

( ) ( )si , alors : ,v PC BS BS v PC< =

aller à l'étape1.

( ) ( )

( )

( )

( )

Analyser en solutionnant .

Si , aller à l 'étape 1.

Si , aller à l 'étape 1.

Si la solution optimale d

Étap

e est entière, alo

e

rs

3

PC PC

F PC

v PC BS

PC

= Φ

i

( ) ( )si , alors : ,v PC BS BS v PC< =

aller à l'étape1.

Choisir une variable qui n'est pas entière

ap

.

Ét e 4

jx

i

( )

Générer un premier nouveau problème en ajoutant la contrainte

au problème et le placer en tête de la listej jx x PC ≥

( )

Générer un deuxième nouveau problème en ajoutant la contrainte

au problème et le placer en tête de la listej jx x PC ≤ Aller à l'étape 2.

Si la liste est vide, terminer. La solution optimale est celle

associée à , a moins que = dans lequel cas le problème

n'as pas de solutio

Étape

n

1

.

BS BS ∞

i

( ) Choisir le premier problème candidat en têt

Étape

e de li t .

2

s ePC

i

( ) ( )

( )

( )

( )

Analyser en solutionnant .

Si , aller à l 'étape 1.

Si , aller à l 'étape 1.

Si la solution optimale d

Étap

e est entière, alo

e

rs

3

PC PC

F PC

v PC BS

PC

= Φ

i

( ) ( )si , alors : ,v PC BS BS v PC< =

aller à l'étape1.

Principe de fouille dans l'arbre

Représentation comme un arbre d’énumération

( )P

( )2P ( )3P

( )4P ( )5P

41 ≥x 31 ≤x

42 ≤x52 ≥x

Sol. entièreBS = – 23

SolutionNon-réalisable

Sol. non entièrez = – 22.333 > BS

Solution optimale

2.42 =x

75.31 =x1 2

1 2

1 2

1 2

Min 5Sujet à 11 6 66

10 45, 0,

z x xx x

x xx x

= − −+ ≤

+ ≤≥

( )3 1 2

1 2

1 2

1

1 2

Min 5 Sujet à 11 6 66

10 453

, 0,

P z x x

x xx xx

x x

= − −

+ ≤+ ≤

≤≥

( )5 1 2

1 2

1 2

1

2

1 2

Min 5 Sujet à 11 6 66

10 4534

, 0,

P z x x

x xx xxx

x x

= − −

+ ≤+ ≤

≤≤

( )4 1 2

1 2

1 2

1

2

1 2

Min 5 Sujet à 11 6 66

10 4535

, 0,

P z x x

x xx xxx

x x

= − −

+ ≤+ ≤

≤≥

( )2 1 2

1 2

1 2

1

1 2

Min 5 Sujet à 11 6 66

10 454

, 0,

P z x x

x xx xx

x x

= − −

+ ≤+ ≤

≥≥

Problèmes candidats

( )P

( )2P

( )3P( )4P

( )5P

Principe de fouille dans l'arbre

a) Fouille en profondeur:

descendre rapidement dans l'arbre pour aller chercher

le plus rapidement possible une première solution

entière réalisable

b) Fouille au meilleur noeud potentiel:

faire quelques itérations à chaque noeud de la liste pour

tenter d'identifier celui qui a le plus de potentiel de faire

décroitre la borne supérieure

c) Fouille en largeur:

compléter un étage de l'arbre avant de descendre dans

celui-ci

( )Choix de la variable de séparation ,j j j j j

x x x x x ≥ ≤

La variable telle que

a) le plus grand

j

j j

x

x x −

b) le plus petitj j

x x −

c) le plus proche de 0.5j j

x x −

Solution optimale pour le problème couran

Utiliser l'algorithme dual pour résoudre

t (au point courant de l'arbre)

n'est pas

le problème relaxé

c

réalisable pour le p

hoisi dans

roblème ob

la l

tenu

iste

en ajoutant une contrainte

du type ou .

On peut donc utiliser l'algorithme dual pour résoudre ce nouveau problème

en partant de la solution optimale du problème précédent.

j j j jx x x x ≥ ≤

Référence.

A. Atamturk, M.W.P. Savelsbergh, "Integer-Programming Software

Systems", Annals of Operations Research 140, 67-124, 2005.

Recommended