Vous êtes sur la page 1sur 25

Optimisation linaire: Lalgorithme du simplexe

lments de Recherche Oprationnelle Prof. M.F. Troyon

Gnie lectrique et lectronique


t 2006
14 juin 2006 1

Rappel

14 juin 2006

Base et variables basiques


Toute matrice B forme de m colonnes linairement indpendantes de A est une base (ordonne) du systme Les colonnes de B sont dites basiques, les autres hors base Les variables associes aux colonnes de B sont dites basiques, les autres hors base La liste ordonne des variables basiques (ou de leurs indices) sera aussi appele base
14 juin 2006 3

Proprits
Toute solution du systme sobtient en fixant les valeurs des variables hors base (indpendantes) et en rsolvant pour les variables basiques (dpendantes): xB = B-1b B -1NxN La solution particulire obtenue en fixant zro les variables hors base est appele solution basique associe la base B. xB = B -1b et xN = 0

Si cette solution satisfait aussi les contraintes de non ngativit, elle dfinit une solution basique admissible
14 juin 2006 4

PL sous forme standard


Max s.c. z = cDxD xD + xE = b xD , xE 0 La matrice [ | est de taille m X (n+m) ]
14 juin 2006 5

Points extrmes
Un point extrme x du domaine admissible (Polydre convexe) du PL: Sil nexiste pas 2 solutions admissibles x1 et x2 et un scalaire [0,1] tels que: x = x1 + (1)x2
14 juin 2006 6

Consquences
On peut montrer lquivalence entre: - x est un point extrme - x est une solution basique admissible Consquence 1: Si un PL admet une solution optimale, il admet une solution basique optimale Consquence 2: Le nombre de bases de la matrice des contraintes [ | tant fini, le nombre de solutions basiques ] admissibles lest aussi.
14 juin 2006 7

Tableau initial dun PL


Le tableau initial T0 associ un PL sous forme standard est:
xD -cD
14 juin 2006

xE 0

z 0 b 1 0

T0=

xD + xE = b
-cDxD + z = 0
8

Tableau admissible
Un tableau est admissible si et seulement si la solution basique associe lest.

Signature dun tableau admissible

14 juin 2006

Pivotage dans un tableau

14 juin 2006

10

Comment maximiser z laide des pivotages?


Comment choisir la variable hors base entrante? Ce choix doit permettre daugmenter la valeur de la nouvelle solution. La dernire ligne du tableau associ la base courante va nous aider.

1 ....... n
Var. hors base

0 ...... 0
Var. basiques

Elle correspond lquation:

14 juin 2006

z = + iN ixi

11

Cot marginal ou cot rduit


Si tous les lments de la dernire ligne sont positifs (i.e. tous les cots rduits n sont ngatifs), toute augmentation des valeurs des variables hors base fera diminuer z et la solution basique actuelle est optimale. Sinon, on choisit une variable hors base xj avec un cot rduit ngatif.
14 juin 2006 12

Choix de la variable basique sortante


Introduire xj dans la base va modifier la valeur des variables basiques. Pour garder ladmissibilit de la solution, laugmentation de xj doit tre stoppe ds quune variable basique devient nulle. Cest cette variable qui va cder sa place et quitter la base

14 juin 2006

13

Variable sortante dans le tableau


Considrons la situation dans le tableau associ la base courante. La ie ligne du tableau correspond :

x(i) = i kN ikxk

xj z 1j
M ij M mj -j

x(i)
0 M 1 M 0 0 0 M 0 M 0 1

1
M

i
M

14

14 juin 2006

Quotient caractristique
Si xj (var. Hors base) augmente, x(i) (var.basique associe) du tableau va: Augmenter ou rester constant si ij 0. Laugmentation de xj nest pas borne et le PL nadmet pas doptimum fini. Diminuer si ij > 0. Parmi tous les candidats, choisir le plus petit quotient caractristique i/ ij pour toutes les lignes o ij > 0. Ce sera la 1re variable basique qui sannule lorsque xj augmente (i.e. la variable sortante)
15

1.

2.

14 juin 2006

Consquence sur la solution


Soit i lindice de la ligne du plus petit quotient caractristique et j lindice de la colonne de la variable entrante. On passe alors de la base actuelle la prochaine base en pivotant autour de ij. La valeur de la solution basique devient:

= + jxj = + j i/ij >


14 juin 2006 16

Conditions doptimalit

14 juin 2006

17

Lecture des variables basiques


Soit une base B et son tableau associ TB. Aprs permutation des colonnes, on obtient le tableau suivant: xB xN z

TB =

B-1 N -N

0 1

La solution basique associe est donc:


14 juin 2006

xB =

xN = 0

z=
18

Algorithme du simplexe phase II

14 juin 2006

19

Dgnrescence
Il y a une surjection entre lensemble des bases admissibles et lensemble des points extrmaux (plusieurs bases admissibles peuvent avoir un mme point extrme). Le problme et les solutions basiques sont dits dgnrs. Une solution basique dgnre se caractrise par le fait quau moins une variable basique a une valeur nulle
14 juin 2006 20

Rgle de Bland

14 juin 2006

21

Comment trouver une solution admissible initiale?


La base initiale forme par les variables dcart nest pas admissible (i.e. il existe un bi < 0) Dfinir un problme auxiliaire dont on connat une solution basique admissible et dont la solution optimale correspond une solution basique admissible du PL initial si et seulement si ce dernier possde des solutions. De plus, le PL initial admet une solution admissible SSI la valeur optimale du problme auxiliaire est nulle.

14 juin 2006

22

Les bases du problme auxiliaire

14 juin 2006

23

Le problme auxiliaire

14 juin 2006

24

Algorithme du simplexe Phase I

14 juin 2006

25

Vous aimerez peut-être aussi