Vous êtes sur la page 1sur 21

PROGRAMMATION LINEAIRE

RESOLUTION GRAPHIQUE SIMPLEXE DUAL


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.

1) 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

Gestion de la production M. PALE SIE


Page 1
PROGRAMMATION LINEAIRE

2) 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é

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.

Gestion de la production M. PALE SIE


Page 2
PROGRAMMATION LINEAIRE

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 lorsqu’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
Gestion de la production M. PALE SIE
Page 3
PROGRAMMATION LINEAIRE

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

Gestion de la production M. PALE SIE


Page 4
PROGRAMMATION LINEAIRE

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 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
0
-24  aik ck 7M 13M -M -M 24M
13M M

* 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.

Gestion de la production M. PALE SIE


Page 5
PROGRAMMATION LINEAIRE

HB x1 x2 t1 t2 e1 e2 C R
B
e1 5 6 -1 0 1 0 10 5/3 variable sortant

e2 2 7 0 -1 0 1 14 2

 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

HB x1 x2 t1 t2 e2 C R
B
x2 5/6 1 -1/6 0 0 5/3 -10

e2 -23/6 0 7/6 -1 1 7/3 2 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

Gestion de la production M. PALE SIE


Page 6
PROGRAMMATION LINEAIRE

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 
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
Gestion de la production M. PALE SIE
Page 7
PROGRAMMATION LINEAIRE

0 x1 + 1 x2 + 0 t1 + 0 t2 +1 t3 + 0 e1 + 0 e2 3
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

Gestion de la production M. PALE SIE


Page 8
PROGRAMMATION LINEAIRE

t3 0 1 0 0 1 0 0 3 0 0 0 0 0 0
 -2 -1 1 1 0 0 0 -10  aik ck 2 1 -1 -1 10

* Tableau 1
Puisqu'on recherche un minimum, la variable entrante est celle qui a le plus
grand coefficient négatif, c.à.d. x1.

HB x1 x2 t1 t2 t3 e1 e2 C R
B
e1 1 1 -1 0 0 1 0 6 6
e2 1 0 0 -1 0 0 1 4 4 variable sortant
t3 0 1 0 0 1 0 0 3 + infini
 -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 R
B
e1 0 1 -1 1 0 1 2 2 variable sortant
x1 1 0 0 -1 0 0 4 + infini
t3 0 1 0 0 1 0 3 3
 0 -1 1 -1 0 0 -2
variable entrant

Gestion de la production M. PALE SIE


Page 9
PROGRAMMATION LINEAIRE

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

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

Gestion de la production M. PALE SIE


Page 10
PROGRAMMATION LINEAIRE

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
La ligne  des valeurs marginales est bien sûr modifiée puisqu'on n'a plus
la même fonction économique d'où le tableau 0

HB x1 x2 t1 t2 t3 C R
B
x2 0 1 -1 1 0 2 -2
x1 1 0 0 -1 0 4 + infini
t3 0 0 1 -1 1 1 1 variable 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 

Gestion de la production M. PALE SIE


Page 11
PROGRAMMATION LINEAIRE

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.

Gestion de la production M. PALE SIE


Page 12
PROGRAMMATION LINEAIRE

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.

Gestion de la production M. PALE SIE


Page 13
PROGRAMMATION LINEAIRE

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
............................................................................

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,

Gestion de la production M. PALE SIE


Page 14
PROGRAMMATION LINEAIRE

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.

EXEMPLE

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

* 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

Gestion de la production M. PALE SIE


Page 15
PROGRAMMATION LINEAIRE

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

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

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)

Gestion de la production M. PALE SIE


Page 16
PROGRAMMATION LINEAIRE

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

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 t
positif dans la colonne R. 2 s
ort 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:

Gestion de la production M. PALE SIE


Page 17
PROGRAMMATION LINEAIRE

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:

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,

Gestion de la production M. PALE SIE


Page 18
PROGRAMMATION LINEAIRE

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)
- 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,

Gestion de la production M. PALE SIE


Page 19
PROGRAMMATION LINEAIRE

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.

La résolution du problème à Maximum étant vue. 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".

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.

Gestion de la production M. PALE SIE


Page 20
PROGRAMMATION LINEAIRE

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 
6 x1 + 3 x2 180 4 y1 + 3 y2 
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
z = 47200 x1 x2 t1 t2
PRIMAL valeurs optimales 16 28 0 0
valeurs marginales 0 0 -160 -120

w = 47200 u1 u2 y1 y2
DUAL valeurs optimales 0 0 160 120
valeurs marginales -16 -28 0 0

Gestion de la production M. PALE SIE


Page 21

Vous aimerez peut-être aussi