Vous êtes sur la page 1sur 42

Sciences Mathmatiques Appliques

Recherche Oprationnelle I

Mathmatiques pour la Dcision

max z = 3x1 + 5x2 x1 2x2 s.c.q. 3x + 2x2 1 x 1 x2

(1) (2) (3) (4) (5)

12 18 0 0

Khalid ISKAFI

Recherche Oprationnelle I

Mathmatiques pour la Dcision

SOMMAIRE

iii

Sommaire

Sommaire 1 Introduction la programmation linaire


1.1 1.2 1.3 1.4 1.5 2.1 2.2 2.3 2.4 2.5 Introduction . . . . . Un simple exemple . Rsolution graphique Formulation gnrale Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

iii
1 2 5 10 13

2 Algorithme du Simplexe

Principe de l'algorithme . . . . . . . . . . . . . . Formes canoniques d'un programme linaire . . . Notion de solution de base . . . . . . . . . . . . . Initialisation de l'algorithme . . . . . . . . . . . . Une itration Simplexe . . . . . . . . . . . . . . . 2.5.1 Choix de la direction . . . . . . . . . . . . 2.5.2 Choix de la variable sortante . . . . . . . . 2.5.3 Calcul du nouveau sommet . . . . . . . . . 2.5.4 Test d'optimalit . . . . . . . . . . . . . . 2.5.5 Chemin suivi par l'algorithme du Simplexe 2.6 Algorithme du Simplexe . . . . . . . . . . . . . . 2.7 Exercices . . . . . . . . . . . . . . . . . . . . . . . 3.1 3.2 3.3 3.4 Introduction . . . . . . . . . . . . . . Notion de tableau Simplexe . . . . . Tableaux Simplexe et pivotage . . . . Algorithme du Simplexe en tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

14 16 18 20 21 21 22 23 25 27 27 29 30 31 32 38

3 L'algorithme du Simplexe en Tableaux

30

Chapitre 1 Introduction la programmation linaire

1.1

Introduction

L'objectif de ce cours est double. Il s'agit, d'une part, de donner une introduction la formulation en modles d'optimisation, et il s'agit d'autre part de prsenter les techniques de rsolution de ces problmes. On parle de problme d'optimisation lorsqu'il faut maximiser ou minimiser une

fonction sous contraintes. Par exemple, maximiser le bnce d'une entreprise sous
les contraintes de satisfaire la demande et de respecter la capacit de production. Ce cours concerne un type prcis de modles d'optimisation ; nous nous concentrerons sur les problmes linaires et les problmes en nombres entiers. Nous commencerons par le cas des problmes linaires, c'est--dire les problmes o la fonction objectif et les contraintes sont purement linaires. Lorsqu'il n'y a que deux variables de dcision, un problme linaire peut tre rsolu de manire purement graphique. C'est ce que nous verrons dans ce chapitre 1. Lorsqu'il y a un plus grand nombre de variables, un algorithme mis en oeuvre sous la forme d'un programme informatique s'avre ncessaire. Il s'agit de l'algorithme du Simplexe que nous verrons au chapitre 2. Nous allons voir au chapitre 3 une autre faon de prsenter 1

CHAPITRE 1.

INTRODUCTION LA PROGRAMMATION LINAIRE

les calculs algbrique de l'algorithme du Simplexe. Il s'agit de la prsentation du

Simplexe en tableaux. Ensuite, nous verrons au chapitre 4 les embches que l'on peut
rencontrer chacune des tapes de l'algorithme. On abordera au chapitre 5, la notion de dualit qui est un concept fondamental en programmation linaire et qui conduit des rsultats de grande porte thorique et pratique (conomie, gestion. . .). Puis, on entame au chapitre 6 une des applications principales de la dualit en programmation linaire : l'analyse de la sensibilit de l'objectif ralis vis--vis d'une perturbation des paramtres. On parle d'analyse post-optimale. Lorsque les variables doivent prendre des valeurs entires, on parle de problmes en

nombres entiers. On devrait proprement parler de problmes linaires en nombres


entiers car on impose, en plus, aux contraintes et la fonction objectif d'tre linaires. Nous verrons au chapitre 7 une technique de rsolution de ces problmes : il s'agit de la mthode de branch and bound. Il est remarquer que toutes ces mthodes de rsolution tant mises en oeuvre dans des logiciels commerciaux, il ne viendrait plus l'ide de les programmer soi-mme. Par exemple, le solveur d'Excel dispose d'une implmentation de ces algorithmes.
1.2 Un simple exemple

Il s'agit d'une entreprise de fabrication de chassis qui envisage la production de deux nouveaux modles au moyen des capacits rsiduelles de ses trois ateliers. Il s'agit respectivement d'un chassis en aluminium et d'un chassis en bois. Le premier produit ncessite le passage dans le premier atelier pour fabriquer le cadre en aluminium et dans le troisime atelier o le verre est mont sur le chassis. Tandis que le second produit ncessite le passage dans le deuxime atelier pour fabriquer le cadre en bois et dans le troisime atelier o le verre est mont sur le chassis. Les marges unitaires, les temps de fabrication de chacun des produits dans chacun des ateliers ainsi que les capacits hebdomadaires rsiduelles de ces ateliers sont donns au tableau 1.1

1.2.

UN SIMPLE EXEMPLE

Produit 1 Produit 2 Capacit disponible (heures/produit) (heures/produit) (heures/semaine) Atelier 1 1 0 4 Atelier 2 0 2 12 Atelier 3 3 2 18 Marge 3$ 5$ Tableau 1.1 : Marges, temps d'usinage et capacits. La question qui se pose est la suivante : "Combien faut-il produire de chassis de chaque type par semaine pour maximiser le prot net ?" La formulation d'un problme d'optimisation comporte toujours les trois tapes suivantes : 1. choix des variables du modle ; 2. formulation de l'objectif ; 3. formulation des contraintes. La premire tape consiste choisir les variables du problme.

Dnition 1.2.1. On appelle variable toute quantit utile la rsolution du problme dont le modle doit dterminer la valeur.
Cette dnition permet de direncier les variables des paramtres, qui sont des donnes qui peuvent varier, par exemple d'une priode l'autre ou d'un scnario l'autre. Ici les quantits que le modle doit dterminer sont les productions de chassis par semaine. Notons donc :
x1 = nombre de chassis de type 1 produits par semaine, x2 = nombre de chassis de type 2 produits par semaine.

La deuxime tape consiste formuler mathmatiquement l'objectif.

Dnition 1.2.2. On appelle fonction objectif d'un problme d'optimisation le critre de choix entre les diverses solutions possibles.

CHAPITRE 1.

INTRODUCTION LA PROGRAMMATION LINAIRE

Ici l'entreprise dsire maximiser son prot net. La marge tant de 3 pour le premier type de chassis et de 5 pour le second, l'objectif s'exprime comme suit :
max z = 3x1 + 5x2 .

La troisime tape consiste formuler les contraintes du problme.

Dnition 1.2.3. On appelle contraintes du problme toutes les relations limitant le choix des valeurs possibles des variables.
Ces relations peuvent tre de simples bornes sur les variables. Par exemple, les quantits produites ne peuvent tre ngatives. Mathmatiquement :
x1 , x2 0.

Elles peuvent tre plus complexes comme les contrainte de capacit de production. Le temps pour assembler 1 chassis de type 1 dans l'atelier 1 est de 1 heure o il reste 4 heures disponibles. D'o la contrainte de capacit de l'atelier 1 :
x1 4.

Semblablement, on peut construire les contraintes de capacits des deux autres ateliers :
2x2 12 3x1 + 2x2 18.

Il est alors trs utile de reprendre sous une forme condense la formulation complte du problme. Ici, on obtient la formulation suivante :
max z = 3x1 + 5x2 x1 2x2 s.c.q. 3x + 2x2 1 x1 x2

12 18 0 0

(1.2.1)

1.3.

RSOLUTION GRAPHIQUE

1.3

Rsolution graphique

Comme annonc dans l'introduction, dans le cas de deux variables de dcision, un problme linaire peut tre rsolu de manire purement graphique en suivant le processus en trois tapes qui suit. La premire tape de la rsolution consiste reprsenter graphiquement la rgion ralisable.

Dnition 1.3.1. On appelle rgion ralisable, l'ensemble des valeurs de variables de dcision qui satisfont toutes les contraintes.

Dans le cas de l'exemple, c'est l'ensemble des points (x1 , x2 ) satisfaisant les ingalits de (1.2.1). Graphiquement une ingalit telle que 3x1 + 2x2 18 correspond un demiplan limit par la droite obtenue en prenant l'inquation l'galit (3x1 + 2x2 = 18). Lorsque l'on fait l'intersection des cinq demi-plans correspondant aux cinq ingalits :

x1

(1)

2x2 12 (2) 3x1 + 2x2 18 (3) x1 x2 0 0 (4) (5)

on obtient le polygone hachur la gure I.1. En conomie, cet ensemble ralisable est encore appel l'ensemble de production.

CHAPITRE 1.

INTRODUCTION LA PROGRAMMATION LINAIRE

Figure I.1 : Ensemble de production.

Gnralisation. Rn Plus gnralement, si on a n variables, on ne parle plus de polygone, mais bien de polydre. En eet, la rgion de Rn correspondant aux solutions d'une ingalit linaire du type suivant :
ak1 x1 + ak2 x2 + . . . + akn xn bk

La notion de polydre de

est un demi-espace ferm situ d'un ct de l'hyperplan de Rn d'quation :


ak1 x1 + ak2 x2 + . . . + akn xn = bk .

Dnition 1.3.2. On appelle polydre de Rn l'ensemble des x Rn vriant un systme d'inquations linaires :
ak1 x1 + ak2 x2 + . . . + akn xn bk , k = 1, . . . , p.

A titre d'illustration, le polydre de R3 dni par les ingalits suivantes :


x1 + x2 + x3 1 x1 , x2 , x3 0

1.3.

RSOLUTION GRAPHIQUE

est reprsent la gure I.2 par le prisme OABC o O note l'origine des axes :

Figure I.2 : Hyperfaces d'un polydre dans R3 . Pour l'exemple de chassis, on voit clairement que le systme est sous-dtermin. On va devoir choisir entre ces dirents plans de production. Pour ce faire, et c'est la deuxime tape de la rsolution, on va reprsenter graphiquement des lignes

d'isovaleur de la fonction objectif :


z = 3x1 + 5x2 .

En eet, on remarquera que l'expression de la fonction objectif fait intervenir trois variables et ne peut donc tre reprsente que dans l'espace. Pour se ramener dans le plan, on va considrer des valeurs successives de l'objectif :
z = k.

Ce qui correspond graphiquement des droites parallles


3x1 + 5x2 = k.

CHAPITRE 1.

INTRODUCTION LA PROGRAMMATION LINAIRE

Les points d'une de ces droites sont donc le lieu de tous les points donnant la mme valeur du prot (d'o le nom de droite d'isovaleur de la fonction objectif). Ceci est fait la gure I.3 o l'on a reprsent z = 10, 20 et 36.

Figure I.3 : Droites d'isoprot. Enn, et c'est la troisime tape de la rsolution, l'optimum sera dtermin graphiquement comme le plan de production situ sur la droite d'isoprot la plus

leve, c'est--dire celle qui donne le prot le plus lev. On voit la gure I.3 qu'il
s'agit du point
x = (2, 6).

Justions ce choix. Comme on maximise le prot on a intrt prendre la droite d'isovaleur la plus leve possible. Bien sr, il faut que le plan de production soit encore ralisable : autrement dit, il faut se restreindre la rgion ralisable. On a alors l'importante remarque suivante :

Observation 1 :

1.3.

RSOLUTION GRAPHIQUE

Pour maximiser l'objectif, il faut prendre la droite d'isovaleur de l'objectif qui touche encore la rgion ralisable et qui donne la plus grande valeur l'objectif.
Sur base de cet exemple, on tire une deuxime observation :

Observation 2 : On constate que la solution optimale est un sommet de la rgion ralisable.


On peut alors se demander si la solution optimale sera toujours un sommet de la rgion ralisable. En fait, lorsque la ligne d'iso-marge est parallle un ct du polygone, on a que tout le ct du polygone est optimal. Par exemple, si l'objectif avait t z = 3x1 + 2x2 , tout le segment entre (2, 6) et (4, 3) aurait t optimum.

Observation 3 : Mme si tout un ct du polygone est optimal, on peut toujours choisir une solution optimale correspondant un sommet.
En conclusion, on peut voir qu'il sut d'valuer la valeur de l'objectif en chacun des sommets pour dterminer l'optimum d'un problme linaire. Mais on peut aller plus loin encore pour limiter le nombre de sommets examiner en se basant sur la quatrime observation suivante.

Observation 4 : Le long d'un ct du polygone, la valeur de l'objectif peut tre soit constante, soit strictement croissante, soit strictement dcroissante.
On peut donc suggrer l'algorithme suivant :

Algorithme 1.1

Principe de l'algorithme du Simplexe.

i) Choisir comme point de dpart un sommet x de la rgion ralisable. ii) Dterminer les cts passant par ce sommet x . Trouver un ct le long duquel
z crot. S'il n'y en n'a pas, STOP : le x courant est optimal.

iii) Dterminer le sommet y l'autre bout du ct et poser x = y . Retour en ii).

10

CHAPITRE 1.

INTRODUCTION LA PROGRAMMATION LINAIRE

Nous allons voir au chapitre suivant comment gnraliser cet algorithme au cas de Rn : on obtient alors l'algorithme du Simplexe. Mais avant cela, gnralisons la notion de ct et de sommet et voyons la formulation gnrale d'un problme linaire.

Gnralisation. On peut galement gnraliser les notions de cots et de sommet d'un polygone. Il s'agit, en fait, de cas particuliers de la notion de face d'un polydre. Dnition 1.3.3. On appelle face d'un polydre l'ensemble des points appartenant au polydre et qui vrient un certain nombre de contraintes l'galit :
ak1 x1 + ak2 x2 + . . . + akn xn = bk , k I {1, . . . , p}.

Notion de faces d'un polydre.

Suivant la dimension de l'ensemble obtenu, on a des noms particuliers.

Dnition 1.3.4. Dans l'espace Rn , on appelle hyperface, une face de dimension n 1, arte, une face de dimension 1 et sommet, une face de dimension 0.
Reprenons l'exemple du polydre OABC ci-dessus. Le triangle ABC est l'ensemble des points du polydre vriant une contrainte l'galit (x1 + x2 + x3 = 1). Il s'agit donc d'une face. Elle est de dimension 2 et donc il s'agit d'une hyperface. La droite AB est l'ensemble des points du polydre vriant 2 contraintes l'galit (x1 + x2 + x3 = 1 et x3 = 0). Elle est de dimension 1 : il s'agit donc d'une arte. Le point C est l'intersection de 3 (n = 3) hyperplans dlimitants, il est de dimension 0 : c'est donc un sommet.
1.4 Formulation gnrale

Nous allons gnraliser l'exemple introductif. Considrons qu'il y a n produits possibles (ici n = 2) ncessitant l'utilisation ventuelle de m ressources limites (ici
m = 3 ateliers de capacit limite). Notons cj , l'accroissement du prot par unit de

produit j et bi , la quantit de ressource i disponible. Notons par aij la quantit de

1.4.

FORMULATION GNRALE

11

ressource i consomme pour produire une unit de produit j . Les donnes numriques du problme sont rsumes au tableau 1.2. Ressource 1 1 2 . . . m marge
a11 a21 am1 c1

Produit 2 ...
a12 a22 am2 c2 ... ...

n a1n a2n amn cn

Capacit disponible
b1 b2

. . . ...

. . .

bm

...

Tableau 1.2 : Donnes numriques du problme. Un programme linaire peut donc se formuler en gnral de la manire suivante. On veut dterminer le point qui maximise un critre, fonction linaire des variables de dcision, tout en respectant des contraintes, elles aussi fonctions linaires des variables de dcision. On peut crire :
max z = c1 x1 + c2 x2 + . . . + cn xn , a11 x1 + a12 x2 . . . + a1n xn b1 , a21 x1 + a22 x2 . . . + a2n xn b2 , . . . . . . . . . . . . a x + a x ... + a x b , m1 1 m2 2 mn n m s.c.q. x1 0, x2 0, . . . xn 0.

On a donc un problme n variables et m + n contraintes d'ingalit, les n dernires tant celles de non ngativit des variables.

12

CHAPITRE 1.

INTRODUCTION LA PROGRAMMATION LINAIRE

Matriciellement, le problme peut s'crire comme


max z = cT x,

s.c.q.

Ax b, x 0.

(1.4.1)

A matrice (m n), b vecteur (m 1) avec . c vecteur (n 1), x vecteur (n 1)

Dnition 1.4.1. Tout point x vriant les contraintes de (1.4.1) est dit une solution ralisable pour le problme linaire.
Notons par S la rgion ralisable :
S = {x Rn | Ax b, x 0}.

Parmi ces solutions ralisables, celles qui maximisent l'objectif sont appeles solutions optimales.

Dnition 1.4.2. Tout point x S et tel que


x S, cT x cT x,

est dit une solution optimale pour le problme linaire (1.4.1).

1.5.

EXERCICES

13

1.5

Exercices

Exercice 1
Rsoudre le problmes suivant en utilisant la mthode graphique
max z = 4x1 + 3x2 3x1 + 4x2 12 s.c.q. 7x + 2x2 14 1 x1 , x2 0

Exercice 2
Rsoudre le problme suivant en utilisant la mthode graphique
max z = 5x1 + 4x2 x1 + x2 2x + x 1 2 s.c.q. 3x1 + x2 x1 , x2

20 35 12 0

Chapitre 2

Algorithme du Simplexe

2.1

Principe de l'algorithme

L'algorithme du Simplexe permet de dterminer une solution optimale d'un programme linaire lorsqu'une telle solution existe. Dans le cas contraire, l'algorithme, lors du passage par une phase prliminaire appele phase I, dtermine l'absence de solution ralisable. Nous verrons la phase I au chapitre 4. Rappelons la formulation de l'exemple introductif :

max z = 3x1 + 5x2 x1 2x2 s.c.q. 3x + 2x2 1 x 1 x2

12 18 0 0

(2.1.1)

dont la reprsentation graphique est donne la gure II.1. 14

2.1.

PRINCIPE DE L'ALGORITHME

15

Figure II.1 : Un exemple de programme linaire.

Le principe de l'algorithme du Simplexe est de dterminer une solution optimale en allant de sommet en sommet adjacent. Partant du point (0, 0), l'algorithme va dterminer une arte le long de laquelle l'objectif s'accrot : par exemple, l'arte en direction de (0, 6). Ensuite, on va aller jusqu'au bout de cette arte : c'est--dire au sommet (0, 6). Et le processus continue de manire itrative. On dtermine une arte le long de laquelle l'objectif s'accrot : l'arte en direction de (2, 6). On va jusqu'au bout de l'arte et, l, on constate que tout mouvement, en arrire vers (0, 6) ou en avant vers (4, 3), conduit diminuer l'objectif. On est donc l'optimum. Nous allons maintenant voir comment eectuer ces mmes oprations en utilisant uniquement l'algbre. C'est l'objet de l'algorithme du Simplexe.

16
2.2

CHAPITRE 2.

ALGORITHME DU SIMPLEXE

Formes canoniques d'un programme linaire

La forme canonique d'un programme linaire dans l'espace des variables originales avait t vue au chapitre 1. Elle correspond la forme matricielle suivante :
max z = cT x,

s.c.q.

Ax b, x 0

A matrice (m n), b vecteur (m 1) avec c vecteur (n 1), x vecteur (n 1). Il s'agit d'un problme avec n variables et m+n contraintes d'ingalit. Cependant,

parmi ces dernires , il y a m contraintes qui peuvent tre des contraintes d'ingalit gnrales et n qui ne sont que des contraintes de positivit des variables. Observons qu'il est toujours possible de transformer une contrainte d'ingalit gnrale en une contrainte d'galit par ajout d'une variable laquelle on impose d'tre non ngative. Considrons, par exemple, la contrainte
3x1 + 2x2 18.

Imposer que le membre de gauche soit infrieur ou gal au membre de droite, revient dire qu'il faudrait ajouter une quantit non ngative au membre de gauche pour qu'il y ait galit :
3x1 + 2x2 + x3 = 18,

avec la condition que la variable x3 soit non ngative


x3 0.

Cette quantit reprsente un dcit ou un cart. Comme cet cart peut varier, on l'appelle variable d'cart.

2.2.

FORMES CANONIQUES D'UN PROGRAMME LINAIRE

17

Dnition 2.2.1. La variable d'cart est la quantit qui, ajoute au membre de gauche d'une contrainte, permet de transformer la contrainte en galit.
Bien que dans la forme canonique on ne considre que des contraintes d'ingalits gnrales du type infrieur ou gal, on peut aussi envisager de transformer des contraintes gnrales du type suprieur ou gal en galit. Lorsqu'on impose
2x1 + x2 4,

on impose que le membre de gauche dpasse le membre de droite. Il y a donc aussi un cart qui s'avre cette fois tre un surplus. Pour revenir l'galit, il faut retrancher une quantit non ngative du membre de gauche :
2x1 + x2 x3 = 4,

avec x3 0. Appliquons ceci au problme (2.1.1). On obtient le problme sous forme standard avec galits suivant :
max z = 3x1 + 5x2 x1 2x

+x3
2

= +x4

s.c.q.

= 12 +x5 = 18 x5 0

3x1 +2x2 x, x2 , 1

(2.2.1)

x3 ,

x4 ,

Remarquons qu'il y a quivalence totale entre les deux formes. En eet, d'une part, toute solution ralisable du problme (2.1.1) peut tre augmente en une solution ralisable pour le problme (2.2.1). Toute solution ralisable du problme (2.2.1) peut tre tronque en une solution ralisable pour le problme (2.1.1). Comme, d'autre part, les fonctions objectifs sont identiques, on a bien quivalence entre les deux problmes. Illustrons cette correspondance entre solutions : la solution (3, 2) du problme (2.1.1) correspond la solution augmente (3, 2, 1, 8, 5) du problme (2.2.1). Dans l'autre

18

CHAPITRE 2.

ALGORITHME DU SIMPLEXE

sens, il sut de tronquer la solution dans R5 en ne retenant que ses deux premires composantes.
2.3 Notion de solution de base

On remarquera que les galits du problme (2.2.1) forment un systme de m = 3 galits en n + m = 2 + 3 = 5 inconnues. Donc la valeur de n = 2 variables peut tre xe arbitrairement. Par exemple, dans le systme d'galits :
x1 +x3 +x4 = 4 2x2 3x +2x 1 2 = 12 +x5 = 18

(2.3.1)

les deux variables x1 et x2 peuvent tre xes zro. On dit qu'elles sont mises hors base.

Dnition 2.3.1. On appelle variables hors base (v.h.b.) les n variables de Rn+m xes zro. Les m variables restantes sont appeles variables de base (v.b.).
Dans l'exemple, les variables de base sont donc x3 , x4 et x5 dont on peut lire la valeur dans (2.3.1) :
x3 = 4 x4 = 12 x5 = 18.

Dnition 2.3.2. 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 d'galits obtenues en ajoutant les variables d'cart. Dnition 2.3.3. On appelle solution de base ralisable une solution de base qui, en plus, vrie les contraintes de positivit.
Dans l'exemple, la solution de base suivante : variables hors base x3 = 4, x4 = 12, x5 = 18 variables de base
x1 = 0, x2 = 0

2.3.

NOTION DE SOLUTION DE BASE

19

est ralisable car toutes les variables de base sont positives. Le lien entre l'algbre et la gomtrie est alors donn par la proprit suivante.

Proposition 2.3.1. La notion gomtrique de sommet du polygone correspond la notion algbrique de solution de base ralisable.
On peut vrier cette proprit sur l'exemple. A la gure II.1, les sommets (0, 0),
(0, 6), (2, 6), (4, 3), (4, 0) correspondent des solutions de base ralisables tandis que

les points (0, 9), (4, 6) et (6, 0) correspondent des solutions de base non ralisables. Cette correspondance est tablie au tableau II.1 : v.h.b. (x1 , x2 ) (x3 , x4 , x5 ) sommet ? x1 , x2 (0, 0) (4, 12, 18) oui x1 , x4 (0, 6) (4, 0, 6) oui x1 , x5 (0, 9) (4, 6, 0) non x4 , x5 (2, 6) (2, 0, 0) oui x3 , x4 (4, 6) (0, 0, 6) non x3 , x5 (4, 3) (0, 6, 0) oui x2 , x3 (4, 0) (0, 6, 6) oui x2 , x5 (6, 0) (2, 12, 0) non Tableau II.1 : Correspondance entre solution de base ralisable et sommet. Nous avons dj annonc que l'algorithme du Simplexe consiste aller de sommet en sommet adjacent. Interprt algbriquement, cela revient considrer un passage d'une solution de base ralisable une autre solution de base ralisable. La notion d'adjacence doit tre tendue aux solutions de base.

Dnition 2.3.4. On appelle solutions de base adjacentes deux solutions de base dont les variables de base sont les mmes sauf une qui est de base dans la premire base et hors base dans la seconde.

20

CHAPITRE 2.

ALGORITHME DU SIMPLEXE

Dans l'exemple, les deux solutions de base suivantes sont adjacentes :


x1 = x2 = x3 = 0, x1 = 0, 0, x2 = 6, 4, x3 = 4, =6

x4 = 12, x4 = 0, x5 = 18, x5

car elles ne dirent que par une seule variable hors base. Par contre les solutions suivantes :
x1 = 0, x1 = 2, x2 = 0, x2 =6

ne sont pas adjacentes puisqu'elle dirent par plus d'une variable hors base. On peut le vrier la gure II.1.

Proposition 2.3.2. La notion gomtrique de sommets adjacents correspond la notion algbrique de solutions de base ralisables adjacentes.
2.4 Initialisation de l'algorithme

La question qui se pose est : "Comment choisir le point de dpart ?" Si le problme est mis sous forme d'ingalits avec bi 0, i = 1, . . . n, il sut de prendre l'origine comme point de dpart. Dans l'exemple, cela donne :
(x1 , x2 ) = (0, 0).

En termes algbriques, toutes les variables originales sont mises hors base. Automatiquement, dans le systme d'galits :
x1 +x3 +x4 = = 4 12

2x2 3x +2x 1 2

+x5 = 18,

2.5.

UNE ITRATION SIMPLEXE

21

on lit la valeur des variables de base :


x3 = 4 x4 = 12 x5 = 18.

D'o la solution de base ralisable de dpart :


(0, 0, 4, 12, 18).

Remarquons que si un membre de droite avait t ngatif ou si une contrainte avait t sous forme d'galit, on n'aurait pas pu dmarrer ainsi. Ces embches peuvent tre leves en passant par une phase prliminaire appele phase I de l'algorithme du Simplexe (voir chapitre 4). Que vaut la fonction objectif pour cette premire solution de base ?
z = 3x1 + 5x2 = 3 0 + 5 0 = 0,

c'est--dire une marge bnciaire nulle, ce qui n'est pas tonnant vu que cela correspond une production nulle des deux produits.
2.5 Une itration Simplexe

Pour rappel, le principe de l'algorithme du Simplexe consiste se dplacer de sommet en sommet adjacent de faon amliorer la fonction objectif. On va donc se dplacer partir de notre solution de base de dpart vers une solution de base ralisable en suivant une arte le long de laquelle l'objectif s'accrot.
2.5.1 Choix de la direction

La question qui se pose est alors : comment choisir la direction ? Remarquez qu'algbriquement, cette question se formule de manire quivalente par : quelle variable hors base va entrer en base ?

22

CHAPITRE 2.

ALGORITHME DU SIMPLEXE

Le critre de slection de la variable entrante est de prendre la variable hors base qui fournit le plus fort taux d'augmentation de la fonction objectif :
z = 3x1 + 5x2 .

Pour une augmentation unitaire de x1 , z augmente de 3. Pour une augmentation unitaire de x2 , z augmente de 5.

Le critre de slection de la variable entrante est donc le suivant : on choisit la variable avec le coecient objectif le plus lev.
Remarquez que pour pouvoir appliquer ce critre simple (choisir la variable de coecient objectif le plus lev), la fonction objectif z doit tre exprime en fonction

des seules variables hors base.

2.5.2

Choix de la variable sortante

La question qui se pose est : quand s'arrter le long de la direction ? Gomtriquement, on se dirige sur l'axe (ox2 ) et on s'arte en (0, 6), la premire contrainte rencontre. Algbriquement, on constate qu'en ce point la variable d'cart
x4 s'annule et aller au del conduirait la rendre ngative. On va donc pousser x2 le

plus loin possible, tant que les variables de base restent non ngatives.

Le critre de slection de la variable sortante est donc le suivant : prendre comme variable sortante la premire variable de base s'annuler.
En maintenant x1 hors base dans (2.3.1), on obtient la variation des variables de base en fonction de x2 :
x3 = 4 0 x4 = 12 2x2 0 x5 = 18 2x2 0

2.5.

UNE ITRATION SIMPLEXE

23

ou encore :
12 =6 2 18 x2 = 9. 2 x2

On en conclut que la variable sortante est x4 , c'est--dire la premire qui s'annule (pour x2 = 6).

De manire gnrale, on calcul le minimum du rapport du coecient du membre de droite sur le coecient de la variable entrante dans la mme ligne lorsque celuici est positif. La variable sortante est celle dont on lit la valeur dans la ligne o ce minimum se produit.
2.5.3 Calcul du nouveau sommet

La question qui se pose est : comment calculer la nouvelle solution de base ? On va y rpondre en utilisant la rsolution de systmes. Plus prcisment, on va calculer la nouvelle solution de base en explicitant le systme (2.3.1) en fonction des

nouvelles variables de base.


Ceci peut tre fait au moyen de deux types d'oprations qui ne modient pas l'ensemble des solutions d'un systme d'quations : 1. Multiplier une galit par une constante non nulle ; 2. Additionner un multiple d'une quation une autre quation. Appliquons ceci l'exemple. Ajoutons au systme de dpart (2.3.1) en premire ligne la dnition de la fonction objectif :
z 3x1 5x2 x1 2x2 3x1 +2x2 +x3 +x4 = = = 0 (0) 4 (1) 12 (2)

+x5 = 18. (3)

Donc x2 remplace x4 comme variable de base. On veut donc expliciter x2 dans la contrainte (2) en lieu et place de x4 . Pour ce faire, il faut :

24

CHAPITRE 2.

ALGORITHME DU SIMPLEXE

1. Amener un 1 comme coecient de x2 dans (2). Autrement dit, la nouvelle contrainte note (2') est l'ancienne (2) multiplie par 1/2 :
(2 ) = (2) 1 2

2. Eliminer x2 des autres quations. Ceci en retranchant la contrainte (3) la contrainte (2) et en ajoutant l'objectif (0) cinq fois la nouvelle contrainte (2') :
(3 ) = (3) (2) (0 ) = (0) + 5 (2 ).

Le nouveau systme est donc le suivant :


z 3x1 x1 x2 3x1 +x3 + 1 x4 2
5 + 2 x4

= 30 (0 ) = = 4 (1) 6 (2 ) 6 (3 )

x4 +x5 =

o l'on peut lire directement (en se souvenant que x1 et x4 sont hors base donc nulles) :
z = 30 x3 = 4 x2 = 6 x5 = 6.

On en dduit la valeur de la nouvelle solution de base :


(x1 , x2 , x3 , x4 , x5 ) = (0, 6, 4, 0, 6)

qui donne la nouvelle valeur de l'objectif :


z = 30.

2.5.

UNE ITRATION SIMPLEXE

25

Remarquez que les oprations d'limination de x2 des lignes autres que la deuxime se font obligatoirement en retranchant chacune de ces lignes un multiple de la

deuxime ligne. Toute autre opration dtruirait les colonnes de la matrice identit
dans le systme rsultant comme on peut le constater en essayant, par exemple, de faire :
(3 ) = 1 (3) + (2).

2.5.4

Test d'optimalit

La question qui se pose maintenant est la suivante : comment dterminer le fait d'tre optimum ? Un sommet est optimal si tous les sommets adjacents donnent des valeurs infrieures ou gales la fonction objectif. Comment peut-on voir s'il existe encore un sommet adjacent protable ? Pour rpondre cette question, nous allons utiliser la ligne de dnition de l'objectif. L'quation (0 ) se rcrit :
5 z = 30 + 3x1 x4 . 2

Comme x1 a un coecient positif, il est intressant de faire entrer x1 en base. Le critre d'arrt sera donc le suivant : la solution de base courante est optimale si

tous les coecients objectif sont ngatifs ou nuls lorsque z est exprime en fonction
des seules variables hors base. Eectuons donc la seconde itration de l'algorithme du Simplexe. Au vu de
5 z = 30 + 3x1 x4 . 2

On slectionne donc pour la variable entrante x1 . En eet, c'est la variable avec le plus grand coecient objectif, et d'ailleurs la seule possible.

26

CHAPITRE 2.

ALGORITHME DU SIMPLEXE

Pour dterminer la variable sortante, tudions la variation des variables de base en fonction d'une augmentation de x1 :
x3 = 4 x1 x2 = 6 x5 = 6 3x1 .

La variable sortante est x5 , c'est elle qui est la premire s'annuler (pour x1 = 2). Pour calculer le nouveau sommet, on exprime le systme en fonction des nouvelles variables de base (x1 prend la place de x5 ) :
z x3 x2 x1 + 3 x4 2 + 1 x4 3 1 + 2 x4 1 x4 3 +x5 = 36
1 3 x5 =

2 6 2.

= + 1 x5 3 =

Donnant la nouvelle solution de base ralisable :


(2, 6, 2, 0, 0).

Appliquons nouveau le test d'optimalit. La ligne objectif s'crit :


3 z = 36 x4 x5 . 2

Comme tous les coecients objectifs sont ngatifs, la solution courante


x = 2 1 x = 6 2

est optimale. Elle donne sa valeur maximale l'objectif qui est de :


z = 36.

Nous verrons au chapitre suivant une autre faon de prsenter les mmes calculs. Il s'agit de la prsentation du Simplexe en tableaux.

2.6.

ALGORITHME DU SIMPLEXE

27

2.5.5

Chemin suivi par l'algorithme du Simplexe

On peut suivre la gure II.1 le chemin emprunt par l'algorithme du Simplexe. Partant du sommet (0, 0), la premire itration consiste aller au sommet (0, 6). La second itration consiste rejoindre le sommet (2, 6). La troisime itration consiste constater que l'on est l'optimum. Nous verrons au chapitre 4 les dirents problmes qui peuvent se produire lors de l'excution de l'algorithme du Simplexe. Ces problmes peuvent se produire durant les trois tapes de l'algorithme : 1. Initialisations. Pourra-t-on toujours trouver une solution de base de dpart ralisable ? 2. Itrations. Pourra-t-on, chaque itration, trouver une variable entrante ? Pourra-t-on, chaque itration, trouver une variable sortante ? 3. Terminaison. L'algorithme va-t-il converger en un nombre ni d'tapes ? Mais avant cela donnons un rsum de l'algorithme du Simplexe.
2.6 Algorithme du Simplexe

Terminons en donnant une description schmatique de l'algorithme du Simplexe.

Pas 0. Initialisations.
Ajouter les variables d'cart. Slectionner les variables originales comme variables hors base.

Pas 1. Choix de la variable entrante.


Choisir comme variable entrante la v.h.b. dont le coecient objectif est le plus

lev lorsque z est exprime en fonction des seules v.h.b.


Si, dans l'expression de z,

tous les coecients des v.h.b sont ngatifs ou nuls, alors stop. Le tableau courant dcrit une solution optimale.

28

CHAPITRE 2.

ALGORITHME DU SIMPLEXE

Sinon, soit e l'indice de cette variable entrante.

Pas 2. Choix de la variable sortante.


La variable sortante est la premire s'annuler : c'est celle pour laquelle le

minimum est atteint dans :


bi bs = min . ase i|aie>0 aie

o s dsigne l'indice de la ligne correspondante.

Pas 3. Dterminer la nouvelle solution de base :


Diviser tous les coecients de la ligne s par ase . Eliminer xe des autres lignes par soustraction d'un multiple de la ligne s. Retour au

Pas 1.

2.7.

EXERCICES

29

2.7

Exercices

Exercice 1
Problme deux variables Rsoudre les problmes suivants en utilisant l'algorithme du Simplexe :
max z = 4x1 + 3x2 3x1 + 4x2 12

s.c.q.

7x1 + 2x2 14 x1 , x2 0

max z = 5x1 + 4x2 x1 + x2 2x + x 1 2 s.c.q. 3x1 + x2 x1 , x2

20 35 12 0

Exercice 2
Problme trois variables Rsoudre le problme suivant en utilisant l'algorithme du Simplexe :
max z = 20x1 + 16x2 + 12x3 x1 2x + x + x 1 2 3 s.c.q. 2x1 + 2x2 + x3 x1 , x2 , x3

400

1000 1600 0

Chapitre 3 L'algorithme du Simplexe en Tableaux

3.1

Introduction

Nous avons vu au chapitre prcdent une prsentation algbrique de l'algorithme du Simplexe. Pour rappel, il s'agit, partant d'une solution de base (correspondant un sommet de la rgion ralisable), chaque itration de 1. choisir comme variable entrante, celle de coecient le plus lev dans la ligne objectif (ce qui correspond choisir la direction assurant le plus grand taux d'accroissement la fonction objectif) ; 2. choisir comme variable sortante, la premire variable de base s'annuler (ce qui correspond la rencontre de la premire contrainte dans la direction choisie) ; 3. faire le pivotage : la variable entrante prend la colonne de la variable sortante dans le systme d'quation, en ce compris dans l'expression de la fonction objectif. Nous allons maintenant voir une autre faon de prsenter les mmes calculs. Il s'agit de la prsentation du Simplexe en tableaux. Nous verrons au chapitre suivant les embches que l'on peut rencontrer chacune des tapes de l'algorithme. 30

3.2.

NOTION DE TABLEAU SIMPLEXE

31

On eectue gnralement les calculs sur le tableau des coecients qui porte le nom de tableau Simplexe. Mais il faut bien garder l'esprit que ce tableau et les oprations que l'on va y eectuer ne sont qu'une traduction des oprations sur le systme d'quations algbriques correspondantes.

3.2

Notion de tableau Simplexe

Dnition 3.2.1. Un est constitu des coecients des quations algbriques sans le nom des variables. On aura donc : 1. les coecients de la fonction objectif ; 2. les coecients des variables dans le membre de gauche des contraintes ; 3. les coecients du membre de droite o l'on spare les coecients de l'objectif des contraintes d'une barre horizontale et les coecients du membre de gauche des contraintes des coecients du membre de droite par une barre verticale.
Reprenons l'exemple du chapitre 1. Sa formulation est reprise ci-dessous :
max z = 3x1 + 5x2 x1 2x2 s.c.q. 3x +2x2 1 x 1 x2

tableau Simplexe

12 18 0 0.

Le systme de dpart :
z 3x1 5x2 x1 2x2 3x1 +2x2 +x3 +x4 = = 0 4

= 12 +x5 = 18

32

CHAPITRE 3.

L'ALGORITHME DU SIMPLEXE EN TABLEAUX

se met sous la forme du tableau suivant :


z x1 x2 x 3 x 4 x5 0 1 0 0 0 0 1 0 0 0 0 1 0 4 12 18

1 3 5 0 0 0 1 0 3 0 2 2

o l'on a ajout audessus du tableau le nom des variables pour voir quelle variable correspond chaque colonne du tableau. Plusieurs caractristiques d'un tableau sont remarquer.
Tout d'abord les valeurs du membre de droite donnent les valeurs courantes des

variables de base.
Ensuite la premire ligne donne l'oppos des coecients objectif. Enn, le dernier coecient dans la premire ligne donne la valeur courante de

l'objectif.
On identie les variables de base une colonne de coecient de la matrice

identit et un coecient objectif nul. On en dduit la solution courante :


(x1 , x2 , x3 , x4 , x5 ) = (0, 0, 4, 12, 18).

3.3

Tableaux Simplexe et pivotage

A la premire itration, on slection comme variable entrante la variable x2 de coecient le plus ngatif dans la ligne objectif. On indique ceci dans le tableau en

3.3.

TABLEAUX SIMPLEXE ET PIVOTAGE

33

encadrant la colonne de la variable entrante que l'on appelle la colonne pivot :


z x1 x2 x3 x4 x5 0 1 0 0 0 0 1 0 0 0 0 1 0 4 12 18

1 3 5 0 0 0 1 0 3 0 2 2

On slectionne la variable sortante comme tant la variable de base qui s'annule la premire. Comme nous l'avons vu au chapitre prcdent, cela revient calculer le minimum du rapport du coecient du membre de droite de chaque contrainte sur le coecient correspondant de la colonne pivot lorsque ce dernier est strictement positif :
min 12 18 , 2 2 = 6.

Dans le cas o le coecient dans la colonne entrante est ngatif ou nul, la ligne n'entre pas en compte dans le calcul du minimum. Illustrons ceci sur un exemple. Supposons que le coecient de x2 dans la premire contrainte soit 1 la place de 0. L'quation correspondante se rcrit de manire quivalente comme suit :
x1 = 4 + x2 .

Quelle que soit la valeur de x2 > 0, la variable de base x1 reste positive. La variable sortante est alors la variable de base dont la valeur se lit dans la ligne

o le minimum se produit : ici, il s'agit de la deuxime ligne et donc de la variable


x4 . Il sut, dans le cas prsent, de chercher la colonne identit dont le coecient 1

est dans la deuxime ligne. Elle correspond bien la variable x4 . On encadre alors la ligne o le minimum se produit. Cette ligne reoit le nom de

34

CHAPITRE 3.

L'ALGORITHME DU SIMPLEXE EN TABLEAUX

ligne pivot :
z x1 x2 x3 x4 x5 0 1 0 0 0 0 1 0 0 0 0 1 0 4 12 18 1 3 5 0 0 0 1 0 3 0 2 2

Dnition 3.3.1. On appelle lment pivot le coecient situ l'intersection de la colonne pivot et de la ligne pivot.
C'est donc le centre de la croix ainsi forme par la ligne et la colonne pivot. Le pas suivant de l'itration Simplexe consiste dterminer le nouveau sommet : ceci en exprimant x2 dans la deuxime quation en lieu et place de x4 . Remarquez que cela revient amener la colonne de x4 en lieu et place de celle de x2 . Ceci peut tre fait par deux types d'oprations : 1. Amener un coecient 1 la place du pivot en divisant la ligne pivot par le pivot :
z x1 x2 x 3 0 1 0 x4 x5 0 0 0 0 0 0 1 0 4 6 18 1 3 5 0 0 0 1 0 3 0 1 2

0 1/2

2. Eliminer x2 des autres quations en retranchant chaque fois un multiple de la nouvelle ligne pivot :
z x1 x2 x3 0 0 1 0 x4 x5 0 0 0 1 30 4 6 6

1 3 0 0 0 1 0 3

0 5/2 1 0 0 1

0 1/2

3.3.

TABLEAUX SIMPLEXE ET PIVOTAGE

35

Rappelons que l'on doit utiliser, dans cette seconde opration, un multiple de la ligne pivot l'exclusion de toute autre ligne sinon on dtruirait la matrice identit. La nouvelle solution de base et la nouvelle valeur de l'objectif sont respectivement :
(x1 , x2 , x3 , x4 , x5 ) = (0, 6, 4, 0, 6) z = 30.

Eectuons maintenant la deuxime itration de l'algorithme du Simplexe. Le premier pas de la deuxime itration consiste dterminer la variable entrante. Il s'agit de x1 , la variable de coecient le plus ngatif dans la ligne objectif. D'o la slection de la colonne pivot suivante :
z x 1 x2 x3 0 0 1 0 x4 x5 0 0 0 1 30 4 6 6 1 3 0 0 0 1 0 3

0 5/2 1 0 0 1

0 1/2

Le second pas de l'itration consiste dterminer la variable sortante. On calcul le minimum du rapport des coecients du membre de droite sur le coecient correspondant de la colonne entrante lorsque celui-ci est strictement positif :
min 4 6 , 1 3 = 2.

Le minimum se produit dans la dernire ligne o l'on lit la valeur de x5 qui sort donc de base. On encadre la ligne pivot :
z x 1 x2 x3 0 0 1 0 x4 x5 0 0 0 1 30 4 6 6 1 3 0 0 0 1 0 3

0 5/2 1 0 0 1

0 1/2

36

CHAPITRE 3.

L'ALGORITHME DU SIMPLEXE EN TABLEAUX

Le dernier pas de l'itration Simplexe consiste dterminer la nouvelle solution

de base au moyen des deux types d'oprations lmentaires sur le tableau Simplexe :
1. Amener un 1 en position pivot ;
z x1 x2 x3 0 0 1 0 0 1 0 x4 5/2 0 1/2 x5 0 0 0 30 4 6 2 1 3 0 0 0 1 0 1

0 1/3 1/3

2. Eliminer x1 des autres contraintes. Le rsultat de ces deux types d'oprations est le suivant :
z x1 x2 x3 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 x4 3/2 x5 1 36 2 6 2

1/3 1/3 1/2 0 1/3

0 1/3

La nouvelle solution de base et la nouvelle valeur de l'objectif valent :


(x1 , x2 , x3 , x4 , x5 ) = (2, 6, 2, 0, 0) z = 36.

Si maintenant, on eectue par la troisime itration, on constate que lors du premier pas de celle-ci, c'est--dire lors de la slection de la variable entrante, il n'y a aucun candidat. On arrte l'algorithme : la solution courante est optimale :
x = 2 1 x = 6 2 z = 36.

Le chemin suivi par l'algorithme du Simplexe est illustr la gure II.1. Initialement, on part de l'origine des axes, soit le point P0 = (0, 0). Au cours de

3.3.

TABLEAUX SIMPLEXE ET PIVOTAGE

37

Figure III.1 : Chemin suivi par l'algorithme du Simplexe.

la premire itration, on suit l'axe des x2 en direction du point P1 = (0, 6). A la deuxime itration, on se dirige horizontalement vers le sommet P2 = (2, 6). La troisime itration constate l'optimalit du point P2 . Nous verrons au chapitre suivant les embches que l'on peut rencontrer dans l'excution de l'algorithme du Simplexe. En eet, nous avons ici suppos que l'on pouvait toujours trouver une solution de base de dpart ralisable et qu' chaque itration, il y avait toujours une variable sortante de la base. Nous verrons au chapitre suivant comment on peut dmarrer l'algorithme si toutes les contraintes initiales ne se prsentent pas sous forme de contraintes d'ingalits du type "infrieur ou gal " avec un membre de droite positif. Nous examinerons galement ce qu'il convient de faire si on ne trouve aucune variable candidate sortir de la base. Mais avant cela, rsumons l'algorithme du Simplexe en tableaux.

38
3.4

CHAPITRE 3.

L'ALGORITHME DU SIMPLEXE EN TABLEAUX

Algorithme du Simplexe en tableaux

Algorithme du Simplexe. Pas 0. Initialisation : Pour dmarrer l'algorithme,


1. Ajouter les variables d'cart aux contraintes d'ingalit. 2. Mettre les variables originales hors base et les variables d'cart en base.
xj = 0, j = 1, . . . , n.

Il en rsulte le tableau de dpart suivant :


z x1 x2 ... xn xn+1 xn+2 . . . xn+m 0 1 0 0 0 1 0 0 0 0 b1 b2 1 c1 c2 cn 0 0 a11 a21 a12 a22 a1n a2n

. . .

. . .

. . .

. . .

. . .

. . .

...

. . .

. . .

0 an1

an2

ann

bn

Pas 1. Choix de la variable entrante : slectionner comme variable entrante


la variable hors base avec le coecient dans la ligne objectif le plus ngatif, en se restreignant aux variables coecient ngatif. Soit xe telle que ce cj , j | cj < 0. Si une telle variable n'existe pas, stop : on a trouv la solution optimale. Sinon, on entoure la colonne correspondante qui est appele colonne entrante.
z x1 x2 xe ce xn xn+1 xn+2 . . . xn+m 0 1 0 0 0 1 0 0 0 0 b1 b2 1 c1 c2 0 0 a11 a21 a12 a22 cn

a1e a1n a2e a2n

. . .

. . .

. . .

...

. . .

...

. . .

. . .

. . .

...

. . .

. . .

0 an1

an2

ane ann

bn

3.4.

ALGORITHME DU SIMPLEXE EN TABLEAUX

39

Pas 2. Choix de la variable sortante : slectionner comme variable sortante la


premire variable de base s'annuler. Pour cela, on calcule le minimum du rapport du coecient du membre de droite sur le coecient de la variable entrante dans la mme ligne lorsque celui-ci est positif. Soit l la ligne o le minimum se produit :
bl = min ale bi | aie > 0 . aie

La variable sortante est celle dont on lit la valeur dans la ligne o le minimum se produit. Soit xs la variable de base dont on lit la valeur en ligne l. On entoure la ligne o le minimum se produit. Il en rsulte le tableau suivant :
z x1 x2 xe ce xn xn+1 xn+2 xs xn+m 0 1 0 0 0 0 0 0 b1 b2 1 c1 c2 0 0 a11 a21 a12 a22 cn

a1e a1n a2e a2n

. . .

. . .

. . .

... . . .

. . . . . .

... ...

. . . . . .

...
0

...
0

...

. . .

al1

. . .

al2

. . .

ale

aln

. . .

...

. . . . . .

. . . . . .

... ...
0

bl bn

0 an1

an2

ane ann

Pas 3. Pivotage : La variable entrante xe prend la place de la variable sortante xs


dans la base. Il faut 1. Exprimer la fonction objectif en fonction des nouvelles variables hors base. 2. Expliciter le systme d'quations des contraintes en fonctions des nouvelles variables de base. Pour cela, pratiquement on doit 1. Amener un coecient 1 au croisement de la colonne pivot et de la ligne pivot en divisant celle-ci par le coecient ale . 2. Amener des zros dans le reste de la colonne pivote en ajoutant aux autres lignes un multiple de la ligne o l'on a amen le 1.

Pas 4. Itrer : retour au Pas 1.

Vous aimerez peut-être aussi