Upload
chaimaamesrar
View
2
Download
0
Embed Size (px)
Citation preview
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
Recherche Operationnelle
Ecole Nationale de Commerce et de Gestion Casablanca
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
1 La methode du simplexe
2 Les problemes a solution degeneree
3 Les deux phases du simplexe
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
Idees de base
Idees de base
1 Solution optimale : sommet (point extreme).
2 Idee fondamentale du simplexe : deplacement de sommet ensommet adjacent de maniere a ameliorer la fonction objectif.
3 Transformation des inegalites en egalites : forme standard duprogramme lineaire- systeme de m equations a n inconnues (m < n).
4 Identification algebrique des sommets : correspondance avecles bases d’un systeme d’equations.
Solution de base
1 Systeme de m equations lineaires a n inconnues (m < n) :infinite de solutions.
2 Si on fixe a zero (n −m) variables : systeme de m equations am inconnues possedant une solution unique (si la matrice estinversible). C’est une solution de base.
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
Solution de base realisable
Solution de base
Une solution de base d’un programme lineaire est la solutionunique du systeme de m equations a m inconnues obtenu en fixanta zero (n −m) variables (pourvu que la matrice du systeme soitinversible).Les variables fixees a zero sont appelees variables hors base et lesautres variables en base.
Solution de base realisable
On appelle Solution de base realisable une solution de base quiverifie les contraintes de positivite, c.a.d dont toutes lescomposantes sont positives ou nulles.
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
Forme canonique
Definition
Un programme lineaire est sous forme canonique lorsque toutes sescontraintes sont des inegalites (par exemple ≤)et toutes sesvariables sont non-negatives.
Forme canonique du programme lineaire (PL) : Exemple(production de peinture)
max z = 5x1 + 4x2
s.c
6x1 + 4x2 ≤ 24x1 + 2x2 ≤ 6
x2 ≤ 2−x1 + x2 ≤ 1
x1, x2 ≥ 0
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
Forme standard
Exemple (production de peinture)
On introduit les variables d’ecarts s1, s2, s3, s4 dans PL pour obtenirune forme standard du programme lineaire
max z = 5x1 + 4x2
s.c
6x1 + 4x2 + s1 = 24x1 + 2x2 + s2 = 6
x2 + s3 = 2−x1 + x2 + s4 = 1
x1, x2, s1, s2, s3, s4 ≥ 0
Dans ce cas on a n = 6 inconnues et m = 4 equations.
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
Geometrie des solutions de base
Prenons la Base = {s1, s2, s3, s4} : x1 = 0, x2 = 0 =⇒ s1 = 24 ;s2 = 6 ; s3 = 2 ; s4 = 1. Cette solution de base realisablecorrespond au sommet A(0 ; 0). La solution de base realisableassociee au sommet B(0,1) est(x1, x2, s1, s2, s3, s4) = (0, 1, 20, 4, 1, 0). Les variables x1, s4 sonthors base et x2, s1, s2, s3 sont en base.
Theoreme
Toute solution de base realisable correspond a un sommet dupolyedre.
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
Determination de la solution de base optimale
1 Nombre maximum de solutions de base :Cnm = n!m!(n−m)!
2 Algorithme ”bete et mechan” : enumeration de toutes lesbases.
3 Methode du simplexe : partir d’une solution de baseadmissible et passer a une solution de base voisine quiameliore la valeur de l’objectif.
4 Solution voisine : changement d’une variable en base.5 3 etapes :
Determination de la variable entrante.Determination de la variable sortante.Pivotage.
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
Algorithme du simplexe
1 Mise sous forme canonique du probleme lineaire
2 Ajout des variables d’ecart puis ecrire le programme lineairesous forme strandard.
3 Choix de la base realisable de depart.Dans le cas des bi ≥ 0, on peut prendre la solution triviale debase realisable suivante :(x1, · · · , xn, s1, s2, · · · , sm) = (0, · · · , 0, b1, b2, · · · , bm).Variables hors base : (xi )1≤i≤n. Variables en base : (sj)1≤j≤m.
Forme standard du PL :max z = c1x1 + c2x2 + · · ·
s.c
a11x1 + a12x2 +... a1nxn +s1 = b1
a21x1 + a22x2 +... a2nxn +s2 = b2
... ... ... ... ....am1x1 + am2x2 +... amnxn +sm = bm
x1 · · · , xn, s1 · · · , sm ≥ 0;
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
Algorithme du simplexe : presentation en tableau
Forme standard du PL (production de peinture) :max z = 5x1 + 4x2
s.c 6x1 + 4x2 + s1 = 24x1 + 2x2 + s2 = 6x2 + s3 = 2−x1 + x2 + s4 = 1x1, x2, s1, s2, s3, s4 ≥ 0
On a bi ≥ 0; i = 1, · · · , 4, donc on peut prendre la solution de baserealisable (x1, x2, s1, s2, s3, s4) = (0, 0, 24, 6, 2, 1) comme point dedepart.Les variables hors base sont : x1 et x2
Les variables en base sont : s1, s2, s3, s4.
Il y a plusieurs manieres d’implementer l’algorithme du simplexe.La methode du tableau est l’une des plus efficaces.
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
Algorithme du simplexe : presentation en tableau
Le premier tableau du simplexe est :
↓ var .base z x1 ↓ x2 s1 s2 s3 s4 sol θi
Lo |z −1 5 4 0 0 0 0 0
← L1|s1 0 (6) 4 1 0 0 0 24 4
L2|s2 0 1 2 0 1 0 0 6 6
L3|s3 0 0 1 0 0 1 0 2 −
L4|s4 0 −1 1 0 0 0 1 1 −
Comme il y a deux nombres positifs (5 et 4) dans la ligne Lo :(ligne des coefficients de la fonction objectif), la solution de baserealisable obtenue n’est pas optimale.On applique la procedure de determination de la variable entranteet celle sortante, on trouve :
1 x1 entre en base (plus grand coefficient positif de z ; ligne Lo)2 s1 sort de base (plus petit rapport positif de θi = bi
ai1)
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
Algorithme du simplexe : presentation en tableau
Dans le premier tableau,le pivot est egal a 6 (indique entreparenthese).Pour calculer le second tableau du simplexe on applique latechnique de pivotage :Les lignes du nouveau tableau du simplexe sont donnees par :Lo = Lo − 5
6L1 = (5, 4, 0, 0, 0, 0, 0)− 56 (6, 4, 1, 0, 0, 0, 24) = (...)
L1 = 16L1 = 1
6 (6, 4, 1, 0, 0, 0, 24) = (1, 4/6, 1/6, 0, 0, 0, 4)L2 = L2 − 1
6L1 = (1, 2, 0, 1, 0, 0, 6)− 16 (6, 4, 1, 0, 0, 0, 24) = (...)
L3 = L3 − 06L1 = (0, 1, 0, 0, 1, 0, 2)
L4 = L4 − −16 L1 = (−1, 1, 0, 0, 0, 1, 1) + 1
6 (6, 4, 1, 0, 0, 0, 24) = (...)
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
Simplexe du tableau
Le second tableau du simplexe est :
↓ var .base z x1 ↓ x2 s1 s2 s3 s4 sol θi
Lo |z −1 0 23 −5
6 0 0 0 −20
L1|x1 0 1 23
16 0 0 0 4 6
← L2|s2 0 0 ( 43 ) −1
6 1 0 0 2 32
L3|s3 0 0 1 0 0 1 0 2 2
L4|s4 0 0 53
16 0 0 1 5 3
Comme il ya un nombre strictement positif (2/3) dans la ligne Lo ,la solution de base realisable obtenue n’est pas optimale.On applique la procedure de determination de la variable entranteet celle sortante, on a :
1 x2 entre en base (plus grand coefficient positif de z ; ligne Lo)
2 s2 sort de base (plus petit rapport positif de θi = biai2
)
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
Simplexe du tableau
Dans le second tableau du simplexe,le pivot est egal a 43 indique
entre parenthese. Pour calculer le troisieme tableau du simplexe onapplique la technique de pivotage :Les lignes du nouveau tableau du simplexe sont donnees par :
Lo = Lo −2343
L2 = (0, 23 ,
−56 , 0, 0, 0,−20)− 1
2 (0, 43 ,
−16 , 1, 0, 0, 2)
L1 = L1 −2343
L2 = (1, 23 ,
16 , 0, 0, 0, 4)− 1
2 (0, 43 ,
−16 , 1, 0, 0, 2)
L2 = 143
L2 = (0, 1, −18 ,
34 , 0, 0,
32 )
L3 = L3 − 143
L2 = (0, 1, 0, 0, 1, 0, 2)− 34 (0, 4
3 ,−16 , 1, 0, 0, 2)
L4 = L4 −5343
L2 = (0, 53 ,
16 , 0, 0, 1, 5)− 5
4 (0, 43 ,
−16 , 1, 0, 0, 2)
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
Simplexe du tableau
Le dernier tableau du simplexe est :
↓ v .base z x1 x2 s1 s2 s3 s4 sol
Lo |z −1 0 0 −34 −1
2 0 0 −21
L1|x1 0 1 0 14 −1
2 0 0 3
L2|x2 0 0 1 −16 1 0 0 3
2
L3|s3 0 0 0 0 0 1 0 12
L4|s4 0 0 0 0 0 0 1 52
Comme tous les nombres de la ligne Lo sont negatifs ou nuls, lasolution de base realisable obtenue(x1, x2, s1, s2, s3, s4) = (3, 3
2 , 0, 0,12 ,
52 ) est optimale.
La solution optimale est donc la suivante : (x1, x2) = (3, 32 ) et la
valeur maximale de la fonction objecftif est max z = 21.On a utilise toutes les matieres premieres M1, M2 (s1 = 0, s2 = 0)
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
Algorithe du simplexe : resume
DebutTant que qu’il existe un coefficient strictement positifdans la fonction objectif fairedebut
choisir la variable entrante dans la base : c’est la variableassociee au plus grand coefficit ce > 0.Si tous les aie ≤ 0 (les valeurs dans la colonne de lavariable entrante) STOPle probleme est non borne( max z = +∞)Sinon
Choisir la variable sortante xs telle quebsase
= min{ biaie, aie > 0, i = 1, · · · ,m}
PivotageFin debutFin Tant queSi tous les ci ≤ 0, la solution optimale est trouvee.
Fin debut
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
Les problemes a solution degeneree
Graphiquement, on appelle solution degeneree le point ou plusieurscontraintes concourent (un nombre superieur ou egale a troiscontraintes).Un programme lineaire est dit degeneree si une ou plusieursvariables dans la base optimale sont nulles.Ce probleme peut causer des difficultes pour l’algorithme dusimplexe (divergence), on parle d’un eventuel cyclage del’algorithme : On retrouve une base deja rencontree et on boucleindefiniment
Differentes methodes permettent d’eviter le cyclage : regle deBland, methode lexicographique, methode de perturbation. Lamethode de Bland est l’une des plus employees.La regle de Bland (1977) s’enonce de la facon suivante : Lorsque
plusieurs variables sont susceptibles d’entrer ou de sortir de la base,on choisit toujours celle qui a l’indice (le rang) le plus petit.
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
Les problemes a solution degeneree : exemple
On veut resoudre le PL suivant par la methode du simplexe :
max z = 5x1 + 3x2
s.c
4x1 + 2x2 ≥ 64x1 + x2 ≥ 10x1 + x2 ≤ 4
x1, x2 ≥ 0
On introduit les variables d’ecart s1, s2, s3 ≥ 0 ce qui conduit a :
max z = 5x1 + 3x2
s.c
4x1 + 2x2 + s1 = 124x1 + x2 + s2 = 10x1 + x2 + s3 = 4
x1, x2, s1, s2, s3 ≥ 0
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
Les problemes a solution degeneree : exemple
On a bi ≥ 0; i = 1, · · · , 3. La solution de base realisable de depart :(x1, x2, s1, s2, s3) = (0, 0, 12, 10, 4)Les variales hors base sont : x1 et x2. Les variables en base sont :s1, s2, s3.
↓ base z x1 ↓ x2 s1 s2 s3 bi θi
Lo |z −1 5 3 0 0 0 0
L1|s1 0 4 2 1 0 0 12 3
← L2|s2 0 (4) 1 0 1 0 10 52
L3|s3 0 1 1 0 0 1 4 4
On applique la technique de pivotage et on obtient le secondtableau du simplexe
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
Les problemes a solution degeneree : exemple
Il y a une seule variable condidate pour entrer en base : x2
↓ base z x1 ↓ x2 s1 s2 s3 bi θi
Lo |z −1 0 74 0 −5
4 0 −252
L1|s1 0 0 1 1 −1 0 2 2?
L2|x1 0 1 14 0 1
4 1 52 10
L3|s3 0 0 34 0 −1
4 1 32 2?
Les variables condidates de sortir de la base sont s1 et s3 : choisircomme variable sortante celle de plus petit indice, ici c’est s1
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
Les problemes a solution degeneree : exemple
Il y a une seule variable condidate pour entrer en base : s2
↓ base z x1 x2 s1 ↓ s2 s3 bi θi
Lo |z −1 0 0 −74
12 0 −16
L1|x2 0 0 1 1 −1 0 2 −
L2|x1 0 1 0 −14
12 0 2 4
← L3|s3 0 0 0 −34
12 1 0 0
La variable condidate de sortir de la base est s3
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
Les problemes a solution degeneree : exemple
↓ base z x1 x2 s1 s2 s3 sol
Lo |z −1 0 0 −1 0 −1 −16
L1|x2 0 0 1 −12 0 2 2
L2|x1 0 1 0 12 0 −1 2
L3|s3 0 0 0 −32 1 2 0
On remarque que tous les nombres de la ligne Lo sont negatifs ounuls. La solution optimale est donc trouvee et donnee par(x1, x2) = (2, 2) et la valeur maximale de la fonction objectif estmax z = 16.
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
Les deux phases du simplexe : methode en deux phases
1 Une solution de base admissible n’est pas toujours connue apriori.
2 Certains problemes n’admettent pas de solution admissible,donc il est impossible de trouver une base de depart.
3 La methode des deux phases va permettre de determinerune base admissible ou prouver que le probleme estimpossible.
L’astuce de la methode en deux phases consiste a ajouter desvariables de base �artificielles� dans les equations ou il n’y aaucune variable candidate naturelle.
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
Les deux phases du simplexe : methode en deux phases
DebutMettre les contraintes sous forme d’egalites ;Rendre positif le second membre des contraintes ;Introduire les variables artificielles ai dans les contraintes :n∑
j=1
aijxj + ai = bi , xj , ai ≥ 0
Sous ces contraintes, resoudre le PL auxiliaire : max(z) = −m∑i=1
ai
Si pour tout i ∈ {1, ...,m}, ai = 0⇔ max z = 0Alors Resoudre le PL initial en prenant comme solution de base
de depart la solution obtenue a l’issue de la premiere phaseSinon Il n’y a pas de solution relisable
Fin.
Proposition : Un (PL) admet une solution realisable si et seulementsi le probleme auxiliaire (PLA) admet une solution de baseoptimale avec ai = 0, i = 1, · · · ,m.
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
Les deux phases du simplexe : methode en deux phases
A la fin de la phase I :
1 si la valeur optimale max z de la fonction economique estnegative (i.e., max z < 0), alors le probleme original n’est pasrealisable
2 si la valeur optimale max z de la fonction economique estnulle i.e., le probleme original est realisable. Dans ce cas, laresolution du probleme original avec l’algorithme du simplexese poursuit en utilisant l’information du dernier tableau de laphase I.
La phase II reprendra l’objectif original. Le tableau de la phase IIs’obtient en modifiant le dernier tableau de la phase I de la faconsuivante :
On raye les variables artificielles ;
On exprime la fonction-objectif z en fonction des variableshors base du dernier tableau de la phase I, en excluant lesvariables artificielles
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
methode en deux phases ; exemple
On veut resoudre le PL suivant :
max z = 5x1 + 7x2
s.c
x1 + x2 ≥ 6x1 + ≥ 4
x2 ≤ 3x1, x2 ≥ 0
On introduit les variables d’ecart s1, s2, s3 ≥ 0 ce qui conduit a :
max z = 5x1 + 7x2
s.c
x1 + x2 − s1 = 6x1 + − s2 = 4
x2 + s3 = 3x1, x2, s1, s2, s3 ≥ 0
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
methode en deux phases ; exemple
Les deux premieres equations necessitent l’introduction de deuxvariables artificielles a1, a2, on obtient le programme lineaireauxiliaire (PLA) :max z = −a1 − a2
s.c
x1 + x2 − s1 + a1 = 6x1 + − s2 + a2 = 4
x2 + s3 = 3x1, x2, s1, s2, s3, a1, a2 ≥ 0
Remarque : max z = −a1 − a2 = 0⇐⇒ a1 = 0, a2 = 0Tres important : il faut veiller a ce que la fonction objectif soitexprimee en fonction des variables hors-base. C’est une regle quidoit toujours etre verifiee : A tous les stades de la methode dusimplexe, la fonction objectif et les variables de base doivent etreexprimees en fonction des variables hors-base.
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
methode en deux phases ; exemple
La solution de base realisable de depart pour PLA est :(x1, x2, s1, s2, s3, a1, a2) = (0, 0, 0, 0, 3, 6, 4)Les variales hors base sont : x1, x2, s1, s2. Les variables en basesont : s3, a1, a2.On doit exprimer les variables a1 et a2 en fonction de x1, x2, s1, s2
et les remplacer dans la fonction objectif. On a :−a1 = −x1 − x2 + s1 + 6−a2 = −x1 + s2 + 4D’ou−a1 − a2 = −2x1 − x2 + s1 + s2 + 10Maintenant, la methode du simplexe s’applique sans problemes :
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
methode en deux phases ; exemple
Premiere phase :Le premier tableau du phase I :
↓ base z x1 ↓ x2 s1 s2 s3 a1 a2 bi
Lo |z −1 2 1 −1 −1 0 0 0 10
L1|a1 0 1 1 −1 0 0 1 0 6
← L2|a2 0 (1) 0 0 −1 0 0 1 4
L3|s3 0 0 1 0 0 1 0 0 3
x1 entre en base et a2 sort de la base, on elimine a2 du probleme.On applique la technique de pivotage et on obtient le secondtableau du phase I
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
methode en deux phases ; exemple
Le second tableau du phase I :
↓ base z x1 x2 ↓ s1 s2 s3 a1 bi
Lo |z −1 0 1 −1 1 0 0 2
← L1|a1 0 0 (1) −1 1 0 1 2
L2|x1 0 1 0 0 −1 0 0 4
L3|s3 0 0 1 0 0 1 0 3
a1 sort et x2 entre en base, on elimine a1.On applique la technique de pivotage et on obtient le troisiemetableau du phase I.
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
methode en deux phases ; exemple
↓ base z x1 x2 s1 s2 s3 bi
Lo |z 0 0 0 0 0 0 0
L1|x2 0 0 1 −1 1 0 2
L2|x1 0 1 0 0 −1 0 4
L3|s3 0 0 0 1 −1 1 1
la premiere phase est achevee puisque ci = 0, i = 1, · · · , 5.Une solution de base realisable est donc :x = (x1, x2, s1, s2, s3) = (4, 2, 0, 0, 1).Dans le dernier tableau, les deux variables ajoutees a1 et a2 sontsorties de la base. Donc a1 = 0 et a2 = 0, ce qui etait l’objectif. Ona donc trouve un point de depart pour resoudre le probleme original
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
methode en deux phases ; exemple
Deuxieme phase :Le PL se formule sous la forme equivalente suivante :
max z = 5x1 + 7x2
s.c
x2 − s1 + s2 = 2x1 − s2 = 4
s1 − s2 + s3 = 1x1, x2, s1, s2, s3 ≥ 0
La solution de base realisable trouvee en phase I est :x = (x1, x2, s1, s2, s3) = (4, 2, 0, 0, 1). Les variables x1, x2, s3 sonten base et les variables s1, s2 sont hors base.On doit exprimer les variables x1 et x2 en fonction de s1, s2 et lesremplacer dans la fonction objectif. On a :5x1 = 5(4 + s2)7a2 = 7(2 + s1 − s2)D’ou5x1 + 7x2 = 34 + 7s1 − 2s2
Maintenant, la methode du simplexe s’applique sans problemes :
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
methode en deux phases ; exemple
↓ base z x1 x2 s1 ↓ s2 s3 bi
Lo z −1 0 0 7 −2 0 −34
L1 x2 0 0 1 −1 1 0 2
L2 x1 0 1 0 0 −1 0 4
L3 s3 0 0 0 (1) −1 1 1
s1 entre en base et s3 sort de base.
La methode du simplexe Les problemes a solution degeneree Les deux phases du simplexe
methode en deux phases ; exemple
↓ base z x1 x2 s1 s2 s3 bi
Lo z −1 0 0 0 5 −7 −41
L1 x2 0 0 1 0 0 1 3
L2 x1 0 1 0 0 −1 0 4
L3 s1 0 0 0 1 −1 1 1
La colonne de s2 ne comporte que des nombres ≤ 0, le problemeest donc non borne