Académique Documents
Professionnel Documents
Culture Documents
Programmations Linéaires
Programmations Linéaires
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.
Nous distinguons deux cas: la contrainte est du type " " ou du type " = "
devient
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.
devient
(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
* 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 variables de la base (les lignes du tableau)
* la valeur de la fonction économique est égale à - aik ck
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.
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
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
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
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.
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.
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
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 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
* 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
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
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
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
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 + t1 b1
a21 x1 + a22 x2 + .......... + a2n xn + t2 b2
............................................................................
c) Résolution
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
* 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
* 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.
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
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
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
* 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
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
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
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