Vous êtes sur la page 1sur 3

ALGORITHME DU SIMPLEXE

La première forme du programme que nous écrivons est appelée communément forme
canonique du programme ou du modèle.
Forme canonique du programme

MaxZ=c1x1+c2x2+. . +cmxm
S/C: {a1 x1+a12x2+. . +a1mxm ≤b1¿{a21x1+a2 x2+. .+a2mxm≤b2 {¿{an1x1+an2x2+. .+anmxm≤bn ¿ ¿
¿
Après la forme canonique du programme on doit écrire la forme standard du programme.
La forme standard du programme est obtenue en transformant les inégalités en égalités par
ajout des variables d’écarts.
Combien de variable d’écart doit – on utiliser  ?
Au nombre de contraintes structurelles on fait correspondre le même nombre de variables
d’écarts

Forme Standard du programme

MaxZ=c1x1+c2x2+. . +cmxm+0e1+0e2+. . +0en


S /C : {a1 x1+a12x2+. .+a1mxm+e1 =b1¿{a21x1+a2 x2+. .+a2mxm +e2 =b2¿{¿{an1x1+an2x2+. .+anmxm +en=bn ¿ ¿
¿
Notons que pour des raisons de commodité nous allons nous pencher sur la méthode
tabulaire du simplexe
Forme canonique du programme

MaxZ= 30 x1+20 x2
S/C : {x1+2x2 ≤20¿{2x1+x2≤22¿{ x1+x2 ≤12 ¿ ¿
¿
Forme Standard du programme

MaxZ= 30 x1+20 x2+0e1+0e2+0e3


S /C : {x1+2x2 +e1 =20¿{2x1+x2 +e2 =22¿{ x1+x2 +e3 =12 ¿ ¿
¿
C Cj 300 200 0 0 0 Contraintes Ratios
Hors base e1 e2
x1 x2 e3 bi θ
Base

0 e1 1 2 1 0 0 20 20
0 e2
2 1 0 1 0 22 11 →
0 e3 1 1 0 0 1 12 12
Zj 0 0 0 0 0 0
C j −Z j 300 ↑ 200 0 0 0 -
0 e1 0
3
1
−1
0 9 6
2 2

300 x1 1
1
0
1
0 11 22
2 2

0 e3 0
1
2 0
−1
2 1 1 2 →
Zj 300 150 0 150 0 3300
C j −Z j 0 50 ↑ 0 -150 0 -
0 e1 0 0 1 1 -3 6
300 x1 1 0 0 1 -1 10
200 x 2 0 1 0 -1 2 2
Zj 300 200 0 100 100 3400
C j −Z j 0 0 0 -100 -100
Pour commencer les itérations, on doit calculer
Z j suivi de ( C j −Z j )  :

La variable candidate à rentrer dans la base est celle qui a un ( C j −Z j ) le plus grand
positif.

Pour trouver la variable qui doit sortir il faut nécessairement calculer les ratios θ en divisant
les éléments des contraintes
bi par les éléments de la variable candidate à rentrer dans la
base.

La variable qui doit sortir de cette base est celle qui a un θ le plus petit positif.
L’intersection de la colonne de la variable candidate à rentrer dans la base et de la ligne de la
variable qui sort donne le nombre pivot.
Il faut réduire le nombre pivot à l’unité (c’est-à-dire a 1) en divisant toute la ligne pivot par le
nombre pivot.
On doit procéder à l’échelonnement pour avoir la configuration de la variable sortante sur la
colonne pivot.

Les itérations vont continuer jusqu’à ce que tous les ( C j −Z j ) seront négatives ou nuls et
on sera donc à l’optimum 

Vous aimerez peut-être aussi