2. ENCG 2011-2012
INTRODUCTION A LA
PROGRAMMATION LINEAIRE
On appelle Programmation Linéaire, le problème mathématique qui consiste à optimiser
(maximiser ou minimiser) une fonction linéaire de plusieurs variables qui sont reliées par des
relations linéaires appelées contraintes.
1) RESOLUTION GRAPHIQUE
Cette méthode n'est applicable que dans le cas où il n'y a que deux variables. Son avantage est
de pouvoir comprendre ce que fait la méthode générale du Simplexe, sans entrer dans la
technique purement mathématique.
Soit à résoudre le problème suivant:
Maximiser la fonction objectif z = 1200 x1 + 1000 x2
sous les contraintes économiques 3 x1 + 4 x2 ≤ 160
6 x1 + 3 x2 ≤ 180
et les contraintes de signe x1 ≥ 0 ; x2 ≥ 0
les inconnues x1 et x2 sont appelées variables d'activité
Les contraintes économiques et de signe sont représentées graphiquement par des demi-plans
dont l'intersection est un ensemble convexe (c.à.d. tout segment de droite dont les extrémités
appartiennent à l'ensemble est entièrement inclus dans cet ensemble). Les solutions, si elles
existent appartiennent donc à cet ensemble appelé région des solutions admissibles.
2
3. ENCG 2011-2012
Il s'agit donc de chercher à l'intérieur de ce domaine, le couple (x1 , x2) maximisant la
fonction objectif.
Or l'équation 1200 x1 + 1000 x2 = z0 est représentée par une droite de pente constante (-1,2)
dont tous les points (x1 , x2) fournissent la même valeur z0 pour la fonction économique.
En particulier, la droite 1200 x1 + 1000 x2 = 0 passe par l'origine et donne une valeur nulle à
la fonction économique.
Pour augmenter la valeur de z0 et donc la fonction économique, il suffit d'éloigner de l'origine
(dans le quart de plan x1 ≥ 0 ; x2 ≥ 0) la droite de pente -1,2
Pour respecter les contraintes, cette droite sera déplacée jusqu'à l'extrême limite où il n'y aura
plus qu'un point d'intersection (éventuellement un segment) avec la région des solutions
admissibles.
On remarquera que la solution optimale se trouve nécessairement sur le pourtour de la région
des solutions admissibles.
La solution se trouvant sur les deux droites d'équation
3 x1 + 4 x2 = 160
6 x1 + 3 x2 = 180
la résolution de ce système conduit à la solution x1 =16 , x2 = 28, d'où z = 47200.
2) METHODE DU SIMPLEXE
a) Forme canonique d'un Programme Linéaire
Max z = c1 x1 + c2 x2 + .......... +cn xn
a11 x1 + a12 x2 + .......... + a1n xn ≤ b1
a21 x1 + a22 x2 + .......... + a2n xn ≤ b2
3
4. ENCG 2011-2012
............................................................................
am1 x1 + am2 x2 + .......... + amn xn ≤ bm
x1 ≥ 0 ; x2 ≥ 0 ; .........; xn ≥ 0
b) Forme standard d'un Programme Linéaire
On transforme les inégalités des contraintes économiques en égalités par introduction de
variables supplémentaires positives ou nulles appelées variables d'écart.
ai1 x1 + ai2 x2 + .......... + ain xn ≤ bi devient ai1 x1 + ai2 x2 + .......... + ain xn + ti = bi
d'où la forme standard
Max z = c1 x1 + c2 x2 + ..........+ cn xn
a11 x1 + a12 x2 + .......... + a1n xn + t1 = b1
a21 x1 + a22 x2 + .......... + a2n xn + t2 = b2
............................................................................
am1 x1 + am2 x2 + .......... + amn xn + tm = bm
x1 ≥ 0 ; x2 ≥ 0 ; .........; xn ≥ 0 ; t1 ≥ 0 ; t2 ≥ 0 ; .........; tm ≥ 0
c) Résolution
Afin de comparer avec la résolution graphique, nous pouvons considérer que nous sommes
dans un espace à n dimensions (nombre de variables d'activité). Les contraintes délimitent un
polyèdre convexe, région des solutions admissibles; la fonction objectif est un hyperplan que
l'on va déplacer le plus loin possible de l'origine, jusqu'à l'extrême limite où il n'y aura plus
qu'un point d'intersection (éventuellement un segment, un plan...) avec la région des solutions
admissibles.
La solution se trouvant forcément sur le pourtour du polyèdre admissible, la méthode du
simplexe consiste en itérations qui font passer d'un sommet du polyèdre à un autre en
sélectionnant le sommet adjacent maximisant la fonction objectif.
Pour démarrer l'algorithme, il est nécessaire d'avoir une solution initiale. Dans le cas simple,
l'origine est solution, c.à.d. que la première solution est x1 = 0 ; x2 = 0 ; .........; xn = 0 ; t1 =
b1 ; t2 = b2 ; .........; tm = bm (ceci suppose que les bi ne soient pas négatifs pour satisfaire les
contraintes de signe)
L'algorithme, basé sur la méthode du pivot de Gauss pour la résolution des systèmes
d'équations linéaires, est présenté sous forme de tableau.
Soit à résoudre le programme linéaire suivant sous sa forme canonique
3 x1 + 4 x2 ≤ 160
6 x1 + 3 x2 ≤ 180
Max z = 1200 x1 + 1000 x2
x1 ≥ 0 ; x2 ≥ 0
* Forme standard
3 x1 + 4 x2 + 1 t1 + 0 t2 = 160
6 x1 + 3 x2 + 0 t1 + 1 t2 = 180
Max z = 1200 x1 + 1000 x2 + 0 t1 + 0 t2
x1 ≥ 0 ; x2 ≥ 0 ; t1 ≥ 0 ; t2 ≥ 0
4
5. ENCG 2011-2012
* Tableau 0
en ne conservant que les coefficients des équations ci-dessus, on obtient le tableau de départ
HB x1 x2 t1 t2 C
B
t1 3 4 1 0 160
t2 6 3 0 1 180
∆ 1200 1000 0 0 0
Ce tableau nous donne la première solution admissible:
- Les variables Hors Base (HB) sont nulles: x1 = 0 ; x2 = 0 (t1 et t2 en rouge ne sont pas hors
base; elles ne sont présentes que pour rappeler qu'il s'agit des colonnes des coefficients de ces
deux variables)
- Les valeurs des variables dans la Base (B) se lisent dans la colonne C: t1 = 160 et t2 =180
- La dernière cellule (intersection de C et ∆) donne la valeur de -z : -z = 0 donc z = 0
- La ligne ∆ donne les valeurs marginales ou taux marginal de substitution; elles s'interprètent
de la manière suivante: à ce stade de la solution, une augmentation de 1 unité de x1 ferait
accroître la fonction objectif de 1200, et une augmentation de 1 unité de x2 ferait accroître la
fonction objectif de 1000.
* Tableau 1
On augmente la fonction objectif en faisant entrer une variable dans la base, prenant la place
d'une variable qui va sortir de la base.
Critère de sélection de la variable entrant dans la base:
On sélectionne la variable HB ayant le plus grand coefficient positif dans la ligne ∆ .
x1 entre donc dans la base
Pour sélectionner la variable sortant de la base, il est nécessaire de rajouter une colonne R au
tableau, obtenue en faisant le rapport membre à membre de la colonne C et de la colonne de la
variable entrant dans la base (x1)
Remarques sur la colonne R:
- Un 0 dans la colonne C est remplacé par un infiniment petit positif ε pour effectuer le calcul
de R
- Dans la colonne R on ne tient pas compte des valeurs négatives ou indéterminées
HB x1 x2 t1 t2 C R
B
t1 3 4 1 0 160 160/3
t2 6 3 0 1 180 30
∆ 1200 1000 0 0 0
Critère de sélection de la variable sortant de la base:
On sélectionne la variable dans la Base ayant le plus petit coefficient positif dans la
5
6. ENCG 2011-2012
colonne R .
t2 sort donc de la base
HB x1 x2 t1 t2 C R
B
t1 3 4 1 0 160 160/3
t2 6 3 0 1 180 30 variable sortant
∆ 1200 1000 0 0 0
variable entrant
On appelle pivot (égal à 6) l'intersection de la variable entrante et de la variable sortante
Pour obtenir le tableau 1, on applique les règles suivantes:
- Le pivot est égal à 1
- Les coefficients de la ligne du pivot sont divisés par le pivot
- Les coefficients de la colonne du pivot sont nuls
- Les autres coefficients sont obtenus par la règle du rectangle
La règle du rectangle est la suivante:
Remarque importante: d = d' ⇔ c b = 0 ⇔ b = 0 ou c = 0
En conséquence, si dans la colonne (resp. ligne) du pivot il y a un 0, toute la ligne (resp.
colonne) correspondante reste inchangée.
En appliquant ces règles on obtient le tableau 1:
6
7. ENCG 2011-2012
HB x1 x2 t1 t2 C
B
t1 0 5/2 1 -1/2 70
x1 1 1/2 0 1/6 30
∆ 0 400 0 -200 -36000
Ce tableau nous donne la deuxième solution admissible:
- Les variables Hors Base (HB) sont nulles: x2 = 0 ; t2 = 0 (x1 et t1 en rouge ne sont pas hors
base; elles ne sont présentes que pour rappeler qu'il s'agit des colonnes des coefficients de ces
deux variables)
- Les valeurs des variables dans la Base (B) se lisent dans la colonne C: t1 = 70 et x1 =30
- La dernière cellule (intersection de C et ∆) donne la valeur de -z : -z = -36000 donc z =
36000
- La ligne ∆ donne les valeurs marginales ou taux marginal de substitution; elles s'interprètent
de la manière suivante: à ce stade de la solution, une augmentation de 1 unité de x2 ferait
accroître la fonction objectif de 400, et une augmentation de 1 unité de t2 ferait diminuer la
fonction objectif de 200 (il est à noter qu'une augmentation de 1 unité de la variable d'écart t2
revient à diminuer le second membre de l'équation correspondante de 1 unité).
* Tableau 2:
HB x1 x2 t1 t2 C R
B
t1 0 5/2 1 -1/2 70 28 variable
sortant
x1 1 1/2 0 1/6 30 60
∆ 0 400 0 -200 - 36000
variable entrant
d'où le tableau 2
HB x1 x2 t1 t2 C
B
x2 0 1 2/5 -1/5 28
x1 1 0 -1/5 4/15 16
∆ 0 0 -160 -120 - 47200
Ce tableau nous donne la troisième solution admissible:
- Les variables Hors Base (HB) sont nulles: t1 = 0 ; t2 = 0 (x1 et x2 en rouge ne sont pas hors
base; elles ne sont présentes que pour rappeler qu'il s'agit des colonnes des coefficients de ces
deux variables)
7
8. ENCG 2011-2012
- Les valeurs des variables dans la Base (B) se lisent dans la colonne C: x2 = 28 et x1 =16
- La dernière cellule (intersection de C et ∆) donne la valeur de -z : -z = - 47200 donc z =
47200
- La ligne ∆ donne les valeurs marginales ou taux marginal de substitution; elles s'interprètent
de la manière suivante: à ce stade de la solution, une augmentation de 1 unité de t1 ferait
diminuer la fonction objectif de 160, et une augmentation de 1 unité de t2 ferait diminuer la
fonction objectif de 120 (il est à noter qu'une augmentation de 1 unité d'une variable d'écart
revient à diminuer le second membre de l'équation correspondante de 1 unité).
Critère d'arrêt des itérations:
Si tous les coefficients de la ligne ∆, relatifs aux variables HB, sont négatifs ou nuls, la
solution trouvée est optimale.
Nous avons donc ici atteint la solution optimale.
Remarques importantes:
- S'il existe une variable HB ayant un coefficient positif dans la ligne ∆ et telle que tous les
coefficients correspondants dans le tableau soient nuls ou négatifs, alors la solution est infinie.
- Si, à la fin des itérations, une variable est HB avec un coefficient nul dans la ligne ∆, alors
on a une arête (plan,...) optimale. Les autres sommets solutions sont obtenus en faisant rentrer
cette variable dans la base.
3) DUAL
A tout programme linéaire appelé PRIMAL correspond un programme linéaire appelé DUAL
obtenu de la manière suivante:
PRIMAL DUAL
m contraintes d'infériorité n contraintes de supériorité
n variables d'activité n variables d'écart
m variables d'écart m variables d'activité
écriture en ligne écriture en colonne
exemple
PRIMAL DUAL
3 x1 + 4 x2 ≤ 160 3 y1 + 6 y2 ≥ 1200
6 x1 + 3 x2 ≤ 180 4 y1 + 3 y2 ≥ 1000
Max z = 1200 x1 + 1000 x2 Min w = 160 y1 + 180 y2
x1 ≥ 0 ; x2 ≥ 0 y1 ≥ 0 ; y2 ≥ 0
A l'optimum, le primal et le dual sont liés par les règles suivantes:
- les fonctions objectifs z et w ont la même valeur optimale
- la valeur marginale d'une variable dans un programme est égale à l'opposé de la valeur
optimale de la variable associée dans l'autre programme et réciproquement.
exemple
8
9. ENCG 2011-2012
z = 47200 x1 x2 t1 t2
valeurs optimales 16 28 0 0
PRIMAL
valeurs marginales 0 0 -160 -120
w = 47200 u1 u2 y1 y2
valeurs optimales 0 0 160 120
DUAL
valeurs marginales -16 -28 0 0
B) FORME USUELLE D'UN PROGRAMME LINEAIRE
Considérons la forme usuelle d'un Programme Linéaire:
Max ou Min z = c1 x1 + c2 x2 + .......... + cn xn
a11 x1 + a12 x2 + .......... + a1n xn ≤ b1
a21 x1 + a22 x2 + .......... + a2n xn ≤ b2
............................................................................
am1 x1 + am2 x2 + .......... + amn xn ≤ bm
x1 ≥ 0 ; x2 ≥ 0 ; .........; xn ≥ 0
La résolution du problème à Maximum a été vue précédemment. La résolution du problème à
Minimum ne pose pas de difficulté; il suffit, dans le critère de sélection de la variable entrant
dans la base, de remplacer "plus grand coefficient positif "par "plus grand coefficient négatif"
et dans le critère d'arrêt des itérations de remplacer "coefficients négatifs ou nuls " par
"coefficients positifs ou nuls".
C) FORME NON USUELLE D'UN PROGRAMME LINEAIRE
La résolution du problème précédent nécessite les assertions suivantes:
• Les seconds membres sont non-négatifs: bi ≥ 0 (nécessaire pour avoir une solution
initiale)
• Les variables d'activité sont non-négatives : xi ≥ 0
• Les contraintes sont de type " ≤ "
Que peut-on faire lorsque ces conditions ne sont pas respectées?
a) Un second membre est négatif
Il suffit de multiplier la contrainte par -1. Ceci a pour effet de changer le sens de l'inégalité
[voir c)]
b) Une variable d'activité n'est pas contrainte à la non-négativité
9
10. ENCG 2011-2012
Tout nombre, positif ou négatif, peut toujours être écrit comme la différence de deux nombres
non-négatifs (par exemple, - 4 = 6 - 10). Il suffit donc de remplacer la variable d'activité par la
différence de deux nouvelles variables d'activité non-négatives (le nombre de variables
d'activité augmente de 1).
c) Une contrainte n'est pas du type " ≤ "
Nous distinguons deux cas: la contrainte est du type " ≥ " ou du type " = "
- Contrainte du type " ≥ "
Il suffit de rajouter une variable d'écart non-négative
ai1 x1 + ai2 x2 + .......... + ain xn ≥ bi devient ai1 x1 + ai2 x2 + .......... + ain xn - ti = bi
Il est à noter qu'il n'y a plus de solution initiale évidente: en effet pour x1 = 0 ; x2 = 0 ; .........;
xn = 0, ti = -bi, ce qui n'est pas une solution admissible car ti doit être non-négative. Tout se
passe comme si cette variable d'écart était une variable d'activité et que nous étions en
présence d'une contrainte de type " = " que nous allons traiter maintenant.
- Contrainte du type " = "
Dans le cas usuel les variables d'écart introduites étaient représentatives des contraintes.
Suivant le même principe, nous rajoutons une variable non-négative, dite variable artificielle,
qui sera représentative de la contrainte dans la base.
ai1 x1 + ai2 x2 + .......... + ain xn = bi devient ai1 x1 + ai2 x2 + .......... + ain xn + ei = bi
Il est clair que pour que la contrainte d'égalité soit respectée il faut que ei = 0. La solution
initiale étant x1 = 0 ; x2 = 0 ; .........; xn = 0, ei = bi, l'algorithme doit permettre de mettre hors
base cette variable artificielle afin qu'elle soit nulle lorqu'on atteindra la solution optimale. Si
ceci n'est pas possible, le problème n'aura alors pas de solution.
Exemple de forme non-usuelle
(1) 3 x1 + 4 x2 - 2 x3 ≤ 10
(2) 6 x1 + 3 x2 + 5 x3 = 20
(3) -2 x1 + 5 x2 - 4 x3 ≤ -5
(4) x1 ≥ 0 ; x3 ≥ 0
Max z = 12 x1 + 10 x2 + 8 x3
(1) On rajoute une variable d'écart t1
3 x1 + 4 x2 - 2 x3 + t1 = 10
(2) On rajoute une variable artificielle e2
6 x1 + 3 x2 + 5 x3 + e2 = 20
(3) On multiplie par -1
2 x1 - 5 x2 + 4 x3 ≥ 5
On rajoute une variable d'écart t3 et une variable artificielle e3
2 x1 - 5 x2 + 4 x3 - t3 + e3 = 5
(4) x2 n'est pas contrainte à la non-négativité
x2 = x'2 - x''2
10
11. ENCG 2011-2012
Finalement le problème se ramène à la forme standard suivante
3 x1 + 4 x'2 - 4 x''2 - 2 x3 + t1 = 10
6 x1 + 3 x'2 - 3 x''2 + 5 x3 + e2 = 20
2 x1 - 5 x2 + 5 x''2 + 4 x3 - t3 + e3 = 5
x1 ≥ 0; x'2 ≥ 0; x''2 ≥ 0; x3 ≥ 0; t1 ≥ 0; t3 ≥ 0; e2 ≥ 0; e3 ≥ 0
Max z = 12 x1 + 10 x'2 - 10 x''2 + 8 x3
3) METHODE DES PENALITES ( ou du grand M)
Cette méthode permet de tenir compte des variables artificielles. On les pénalise en leur
affectant un coefficient de valeur très élevée dans la fonction économique (- M pour un
problème à maximum, + M pour un problème à minimum). Les pénalités ont pour objet de
provoquer l'élimination des variables artificielles au fil des itérations. Normalement, à
l'optimum (s'il existe) les variables artificielles sont hors base. Si celles-ci sont à l'optimum
dans la base, avec une valeur non nulle, le programme n'a pas de solution.
Soit à résoudre le programme linéaire suivant sous sa forme canonique
5 x1 + 6 x2 ≥ 10
2 x1 + 7 x2 ≥ 14
Min z = 3 x1 + 10 x2
x1 ≥ 0 ; x2 ≥ 0
* Forme standard
5 x1 + 6 x2 - 1 t1 + 0 t2 + 1 e1 + 0 e2 = 10
2 x1 + 7 x2 + 0 t1 - 1 t2 + 0 e1 + 1 e2 = 14
Min z = 3 x1 + 10 x2 + 0 t1 + 0 t2 + M e1 + M e2
x1 ≥ 0 ; x2 ≥ 0 ; t1 ≥ 0 ; t2 ≥ 0; e1 ≥ 0 ; e2 ≥ 0
* Tableau 0
HB x1 x2 t1 t2 e1 e2 C
B
e1 5 6 -1 0 1 0 10
e2 2 7 0 -1 0 1 14
∆' 3 10 0 0 M M 0
La ligne ∆' donne les coefficients de la fonction économique, mais pas les valeurs marginales
des variables HB; de plus les variables artificielles sont dans la base et devraient donc avoir
des valeurs marginales nulles.
De manière générale, dans tout tableau du simplexe, si on note ck les coefficients de la
fonction économique et aik les coefficients du tableau,
* les valeurs marginales mj sont
- nulles pour les variables dans la base
- égales à cj - Σ aik ck pour les variables hors base, la sommation étant faite sur toutes les
11
12. ENCG 2011-2012
variables de la base (les lignes du tableau)
* la valeur de la fonction économique est égale à - Σ aik ck
d'où le tableau 0 (les calculs annexes ont été rajoutés)
cj 3 10 0 0 M M aik ck
HB x1 x2 t1 t2 e1 e2 C ck x1 x2 t1 t2 C
B
e1 5 6 -1 0 1 0 10 M 5M 6M -M 0 10M
e2 2 7 0 -1 0 1 14 M 2M 7M 0 -M 14M
∆ 3-7M 10- M M 0 -24 Σ aik 7M 13M -M -M
13M 0 M 24M
ck
* Tableau 1
Puisqu'on recherche un minimum, la variable entrante est celle qui a le plus grand coefficient
négatif, c.à.d. x2. En fait il suffit de regarder le coefficient de M car M est très grand; le
coefficient indépendant de M n'intervient que dans le cas où plusieurs variables ont le même
coefficient pour M.
HB x1 x2 t1 t2 e1 e2 C
B
e1 5 6 -1 0 1 0 10 variable sortant
e2 2 7 0 -1 0 1 14
∆ 3-7M 10-13M M M 0 0 -24M
variable entrant
la variable artificielle sortant de la base, va se trouver dans la ligne ∆ avec un fort coefficient
positif et ne pourra donc plus y entrer; on peut donc supprimer la colonne correspondante
dans la suite des itérations, d'où le tableau 1
HB x1 x2 t1 t2 e2 C
B
x2 5/6 1 -1/6 0 0 5/3
e2 -23/6 0 7/6 -1 1 7/3
∆ -16/3+(23/6)M 0 5/3-(7/6)M M 0 -50/3-(7/3)M
* Tableau 2
12
13. ENCG 2011-2012
HB x1 x2 t1 t2 e2 C
B
x2 5/6 1 -1/6 0 0 5/3
e2 -23/6 0 7/6 -1 1 7/3 variable sortant
∆ -16/3+(23/6)M 0 5/3-(7/6)M M 0 -50/3-(7/3)M
variable entrant
d'où le tableau 2
HB x1 x2 t1 t2 C
B
x2 6/21 1 0 -1/7 2
t1 -23/7 0 1 -6/7 2
∆ 1/7 0 0 30/21 -20
On a atteint la solution optimale qui est x1 = 0; x2 = 2; t1 = 2; t2 = 0; z = 20.
Remarque: dans le cas particulier de cet exemple qui était sous forme standard, il aurait été
plus rapide de traiter le problème dual et d'en déduire la solution du problème primal initial.
4) METHODE DES DEUX PHASES
Cette méthode permet de tenir compte des variables artificielles. Dans une première phase on
rend nulles les variables artificielles : pour cela on minimise la somme des variables
artificielles sous les contraintes du programme initial. Comme les variables artificielles sont
forcément positives ou nulles le minimum est atteint quand elles sont nulles (si ce n'est pas le
cas, c'est qu'il n'y a pas de solution). Une fois les variables artificielles annulées, on a une
solution de base admissible qui nous permet dans une seconde phase de résoudre le
programme initial.
Soit à résoudre le programme linéaire suivant
x1 + x2 ≥ 6
x1 ≥ 4
x2 ≤ 3
Max z = 5 x1 + 7 x2
x1 ≥ 0 ; x2 ≥ 0
PHASE 1
* Forme standard
1 x1 + 1 x2 - 1 t1 + 0 t2 + 0 t3 + 1 e1 + 0 e2 = 6
1 x1 + 0 x2 + 0 t1 - 1 t2 + 0 t3 + 0 e1 + 1 e2 = 4
0 x1 + 1 x2 + 0 t1 + 0 t2 +1 t3 + 0 e1 + 0 e2 = 3
13
14. ENCG 2011-2012
Min z' = e1 + e2
x1 ≥ 0 ; x2 ≥ 0 ; t1 ≥ 0 ; t2 ≥ 0; t3 ≥ 0 ; e1 ≥ 0 ; e2 ≥ 0
* Tableau 0
HB x1 x2 t1 t2 t3 e1 e2 C
B
e1 1 1 -1 0 0 1 0 6
e2 1 0 0 -1 0 0 1 4
t3 0 1 0 0 1 0 0 3
∆' 0 0 0 0 0 1 1 0
La ligne ∆' donne les coefficients de la fonction économique, mais pas les valeurs marginales
des variables HB; de plus les variables artificielles sont dans la base et devraient donc avoir
des valeurs marginales nulles.
De manière générale, dans tout tableau du simplexe, si on note ck les coefficients de la
fonction économique et aik les coefficients du tableau,
les valeurs marginales mj sont
- nulles pour les variables dans la base
- égales à cj - Σ aik ck , la sommation étant faite sur toutes les variables de la base (les
lignes du tableau)
la valeur de la fonction économique est égale à - Σ aik
d'où le tableau 0 (les calculs annexes ont été rajoutés)
cj 0 0 0 0 0 1 1 aik ck
HB x1 x2 t1 t2 t3 e1 e2 C ck x1 x2 t1 t2 C
B
e1 1 1 -1 0 0 1 0 6 1 1 1 -1 0 6
e2 1 0 0 -1 0 0 1 4 1 1 0 0 -1 4
t3 0 1 0 0 1 0 0 3 0 0 0 0 0 0
∆ -2 -1 1 1 0 -10 Σ aik 2 1 -1 -1 10
0 0
ck
* Tableau 1
Puisqu'on recherche un minimum, la variable entrante est celle qui a le plus grand coefficient
négatif, c.à.d. x1.
14
15. ENCG 2011-2012
HB x1 x2 t1 t2 t3 e1 e2 C
B
e1 1 1 -1 0 0 1 0 6
e2 1 0 0 -1 0 0 1 4 variable sortant
t3 0 1 0 0 1 0 0 3
∆ -2 -1 1 1 0 0 0 -10
variable entrant
la variable artificielle sortant de la base, va prendre une valeur nulle, ce que l'on désire; il n'est
donc pas question de la faire rentrer de nouveau dans la base et on peut donc supprimer la
colonne correspondante dans la suite des itérations, d'où le tableau 1
* Tableau 2
HB x1 x2 t1 t2 t3 e1 C
B
e1 0 1 -1 1 0 1 2 variable sortant
x1 1 0 0 -1 0 0 4
t3 0 1 0 0 1 0 3
∆ 0 -1 1 -1 0 0 -2
variable entrant
d'où le tableau 2
HB x1 x2 t1 t2 t3 C
B
x2 0 1 -1 1 0 2
x1 1 0 0 -1 0 4
t3 0 0 1 -1 1 1
∆ 0 0 0 0 0 0
L'optimum est atteint. Une solution de base admissible est donc x1 = 4 ; x2 = 2 ; t1 = 0 ; t2 =
0 ; t3 = 1
PHASE 2
* Tableau 0
A partir de cette solution de base admissible, on poursuit les itérations en reprenant la
fonction objectif initiale
Max z = 5 x1 + 7 x2
15
16. ENCG 2011-2012
La ligne ∆ des valeurs marginales est bien sûr modifiée puisqu'on n'a plus la même fonction
économique
cj 5 7 0 0 0 aik ck
HB x1 x2 t1 t2 t3 C ck t1 t2 C
B
x2 0 1 -1 1 0 2 7 -7 7 14
x1 1 0 0 -1 0 4 5 0 -5 20
t3 0 0 1 -1 1 1 0 0 0 0
∆ 0 0 7 -2 0 -34 Σ aik ck -7 2 34
d'où le tableau 0
HB x1 x2 t1 t2 t3 C
B
x2 0 1 -1 1 0 2 -2
x1 1 0 0 -1 0 4 + infini
t3 0 0 1 -1 1 1 1variable sortant
∆ 0 0 7 -2 0 -34
variable entrant
* Tableau 1
HB x1 x2 t1 t2 t3 C
B
x2 0 1 0 0 1 3
x1 1 0 0 -1 0 4
t1 0 0 1 -1 1 1
∆ 0 0 0 5 -7 -41
La solution optimale obtenue est donc infinie puisqu'une variable HB a une valeur marginale
positive et tous ses coefficients négatifs ou nuls dans le tableau.
Il suffit de prendre x1 infini et x2 ≤ 3
16
17. ENCG 2011-2012
La ligne ∆ des valeurs marginales est bien sûr modifiée puisqu'on n'a plus la même fonction
économique
cj 5 7 0 0 0 aik ck
HB x1 x2 t1 t2 t3 C ck t1 t2 C
B
x2 0 1 -1 1 0 2 7 -7 7 14
x1 1 0 0 -1 0 4 5 0 -5 20
t3 0 0 1 -1 1 1 0 0 0 0
∆ 0 0 7 -2 0 -34 Σ aik ck -7 2 34
d'où le tableau 0
HB x1 x2 t1 t2 t3 C
B
x2 0 1 -1 1 0 2 -2
x1 1 0 0 -1 0 4 + infini
t3 0 0 1 -1 1 1 1variable sortant
∆ 0 0 7 -2 0 -34
variable entrant
* Tableau 1
HB x1 x2 t1 t2 t3 C
B
x2 0 1 0 0 1 3
x1 1 0 0 -1 0 4
t1 0 0 1 -1 1 1
∆ 0 0 0 5 -7 -41
La solution optimale obtenue est donc infinie puisqu'une variable HB a une valeur marginale
positive et tous ses coefficients négatifs ou nuls dans le tableau.
Il suffit de prendre x1 infini et x2 ≤ 3
16