Sujet 8: Programmation Lin Eaire en Nombres Entiers: MHT 423: Mod Elisation Et Optimisation
Sujet 8: Programmation Lin Eaire en Nombres Entiers: MHT 423: Mod Elisation Et Optimisation
Sujet 8: Programmation Lin Eaire en Nombres Entiers: MHT 423: Mod Elisation Et Optimisation
MHT 423:
Modélisation et optimisation
Andrew J. Miller
Dernière mise à jour: March 15, 2010
Intro à MIP Exemples des applications Résolvant des MIPs
Dans ce sujet...
Formulations générales
La formulation d’un programme en
nombres entiers la rassemble; mais
Rappelons la formulation maintenant on a aussi des variables qui
d’un programme linéaire: doivent prendre les valeurs entiers.
n
X
max cj xj n
X p
X
j=1 max cj xj + fk yk
Xn j=1 k=1
s.à. aij xj ≤ bi , ∀i n
X Xp
j=1 s.à. aij xj + dik yk ≤ bi , ∀i
xj ≥ 0, j = 1, ..., n j=1 k=1
xj ≥ 0, j = 1, ..., n;
yk ∈ ZZ+ , k = 1, ..., p
Ici, ZZ veut dire l’ensemble des nombres entiers, et ZZ+ veut dire
l’ensemble des nombres entiers non-negatifs.
Intro à MIP Exemples des applications Résolvant des MIPs
Relaxations
n
X p
X
max cj xj + fk yk
j=1 k=1
Xn Xp
s.à. aij xj + dik yk ≤ bi , ∀i
j=1 k=1
xj ≥ 0, j = 1, ..., n;
yk ∈ ZZ+ , k = 1, ..., p
Ici, n = 0 et p = 2.
Intro à MIP Exemples des applications Résolvant des MIPs
Espace réalisable de la
relaxation linéaire
Intro à MIP Exemples des applications Résolvant des MIPs
Solutions réalisables
Intro à MIP Exemples des applications Résolvant des MIPs
Solution optimale de la
relaxation linéaire
32
Notez bien la solution optimale de la relaxation: y1 = 9 = 3 59 ,
y2 = 101 29 55 1
36 = 2 36 , avec valeur objective de 6 = 9 6 .
Intro à MIP Exemples des applications Résolvant des MIPs
Solution optimale
1
≥8
Ex: 9
6
Encore une fois: ce fait est très important!
2 Souvent, même avec la solution optimale de la relaxation, on ne
peut pas avoir des autres informations importantes sur le problème
par des opérations simples d’arrondi.
c1 c2 c3 c4
3100 1200 1000 1800
Intro à MIP Exemples des applications Résolvant des MIPs
Exemples:
investir dans un projet ou non
allouer une certaine tâche à une certaine ou non
Intro à MIP Exemples des applications Résolvant des MIPs
Formulation
X X
min fi yi + cij xij
i i,j
X
soumis à xij = 1, ∀j
i
xij ≤ yi , ∀i, j
yj ∈ 0, 1, ∀j
xij ∈ {0, 1}, ∀i, j
Intro à MIP Exemples des applications Résolvant des MIPs
Le problème “p-Median”
X
min cij xij
Maintenant, considerer le même i,j
problème, mais avec la modification X
soumis à xij = 1, ∀j
qu’on ne considère plus les coûts
i
fixes associès avec la construction
xij ≤ yi , ∀i, j
des dépôts. A leur place on imposera X
la constrainte qu’il faut se limiter à yi = p
ne construire que p dépôts. i
yj ∈ 0, 1, ∀j
xij ∈ {0, 1}, ∀i, j
Intro à MIP Exemples des applications Résolvant des MIPs
Branch-and-bound
On crée un arbre de recherche et d’énumeration. A chaque noeud,
on résoud un programme linéaire.
Ce qu’on fait dépend sur les valeurs des variables qui doivent
prendres des valeurs entières.
Deux choix principales:
1 Couper le nœud (a cause des bornes; borne = ”bound”). Il y
a trois raisons pour lesquelles on peut couper un nœud:
La relaxation linéaire n’est pas de solution réalisable.
La valeur objective de la relaxation linéaire n’est pas meilleurs
que la valeur objective de la meilleure solution entière déjà
trouvée.
La solution optimale de la relaxation linéaire est déjà entière.
2 Diviser le nœud (”branch”). Si on ne peut pas couper le
nœud, il faut le diviser en deux (en effet, il faut créer deux
programmes linéaires nouveaux).
Intro à MIP Exemples des applications Résolvant des MIPs
Branch-and-bound: organigramme
non
oui
non
oui
oui
non
non
Intro à MIP Exemples des applications Résolvant des MIPs
L’organigramme
L’organigramme et exemples
Nœud 1
Solution optimale de la
relaxation linéaire
32
Rappelez que la solution optimale de la relaxation est y1 = 9 = 3 59 ,
y2 = 101 29 55 1
36 = 2 36 , avec valeur objective de 6 = 9 6 .
Intro à MIP Exemples des applications Résolvant des MIPs
Nœud 1
Nœud 1
Z(V) = 9.16667
Intro à MIP Exemples des applications Résolvant des MIPs
Nœud 1
Nœud 1
Z(V) = 9.16667
y1 ! 3 y1 " 4
Nœud 2 Nœud 3
Nœud 3
Nœud 1
Z(V) = 9.16667
max y1 + 2y2
y1 ! 3 y1 " 4 s.à y1 + 8y2 ≤ 26
Nœud 2 Nœud 3 −y1 + 0.8y2 ≤ 0.2
y1 + 0.8y2 ≤ 5.8
y1 ≤ 5
Prochainement, on résoud le programme
−y1 ≤ −1
linéaire associé au nœud 3.
y1 , y2 ≥ 0
La formulation associé à ce nœud est y1 ≥ 4
Intro à MIP Exemples des applications Résolvant des MIPs
Nœud 3
y1 ≥ 4
9
La solution optimale de ce programme linéaire est y1 = 4, y2 = 4 = 2 14 ,
avec valeur objective de 8 12 .
Intro à MIP Exemples des applications Résolvant des MIPs
Nœud 3
Nœud 1
Z(V) = 9.16667
y1 ! 3 y1 " 4
Nœud 2 Nœud 3
Z(V) = 8.5
y2 ! 2 y2 " 3
Nœud 4 Nœud 5
Intro à MIP Exemples des applications Résolvant des MIPs
Continuation
On pourrait continuer jusqu’à ce que toutes les possibilités soient
énumerées ou coupées.
y1 ! 3 y1 " 4
Nœud 2 Nœud 3
Z(V) = 8.875 Z(V) = 8.5
y2 " 3 y2 ! 2 y2 " 3
y2 ! 2
Nœud 6 Nœud 7
Z(V) = 8 Z(V) = 7
Intro à MIP Exemples des applications Résolvant des MIPs
A souvenir