La Programmation Linéaire : Cours, Exercices corrigés et Etude de

publicité
La Programmation Linéaire :
Cours, Exercices corrigés et Etude de cas
Adil Bellabdaoui
[email protected]
www.decision.ma/ensias/
20 novembre 2016
2
96
Chapitre 9
Méthode de simplexe
9.1
SÉRIE 15 :
Exo. 15.1 ? forme d’un programme linéaire
Montrez que chaque programme linéaire en forme standart s’écrit en forme canonique et inversement.
Exo. 15.2 Solutions de base admissible
1. Soit le polygone suivant, défini par l’ensemble des points x tels que :
x1 +x2
≤ 5
x2 +x3 ≤ 4
x3 ≤ 3
x1 , x2 ,
x3 ≥ 0
La solution de base associée à la base (x1 ; x2 ; x3 ) est-elle admissible ?
Exo. 15.3
1. Soit le polygone suivant, défini par l’ensemble des points x tels que :
x +2y ≤ 2
y ≤ 3
x,
y ≥ 0
La solution de base associée à la base (x1 ; x2 ) est-elle admissible ?
2. Lister toutes les solutions de base admissibles du programme linéaire précédent.
Laquelle est optimale pour la fonction objectif max x1 + x2 ? Et pour la fonction
objectif min x1 + x2 ?
Exo. 15.4 Enumération de solutions de base
Soit le programme linéaire suivant :
Max z = 2x +3y
s.c. 3x +2y ≤ 18
4x +3y ≤ 24
x,
y ≥
0
1. Ecrire ce PL sous forme standard.
97
98
CHAPITRE 9. MÉTHODE DE SIMPLEXE
2. Enumérer toutes les solutions de base en indiquant, pour chaque solution,
les variables qui sont dans la base, celles qui sont hors base, et si la solution
est réalisable ou non. On déterminera également, pour chaque solution de base
réalisable, la valeur de la fonction objectif.
3. Quelle solution optimise la fonction objectif ?
4. Tracer les contraintes et déterminer la région des solutions réalisables. Indiquer sur le graphique où sont situées les solutions de base.
Exo. 15.5 Solutions de base d’un PL
Soit le programme linéaire suivant en forme standard :
Max z = 5x1 +3x2 +4x3
s.c. 4x1 +2x2 +4x3 +x4
=
80
2x1 +2x2 +3x3 +x5
=
50
x1 +3x2 +2x3 +x6
=
40
x1 ,
x2 ,
x3 , x4 , x5 , x6 ≥ 0
La solution S = (19 ; 2 ; 0 ; 0 ; 8 ; 15) est-elle admissible ? est-ce une solution
de base ?
Exo. 15.6 ? Algorithme du simplexe pour un PL à 2 variables
Résoudre le programme linéaire suivant avec l’algorithme du simplexe :
Max z = 36x +24y
s.c. 3x
≤ 16
x
+y ≤ 27
2x
≤ 10
x,
y ≥
0
A chaque itération, on fera entrer en base la variable candidate de plus grand
coût réduit. Vérifier ensuite graphiquement.
Exo. 15.7 Algorithme du simplexe (cas favorable)
Soit le programme linéaire (P) suivant :
Max z = x +2y
s.c. x −y ≤ 1
y −x ≤ 1
x,
y ≥ 0
1. Résoudre (P) à l’aide de l’algorithme du simplexe : à chaque itération, on
fera entrer en base la variable candidate de plus petit indice.
2. Résoudre (P) à l’aide de l’algorithme du simplexe : à chaque itération, on
fera entrer en base la variable candidate de plus grand coût réduit.
3. Vérifier ensuite graphiquement.
Exo. 15.8 Algorithme du simplexe (cas favorable)
Résoudre le programme linéaire suivant avec l’algorithme du simplexe :
9.1. SÉRIE 15 :
Min z =
s.c.
−4x1
x1
99
−12x2
+3x3
x2
3x1
x1 ≥ 0,
+6x2
x2 ≥ 0,
x3
−2x3
x3 ≤ 0
≤
1000
≤
500
≥ −1500
≤
6750
A chaque itération, on fera entrer en base la variable candidate de plus grand
coût réduit.
Exo. 15.9
Max z = 5x1 +4x2
s.c. 2x1 +3x2
4x1
+x2
Soit le programme linéaire suivant à résoudre :
3x1 +4x2
x1 ,
x2 ,
+3x3
+3x3
+2x3
+2x3
x3
≤
5
≤ 11
≤
8
≥
0
1. Ecrivez le programme sous forme canonique.
2. Donnez une solution triviale réalisable du problème.
3. Trouvez une solution meilleure que la précédente si cela est possible.
4. Trouvez une solution optimale.
Exo. 15.10
Trois machines M1 , M2 , M3 peuvent produire chacune deux types de pièces P1
et P2 . Le temps de fabrication d’une pièce Pi sur la machine Mj est reporté
dans le tableau suivant (temps en heures) :
Pièce 1
Pièce 2
M1
3
4
M2
4
6
M3
4
5
On veut fabriquer au moindre coût 6 pièces P1 et 8 pièces P2 . La machine M1
est disponible 14 heures, les deux autres machines sont disponibles 24 heures.
Le coût horaire de M1 est 7, celui de M2 est 5 et celui de M3 , 6.
1. Ecrire le programme linéaire associé.
2. Résoudre ce problème en énumérant toutes les solutions entières possibles.
100
CHAPITRE 9. MÉTHODE DE SIMPLEXE
9.2
SÉRIE 16 :
Exo. 16.9 Algorithme du simplexe (méthode des 2 phases
Résoudre le programme linéaire suivant avec la méthode des 2 phases de l’algorithme du simplexe :
Max z =
x +2y
s.c.
x
≤ 1
x
+y ≥ 6
−x
+y = 3
x,
y ≥ 0
Vérfier ensuite en résolvant directement le PL algébriquement (sans simplexe
ni résolution graphique). Que se passe-t-il si on cherche à mimimiser la fonction
objectif ?
Exo. 16.10 ?
Résoudre les problèmes de programmation linéaire suivants à l’aide de l’algorithme du simplexe. Effectuer l’interprétation graphique du déroulement du simplexe.
Max z = 3/2x
+y
s.c.
2x
−y ≥
4
−x
+y ≥
1
−x +2y ≤
4
2x
+y ≤ 12
x,
y ≥
0
Max z =
s.c.
2x
+y
2x
−y
−x
+y
−x +2y
2x
+y
x,
y
≥
4
≥
1
≤
4
≤ 12
≥
0
Max z = −x +2y
s.c. 2x
−y
−x
+y
−x +2y
2x
+y
x,
y
≥
4
≥
1
≤
4
≤ 12
≥
0
Exo. 11.2 ? ?
Résoudre les problèmes de programmation linéaire suivants à l’aide de l’algorithme du simplexe (en introduisant si nécessaire des variables artificielles).
Max z = 2x −y
s.c.
x +y ≥ 2
y ≤ 2
x +y ≥ 4
x,
y ≥ 0
9.2. SÉRIE 16 :
101
Max w =
s.c.
x +y
+z
x +y +2z
x −y
y
+z
x,
y,
z
Min w =
s.c.
x +y
x +y
−x +y
y
x,
y
+z
+2z
+z
= 5
= 1
= 2
≥ 0
≥
≤
≥
≥
5
−1
2
0
102
CHAPITRE 9. MÉTHODE DE SIMPLEXE
9.3
SÉRIE 17 :
Exo. ? ?
Résoudre sans utiliser de variable artificielles le problème suivant :
Max w = −2x −3y
s.c.
2x
+y
−z ≥ 4
3x
−y +5z ≥ 5
x,
y,
z ≥ 0
En déduire la solution optimale du problème dual associé.
Exo. 11. ? ? Charge de cargos
Un capitaine peut charger ses bâtiments avec différents types de caissons dont
les poids, les volumes et es rapports distincts sont les suivants :
A
B
C
D
Poids
10
2
4
12
Volume
14
2,5
6
12
rapport
18
4
10
18
1. Le volume du premier cargo étant de 108 et la charge maximale de 112, comment le charger pour obtenir le meilleur rapport ?
Indication : pour commencer, ne considéer qu’une seule des deux contraintes
pour le choix du pivot.
2. Le second cargo a un volume de 170 et une charge maximal de 82. Comment
charger ce second navire pour obtenir le meilleur rapport ?
Exo. 11.5? L’agriculteur intensif
Un agriculteur veut répandre sur ses prairies un engrais ayant une teneur maximale en azote (N). Les trois engrais dont il dispose contiennent également du
phosphore (P) et du potassium (K). La teneur en potassium doit être limitée à
44 unités par hectare et celle en phosphore à 66 unités par hectare. Le tableau
suivant donne la quantité de N, P, K par engrais :
N
K
P
Engrais 1
3
2
5
Engrais 2
4
3
2
Engrais 3
6
4
5
1. Comment doit-il faire son mélange pour que la quantité d’azote soit maximale ? Exprimer le problème sous forme d’un problème de Programmation
Linéaire.
2. Calculer le problème dual. Résoudre le graphiquement.
3. Ecrire les conditions du théorème des écarts complémentaire et en déduire la
valeur d’une des variables x1 , x2 , x3 . En déduire la solution du problème initial.
Exo. 11.6 ?
On considère le problème :
9.3. SÉRIE 17 :
Max z = 3x +2y
s.c. 3x +2y
3x +4y
y
x,
y
103
≤ 15
≤ 21
≤
3
≥
0
1. Calculer le dual de ce problème.
2. Représenter graphiquement l’ensemble des solutions admissibles du dual.
3. En supposant que le dual a une solution optimale unique, trouver celle-ci à
partir de la représentation graphique. Vérifier alors que c’est bien une solution
optimale.
4. En utilisant la valeur trouvée pour l’optimum, montrer que le primal a au
moins une solution optimale (raisonner graphiquement sur l’ensemble des solutions admissibles). En a-t-il plusieurs ?
Exo. 11.7 ?
On considère le problème :
Min w = 15y1 +21y2 +3y3
s.c.
3y1
+3y2
2y1
+4y2
+y3
y1 ,
y2 ,
y3
≥ 2
≥ 2
≥ 0
1. Calculer le dual de ce problème.
2. Représenter graphiquement l’ensemble des solutions admissibles du dual.
3. En utilisant le fait que l’ensemble des solutions admissibles du dual est un
polytope, en déduire l’optimum.
4. En utilisant la valeur trouvée pour l’optimum du dual, montrer que le primal
a au moins une solution optimale (raisonner graphiquement sur l’ensemble des
solutions admissibles). En a-t-il plusieurs ?
Exo. 16.8 Ecart complémentaire
Une compagnie fabrique deux types de sauces : une sauce tomate et une sauce
aux légumes. Chacune est obtenue en mélangeant des légumes et du concentré
de tomates. Le concentré de tomates doit représenter au moins la moitié de la
composition de la sauce tomate. Les légumes doivent représenter au moins le
tiers de la composition de la sauce aux légumes. Chaque jour la compagnie peut
acheter jusqu’à 4 tonnes de légumes à 50 dirhams le kg, et 3 tonnes de concentré
de tomates à 30 dirhams le kg. La compagnie vend un kg de sauce tomate à 80
dirhams, et un kg de sauce aux légumes à 70 dirhams. La capacité d’absorption
du marché est illimitée. La compagnie cherche à réaliser le plus grand bénéfice
possible.
1. Modéliser le problème en un probl‘eme de programmation linéaire (pas plus
de 4 variables. On le note (P).
2. Ecrire le problème (Q) dual de (P).
3. Trouver des bornes inférieures strictement positives pour deux des variables
duales. (On rappelle que les variables duales sont positives ou nulles).
4. En utilisant le théorème des écarts complémentaires, résoudre (P).
Exo. 11.9 ?
On considère le problème de programmation linèaire (P) suivant :
104
CHAPITRE 9. MÉTHODE DE SIMPLEXE
Max z = 3x1 +4x2 +8x3
s.c.
x1 +2x2 +3x3
x1
−x3
x1 ,
x2 ,
x3
≤
≤
≥
15
−1
0
1. Mettre ce problème en forme standart en introduisant des variables d’écarts.
2. Introduire une variable artificielle pour avoir une base admissible de départ.
3. Résoudre le problème auxiliaire et le problème initial (P). On donnera la
valeur optimale de z et les valeurs de x1 , x2 et x3 correspondantes.
Exo. 11.10 ?
On considère le problème :
Min z = 12x +5y
s.c. 2x
+y ≥
4
3x
+y ≥
5
x
+y ≥
0
x,
y ∈ IR
1. Calculer le problème dual (ne pas oublier que le dual du dual est le primal).
2. Résoudre le probléme dual par le simplexe.
3. Que vaut la fonction objectif du problème initial à l’optimum ? Pour quelles
valeurs cet optimum est-il atteint (utiliser les conditions d’optimalité primaldual) ?
Exo. 11.11 ?
On considère le problème :
Minz = −3x +2y
s.c. −x
−y +e1
2x
+y
x
+y
x,
y ≤0
= 4
≤ 6
≤ 0
e1 ≥ 0
1. Transformer le problème en un problème en forme standard.
2. Résoudre le problème en forme standard par l’algorithme du simplexe.
0
3. En considérant que la variable e1 = - e1 est une variable d’écart rajoutée à
un problème en forme canonique, donner le problème canonique de départ et le
résoudre graphiquement.
4. Calculer le dual et en donner une solution. Est-elle unique ?
Exo. 11.16 Algorithme du simplexe (méthode des 2 phases)
Résoudre le programme linéaire suivant avec la méthode des 2 phases de l’algorithme du simplexe :
Minz = x +2y
s.c. 2x +3y ≥ 3
3x
+y ≤ 4
x,
y ≥ 0
A chaque itération, on fera entrer en base la variable candidate de plus grand
coût réduit. Vérifier ensuite graphiquement.
9.3. SÉRIE 17 :
105
Exo. 11.17 Algorithme du simplexe (méthode des 2 phases)
Résoudre le PL suivant (en forme standard) avec la méthode des 2 phases de
l’algorithme du simplexe :
Max z = x1
+x2
+x3 +x4
s.c.
+2x2
+x3
= 2
x1
+x2 +5x3
= 12
x1 +2x2 +6x3 +x4 = 13
x1 ,
x2 ,
x3 ,
x4 ≥ 0
On introduira le moins de variables artificielles possible. De plus, à chaque
itération, on fera entrer en base la variable candidate de plus petit indice, et on
fera sortir en priorité les variables artificielles de la base (lors de la phase 1).
Que peut-on observer ?
Exo. 16.7 Théorème des écarts complémentaires
1. Donner le PL dual du PL suivant :
Min z = 2x +7y
s.c.
x
−y =
3
x +5y =
6
4x +2y = 15
x,
y ≥
0
2. A l’aide du théorème des écarts complémentaires, trouver une solution
optimale au PL dual.
Exo. 11.22 Dualité et résolution graphique
Min z =
s.c.
Résoudre le programme linéaire suivant graphiquement :
4x1 +5x2
+x3 +6x4
x1 +3x2 +2x3 −4x4
2x1
+x2 −3x3 +5x4
4x1 +2x2
x1 ,
x2 ,
x3 ,
x4 ,
Exo. 11.23 Dualité et modfications de contraintes
Soit le programme linéaire suivant :
Max z = 2x
+y
s.c. 3x +2y ≥
9
y ≤
3
3x
−y ≤ 12
x,
y ≥
0
1. Calculer le tableau optimal du simplexe pour ce PL en le résolvant graphiquement, puis en calculant algébriquement l’expression des variables de base
en fonction des variables hors-base.
2. La solution optimale obtenue reste-t-elle optimale si on modifie la fonction
objectif en max 3x1 + 5x2 ?
3. Résoudre le programme linéaire suivant :
≥
≥
=
≥
5
7
15
0
106
Min z =
s.c.
CHAPITRE 9. MÉTHODE DE SIMPLEXE
9x1 +3x2
3x1
−2x1
+x2
x1 ,
x2
+12x3
+3x3 ≥ 2
−x3 ≥ 1
x3 ≥ 0
4. Que se passe-t-il si on remplace les valeurs 2 et 1 du second membre de
ce PL par 3 et 5 respectivement ?
Téléchargement