Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Plne

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 17

Programme Linéaire en nombres entiers

(PLNE)

Dans cette partie, on ne considérera que des


programmes linéaires en nombres entiers.
(c-à-d les variables xi sont des entiers positifs ou nuls)

Approche intuitive immédiate :


§ On relaxe les variables ( les considérer entant que
réels)
§ On arrondi la solution.
En général, cela ne marche pas !

H.Samadi ENSA de Tanger 1


Contre exemple

max 3 x1 + 13 x2
sc.
2 x1 + 9 x2 ≤ 40
11 x1 – 8 x2 ≤ 82
x1, x2 ≥ 0
x1, x2 entiers

H.Samadi ENSA de Tanger 2


Sol.optim.entière
x*=(2,4)!!

2x1+9x2=40

11x1-8x2 = 82

Voisins non x*continu=(9.2,2.4)


admissibles
H.Samadi ENSA de Tanger 3
Méthode par séparation et évaluation :
(Branch and Bound)

§ Soit un programme linéaire en nombres entiers


suivant :
Max z= c.x
s.c.
Ax <= b
X entier positif ou nul

H.Samadi ENSA de Tanger 4


Relaxation

§ On considère sa relaxation linéaire :


§ Max z = c.x
§ s.c.
Ax <= b
x≥0
x réel

H.Samadi ENSA de Tanger 5


On calcule à chaque étape:

Ø le coût optimal de la relaxation linéaire.

Ø Si la solution de la relaxation est entière, pas


besoin de partitionner le sous-problème.
Sinon, on choisit un x*i non entier, et on crée deux
sous-problèmes en ajoutant les contraintes

xi ≤ [x*i ] et xi ≥ [x*i ] +1

H.Samadi ENSA de Tanger 6


Séparation

§ On partitionne F en un une collection finie de sous-ensembles


F1,…,Fk.

§ On résout séparément les problèmes


Max z = c.x
s.c. x ∈ Fi

§ A priori, les sous-problèmes peuvent être aussi difficiles que le


problème original. Dans ce cas, on applique le même système et
on partitionne le/les sous-problèmes.
§ On obtient l’arborescence suivante :

H.Samadi ENSA de Tanger 7


F

F1 F2 Fk

F21 F22 F2m

F211 F212 F21n


H.Samadi ENSA de Tanger 8
Exemple 1:

§ Soit le problème F suivant :

max z = - x1 + 2x2
S.C
-4x1 + 6x2 ≤ 9
x1 + x2 ≤ 4
x1, x2 ≥ 0
x1, x2 entiers

H.Samadi ENSA de Tanger 9


En appliquant la méthode de Branch and Bound on
obtient l’arborescence suivante :

F x* = (1.5,2.5) , z = 3.5

x2 ≥ 3 x2 ≤ 2

F1 Non adm. F2 x* = (0.75,2) , z = 3.25

x1 ≥ 1 x1 ≤ 0

F21 F22
x* = (1,2) , z = 3 x* = (0,1.5) , z = 3

H.Samadi ENSA de Tanger 10


Remarque:

Ø Le nombre de manières de choisir un sous-


ensemble de n éléments est 2n !.

Ø Si n est grand, il est impossible de considérer


toutes les possibilités (210 = 1024 !!).

Ø Un algorithme efficace devrait obtenir la solution


optimale en examinant un très petit nombre de
solutions.
H.Samadi ENSA de Tanger 11
Exemple 2 : Investissement

§ Une société dispose de 1 400 000 $ à


investir. Les experts proposent 4
investissements possibles:

Coût Bénéfice Rendement


Inv. 1 500 000 1 600 000 3.20
Inv. 2 700 000 2 200 000 3.14
Inv. 3 400 000 1 200 000 3.00
Inv. 4 300 000 800 000 2.67
H.Samadi ENSA de Tanger 12
Modélisation : C’est un PLNE à variables binaires

§ Variables de décision : xi, i=1,…,4


§ xi = 1 si investissement i est choisi
§ xi = 0 sinon
§ Objectif : maximiser bénéfice
max 16 x1 + 22 x2 + 12 x3 + 8 x4
§ Contrainte : budget d’investissement
5 x1 + 7 x2 + 4 x3 + 3 x4 ≤ 14

H.Samadi ENSA de Tanger 13


Voici l’arborescence du problème :
(Solution optimale F1212: (0,1,1,1) de max 42 00000)

F
x3=1 x3=0
F1 F2 x4=1
x2=1
x2=0
x4=0
F11 F12 F22
x1=0 F21 x2=1
x1=1
x2=0
x4=0 F121 F222
x4=1 F122 F221
F1211
F1212 F2222
F2221
H.Samadi ENSA de Tanger 14
Autre application : Problème du sac à dos

§ Un campeur part en randonnée dans la montagne.


§ Il ne peut emporter dans son sac à dos qu’un poids limité à
P.

§ Chaque article i qu’il peut potentiellement emporter pèse


pi et lui procure une utilité ui pour sa randonnée.
§
§ Question :
§ Quels articles emporter pour maximiser son utilité sans
dépasser la limite de poids ?

H.Samadi ENSA de Tanger 15


C’est aussi un PLNE à variables binaires

Variables de décision
§ xi = 1 si Jo emporte l’article i
§ xi = 0 sinon
max u1x1+u2x2+…+unxn
§ s.c.
p1x1+p2x2+… +pnxn ≤ P
x1,…,xn ∈ {0,1}

H.Samadi ENSA de Tanger 16


Application:

En utilisant Matlab, donner l’arborescence du problème du sac à


dos ci dessous.

Retrouver la solution par la fonction prédéfinie « bintprog »

max z = 10 x1 + 8x2+5x3

s.c. 6x1 + 5x2 +4x3 ≤ 9

x1, x2, x3 dans {0,1}

H.Samadi ENSA de Tanger 17

Vous aimerez peut-être aussi