programmation linéaire en nombres entiers - …ferland/ift3515/contenu_cours/9... · méthode des...
Post on 16-Sep-2018
242 Views
Preview:
TRANSCRIPT
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.
top related