Vous êtes sur la page 1sur 8

1 Lalgorithme du simplexe

1.1
1.1.1

Dnition - Notations
Problme

Le problme linaire est le suivant : Trouver les x1 , x2 , . . . , xn qui optimisent la fonction conomique : c1 x1 + c2 x2 + . . . + cn xn et vrient les contraintes : a11 x1 + a12 x2 + . . . + a1n xn b1 ... ak1 x1 + ak2 x2 + . . . + akn xn bk ... am1 x1 + am2 x2 + . . . + amn xn bm x1 0; x2 0; . . . xn 0 avec c1 , . . . , cn , a11 , . . . , amn , b1 , . . . bm connus. En notation condense : min z = C X sous A.X b et X 0 avec C(n 1), A(m n) et b(m 1) connus et X(n 1) (1.1)

1.1.2

Forme standard

La forme standard est un problme doptimisation sous la forme : min z = C X sous A.X = b et X 0 avec C et A connus (1.2)

1.1.3

Mise sous forme standard

On peut toujours remplacer les ingalits : ak1 x1 + ak2 x2 + . . . + akn xn bk 1

CHAPITRE 1. LALGORITHME DU SIMPLEXE

par des galits, en introduisant des variables dcart. ak1 x1 + ak2 x2 + . . . + akn xn ek = bk avec ek positif ou nul. Le problme devient : min z = [C X sous e avec C, A et b connus 0 ]. [A 1]. X e = b et X e 0

(1.3)

1.1.4

Dnitions

Dnition 1 On appelle solution tout vecteur X tel que A.X = b. Dnition 2 Une solution X qui vrie A.X b X0 est une solution admissible Dnition 3 A tant une matrice (m n) de rang m. Une base est une matrice B(m m) extraite de A dont le dterminant est non nul. On remarque que le systme rsoudre possde m galits et n + m inconnues. Donc la valeur de n variables peut tre xes arbitrairement, par exemple zro. On dit quelles sont mises hors base Dnition 4 On appelle variables hors base les n variables de Rn+m xes zros. Les m variables restantes sont appeles variables de base Dnition 5 On appelle solution de base une solution o en ayant choisi n variables hors base, on obtient une solution unique en rsolvant les m contraintes dgalit obtenues en ajoutant les variables dcart. Notons xB les variables de base correspondant aux m variables positives ou nulles et xH les variables hors base, correspondant aux n variables nulles. Dnition 6 Une solution de base telle que xB > 0 est dite admissible. Dnition 7 Si xB 0, alors la solution est dite solution de base admissible dgnre. 2

1.2. RSULTATS FONDAMENTAUX

1.2
1.2.1

Rsultats fondamentaux
Premires dnitions

Dnition 8 Soient X et Y deux points dun domaine K , le segment qui joint X et Y est dni par lensemble des U tels que U = X + (1 )Y avec 0 1. Dnition 9 Soient X et Y deux points intrieurs de K , le domaine K sera convexe si le segment joignant X et Y est dans K . Dnition 10 Une fonction f est convexe dans un domaine convexe K si f (X + (1 )Y ) f (X ) + (1 )f (Y ) Dnition 11 U est un sommet du domaine K ssi U = X + (1 )Y 0<<1 = U = X = Y

Autrement dit un point dun polydre est un sommet sil ne peut pas tre vu comme la combinaison linaire convexe de deux autres points du polydre. Tout point dun polydre peut tre vu comme une combinaison linaire convexe des sommets du polydre.

1.2.2

Thormes

Thorme 1 Sil existe une solution admissible au problme A.X 0, X 0 alors il existe une solution de base admissible. Sil existe une solution optimale admissible, il existe une solution de base admissible optimale Thorme 2 Lensemble des solutions admissibles forme un ensemble convexe K . Preuve : Soient X et Y deux solutions dans K . AX = b X 0 X K AY = b Y 0 Y K Alors : AX = b = A[X + (1 )Y] = b(en sommant) (1 )AY = (1 )b Soit U = X + (1 )Y alors AU = b donc U K et U 0 . 2 Thorme 3 Si K est un ensemble convexe, un point de K solution admissible de A.X 0, X 0 est un sommet de K ssi X est une solution de base admissible. 3

CHAPITRE 1. LALGORITHME DU SIMPLEXE

Thorme 4 Toute solution de A.X 0, X 0 est une combinaison linaire convexe des sommets. La solution optimale est donc une combinaison linaire convexe des sommets. Thorme 5 Loptimum de z , sil existe, est atteint en au moins un sommet de K . Preuve : (Par labsurde) Soit X un optimum de z qui ne soit pas un sommet de K . C .X < C .Xi
p

i tel que 1 i p
p

=
i=1 p

i C .X <
i=1

i C .Xi

or
i=1

i = 1 car cest une somme linaire convexe


p i=1

Do C .X <

i C .Xi
p

Choisissons les i tels que X = absurde, X est donc un sommet.


i=1

i C .Xi (Thorme 4). Donc C < C

2 Thorme 6 Si z atteint son optimum pour plusieurs sommets, il latteint aussi pour toute combinaison linaire convexe de ces sommets. Preuve : zopt = C X1 = C X1 = . . . = C Xp U = 1 X1 + . . . + p Xp
p

avec
i=1

i = 1

0i1

C U = 1 C X1 + . . . + p C Xp
p

C U =
i=1

i zopt = zopt

Do C U = zopt 2 4

1.3. PRINCIPE

1.3

Principe

Lalgorithme procde de la faon suivante : 1. on recherche un sommet de dpart ; 2. on teste si ce sommet est loptimum ou si la fonction objectif nest pas borne infrieurement ; dans ce cas le problme na pas de solution nie ; 3. si le sommet que lon vient dexaminer nest pas optimal, on se dplace sur un sommet voisin pour lequel la fonction conomique diminue et on repasse ltape prcdente. Le nombre de sommets tant ni et tout minimum local tant absolu, le sommet optimal est atteint lorsquaucun des sommet voisin ne permet plus de diminution du critre.

1.4
1.4.1

Recherche dun sommet de dpart


Forme simpliciale

Le problme tant sous la forme standard (Equation 2), il peut se dcomposer sous la forme [B H]. xB xH =b

Supposons que B est inversible, alors [1 Si B1 b > 0 alors la solution xB = B1 b est une solution de base admissible. Cette approche ncessite : - linversion dune matrice ; - la recherche dune matrice telle que B1 b > 0. La forme simpliciale permet dliminer ces inconvnients. En eet, la mise en vidence dune solution est particulirement simple si B = 1 et b > 0. xH = 0 B1 H]. xB xH = B 1 b

CHAPITRE 1. LALGORITHME DU SIMPLEXE

On appellera forme simpliciale une expression des contraintes galits sous la forme xB [1 H]. = b avec b 0 (1.4) xH On a alors une solution directe : xB = b xH = 0

1.4.2

Cas o la forme simpliciale nest pas vidente

Lorsquil nexiste pas de forme simpliciale de dpart vidente pour le problme sous forme standard (Equation 2), on rajoute des variables, dites articielles, pour faire apparatre une telle forme. Le problme devient :
m

min w =
i=1

yi sous A.X + Y = b et X 0 avec C et A connus

Y0

(1.5)

Pour le problme 5, on a une forme simpliciale vidente. [1 A]. Y X = b avec b 0

La mthode des deux phases permet alors de dterminer une forme simpliciale du problme de dpart. Son principe est le suivant : - On rsout le problme 5 par lalgorithme du simplexe. - Si la solution de ce problme conduit une solution avec des variables articielles non nulles (w = 0), le problme initial na pas de solution. - Si la solution de ce problme conduit une solution avec des variables articielles nulles (w = 0), on utilise la solution ainsi obtenue comme sommet de dpart pour le problme initial (on supprime les variables articielles et on a ainsi une forme simpliciale du problme initial).

1.5

Passage dun sommet un autre

Ds que lon quitte un sommet, une des variables hors base correspondantes au moins devient non nulle. Comme on veut de diriger vers un sommet voisin, il ne faut en rendre non nulle quune, qui va ainsi devenir variable de base pour le prochain sommet, donc entrer dans la base. 6

1.6. RSUM

1.5.1

Choix de la variable entrante

En exprimant le critre z en fonction des variables hors base. Le critre de slection de la variable entrante est de prendre la variable hors base qui fournit la plus forte baisse de la fonction objectif. Autrement dit, on choisit celle dont le cot marginal est le plus ngatif.

1.5.2

Choix de la variable sortante

En considrant le problme sous forme simpliciale, les contraintes lorsquune variable hors base xr rentre dans la base sont : x1 + a1r xr = b1 . . . xs + asr xr = bs . . . xm + amr xm = bm La solution doit tre admissible, donc les xi sont positifs ou nuls. On va donc pousser la variable rentrante jusqu ce quune des variables de base sannule. Cest cette variable qui est choisie comme variable sortante. Pour les i tels que air > 0, on i s s choisit le plus petit des abir , not absr et on donne xr la valeur absr , alors xs = 0. Si tous les air sont infrieurs zro, alors la solution est non borne.

1.5.3

Calcul du nouveau sommet

Le calcul du nouveau sommet consiste remplacer asi - les aij par aij ajr a sr s - les bj par bj ajr absr Ce calcul est appel opration de pivot.

1.5.4

Test doptimalit

Le critre darrt est le suivant : La solution de base courante est optimale si, lorsque la fonction conomique est exprime avec les variables hors base, aucune des variable ne conduit lamlioration du critre. Autrement dit, si les tous les cots marginaux sont positifs ou nuls.

1.6

Rsum

Terminons en donnant une description schmatique de lalgorithme du simplexe.

CHAPITRE 1. LALGORITHME DU SIMPLEXE

Pas 0. Initialisation - Trouver une forme simpliciale du problme Pas 1. Test doptimalit - Exprimer la fonction conomique partir des variables hors base - Si tous les cots marginaux sont positifs ou nuls Alors STOP, la solution obtenue est la solution optimale - Sinon Pas 2. Choix de la variable entrante - Choisir la variable hors base dont le cot marginal est ngatif et le plus petit possible. Soit xr la variable entrante. Pas 3. Choix de la variable sortante - La variable sortante est la premire sannuler : cest celle pour laquelle le le plus petit avec air > 0. Soit xs la variable sortante.
bi air

est

Pas 4. Dterminer la nouvelle solution de base : opration du pivot asi - Remplacer les aij par aij ajr a sr s - Remplacer les bj par bj ajr absr Retour au Pas 1.