Professional Documents
Culture Documents
Mettre un PL sous une forme de reprsentation standard Regarder les tapes de lalgorithme du Simplexe
Notation matriciel
Fonction conomique z Variables de dcision X : vecteur colonne nx1 contraintes A : matrice mxn (avec mn)
m : nb de contraintes n : nb de variables
Modlisation du problme
X1 : nb. Produits P1 X2 : nb. Produits P2 Max Z = 200 X1 + 150 X2 s.c. (C1) X1 400 (C2) X2 700 (C3) X1 + X2 800 (C4) 2X1 + X2 1000 (C5) X1, X2 0
Gilles Goncalves Programmation linaire - 05/10/2006
Tableau 2
x2
1000 900 Z 800
Reprsentation graphique
C1: X1=400
F
700 600 Z 500
E C (200,600)
C2: X2=700
D B
C4: 2X1+X2=1000
A
0 100 200 300 400 500 600 700 800
x1
Solutions de base
Solution de base ralisable : tout X RN+M dont au moins N variables Xi = 0 Solution de base ralisable non dgnre : une solution de base ralisable comportant
N variables Xi = 0 (variables hors base) M variables Xj 0 (variables de base)
m + n! n!m!
Prop1 : les sommets du polydre sont les solutions de base ralisables (S) Prop2 : si S est non vide alors une solution de base ralisable qui est une solution optimale
Pour chaque sommet, on evalue la fonction conomique et on choisit alors le sommet pour lequel z est maximun : Ex : n=15, m=10 3.268.760 cas problme courant n ~ m ~ 100
Mthode du simplexe
Principe : on part dune solution de base connue (gnralement le point 0) et chaque itration on passe un autre sommet qui amliore la fonction conomique le + rapidement possible Exemple : au point 0 (ne rien produire) X : (X1, , X6) = (0,0,400,700,800,1000) z= f(X) = 0 X1, X2 sont donc les variables hors base (=0) X3, X4, X5, X6 sont les variables de base (0)
Gilles Goncalves Programmation linaire - 05/10/2006
Tableau initial
X1 X3 X4 X5 X6 z 1 0 1 2 200 X2 0 1 1 1 150 X3 1 0 0 0 0 X4 0 1 0 0 0 X5 0 0 1 0 0 X6 0 0 0 1 0 b 400 700 800 1000 0
-f(X)
Itration :
On veut amliorer f(X) on recherche le coef. le + lev dans f(X) (cj*= Maxj cj) Ici 200 variable X1 entre dans la nouvelle base. On va produire des units de P1 Combien peut on en produire ? on recherche la constraite la + restrictive (bi*/ai*j* = Mini bi /aij) Ici la contrainte C1 sature en premier X1= 400 et X3=0 . X3 sort de la base !
X1 X3 X4 X5 X6 z 1 0 1 2 200
X2 0 1 1 1 150
X3 1 0 0 0 0
X4 0 1 0 0 0
X5 0 0 1 0 0
X6 0 0 0 1 0
X1 1 0 1 2 200
X2 0 1 1 1 150
X3 1 0 0 0 0
X4 0 1 0 0 0
X5 0 0 1 0 0
X6 0 0 0 1 0
Rgles de Rcriture
Remarque : on cherche toujours exprimer les variables de base (X1, X4, X5, X6) ainsi que lobjectif en fonction des variables hors base (X2, X3). (C1) X1 + X3 = 400 X1 = 400 X3 (C2) X2 + X4 = 700 X4 = 700 X2 (C3) (400 X3)+X2+X5=800 X2 X3+X5=400 (C4) 2(400 X3)+X2+X6=1000 X2 2X3+X6=200 (C5) Xi 0 i Z=F(X) = 200(400 X3) + 150 X2 = 80000 200X3 + 150X2 Remarque : On est actuellement sur le point A (400,0,0,700,400,200) du graphique. Le gain ralis est de 80000. Ce point nest pas loptimum puisque F(X) peut augmenter avec X2. Il faudra donc ritrer le procd. Ces nouvelles quations vont dterminer le nouveau tableau
Rgles de Rcriture
(C1) X1 + X3 = 400 (C2) X2 + X4 = 700 (C3) X2 X3+X5=400 (C4) X2 2X3+X6=200 (C5) Xi 0 i Z=F(X)= 80000 200X3 + 150X2
X1 X1 X4 X5 X6 z 1 0 0 0 0 X2 0 1 1 1 150 X3 1 0 -1 -2 -200 X4 0 1 0 0 0 X5 0 0 1 0 0 X6 0 0 0 1 0 b 400 700 400 200 -80000
Itration 2:
Avant
X1
X1 1 0 0 0 0
X2 0 1 1 1 150
X3 1 0 -1 -2 -200
X4 0 1 0 0 0
X5 0 0 1 0 0
X6 0 0 0 1 0
pivot
X4 X5 X6 z
Avant
Coefficient positif il est encore possible damliorer le gain
X3 X4 X5 X6 z
1 0 1 2 200 X1
0 1 1 1 150 X2 0 1 1 1 150
1 0 0 0 0 X3 1 0 -1 -2 -200
0 1 0 0 0 X4 0 1 0 0 0
0 0 1 0 0 X5 0 0 1 0 0
0 0 0 1 0 X6 0 0 0 1 0
X1
X2 0 0 0 1 0
X3 1 +2 +1 -2 +100
X4 0 1 0 0 0
X5 0 0 1 0 0
X6 0 -1 -1 1 -150
Aprs
On a produit X1=400 et X2=0, on gagne 80000
Aprs
-1 fois ligne 4 -1 fois ligne 4 -150 fois ligne 4
Gilles Goncalves Programmation linaire - 05/10/2006
X1 X4 X5 X2 z
1 0 0 0 0
X1 X4 X5 X6 z
1 0 0 0 0
Itration 3:
Avant
X1
Tous les coefficients de Z sont ngatifs il nest plus possible damliorer le gain. On est loptimum
Interprtation :
X1 X2 0 0 0 1 0 X3 0 0 +1 0 0 X4 0 1 0 0 0 X5 -1 -2 1 2 -100 X6 1 1 -1 -1 -50 b 200 100 200 600 -130000 b 400 500 200 200 -110000 b 200 100 200 600 -130000 X1 X4 X3 X2 z 1 0 0 0 0
X1 1 0 0 0 0 X1
X2 0 0 0 1 0 X2 0 0 0 1 0
X3 1 +2 +1 -2 +100 X3 0 0 +1 0 0
X4 0 1 0 0 0 X4 0 1 0 0 0
X5 0 0 1 0 0 X5 -1 -2 1 2 -100
X6 0 -1 -1 1 -150 X6 1 +1 -1 -1 -50
pivot
X4 X5 X2 z
On a produit X1=200 et X2=600 On gagne 130000 On est sur le point C du graphique Il reste des ressources pour les contraintes C1 car X3=200 C2 car X4 = 100 Les ressources des contraintes C3 et C4 sont satures car les X5 et X6 = 0 (variables hors base)
Gilles Goncalves Programmation linaire - 05/10/2006
X1 X4 X3 X2 z
1 0 0 0 0
Aprs
4: Retour ltape 1