Академический Документы
Профессиональный Документы
Культура Документы
Civile
Recherche Opérationnelle
Par K. Allali
Caractéristiques de la PL
Par K. Allali
Forme générale d’un problème
d’optimisation
MAX (ou MIN): f0(X1, X2, …, Xn)
Par K. Allali
Forme générale d’un problème en
programmation linéaire
Par K. Allali
Propriétés d’un modèle de
programmation linéaire
•Linéarité
Équations polynômiales de degré 1
a 1X + a 2 X + … + a n X
1
1
1
2
1
n
Par K. Allali
Propriétés d’un modèle de
programmation linéaire (Suite)
Par K. Allali
Exemple
A B
Pompes 1 1
M-O 9 heures 6 heures
Tuyaux 12 m 16 m
Profit unitaire $350 $300
Comprendre le problème.
Par K. Allali
Résoudre un problème PL:
Une approche intuitive
Combien en fabriquer?
Posons X2 = 0
1ère contrainte : 1X1 <= 200
2è contrainte : 9X1 <=1566 ou X1 <=174
3è contrainte : 12X1 <= 2880 ou X1 <= 240
Par K. Allali
Résoudre un problème PL:
Une approche intuitive (Suite)
Non!
Par K. Allali
Résolution problème PL:
Une approche graphique
•Les contraintes d’un problème PL définissent la
région de faisabilité.
Par K. Allali
X2 Tracé de la première contrainte
250
(0, 200)
200
Contrainte des pompes
X1 + X2 = 200
150
100
50
(200, 0)
0
0 50 100 150 200 250 X1
Par K. Allali
X2 Tracé de la deuxième contrainte
(0, 261)
250
Contrainte de main-d’oeuvre
150
100
50
(174, 0)
0
0 50 100 150 200 250 X1
Par K. Allali
X2 Tracé de la troisième contrainte
250
(0, 180)
200
150
Contrainte des tuyaux
12X1 + 16X2 = 2880
100
Zone de faisabilité
50
(240, 0)
0
0 50 100 150 200 250 X1
Par K. Allali
Tracé d’une droite de la fonction
X2 objectif
250
200
100
50 (100, 0)
0
0 50 100 150 200 250 X1
Par K. Allali
Un deuxième tracé de la fonction
X2 objectif
250
Fonction objectif
150
350X1 + 300X2 = 52500
100
(150, 0)
50
0
0 50 100 150 200 250 X1
Par K. Allali
X2
Tracé de la solution optimale
250
Fonction objectif
200
350X1 + 300X2 = 35000
150
Solution optimale
100
Fonction objectif
350X1 + 300X2 = 52500
50
0
0 50 100 150 200 250 X1
Par K. Allali
Calcul de la solution optimale
La solution optimale se trouve à l’intersection des
contraintes de pompes et de m-o.
Où:
X1 + X2 = 200 (1)
9X1 + 6X2 = 1566 (2)
Par K. Allali
Calcul de la solution optimale (Suite)
X1 = 122
X2 = 200-X1=78
Par K. Allali
Exemple de solutions optimales
X2 multiples
250
Tracé de la fonction objectif
200 450X1 + 300X2 = 78300
150
100
Solutions optimales
50 équivalentes
0
0 50 100 150 200 250 X1
Par K. Allali
Exemple d’une contrainte redondante
X2
250
Contrainte des tuyaux
200
Contrainte des pompes
150
Contrainte de la M-O
100
Zone de faisabilité
50
0
0 50 100 150 200 250 X1
Par K. Allali
Exemple d’une solution
X2
“unbounded”
1000 Fonction objectif
X1 + X2 = 600 -X1 + 2X2 = 400
800
Fonction objectif
X1 + X2 = 800
600
400
200
X1 + X2 = 400
0
0 200 400 600 800 1000 X1
Par K. Allali
X2 Exemple d’infaisabilité
250
200 X1 + X2 = 200
Zone de
faisabilité de la
150 deuxième
contrainte
100
Zone de
faisabilité de la
première
50
contrainte
X1 + X2 = 150
0
0 50 100 150 200 250 X1
Par K. Allali
Programmation linéaire
(Problème de la diète)
Le problème de la diète: on veut établir un menu journalier au
moindre coût, tout en satisfaisant les besoins alimentaires
suivants:
Énergie :2000 calories
Protéines : 55 g
calcium : 800 mg
Par K. Allali
Programmation linéaire
(Problème de la diète)
Par K. Allali
Programmation linéaire
(Problème de la diète)
•Les variables de décision: x1…x6 représentent le nombre de portions des 6
types d’aliments.
•Les contraintes:
–0 ≤ x1 ≤ 4
–0 ≤ x2 ≤ 3
–0 ≤ x3 ≤ 2
–0 ≤ x4 ≤ 8
–0 ≤ x5 ≤ 2
–0 ≤ x6 ≤ 2
–110x1 + 205x2+160x3+160x4+420x5+260x6 ≥ 2000
–4x1 + 32x2+13x3+8x4+4x5+14x6 ≥ 55
–2x1 + 12x2+54x3+285x4+22x5+80x6 ≥ 800
•L’objectif : minimiser le coût du menu:
–3x1 + 24x2+13x3+9x4+20x5+19x6
Par K. Allali
Programmation linéaire
(Problème du politicien)
Vous voulez gagner une élection. Votre compté à 3 types de
secteurs:
urbain : 100,000 personnes
banlieue : 200,000 personnes
agricole : 50,000 personnes
Pour avoir le plein pouvoir, vous devez remporter une majorité
de votes dans les 3 régions.
Dans votre programme électoral, vous avez 4 priorités. Votre
équipe a estimé le nombre de votes qu’apporte un
investissement de 1,000$ pour chacune de ces priorités et dans
chacun des secteurs de votre compté.
stratégie urbain banlieue agricole
Par K. Allali
Programmation linéaire
(Problème du politicien)
Formellement
Minimiser x1+x2+x3+x4
Contraintes
-2x1 + 8x2 + 0x3 + 10x4 ≥ 50
5x1 + 2x2 + 0x3 + 0x4 ≥ 100
3x1 - 5x2 + 10x3 - 2x4 ≥ 25
x1,x2,x3,x4 ≥ 0
Par K. Allali
Programmation linéaire
(Définitions)
sous contraintes
n
∑a ij x j ≤ bi ∀i = 1,2,..., m
j=1
xj ≥ 0 ∀ j = 1,2,..., n
Par K. Allali
Méthode du simplexe
Un premier exemple:
maximiser 5x1 + 4x2 + 3x3
sous contraintes:
2x1 + 3x2 + x3 ≤ 5
4x1 + x2 + 2x3 ≤ 11
3x1 + 4x2 + 2x3 ≤ 8
x1,x2,x3 ≥ 0
Par K. Allali
Méthode du simplexe
Par K. Allali
Méthode du simplexe
Par K. Allali
Méthode du simplexe
Nouveau système d’équations:
5 3 1 1
x1 = − x2 − x3 − x4
2 2 2 2
x5 = 1 + 5 x2 + 2 x4
1 3 1 3
x6 = − x2 − x3 − x4
2 2 2 2
25 7 1 5
z = − x2 + x3 − x4
2 2 2 2
Par K. Allali
Méthode du simplexe
Nous allons donc augmenter la valeur de x3.
Le mieux que nous pouvons faire est x3 = 1:
x1= 2, x2 = 0, x3 = 1, x4 = 0,x5 = 1, x6 =0
z = 13
Nouveau système:
x3 = 1 + x2 + 3x4 − 2 x6
x1 = 2 − 2 x2 − 2 x4 + x6
x5 = 1 + 5 x2 + 2 x4
z = 13 − 3x2 − x4 − x6
Par K. Allali
Interprétation géométrique
x1 + 3x2 ≤ 6
x1,x2 ≥ 0
x11+x22≤4
Par K.ofAllali
Référence : A. Levitin, Introduction to the design and analysis Algorithms, Addison-Weslay,2006
Interprétation géométrique
=434−−
xxx114 == −x2x1x−− x+
x2 x
2 3 3 4
xxx452 ===261−
−
+25xxx312−−−x334xx23
zz ===12 -x+235x−x2 22−x34 x3
3x1+5x2=14
3 x1+
14 3x1+5x2=12
x1+3x2≤6
Première solution
Deuxième
Troisième solution faisable:
faisable:
xxx1=x2=0
11=4,x
=3,x22=0
=1
x1+x2≤4
3x1+5x2=0
Par K. Allali
Interprétation géométrique
x1+x2≤4
Par K. Allali
Méthode des tableaux
Le système suivant
x4 = 5 − 2 x1 − 3 x2 − x3
x5 = 11 − 4 x1 − x2 − 2 x3
x6 = 8 − 3 x1 − 4 x2 − 2 x3
z = 5 x1 + 4 x2 + 3x3
Par K. Allali
Méthode des tableaux
Ce système peut être représenté par un
tableau (matrice):
2 3 1 1 0 0 5
4 1 2 0 1 0 11
3 4 2 0 0 1 8
5 4 3 0 0 0 0
Par K. Allali
Méthode des tableaux
Étape 1: Sélectionner le nombre le plus élevé de la
dernière ligne (on ne considère pas le nombre le plus à
droite puisqu’il représente la valeur de -z). La colonne
qui contient ce nombre devient la colonne pivot.
2 3 1 1 0 0 5
4 1 2 0 1 0 11
3 4 2 0 0 1 8
5 4 3 0 0 0 0
Par K. Allali
Méthode des tableaux
Étape 2: pour chaque nombre positif r de la colonne pivot, vérifier
le ratio s/r où s est le nombre le plus à droite sur la ligne du r. La
ligne avec le plus petit ratio r/s est la ligne pivot.
2 3 1 1 0 0 5
4 1 2 0 1 0 11
3 4 2 0 0 1 8
5 4 3 0 0 0 0
Par K. Allali
Méthode des tableaux
Étape 3: Diviser chacun des nombres de la ligne pivot
par le nombre pivot. Le nombre pivot est le nombre à
l’intersection de la colonne pivot et de la ligne pivot.
1 3/2 ½ ½ 0 0 5/2
4 1 2 0 1 0 11
3 4 2 0 0 1 8
5 4 3 0 0 0 0
Par K. Allali
Méthode des tableaux
Étape 4: Pour chacune des lignes restantes, soustraire
de chacun des nombres de la ligne un multiple du
nombre pivot de tel sorte que le nombre sur la
colonne pivot soit égal à 0.
1 3/2 ½ ½ 0 0 5/2
0 -5 0 -2 1 0 1
0 -1/2 1/2 -3/2 0 1 1/2
0 -7/2 1/2 -5/2 0 0 -25/2
Par K. Allali
Méthode des tableaux
On itère jusqu’à ce que tous les nombres de
la dernière ligne soient négatifs ou égalent
à 0.
1 2 0 2 0 -1 2
0 -5 0 -2 1 0 1
0 -1 1 -3 0 2 1
0 -3 0 -1 0 -1 -13
Par K. Allali
Un deuxième exemple
maximiser 5x1 + 5x2 + 3x3
sous contraintes x1 + 3x2 + x3 ≤ 3
-x1 + + 3x3 ≤ 2
2x1 x2 + 2x3 ≤ 4
2x1 - 3x2 - x3 ≤ 2
x1, x2, x3, ≥ 0
Par K. Allali
Exemple 2
Introduction des variables
d’écarts
x4 = 3 - x1 - 3x2 - x3
x5 = 2 + x1 - 3x3
x6 = 4 - 2x1 + x2 - 2x3
x7 = 2 - 2x1 - 3x2 + x3
z = 5x1 + 5x2 + 3x3
1 3 1 1 0 0 0 3
-1 0 3 0 1 0 0 2
2 -1 2 0 0 1 0 4
2 3 -1 0 0 0 1 2
5 5 3 0 0 0 0 0
Par K. Allali
Exemple 2
Itération 1
Étape 1:
1 3 1 1 0 0 0 3
-1 0 3 0 1 0 0 2
2 -1 2 0 0 1 0 4
2 3 -1 0 0 0 1 2
5 5 3 0 0 0 0 0
Par K. Allali
Exemple 2
Itération 1
Étape 2: s/r
1 3 1 1 0 0 0 3 3
-1 0 3 0 1 0 0 2 X
2 -1 2 0 0 1 0 4 2
2 3 -1 0 0 0 1 2 1
5 5 3 0 0 0 0 0
Par K. Allali
Exemple 2
Itération 1
Étape 3:
1 3 1 1 0 0 0 3
-1 0 3 0 1 0 0 2
2 -1 2 0 0 1 0 4
1 3/2 -1/2 0 0 0 1/2 1
5 5 3 0 0 0 0 0
Par K. Allali
Exemple 2
Itération 1
Étape 4:
0 3/2 3/2 1 0 0 -1/2 2
0 3/2 5/2 0 1 0 1/2 3
0 -4 3 0 0 1 -1 2
1 3/2 -1/2 0 0 0 1/2 1
0 -5/2 11/2 0 0 0 -5/2 -5
Par K. Allali
Exemple 2
Itération 2
Étape 1:
0 3/2 3/2 1 0 0 -1/2 2
0 3/2 5/2 0 1 0 1/2 3
0 -4 3 0 0 1 -1 2
1 3/2 -1/2 0 0 0 1/2 1
0 -5/2 11/2 0 0 0 -5/2 -5
Par K. Allali
Exemple 2
Itération 2
Étape 2: s/r
0 3/2 3/2 1 0 0 -1/2 2 4/3
0 3/2 5/2 0 1 0 1/2 3 6/5
0 -4 3 0 0 1 -1 2 2/3
1 3/2 -1/2 0 0 0 1/2 1 X
0 -5/2 11/2 0 0 0 -5/2 -5
Par K. Allali
Exemple 2
Itération 2
Étape 3:
0 3/2 3/2 1 0 0 -1/2 2
0 3/2 5/2 0 1 0 1/2 3
0 -4/3 1 0 0 1/3 -1/3 2/3
1 3/2 -1/2 0 0 0 1/2 1
0 -5/2 11/2 0 0 0 -5/2 -5
Par K. Allali
Exemple 2
Itération 2
Étape 4:
0 7/2 0 1 0 -1/2 0 1
0 29/6 0 0 1 -5/6 4/3 4/3
0 -4/3 1 0 0 1/3 -1/3 2/3
1 5/6 0 0 0 1/6 1/3 4/3
0 29/6 0 0 0 -11/6 -2/3 -26/3
Par K. Allali
Exemple 2
Itération 3
Étape 1:
0 7/2 0 1 0 -1/2 0 1
0 29/6 0 0 1 -5/6 4/3 4/3
0 -4/3 1 0 0 1/3 -1/3 2/3
1 5/6 0 0 0 1/6 1/3 4/3
0 29/6 0 0 0 -11/6 -2/3 -26/3
Par K. Allali
Exemple 2
Itération 3
Étape 2: s/r
0 7/2 0 1 0 -1/2 0 1 X
0 29/6 0 0 1 -5/6 4/3 4/3 24/87
0 -4/3 1 0 0 1/3 -1/3 2/3 X
1 5/6 0 0 0 1/6 1/3 4/3 8/5
0 29/6 0 0 0 -11/6 -2/3 -26/3
Par K. Allali
Exemple 2
Itération 3
Étape 3:
0 7/2 0 1 0 -1/2 0 1
0 1 0 0 6/29 -5/29 8/29 8/29
0 -4/3 1 0 0 1/3 -1/3 2/3
1 5/6 0 0 0 1/6 1/3 4/3
0 29/6 0 0 0 -11/6 -2/3 -26/3
Par K. Allali
Exemple 2
Itération 3
Étape 4:
0 7/2 0 1 0 -1/2 0 1
0 1 0 0 6/29 -5/29 8/29 8/29
0 0 1 0 8/29 3/29 1/29 30/29
1 0 0 0 -5/29 9/29 -28/29 32/29
0 0 0 0 -1 -1 -2 -10
Par K. Allali
Convertir un problème linéaire
sous la forme standard.
Rappel:
n
maximiser ∑c x
j =1
j j
sous contraintes
n
∑a ij x j ≤ bi ∀i = 1,2,..., m
j=1
xj ≥ 0 ∀ j = 1,2,..., n
Par K. Allali
Convertir un problème linéaire
sous la forme standard.
Un exemple:
Par K. Allali
Convertir un problème linéaire
sous la forme standard.
1. Il est demandé de minimiser au lieu de
maximiser.
Par K. Allali
Convertir un problème linéaire
sous la forme standard.
1. Certaines variables n’ont pas de contrainte de non
négativité.
Par K. Allali
Convertir un problème linéaire
sous la forme standard.
1. Certaines contraintes sont des égalités
Par K. Allali
Convertir un problème linéaire
sous la forme standard.
1. Certaines contraintes sont des inégalités de type « plus
grand que » au lieu de « plus petit que »
Par K. Allali
Convertir un problème linéaire
sous la forme standard.
Il est maintenant possible de résoudre le problème
par la méthode du simplexe.
Par K. Allali