Vous êtes sur la page 1sur 58

Programmation linaire

NICOD J EAN -M ARC


Master 2 Informatique Universit de Franche-Comt UFR des Sciences et Techniques

septembre 2008

NICOD J EAN -M ARC

Rappels sur les graphes

1 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Sommaire

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

NICOD J EAN -M ARC

Rappels sur les graphes

2 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Introduction

Ce chapitre a pour but de rappeler comment rsoudre un problme doptimisation avec maximisation ou minimisation dune fonction objectif dlement un certain nombre de contraintes. criture du problme sous la forme : dinquations dun objectif optimiser Cest cet ensemble qui porte le nom de programme linaire

NICOD J EAN -M ARC

Rappels sur les graphes

3 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Sommaire

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

NICOD J EAN -M ARC

Rappels sur les graphes

4 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Exemple : une campagne lectorale

Objectif : remporter les lections rgionales moindre frais. La zone du scrutin regroupe :
1 2 3

le centre ville : 100 000 inscrits la banlieue : 200 000 inscrits la campagne : 50 000 inscrits

NICOD J EAN -M ARC

Rappels sur les graphes

5 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Les frais de la campagne lectorale

Il est possible dinuencer grce la publicit sur les thmes suivants : construction de routes (1) ; lutte anti-drogue (2) ; subvention aux agriculteurs (3) ; taxes sur les engrais pour amliorer leau (4).

NICOD J EAN -M ARC

Rappels sur les graphes

6 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Inuence de la publicit dans les votes

Nombre de voies gagnes/perdues par 1 000A C dpenss en publicit. thmes les routes la drogue subventions taxes pour leau ville -2 000 +8 000 0 10 000 banlieue +5 000 +2 000 0 0 campagne +3 000 -5 000 +10 000 -2 000

NICOD J EAN -M ARC

Rappels sur les graphes

7 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Le problme rsoudre

Le problme est donc de connatre la somme minimale investir en communication pour que le nombre de voies en faveur du candidat soit de : 50 000 en ville ; 100 000 en banlieue ; 25 000 la campagne. Comment rsoudre ce problme : des essais/erreurs, le hasard, ... ?

NICOD J EAN -M ARC

Rappels sur les graphes

8 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Dnitions

20 000 A C pour le thme (1) ; 0A C pour le thme (2) ; 4 000 A C pour le thme (3) ; 9 000 A C pour le thme (4) ;

50 000 votes en ville ; 100 000 votes en banlieue ; 82 000 votes la campagne.

33 000 A C en communication.

NICOD J EAN -M ARC

Rappels sur les graphes

9 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Dnitions

20 000 A C pour le thme (1) ; 0A C pour le thme (2) ; 4 000 A C pour le thme (3) ; 9 000 A C pour le thme (4) ;

50 000 votes en ville ; 100 000 votes en banlieue ; 82 000 votes la campagne.

33 000 A C en communication. Une meilleure solution existe-t-elle ?

NICOD J EAN -M ARC

Rappels sur les graphes

9 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Formulation mathmatique
Posons le problme sous forme mathmatiques : soit x1 la somme dpense en communication pour le thme (1) ; soit x2 la somme dpense en communication pour le thme (2) ; soit x3 la somme dpense en communication pour le thme (3) ; soit x4 la somme dpense en communication pour le thme (4) ;

NICOD J EAN -M ARC

Rappels sur les graphes

10 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Formulation mathmatique
Posons le problme sous forme mathmatiques : soit x1 la somme dpense en communication pour le thme (1) ; soit x2 la somme dpense en communication pour le thme (2) ; soit x3 la somme dpense en communication pour le thme (3) ; soit x4 la somme dpense en communication pour le thme (4) ; Do les contraintes du problme pour les 3 secteurs : 2x1 + 8x2 + 0x3 + 10x4 en ville en banlieue 5x1 + 2x2 + 0x3 + 0x4 la campagne 3x1 5x2 + 10x3 2x4

50 100 25

La fonction minimiser est x1 + x2 + x3 + x4 avec xi 0 pour i = 1, 2, 3 et 4.


NICOD J EAN -M ARC Rappels sur les graphes 10 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Formulation mathmatique
Posons le problme sous forme mathmatiques : soit x1 la somme dpense en communication pour le thme (1) ; soit x2 la somme dpense en communication pour le thme (2) ; soit x3 la somme dpense en communication pour le thme (3) ; soit x4 la somme dpense en communication pour le thme (4) ; Do les contraintes du problme pour les 3 secteurs : 2x1 + 8x2 + 0x3 + 10x4 en ville en banlieue 5x1 + 2x2 + 0x3 + 0x4 la campagne 3x1 5x2 + 10x3 2x4

50 100 25

La fonction minimiser est x1 + x2 + x3 + x4 avec xi 0 pour i = 1, 2, 3 et 4. Lensemble de ces quations forment un programme linaire.
NICOD J EAN -M ARC Rappels sur les graphes 10 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Formulation gnrale

Soit la fonction linaire f (x1 , x2 , . . . , xn ) = n j =1 aj xj Une quation linaire sexprime sous la forme f (x1 , x2 , . . . , xn ) = b Une ingalit linaire : f (x1 , x2 , . . . , xn ) b ou b (ingalit au sens large en programmation linaire). Le problme de programmation linaire est la maximisation/minimisation dune fonction linaire. La rsolution de ce problme se fait par la mthode du simplexe.

NICOD J EAN -M ARC

Rappels sur les graphes

11 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Exemple Applications Algorithme de rsolution

Sommaire
Exemple de problme doptimisation Rsolution dun programme linaire Exemple Applications Algorithme de rsolution Forme canonique et forme standard Algorithme du simplexe

NICOD J EAN -M ARC

Rappels sur les graphes

12 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Exemple Applications Algorithme de rsolution

Rsolution dun programme linaire

Plusieurs manires dexprimer un programme linaire : la forme canonique () la forme standard (=) Optimisation dune fonction objectif linaire

NICOD J EAN -M ARC

Rappels sur les graphes

13 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Exemple Applications Algorithme de rsolution

Exemple

Soit le programme linaire 2 variables suivant : maximiser x1 + x2 4x1 x2 8 avec les contraintes 2x1 + x2 10 5x1 2x2 2 et x1 , x2 0 Rsolution graphique en 2D en partitionnant lespace chaque contrainte pour la dnition dune zone ralisable.

NICOD J EAN -M ARC

Rappels sur les graphes

14 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Exemple Applications Algorithme de rsolution

Rsolution graphique
x2 x1>=0 5x12x2>=2

2x1+x2<=10 4x1x2<=8

zone de ralisabili

x1+x2=8

x2>=0 x1

NICOD J EAN -M ARC

Rappels sur les graphes

15 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Exemple Applications Algorithme de rsolution

Gnralisation

Mme dmarche pour un programme linaire avec un plus grand nombre de variables Dnition de la zone ralisable (simplexe) par lintersection des demi-espaces donns par les contraintes Solution : intersection entre lhyperplan mobile de la fonction objectif et le simplexe (un des sommets de la zone ralisable toujours convexe).

NICOD J EAN -M ARC

Rappels sur les graphes

16 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Exemple Applications Algorithme de rsolution

Applications
La programmation linaire est utilise pour rsoudre des problmes doptimisation comme : la planication de laffectation des personnels sur les vols des compagnies ariennes ; la maximisation du ptrole extrait en fonction du nombre de puits de forages ; la rsolution du problme de graphes et de combinatoires des ots ; le calcul dun ordonnancement de tches sur des machines en rgime permanent ; ...

NICOD J EAN -M ARC

Rappels sur les graphes

17 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Exemple Applications Algorithme de rsolution

Rsolution algorithmique

Algorithmique du simplexe (trs bonne perf mme si exp dans le pire cas) Algorithme de lellipsode (linaire mais trs lent en pratique) Solutions en nombre entiers : problme NP-Complet

NICOD J EAN -M ARC

Rappels sur les graphes

18 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Forme canonique Conversion en forme canonique Conversion en forme standard

Sommaire
Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Forme canonique Conversion en forme canonique Conversion en forme standard Algorithme du simplexe

NICOD J EAN -M ARC

Rappels sur les graphes

19 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Forme canonique Conversion en forme canonique Conversion en forme standard

Forme canonique et forme standard

Diffrente manire dcrire un programme linaire :


forme canonique forme standard (algo du simplexe)

NICOD J EAN -M ARC

Rappels sur les graphes

20 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Forme canonique Conversion en forme canonique Conversion en forme standard

Forme canonique

Le programme linaire crit avec la forme canonique (n + m ingalits avec n variables et m contraintes : maximiser avec les contraintes et les contraintes de positivit
n j =1 cj xj n a x j =1 ij j bi

(fonction objectif) avec i = 1, . . . , m xj 0 avec j = 1, . . . , n

NICOD J EAN -M ARC

Rappels sur les graphes

21 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Forme canonique Conversion en forme canonique Conversion en forme standard

Exemple de conversion
Soit le programme linaire suivant : 2x1 + 3x2 minimiser avec les contraintes x1 + x2 = 7 x1 2x2 4 x1 0
1

Minimiser une fonction = maximiser la fonction oppose ( 1) Les contraintes de positivits : xj xj xj avec xj 0 et xj 0

Transformation des galits en deux contraintes : x1 + x2 x2 = 7:


NICOD J EAN -M ARC

x1 + x2 x2 7 x1 x2 + x2 7
Rappels sur les graphes 22 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Forme canonique Conversion en forme canonique Conversion en forme standard

Exemple de conversion
Soit le programme linaire suivant : 2x1 + 3x2 minimiser avec les contraintes x1 + x2 = 7 x1 2x2 4 x1 0
1

Minimiser une fonction = maximiser la fonction oppose ( 1) Les contraintes de positivits : xj xj xj avec xj 0 et xj 0

Transformation des galits en deux contraintes : x1 + x2 x2 = 7:


NICOD J EAN -M ARC

x1 + x2 x2 7 x1 x2 + x2 7
Rappels sur les graphes 22 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Forme canonique Conversion en forme canonique Conversion en forme standard

Exemple de conversion
Soit le programme linaire suivant : 2x1 + 3x2 minimiser avec les contraintes x1 + x2 = 7 x1 2x2 4 x1 0
1

Minimiser une fonction = maximiser la fonction oppose ( 1) Les contraintes de positivits : xj xj xj avec xj 0 et xj 0

Transformation des galits en deux contraintes : x1 + x2 x2 = 7:


NICOD J EAN -M ARC

x1 + x2 x2 7 x1 x2 + x2 7
Rappels sur les graphes 22 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Forme canonique Conversion en forme canonique Conversion en forme standard

Exemple de conversion
Soit le programme linaire suivant : 2x1 + 3x2 minimiser avec les contraintes x1 + x2 = 7 x1 2x2 4 x1 0
1

Minimiser une fonction = maximiser la fonction oppose ( 1) Les contraintes de positivits : xj xj xj avec xj 0 et xj 0

Transformation des galits en deux contraintes : x1 + x2 x2 = 7:


NICOD J EAN -M ARC

x1 + x2 x2 7 x1 x2 + x2 7
Rappels sur les graphes 22 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Forme canonique Conversion en forme canonique Conversion en forme standard

Version canonique

Le programme linaire devient le programme suivant : maximiser 2x1 3x2 avec les contraintes x1 + x2 x1 2x2 et + 3x2 x2 + 2x2 x1 , x2 , x2

= 7 4 0

NICOD J EAN -M ARC

Rappels sur les graphes

23 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Forme canonique Conversion en forme canonique Conversion en forme standard

Version canonique du programme linaire

maximiser avec les contraintes avec x2 = x2 et x2 = x3 et

2x1 x1 x1 x1

3x2 + x2 x2 2x2

+ 3x3 x3 + x3 + 2x3 x1 , x2 , x3

7 7 4 0

NICOD J EAN -M ARC

Rappels sur les graphes

24 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Forme canonique Conversion en forme canonique Conversion en forme standard

Conversion en forme standard


Forme standard utilise par lalgorithme du simplexe Ajouts des variables dcart la valeur de la contrainte pour toutes les inquations de la forme canonique
n

Si
j =1

aij xj bi

Introduction de la variable dcart s :


n

s = bi
j =1

aij xj avec s 0

NICOD J EAN -M ARC

Rappels sur les graphes

25 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Forme canonique Conversion en forme canonique Conversion en forme standard

De manire gnrale

Soit xn+i la variable dcart de la i -me contrainte (si n contraintes) criture de la i -me contrainte sous la forme de lgalit :
n

xn+i = bi
j =1

aij xj avec xn+i 0

NICOD J EAN -M ARC

Rappels sur les graphes

26 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Forme canonique Conversion en forme canonique Conversion en forme standard

Version standard (1/2)

maximiser 2x1 avec les contraintes x4 x5 x6 et

3x2 + 3x3 = 7 x1 = 7 + x1 = 4 x1 x1 , x2 , x3 , x4 , x5 , x6

x2 + x3 + x2 x3 + 2x2 2x3 0

NICOD J EAN -M ARC

Rappels sur les graphes

27 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Forme canonique Conversion en forme canonique Conversion en forme standard

Version standard (2/2)

Les variables dcart : les variables de base Les autres : les variables hors base On pose z la valeur de lobjectif Exemple prcdent : z x4 x 5 x6 = 2x1 3x2 = 7 x1 = 7 + x1 = 4 x1 + 3x3 x2 + x3 + x2 x3 + 2x2 2x3

NICOD J EAN -M ARC

Rappels sur les graphes

28 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Forme canonique Conversion en forme canonique Conversion en forme standard

N , B , A, b, c et v
On pose les notations suivantes : N = {indices des variables hors base} avec (|N | = n) B = {indices des variables de base} avec (|B | = m) A la matrice des coefcients des variables hors base b le vecteurs des constantes dans les galits linaires c le vecteur des variables de la fonction objectif v la constante de la fonction objectif z = v xi = bi + ci xj j N aij xj pour i B
j N

(N , B , A, b, C , v ) : la forme standard dun programme linaire.


NICOD J EAN -M ARC Rappels sur les graphes 29 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Forme canonique Conversion en forme canonique Conversion en forme standard

Exemple de forme standart


z x1 x 2 x4 avec B= 1, 2, 4 N= 3, 5, 6 A= 1 6
8 3 1 2

= 28 = 8 + = 4 = 18

x3 6 x3 6 8x3 3 x3 2

+ +

x5 6 x5 6 2x5 3 x5 2

2x6 3 x6 3 x6 3

2 3 1 2

1 6

1 3 1 3

8 b= 4 18

1 6 c = 1 6 2 3

v = 28

NICOD J EAN -M ARC

Rappels sur les graphes

30 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Principe Exemple dexcution

Sommaire

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe Principe Exemple dexcution

NICOD J EAN -M ARC

Rappels sur les graphes

31 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Principe Exemple dexcution

Algorithme du simplexe

Algorithme non polynomial dans le pire cas Excellentes performances en pratique Mode de calcul semblable la mthode du pivot de Gauss Programme linaire crit sous la forme standard Trs souvent, diffrents formats de reprsentation des programmes linaires sont admis

NICOD J EAN -M ARC

Rappels sur les graphes

32 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Principe Exemple dexcution

Le principe de lalgorithme du simplexe


Maximiser la fonction objectif en maximisant chacune des variables hors base ayant un coefcient positif dans la fonction objectif.
extraction des variables de base les unes aprs les autres remplacement dans le reste du programme si plus aucune variable na de coefcient positif dans la fonction objectif alors il nest plus possible daugmenter sa valeur mise 0 des variables de la fonction objectif cet instant calcul de la valeur des variables de hors base

On a alors la solution du programme linaire : valeur de la fonction objectif et valeur des variables hors base du programme initial
NICOD J EAN -M ARC Rappels sur les graphes 33 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Principe Exemple dexcution

Le principe de lalgorithme du simplexe


Maximiser la fonction objectif en maximisant chacune des variables hors base ayant un coefcient positif dans la fonction objectif.
extraction des variables de base les unes aprs les autres remplacement dans le reste du programme si plus aucune variable na de coefcient positif dans la fonction objectif alors il nest plus possible daugmenter sa valeur mise 0 des variables de la fonction objectif cet instant calcul de la valeur des variables de hors base

On a alors la solution du programme linaire : valeur de la fonction objectif et valeur des variables hors base du programme initial
NICOD J EAN -M ARC Rappels sur les graphes 33 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Principe Exemple dexcution

Le principe de lalgorithme du simplexe


Maximiser la fonction objectif en maximisant chacune des variables hors base ayant un coefcient positif dans la fonction objectif.
extraction des variables de base les unes aprs les autres remplacement dans le reste du programme si plus aucune variable na de coefcient positif dans la fonction objectif alors il nest plus possible daugmenter sa valeur mise 0 des variables de la fonction objectif cet instant calcul de la valeur des variables de hors base

On a alors la solution du programme linaire : valeur de la fonction objectif et valeur des variables hors base du programme initial
NICOD J EAN -M ARC Rappels sur les graphes 33 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Principe Exemple dexcution

Le principe de lalgorithme du simplexe


Maximiser la fonction objectif en maximisant chacune des variables hors base ayant un coefcient positif dans la fonction objectif.
extraction des variables de base les unes aprs les autres remplacement dans le reste du programme si plus aucune variable na de coefcient positif dans la fonction objectif alors il nest plus possible daugmenter sa valeur mise 0 des variables de la fonction objectif cet instant calcul de la valeur des variables de hors base

On a alors la solution du programme linaire : valeur de la fonction objectif et valeur des variables hors base du programme initial
NICOD J EAN -M ARC Rappels sur les graphes 33 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Principe Exemple dexcution

Le principe de lalgorithme du simplexe


Maximiser la fonction objectif en maximisant chacune des variables hors base ayant un coefcient positif dans la fonction objectif.
extraction des variables de base les unes aprs les autres remplacement dans le reste du programme si plus aucune variable na de coefcient positif dans la fonction objectif alors il nest plus possible daugmenter sa valeur mise 0 des variables de la fonction objectif cet instant calcul de la valeur des variables de hors base

On a alors la solution du programme linaire : valeur de la fonction objectif et valeur des variables hors base du programme initial
NICOD J EAN -M ARC Rappels sur les graphes 33 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Principe Exemple dexcution

Le principe de lalgorithme du simplexe


Maximiser la fonction objectif en maximisant chacune des variables hors base ayant un coefcient positif dans la fonction objectif.
extraction des variables de base les unes aprs les autres remplacement dans le reste du programme si plus aucune variable na de coefcient positif dans la fonction objectif alors il nest plus possible daugmenter sa valeur mise 0 des variables de la fonction objectif cet instant calcul de la valeur des variables de hors base

On a alors la solution du programme linaire : valeur de la fonction objectif et valeur des variables hors base du programme initial
NICOD J EAN -M ARC Rappels sur les graphes 33 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Principe Exemple dexcution

Exemple dexcution (1/2)

Soit le programme canonique suivant : maximiser avec les contraintes et 3 x1 + x2 + 2x2 + x2 + x2 + 3x3 + 5x3 + 2x3 x1 , x2 , x3 + 2x3 30 24 36 0

x1 2x1 4x1

NICOD J EAN -M ARC

Rappels sur les graphes

34 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Principe Exemple dexcution

Exemple dexcution (2/2)

Soit sa forme standard : z = 3x1 x4 = 30 x1 x = 24 2x1 5 x6 = 36 4x1

+ x2 x2 2x2 x2

2x3 3x3 5x3 2x3

Ce systme de contraintes a 3 quations et 6 inconnues. Il y a par consquent un nombre inni de solution ralisables. Il sagit pour nous de trouver celle qui maximise la fonction objectif.

NICOD J EAN -M ARC

Rappels sur les graphes

35 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Principe Exemple dexcution

Solution de base
Les solutions de base :
mise 0 des variables droite du signe = (variable hors base) les variables de base sont donc des constantes des quations linaires dans lexemple : les solutions de base sont les suivantes : x1 , x2 , x3 , x4 , x5 , x6 = 0, 0, 0, 30, 24, 36

La valeur de lobjectif est z = 0 et xi = bi i B . La solution de base nest pas toujours une solution ralisable. Ceci ne remet pas en question la rsolution du programme linaire par lalgorithme du simplexe.

NICOD J EAN -M ARC

Rappels sur les graphes

36 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Principe Exemple dexcution

Rcriture de lensemble des quations et la fonction objectif

Recherche dun ensemble de variables de base diffrent de celui de la solution de base sans changer le programme linaire initial :
rcriture dans une autre forme itration sur cette transformation tant que cela est possible (amlioration de la fonction objectif)

NICOD J EAN -M ARC

Rappels sur les graphes

37 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Principe Exemple dexcution

Rcriture du programme linaire


Choix dune variable hors base xe ayant un coefcient positif dans la fonction objectif Donner cette variable xe la plus grande valeur possible sans quaucune contrainte ne soit viole
Soit l lquation du programme linaire la plus restrictive pour xe Expression de xe en fonction de la variable xl , des autres variables hors base et de la constante xe devient alors une variable de base xl devient une variable hors base.

remplacement de xe par lexpression trouve au niveau de lquation l du programme linaire et dans la fonction objectif
NICOD J EAN -M ARC Rappels sur les graphes 38 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Principe Exemple dexcution

Exemple (itration 1)
Choix de la variable x1 les autres variables hors base reste zro on augmente la valeur de x1 le plus possible, tout en conservant des valeurs positives pour les variables de base on ne garde que lquation imposant la contrainte la plus stricte x1 > 30 : x4 < 0 x1 > 12 : x5 < 0 x1 > 9 : x6 < 0 contrainte la plus stricte permutation des rles entre x1 et x6 : x1 devient une variable de base x6 devient une variable hors base
NICOD J EAN -M ARC Rappels sur les graphes 39 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Principe Exemple dexcution

Itration 1 (suite)

Expression de x1 en fonction des autres variables dans lquation 6 : x2 x3 x6 x1 = 9 4 2 4 Rcriture de la premire quation : x4 = 30 x1 x2 3x3 x3 2 x4 = 30 (9 x 4 2 5x3 3x2 6 x4 = 21 4 2 x 4
x6 4)

x2 3x3

NICOD J EAN -M ARC

Rappels sur les graphes

40 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Principe Exemple dexcution

Itration 1 (suite)
Rcriture des autres quations et de la fonction objectif : x3 x6 2 z = 27 + x + 34 4 2 x = 9 x x3 6 2 x 1 4 2 4 5x3 x6 3x2 x4 = 21 4 2 4 x = 6 3x2 4x + x6 5 3 2 2 Opration de pivot avec x1 une variable entrante et x6 une variable sortante On cherche alors la valeur de la solution de base en annulant toutes les variables hors base : On obtient une valeur de z = 27 pour les solutions suivantes : x1 , x2 , x3 , x4 , x5 , x6 = 9, 0, 0, 21, 6, 0
NICOD J EAN -M ARC Rappels sur les graphes 41 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Principe Exemple dexcution

Exemple (itration 2)
On choisit daugmenter la variable x3 : x3 > 18 : x1 < 0 : x4 < 0 x3 > 42 5 3 x3 > 2 : x5 < 0 contrainte la plus stricte x3 du cot des variables de base et on passe x5 du cot des variables hors base x3 dans les autres quations ainsi que dans la fonction objectif

NICOD J EAN -M ARC

Rappels sur les graphes

42 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Principe Exemple dexcution

Itration 2 (suite)
criture du programme linaire : x2 z = 111 + 16 4 x2 33 x1 = 16 4 3x2 3 x3 = 2 8 3x2 x4 = 69 + 4 16 On a alors z =
111 4

+ +

x5 8 x5 8 x5 4 5x5 8

11x6 16 5x6 16 x6 8 x6 16

avec la solution de base : 33 3 69 , 0, , , 0, 0 4 2 4

x1 , x2 , x3 , x4 , x5 , x6 =

NICOD J EAN -M ARC

Rappels sur les graphes

43 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Principe Exemple dexcution

Exemple (itration 3)

Augmentation de la valeur de x2 :

x2 > 132 : x1 < 0 x2 > 4 : x3 < 0 x2 peut tre aussi grand que possible car x4 et x2 grandissent ensem Expression de x2 en fonction de x3 , x5 et x6 .

NICOD J EAN -M ARC

Rappels sur les graphes

44 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Principe Exemple dexcution

Itration 3 (suite)

criture du programme linaire : z x1 x 2 x4 = 28 = 8 + = 4 = 18


x3 6 x3 6 8x3 3 x3 2

+ +

x5 6 x5 6 2x5 3 x5 2

2x6 3 x6 3 x6 3

NICOD J EAN -M ARC

Rappels sur les graphes

45 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Principe Exemple dexcution

Exemple (solution du programme linaire)

On annule les valeurs des variables hors base :

x1 , x2 , x3 , x4 , x5 , x6 = 8, 4, 0, 18, 0, 0 avec zmax = 28 La solution du problme initial est donc : x1 = 8 x = 4 2 x3 = 0

NICOD J EAN -M ARC

Rappels sur les graphes

46 / 47

Exemple de problme doptimisation Rsolution dun programme linaire Forme canonique et forme standard Algorithme du simplexe

Principe Exemple dexcution

Exemple (solution du programme linaire)


Ici x4 = 18 : il existe un cart de 18 entre la fonction linaire exprimant la contrainte et la borne sur cette contrainte Cette borne aurait donc pu tre plus restrictive On le vrie en remplaant les valeurs de x1 , x2 et x3 dans la premire inquation du programme linaire initial : x1 + x2 + x3 30 12 30 NB : Attention les solutions ne sont pas toujours entires

NICOD J EAN -M ARC

Rappels sur les graphes

47 / 47