You are on page 1of 28

Un problème de programmation linéaire à deux dimensions

Méthode du simplexe et Résolution graphique:

CHERTI () Programmation linéaire March 30, 2012 33 / 193


Soit le problème de programmation linèaire suivant :

maxz = 40x1 + 60x2


x
sous les contraintes

2x1 + x2 70

x1 + x 2 40

x1 + 3x2 90
avec les conditions de positivité:

x1 0 & x2 0

Chaque couple de variables inconnues peut etre matérialisé comme un


point dans un plan.
Il su¢t de tracer les zones correspondant à chacune des contraintes, puis
d’en calculer l’intersection.
CHERTI () Programmation linéaire March 30, 2012 34 / 193
Comme les contraintes sont linéaires par rapport aux variables inconnues,
la satisfaction de chaque
contrainte entraine l’élimination d’un demi-plan. L’intersection de tous les
demi-plans satisfaisant les contraintes se présente donc nécessairement
sous la forme d’un polytope convexe.
Les solutions admissibles sont sur les sommets du polytope.
Il su¢t ensuite de rechercher le sommet du polytope pour lequel la valeur
de la fonction objectif (fonction économique) est maximale.

CHERTI () Programmation linéaire March 30, 2012 35 / 193


Faisons une résolution graphique:

Sur la …gure, on a représenté les 5 droites dé…nissant les frontières des


contraintes.
Le polytope dé…ni par ces contraintes est représenté en couleur verte.

CHERTI () Programmation linéaire March 30, 2012 36 / 193


Les droites dé…nies à partir de la fonction objectif, x2 = (M 40x1 )ñ60,
sont tracées en pointillés.
La valeur de la fonction objectif est maximale lorsqu’elle “tangente” ou
"touche" le polytope au sommet de coordonnées (15, 25).( le sommet
touchant la droite oblique fonction objectif 2100);
Remarque: La solution optimale ne peut pas etre à l’intérieur du polytope
car sinon une des inégalités est alors une égalité et ainsi en ajoutant des
petites valeurs précises aux coordonnées de cette solution on obtient une
autre solution optimale donc contradiction.
Exercice: résoudre manuellement par la méthode du simplexe:

CHERTI () Programmation linéaire March 30, 2012 37 / 193


Réponse:
Mise sous forme standard:
En introduisant les variables d’écart on transforme les contraintes
inégalité, portant sur des combinaisons de variables, en contraintes égalité.
De plus,Compte tenu du sens des inégalités initiales, les variables d’écart,
comme les variables d’origine, doivent etre positives :
On cherche
maxz = 40x1 + 60x2
x
sous les contraintes

2x1 + x2 + x3 = 70

x1 + x2 + x4 = 40

x1 + 3x2 + x5 = 90
avec les conditions
xj 0, 8j = 1, ..., 5
CHERTI () Programmation linéaire March 30, 2012 38 / 193
Mise au point entre deux formes de ce type de problème de
programmation linéaire:
-La forme à inégalités est dite forme canonique (FC).
-La forme à égalités est dite forme standard (à variables d’écart ici) (FS).
-Si (dans la FC)une variable est négative, on la remplace par une variable
positive.
-Si une variable n’a pas de contrainte de signe positive, on la remplace par
la di¤érence de deux variables positives.
-Si une contrainte est à "supériorité: "

CHERTI () Programmation linéaire March 30, 2012 39 / 193


Remarques techniques générales:
1) pour contrainte la variable d’écart est retranchée
2) Pour la fonction économique en max z, on peut transformer en min(-z)
et inversement.

Le système provenant des contraintes comporte trois équations à cinq


inconnues ;
les équations sont indépendantes.
et le rang de la matrice du système est égal à 3. Si l’on impose
arbitrairement la valeur de deux des variables, les trois variables restantes
peuvent etre déduites. Une façon simple d’imposer des valeurs à ces deux
variables est de les …xer à zéro. La solution qui en résulte est appelée
solution de base et les variables dont on n’a pas directement imposé la
valeur sont les variables de base.

CHERTI () Programmation linéaire March 30, 2012 40 / 193


Ainsi, si l’on pose x1 = x2 = 0 dans les trois égalités on obtient la solution
de base :
x3 = 70, x4 = 40, x5 = 90
Des dé…nitions spéciales à ce type de problème:
Toute solution satisfaisant les égalités des contraintes et à composantes
positives est appelée solution admissible.
Une solution admissible qui maximise la fonction objective est une
solution admissible optimale.
Dès qu’il existe une solution admissible optimale alors il en existe
une qui est également une solution de base.
Pour la résolution par la méthode du simplexe: la solution de base déja
trouvée est une solution admissible.
Les variables hors base x1 et x2 sont toutes deux nulles avec z = 0.
Un petite idée sur le choix de la colonne pivot:
Considérons x2 , car s’il augmente d’une
unité, z augmente de 60, alors qu’il n’augmente que de 40 si x1 augmente
d’une unité.
(c’est encore une autre façon de choisir la colonne pivot! variable à faire
entrer dans la base).
CHERTI () Programmation linéaire March 30, 2012 41 / 193
Nous augmentons donc x2 en conservant x1 égal à 0. L’augmentation de
x2 permet celle de z mais implique la diminution de x3 , x4 et x5 a…n de
respecter les trois égalités dues aux contraintes. Comme x1 = 0, on a :
x3 = 70 x2 0 =) x2 70
x4 = 40 x2 0 =) x2 40
x5 = 90 3x2 0 =) x2 30
La valeur maximale admissible est la plus petite x2 = 30 (choix de la ligne
pivot(ligne de x5 ): variable à faire sortir de la base).

CHERTI () Programmation linéaire March 30, 2012 42 / 193


D’ou une nouvelle solution admissible :
x1 = 0, x2 = 30, x3 = 40, x4 = 10, x5 = 0.
dont les variables de base sont x2 , x3 et x4 .
z = 40x1 + 60x2 = 1800.
Il faut extraire la valeur de x2 de la troisième équation (celle de x5 )et de
substituer son expression dans les deux premières. On obtient:
5 1
3 x1 +x3 3 x5 = 40
2 1
3 x 1 + x 4 3 x5 = 10
1 1
3 x1 +x2 + 3 x5 =30
z = 1800 + 20x1 20x5

CHERTI () Programmation linéaire March 30, 2012 43 / 193


Etant l’unique variable à coe¢cient positif dans la fonction objectif, x1 est
pris comme colonne pivot (à faire entrer dans la base)
x3 = 40 53 x1 0 =) x1 24
x4 = 10 23 x1 0 =) x1 15
x5 = 30 13 x1 0 =) x1 90
Ce qui conduit à choisir la ligne de x4 (car x1 15)comme ligne pivot
(variable à sortir de la base).
D’ou la nouvelle solution admissible :
x1 = 15, x2 = 25, x3 = 15, x4 = 0, x5 = 0
On applique ces changements aux égalités issues des contraintes:
+x3 52 x4 + 12 x5 = 15
x1 + 32 x4 + 12 x5 = 15
+x2 12 x4 + 12 x5 =25
z = 2100 30x4 10x5

CHERTI () Programmation linéaire March 30, 2012 44 / 193


Il n’existe donc plus d’amélioration possible et la
solution optimale.La valeur de la fonction objectif, déduite est alors égale à
2100. C’est la solution obtenue en termes graphiques.
Polytope des contraintes:

La zone verte représente les solutions aux contraintes.


Le fait de faire bouger la droite "issue" de la fonction objective z
(parallèlement vers le haut) jusqu’à avoir le minimum d’intersection avec
la zone CHERTI
verte,()signi…e qu’on la Programmation
maximise.linéaire March 30, 2012 45 / 193
Résolution graphique
Modélisation de la production de peinture
Une société produit de la peinture d’intérieur et d’extérieur à partir de
deux produits de base M1 et M2.
Données

Contraintes supplémentaires
– Demande maximum en peinture d’intérieur : 2 tonnes / jour.
– La production en peinture d’intérieur ne dépasser que d’une tonne celle
d’extérieur.
Formulation: (Production de peinture)
Alternatives (variables, inconnues du problème)
x1 = tonnes de peinture d’extérieur produites par jour
x2 = tonnes de peinture d’intérieur produites par jour
CHERTI () Programmation linéaire March 30, 2012 46 / 193
Fonction objectif à optimiser:

max z = 5x1 + 4x2


sous les contraintes :

6x1 + 4x2 24 (1 )

x1 + 2x2 6 (2 )

x2 2 ( 3)

x2 x1 1 (4)

x1 0 (5 )

x2 0 (6 )
CHERTI () Programmation linéaire March 30, 2012 47 / 193
Solutions et méthodes de résolution:
– Solution admissible : satisfait toutes les contraintes.

x1 = 3; x2 = 1(=) z = 19)
– Nous voulons trouver la solution (admissible) optimale.
– In…nité de solutions admissibles !(en général)

CHERTI () Programmation linéaire March 30, 2012 48 / 193


Représentation graphique à légende simpli…ée:

La zone colorée est l’intersection de six demi-plans( les quatres des


contraintes + les deux de positivité).

CHERTI () Programmation linéaire March 30, 2012 49 / 193


Présentation des solutions sur le graphe

CHERTI () Programmation linéaire March 30, 2012 50 / 193


Ensemble des solutions admissibles: ceux qui véri…ent les contraintes
Polyèdre (ABCDEF)
Courbes de niveaux de l’objectif:
Ensemble de solutions ayant un pro…t (valeur de l’objectif) donné :
intersection entre une droite et le polyèdre.
Amélioration de la solution:
Recherche d’une direction dans laquelle le pro…t z augmente.
La résolution graphique:

CHERTI () Programmation linéaire March 30, 2012 51 / 193


Exercice:
Résoudre le programme linéaire suivant en utilisant l’algorithme du
simplexe :

max z = 5x1 + 5x2 + 3x3


sous contraintes. :
x1 + 3x2 + x3 3

x1 + 3x3 2

2x1 x2 + 2x3 4

2x1 + 3x2 x3 2
avec xj 0 pour j = 1, 2, 3

CHERTI () Programmation linéaire March 30, 2012 52 / 193


Solution :
On ajoute les variables d’écart t1 , t2 , t3 et t4 a…n d’obtenir le programme
linéaire :

max z = 5x1 + 5x2 + 3x3


sous.contraintes :
x1 + 3x2 + x3 + t1 = 3

x1 + 3x3 + t2 = 2

2x1 x2 + 2x3 + t3 = 4

2x1 + 3x2 x 3 + t4 = 2
xj 0 pour j = 1, 2, 3
ti 0 pour i = 1, ..., 4

CHERTI () Programmation linéaire March 30, 2012 53 / 193


une première base est : B = ft1 , t2 , t3 , t4 g & les xi
sont des variables de décision.
Examinons la fonction économique z : on a les coe¢cients des variables
de décision qui sont tous positifs. Donc Ces variables sont toutes
susceptibles d’etre choisies pour entrer dans la base(choix de colonne
pivot): on choisit x1 (à cause de di¤érentes raisons: par exemple plus petit
ou gain plus grand selon coe¢cient dans le critère z.

CHERTI () Programmation linéaire March 30, 2012 54 / 193


Ensuite, on fait appel à la positivité des variables de base tout en laissant
x2 & x3 à zéro:
t1 = 3 x1 0 =) x1 3
t2 = 2 + x 1 0 = x1 2
t3 = 4 2x1 0 =) x1 2
t4 = 2 2x1 0 =) x1 1 ici c’est le meilleur choix (choix de ligne
pivot)
la variable de base t4 va sortir de la base. Ceci va se traduire sur les
calculs.
Reprenons les égalités de la forme standard:
t1 = 3 x1 3x2 x3
t2 = 2 + x1 3x3
t3 = 4 2x1 + x2 2x3
t4 = 2 2x1 3x2 + x3
z = 0 + 5x1 + 5x2 + 3x3

CHERTI () Programmation linéaire March 30, 2012 55 / 193


écrivons dans l’égalité de t4 : la variable x1 en fonction de t4 , x2 & x3 .
On obtient:
3 1 1
x1 = 1 x 2 + x3 t4
2 2 2
puis on remplace x1 dans celles de t1 , t2 t3 & z æ
.ce qui donne
Itération 1 :
t1 = 2 32 x2 32 x3 + 12 t4
t2 = 3 32 x2 52 x3 12 t4
t3 = 2 + 4x2 3x3 + t4
x1 = 1 32 x2 + 12 x3 12 t4
5 11 5
z=5 2 x2 + 2 x3 2 t4

CHERTI () Programmation linéaire March 30, 2012 56 / 193


On fait un raisonnement pareil au précedent. Ici le seul coe¢cient positif
dans la fonction objectif est celui de x3 ; On prend donc cette variable
comme choix de colonne pivot (variable à entrer dans la base actuelle
ft1 , t2 , t3 , x1 g). Ensuite la positivité des variables de base implique (en
mettant à zéro les variables hors base x2 & t4 æ
t1 = 2 32 x3 0 =) x3 4
3
5 6
t2 = 3 2 x3 0 =) x3 5
2
t3 = 2 3x3 0 =) x3 3 c’est la situation la plus restictive (choix de
la ligne pivot)(t3 sort de la base)
x1 = 1 + 12 x3 0 = x3 2
Pour mettre en oeuvre ce changement, on écrit(dans l’itération1-égalité de
t3 ) la variable x3 en fonction des variables x2 , t3 & t4 (égalité 3 dans
itération2):
2 4 1 1
x3 = + x2 t3 + t4
3 3 3 3

CHERTI () Programmation linéaire March 30, 2012 57 / 193


Puis, on remplace ce x3 (dans l’itération1-égalités1,2, 4 et z). On obtient
alors les égalités:
Itération 2 :
t1 = 1 72 x2 + 12 t3
t2 = 43 29 5
6 x 2 + 6 t3
4
3 t4
x3 = 23 + 43 x2 13 t3 + 13 t4
x1 = 43 56 x2 + 16 t3 13 t4
z = 26 29
3 + 6 x2
11
6 t3
2
3 t4
On examine à nouveau le critère z: une seule variable est à coe¢cient
positif ( c’est x2 ). Cette variable entre donc dans la base ft1 , t2 , x3 , x1 g .

CHERTI () Programmation linéaire March 30, 2012 58 / 193


Ensuite la positivité des variables de base donne (en mettant à zéro les
variables hors base t3 & t4 æ
t1 = 1 72 x2 0 =) x2 2
7
4 29 8
t2 = 3 6 x 2 0 =) x2 29 c’est la situation la plus restictive (choix
de la ligne pivot)(t2 sort de la base)
x3 = 23 + 43 x2 0 = x2 1
2
4 5 8
x1 = 3 6 x2 0 =) x2 5
Pour mettre en oeuvre ce changement, on écrit(dans l’itération2-égalité de
t2 ) la variable x2 en fonction des variables t2 , t3 & t4 (égalité 2 dans
itération3):
8 6 5 8
x2 = t2 + t 3 t4
29 29 29 29

CHERTI () Programmation linéaire March 30, 2012 59 / 193


Puis, on remplace ce x2 (dans l’itération2-égalités1,3,4 et z). On obtient
alors les égalités:
Itération 3 :
1
t1 = 29 + 21
29 t 2
3
29 t 3 + 28
29 t4
8 6 5 8
x2 = 29 29 t2 + 29 t3 29 t4
x3 = 3029
8
29 t2
3
29 t3
1
29 t4
x1 = 32 5
29 + 29 t2
9
29 t3
3
29 t4
z = 10 t2 t3 2t4
Tous les couts réduits (coe¢cients dans z )sont négatifs ou nuls.
Solution optimale est xopt = 32 8 30
29 , 29 , 29 de valeur zopt = 10.

CHERTI () Programmation linéaire March 30, 2012 60 / 193

You might also like