Vous êtes sur la page 1sur 36

Programmation linaire

M. KADDIRI

M. KADDIRI Simplexe 1
1. Un exemple pour bien comprendre :

Un magasin lance une promotion de


bonus en concertation avec un operateur
tlphonique:

Votre compte bonus sera augment de 5


points pour tout cadeau achet (tout
cadeau dont le prix est inferieur 30 dh
ne sera pas compt) et par 1 point pour
tout SMS envoy. (Loperateur
tlphonique facturera 1 dh par sms)
M. KADDIRI Simplexe 2
1. Un exemple pour bien comprendre :

Said sest intress par cette offre mais


pour dautres raisons il a dcid de ne pas
dpasser 60 SMS/mois.

En plus, Said a calcul qu'il lui fallait


environ 2h pour choisir et acheter chaque
cadeau alors qu'il dispose de 8 h/mois
de temps libre pour faire ses achats.

M. KADDIRI Simplexe 3
Question :
Sachant que le budget lou par Said ne peut
pas dpasser 150 dh/mois combien de
cadeaux et combien de SMS doit-il envoyer
pour optimiser son bonus ?

Modlisation :
1. Choisir des variables adaptes.
2. Exprimer la fonction optimiser (appele
fonction objectif) en fonction de ces variables.
3. Exprimer les contraintes sur ces variables.

M. KADDIRI Simplexe 4
variable de dcision
toute quantit utile la rsolution du
problme et dont le modle doit dterminer
la valeur.

x := Nombre de cadeaux offerts par mois,


y := Nombre de SMS envoys par mois.

M. KADDIRI Simplexe 5
La fonction objectif :
l'expression qui modlise la quantit
optimiser en fonction des variables
du problme.

un nombre de points maximum: (cas tudi)

max z = 5x + y
M. KADDIRI Simplexe 6
Les contraintes du problme:
toutes les relations limitant le choix
de valeurs possibles pour les variables.

Temporelles:
2x <= 8 soit x<= 4:

Financires :
30x + y <=150

Morales.
M. KADDIRI
y<=Simplexe
60 7
Les contraintes du problme:
Attention, il arrive souvent que des contraintes
(caches) ne soient pas explicites dans les
problmes. Ici par exemple, il sera difficile pour
Said d'offrir -3 cadeaux et d'envoyer -8 textos.

Contraintes supplmentaires

x >= 0
et
y >=0
M. KADDIRI Simplexe 8
Formalisation du problme :

max z = 5x + y

sous contraintes X4
30x + y 150
Y 60
x0
y0
M. KADDIRI Simplexe 9
Programmation linaire:

mthode analytique:
(internet: cours sur la recherche
operationnelle)

mthode graphique :
(voir ci-dessous)

M. KADDIRI Simplexe 10
Contraintes (ingalit,2 variables)
a1x1 + a2x2 <= b b > 0, a1 > 0, a2 > 0
x2
b/a2

>b
Demi-espace
admissible
<= b

b/a1
x1
M. KADDIRI Simplexe 11
Fonction objectif (2 variables)
c1x1 + c2x2 = z c1 > 0, c2 > 0

valeur de la
fonction objectif

z augmente dans z4
la direction
de la flche z3

z1/c2
z2
x1
M. KADDIRI 1
Simplexe
z /c1 z1 12
Optimisation sous contrainte,
mthode graphique

x2

Fonction objectif

x1
M. KADDIRI
Polydre P Simplexe 13
La recherche de loptimum
x2 peut tre restreinte
lensemble des points extrmes

x1

M. KADDIRI Simplexe 14
La mthode du simplexe explore les
x2
points extrmes en amliorant chaque
itration la valeur du critre.

x1

M. KADDIRI Simplexe 15
Exemple

Maximisation du profit
Contrainte de raret dune ressource
Contraintes de demande
Exemple
Max 25 Xb + 30 Xc
SC : Xb /200 + Xc/140 40
Xb 6000
Xc 4000

Xb ; Xc 0

M. KADDIRI Simplexe 16
Solution graphique de lexemple

xC

xB = 6000
6000 192000
xC = 1400
4500

3000 Solution
optimale
1500 P

0 xB
M. KADDIRI Simplexe
7500 9000 17
0 1500 3000 4500 6000
Simplex
Prsentation & dmarche
Les problmes rels de programmation linaire prsentent plusieurs
variables de dcision et de nombreuses quations de contraintes.
De tels problmes ne peuvent tre rsolus graphiquement, mais on
utilise des algorithmes tel que celui du Simplexe.

Procdure gnrale suivre :

1 -Dresser le tableau initial du simplexe.


Formuler la fonction objectif et les contraintes,
entrer les variables de dcision, les variables appartenant la
solution,
les constantes de la solution, les coefficients (C) rattachs aux
variables de la fonction objectif, le cot (Z) rsultant de
l'introduction de la variable
et (C -Z) qui est la contribution nette de la variable.

M. KADDIRI Simplexe 18
tape 1:

C 10 30 0 0 Valeur
Var De
la solution
Variables de dcision
solution
X Y S1 S2
0 S1 4 6 1 0 12

0 S2 8 4 0 1 16

Z 0 0 0 0 0

C-Z 10 30 0 0
M. KADDIRI Simplexe 19
Simplex
Prsentation & dmarche
2 -Trouver la colonne pivot: c'est celle qui prsente le nombre positif
le plus lev sur la ligne du bas (C -Z). Elle devient la nouvelle
variable de la solution.

3 -Trouver la ligne pivot: c'est elle qui a le plus faible ratio de la


valeur solution divise par la valeur de la colonne pivot. N'utiliser
que des nombres positifs. Cela identifie la variable carte de la
solution.

4 -Entourer le pivot d'un cercle: c'est l'intersection de la ligne pivot et


de la colonne pivot.

M. KADDIRI Simplexe 20
La colonne pivot : La colonne pivot est celle qui contient le
plus grand nombre positif (30) dans la ligne du bas.

C 10 30 0 0 Valeur
Var De
la Variables de dcision solution
solution X Y S1 S2
L pivot
0 S1 4 6 1 0 12 (12/6)
0 S2 8 4 0 1 16 (16/4)
Z 0 0 0 0 0
C-Z 10 30 0 0

C pivot

la ligne pivot prsente le plus petit ratio: 12/6=2 ;


16/4=4 donc la ligne 1 est la ligne pivot
Le M.
pivot est entour dun cercle
KADDIRI Simplexe 21
Simplex
Prsentation & dmarche
5 -Convertir le pivot en 1 : en divisant toutes les valeurs de la
ligne pivot par la valeur du pivot. Entrer cette nouvelle ligne
dans un autre tableau (nouveau).

6- Crer d'autres lignes pour le tableau suivant avec Zro dans la


colonne pivot: ceci est obtenu en multipliant la nouvelle ligne
(provenant de l'tape 5) par la valeur ngatives de l'lment
de la colonne pivot qui est convertir et en ajoutant le rsultat
de l'ancienne ligne. Puis continuer ainsi pour chaque range de
la section centrale du tableau.

7- Tester l'optimalit. Calculer les valeurs de Z et C- Z. Les valeurs


de Z pour chaque colonne sont L [(lments de la colonne) x
(C)]. Si toutes les valeurs de C -Z sont ngatives, alors la
solution est optimale. Lire les valeurs des variables
appartenant la solution dans la colonne de droite et la valeur
de la fonction objectif, dans la ligne Z de cette colonne. Si la
solution n'est pas optimale retourner l'tape 2.
M. KADDIRI Simplexe 22
C 10 30 0 0 Valeur
Var Des
la Variables de dcision solution
solution X Y S1 S2
30 Y 2/3 1 1/6 0 2
0 S2 16/3 0 -2/3 1 8
Z 20 30 5 0 60
C-Z -10 0 -5 0

Les valeurs de la ligne Z sont [(lment des colonnes) x (C)].


Par exemple pour X : Z = (2/3)*30 + (16/3)*0 = 20.

M. KADDIRI Simplexe 23
Exemple
Exemple : Contrainte Ingalit galit
machine A 4X + 6Y 12 4X + 6Y + 1*S1+0*S2 = 12
machine B 4X + 6Y 16 8X + 4Y +0*S1+ 1*S2 = 16
S1 et S2 sont des variables complmentaires ou des produits fictifs.
La mthode du simplexe dbute toujours par une solution possible o
l'on ne produit que des variables complment. Cela correspond au
point origine du graphique o X et Y sont nuls.
Chaque simplexe est une solution qui correspond graphiquement
l'un des angles de la zone de faisabilit.

Fonction objectif :
Max Z = 10 x+ 3Oy Max Z = 10x + 3Oy

machine A: 4X + 6y 12 4X + 6y + 1S1+ 0S2 = 12


machine B: 8x + 4y 16 8x + 4y + 0S1 + 1S2 = 16
M. KADDIRI Simplexe 24
tape 1:

C 10 30 0 0 Valeur
Var De
la solution
Variables de dcision
solution
X Y S1 S2
0 S1 4 6 1 0 12

0 S2 8 4 0 1 16

Z 0 0 0 0 0

C-Z 10 30 0 0
M. KADDIRI Simplexe 25
lments du tableau simplex
la partie centrale du tableau est constitue des
coefficients des contraintes des quations :
4x + 6y + 1 S1 + 0 S2 = 12
8x + 4y + 0 S1 + 1 S2 = 16

La colonne des variables appartenant la solution


nous renseigne sur les variables qui y participent
effectivement (dans ce cas, uniquement les
variables complment),
et la colonne des valeurs des solutions donne les
valeurs de ces variables. Les nombres proviennent
du membre de droite des quations des
contraintes (12,16).
M. KADDIRI Simplexe 26
lments du tableau simplex

Le C dans le coin suprieur gauche est la fois une


tte de ligne et une tte de colonne.

Il indique la contribution d'une unit de chaque


variable la fonction objectif.

Ainsi, chaque unit de X (nettoyant) contribue


pour 10 kdhs au profit et chaque unit de Y (cire)
pour 30 kdhs.

S1 et S2 contribuent pour 0 dhs.


M. KADDIRI Simplexe 27
lments du tableau simplex

La ligne Z du tableau reprsente le cot ou l'intrt


de l'opportunit, c'est dire, la contribution que
l'on pourrait attendre de l'introduction (ou de la
production) d'une unit (ou d'une unit
supplmentaire) de la variable de chaque colonne
correspondante.

Elle est calcule pour chaque colonne en


multipliant respectivement les lments de la
colonne par les contributions qui leur correspond
dans la colonne C, puis en additionnant le tout.

M. KADDIRI Simplexe 28
lments du tableau simplex

Par exemple la valeur de Z pour la colonne X est :


(4 x 0) +( 8 x 0) = 0.
Cela signifie que pour introduire une unit de
nettoyant X dans la solution, il faut restituer 4 h de
complment de la machine A au cot de 0 kdhs et
8 h de la machine B au cot de 0 kdhs.

La valeur de Z pour la colonne de droite reprsente


le total des contributions des variables
actuellement dans la solution.

M. KADDIRI Simplexe 29
lments du tableau simplex

Du fait que la solution initiale est de produire 12h


de complment avec la machine A et 16 avec B
(avec des contributions nulles), Le profit initial ne
peut qu'tre nul lui-mme.

La ligne des Z dans la solution initial est toujours


constitue de zros, mais elle volue au fur et
mesure des progrs de la solution.

M. KADDIRI Simplexe 30
lments du tableau simplex

Les valeurs en bas du tableau (C -Z)


reprsentent la contribution nette qu'on peut
obtenir en introduisant dans la solution une
unit de la variable de la colonne.

Ainsi, nous augmentons la valeur de la


fonction objectif de 10 kdh pour chaque unit
de X produite et de 30 kdh pour chaque unit
de Y.

M. KADDIRI Simplexe 31
Exemple

Utiliser la mthode du simplexe pour rsoudre le


problme de programmation linaire prcdent.
Max Z= 10 x+ 3O y
avec 4x + 6y + 1 S1 + 0 S2 = 12
8x + 4y + 0 S1 + 1 S2 = 16

M. KADDIRI Simplexe 32
tape 1:

C 10 30 0 0 Valeur
Var De
la solution
Variables de dcision
solution
X Y S1 S2
0 S1 4 6 1 0 12

0 S2 8 4 0 1 16

Z 0 0 0 0 0

C-Z 10 30 0 0
M. KADDIRI Simplexe 33
tape 2 : La colonne pivot : La colonne pivot est celle qui
contient le plus grand nombre positif (30) dans la ligne du
bas.
C 10 30 0 0 Valeur
Var De
la Variables de dcision solution
solution X Y S1 S2
L pivot
0 S1 4 6 1 0 12 (12/6)
0 S2 8 4 0 1 16 (16/4)
Z 0 0 0 0 0
C-Z 10 30 0 0

C pivot

Etape 3 : la ligne pivot prsente le plus petit ratio:


12/6=2 ; 16/4=4 donc la ligne 1 est la ligne pivot
Etape 4 : Le pivot est entourSimplexe
M. KADDIRI dun cercle 34
Etape 5 : Chaque valeur de la ligne est divise par le pivot, et
ces nouvelles valeurs sont introduites dans un nouveau tableau.
X Y S1 S2 Valeur
solution
Y 2/3 1 1/6 0 2

Etape 6 :De nouvelles lignes sont cres pour le tableau suivant, de telle
sorte que tous les lments de la colonne pivot soient nuls. Commencer
par la ligne S2 qui comporte un 4 dans la colonne Y. Multipliez la
nouvelle ligne par l'oppos de la valeur qu'il faut convertir (-4) et ajoutez
la l'ancienne ligne S2. Multiplier la nouvelle ligne par (- 4) on obtient:

X Y S1 S2 Valeur
solution
Y -8/3 -4 -2/3 0 -8
Ajoute lancienne pour obtenir la nouvelle :

8 4 0 1 16
16/3 0 -2/3 1 8
M. KADDIRI Simplexe 35
Puis entrer cette ligne dans un nouveau tableau.

C 10 30 0 0 Valeur
Var Des
la Variables de dcision solution
solution X Y S1 S2
30 Y 2/3 1 1/6 0 2
0 S2 16/3 0 -2/3 1 8
Z 20 30 5 0 60
C-Z -10 0 -5 0
S'il y avait davantage de ligne convertir, il faudrait rpter
l'opration pour la ligne suivante.
Etape 7 : Les valeurs de la ligne Z sont [(lment des colonnes)
x (C)]. Par exemple pour X : Z = (2/3)*30 + (16/3)*0 = 20.
Rpter les tapes 2 7 jusqu ce que les valeur de C-Z soient
toutesM.KADDIRI
0 Simplexe 36

Vous aimerez peut-être aussi