Vous êtes sur la page 1sur 23

Chapitre 2

Notions de Base
de la Programmation Linéaire

N.ELLOUMI RO: Programmation linéaire 1


I. Définition d’un programme linéaire

Un problème de programmation linéaire se note de la manière suivante:

 Max Z  t c x Fonction bénéfice, coût,…etc.



Sous contrainte s

 Ax  b
Les contraintes
(d’égalités et d’inégalités)
 x  0; x  IR n

A est une matrice d’ordre m x n, b est un vecteur à m composantes et c un


vecteur à n composantes.

N.ELLOUMI RO: Programmation linéaire 2


II. Position du problème
Résoudre un problème de programmation linéaire, revient à

chercher un vecteur x  ( x1 , x2 ,..., xn )


satisfaisant Ax  b
et rendant maximum (resp. minimum) la fonction Z  tc x

Remarque
Maximiser (Z)  - [ Minimiser (-Z) ]

Intérêt
Un algorithme de maximisation, sans le modifier, peut être
employé pour minimiser une fonction et inversement.

N.ELLOUMI RO: Programmation linéaire 3


II. Différentes formes des progs linéaires

Forme Canonique Forme Standard

 Max Z  c x
t  Max Z  t c x
 
Sous contrainte s Sous contrainte s
 
 Ax  b  Ax  b
 x  0; x  IR n  x  0; x  IR n
 

Question: Comment passer d’une forme canonique à une forme standard?

Réponse: Pour une forme canonique, il suffit de rajouter un vecteur   0


pour obtenir un problème en forme standard.

N.ELLOUMI RO: Programmation linéaire 4


II. Différentes formes des progs linéaires

Forme Canonique Forme Standard

 Max Z  c xt  Max Z  t c x
 
Sous contrainte s Sous contrainte s
 
 Ax  b  Ax    b
  x  0, x  IR n ;   0,   IR m
 x  0; x  IR n 

 : s' appelle vecteur des variables d' écart

Pour la forme standard, il existe une solution initiale évidente, non


nécessairement optimale, ( x  0 et   b ) si b  0

N.ELLOUMI RO: Programmation linéaire 5


II. Différentes formes des progs linéaires
Exemple
 3  3
 Max Z  2 x1  x2  Max Z  2 x1  x2
2 2
 
Sous contrainte s Sous contrainte s
 x  400  x  y  400
 1  1 1
 x2  700 Forme Standard  x2  y2  700
 x  x  800  x  x  y  800
 1 2  1 2 3

2 x1  x2  1000 2 x1  x2  y4  1000
 
 x1  0; x2  0  xi  0; yi  0
 
 y1   400 
   
 x1   0   y2   700 
x       y  
SIE: Solution Initiale Evidente:
 x2   0  y3 800 
   
 y  1000 
 4  
N.ELLOUMI RO: Programmation linéaire 6
III. Solution réalisables
Solution réalisable (ou admissible):
Si x satisfait les contraintes, on dit que c’est une solution réalisable
Ensemble des solutions réalisables:


X ad  x  IR n / Ax  b; x  0 
Ensemble des solutions optimales: (pour un problème de maximisation)


X Opt  x0  IR n / t cx0  t cx; x  X ad 
Propriétés
X ad est convexe borné inférieurement
X Opt est convexe borné inférieurement

N.ELLOUMI RO: Programmation linéaire 7


IV. Solution de base, variables de bases et variables non de bases

On considère le problème linéaire (PL) sous forme standard

Max Z  t c x A est une matrice d' ordre m x n (n  m)



Sous contrainte s b  IR m
(PL)  Avec
 Ax  b c  IR n
 x  0; x  IR n
 x  IR n

A=[B,N]: On partitionne A en deux sous matrices.


B= une matrice carrée d’ordre m telle que: B existe et B b  0
-1 -1

N= une matrice d’ordre m x (n-m).

N.ELLOUMI RO: Programmation linéaire 8


IV. Solution de base, variables de bases et variables non de bases
x B : vecteur des variables de base, c’est le vecteur des variables x j
correspondant aux colonnes de B

x N : vecteur des variables non de base, c’est le vecteur des variables x j


correspondant aux colonnes de N. (sont appelées aussi variables hors
base)

De ce fait: Z  t c x  t cB xB  t c N x N
b  Ax  Bx B  NxN

La solution définie par: x  ( xB  B 1b, x N  0)


est appelée solution de base associée à B

N.ELLOUMI RO: Programmation linéaire 9


IV. Solution de base, variables de bases et variables non de bases

Exemple:

 Max Z  100 x1  200 x2  Max Z  100 x1  200 x2


 Sous contrainte s
Sous contrainte s 
 3x1  4 x2  y1  42
(PL)  3x1  4 x2  42 Forme
  
Standard

 x  3x  24  x1  3x2  y2  24
 1 2
 x1  0; x2  0
 x1  0; x2  0 
 y1  0; y2  0

y  ( y1 , y2 ) : vecteur des variables d' écart

N.ELLOUMI RO: Programmation linéaire 10


IV. Solution de base, variables de bases et variables non de bases
Ecriture matricielle:

  x1 
  
 Max Z  (100 ,200 ,0 ,0) 2 
x
 y 
 
 y 
1  Max Z  t c X
  2 
 Sous contrainte s
S - C

 
  x1 
   AX  b
  3 4 1 0  x 2   42   X  0
     
  1 3 0 1  y1   24 
 y 
 2

les x i et les y j sont  0

N.ELLOUMI RO: Programmation linéaire 11


IV. Solution de base, variables de bases et variables non de bases

A=[B,N]: On partitionne A en deux sous matrices.

3 4 1 0 3 0  4 1
A     B    et N   
1 3 0 1 1 1  3 0
 1 
 0 14 
B 1 et B 1  3  et B 1b   
 1 1  10 

 3 
Dans ce cas
 x1   x2 
xB    et xN   
 y2   y1 
14   0
Ce choix donne la solution de base: xB    et xN   
10   0
N.ELLOUMI RO: Programmation linéaire 12
IV. Solution de base, variables de bases et variables non de bases

Un choix à rejeter:

 4 0 3 1
3 4 1 0  B    et N   
A   
 3 1 1 0
1 3 0 1
 21 
1  1 0  
B 1 et B 1    mais B b  
1 2 
4   3 4   30 
Remarque  4 
La Solution Initiale Évidente (SIE) admet la matrice identité comme base.
Dans le cas de l’exemple, la (SIE) est :

 y1   42   x1   0 
xB       et xN      
 y2   24   x2   0 

N.ELLOUMI RO: Programmation linéaire 13


V. Théorème fondamental de la programmation linéaire
Définition:
C est un convexe, on dit que x  C est un point extrémal si x n’est pas
combinaison linéaire convexe de y et z, pour tout y et z dans C.

Propriétés
 x0 extrémal de C    x0 n' est pas compromis de deux autres points de C
  h  0 / x0  h  C   C \ x0  est un convexe 

Lemme
« Si C est convexe borné inférieurement alors il admet au moins un point
extrémal »

N.ELLOUMI RO: Programmation linéaire 14


V. Théorème fondamental de la programmation linéaire
Remarque:
Un point extrémal sera toujours un point frontière mais l’inverse n’est pas
toujours vrai.

Théorème fondamental de la programmation linéaire


Si le problème de programmation linéaire admet une solution
optimale, il en admet au moins une qui est extrémale.

Preuve
L’ensemble des solutions optimales X Opt (non vide par hypothèse), il est
convexe et borné inférieurement, il admet donc un point extrémal qui est un
point extrémal dans X ad

N.ELLOUMI RO: Programmation linéaire 15


VI. Caractérisation d’une solution réalisable de base

Propriété d’un fonction linéaire:


Si une fonction linéaire atteint son maximum (ou son minimum) sur X ad ,
cet optimum a lieu en un point extrémal.

Première constatation:
Étant donné que dans un programme linéaire la fonction objectif à
maximiser ou à minimiser est une fonction linéaire, l’algorithme de
simplexe permettra de trouver parmi les solutions optimales, une qui est
extrémale.

Question: Comment caractériser algébriquement et géométriquement


un point extrémal?

N.ELLOUMI RO: Programmation linéaire 16


VI.1 Caractérisation algébrique d’un point extrémal
Soit A une matrice (mxn) et b un vecteur à m composantes.

X ad  x  IR n / Ax  b; x  0

Une CNS pour que x̂ soit un point extrémal de X ad est que x̂ soit un
point de X vérifiant le système A x̂  b
ad
Où A est une sous matrice régulière d' ordre n et b un sous vecteur de IR n
Exemple:
Considérant l’ensemble des solutions admissibles d’un programme linéaire:

X ad  x  IR 2 / x1  x2  1; x1  0 x2  0

 x  IR 2 / Lx  h

N.ELLOUMI RO: Programmation linéaire 17


VI.1 Caractérisation algébrique d’un point extrémal

 1 1 1
   
L  1 0  et h   0  S2
 0 1  0
    X ad S1
S3

Les points extrêmes sont solutions des systèmes (2 x 2) suivants:


1 1   x1   1   1 1   x1   1  1 0   x1   0 
                 
0  1   x2   0    1 0   x2   0   0  1   x2   0 

 x  1  x1  0   x1  0 
Solution S1   1  Solution S2    Solution S 3   
 x2  0   x2  1   x2  0 

N.ELLOUMI RO: Programmation linéaire 18


VI.2. Propriétés d’une Solution Réalisable de Base (SRB)

Remarque: L’intersection d’un nombre fini de demi-espaces fermés est


un polyèdre

Lemme:
Le polyèdre convexe X ad  x  IR n / Ax  b; x  0
possède un nombre fini N de solutions de base réalisables et N  Cnm

Théorème:
L’ensemble des points extrêmes du polyèdre convexe X ad correspond à
l’ensemble des solutions de base réalisables

N.ELLOUMI RO: Programmation linéaire 19


VI.3. Caractérisation géométrique d’une SRB

Une SRB est donnée par:  xB  B 1b  0 (m variables ) 


x   
 xN  0 (n - m variables ) 

 (n - m hyperplans )  (m hyperplans ) 
x   
 xN  0  xB  B b  0
1

Les points x  X ad satisfaisant des contraintes d’égalités sont situés donc


sur des faces de X ad .

  (n faces de X )  un sommet (un point extrême "corner point") 


 ad
  ((n - 1) faces de X )  une arête 
 ad 

N.ELLOUMI RO: Programmation linéaire 20


VI.3. Caractérisation géométrique RSB
L’algorithme de simplexe consistera à se déplacer de point extrême en point
extrême en suivant des arêtes de X ad jusqu’à ce que l’on ait atteint
l’optimum.

X ad
Infinité de solutions admissibles

L’ensemble des solutions


Les points extrémaux
réalisables de base
x 
(corner points)
B  B 1b  0 ; x N  0

N.ELLOUMI RO: Programmation linéaire 21


VII. Solution de base dégénérée
Une solution réalisable de base est dite dégénérée si au moins
une variable de base est nulle.
Remarque: S'il existe une base dégénérée, alors on peut
rencontrer un éventuel cyclage de l'algorithme : on retrouve
une base déjà rencontrée et on boucle indéfiniment. Pour traiter
les cas de dégénérescence, on peut appliquer la règle de Bland
(1977) qui assure l'arrêt de l'algorithme en un nombre fini
d'itérations.
Règle de Bland
Lorsque plusieurs variables sont susceptibles d'entrer ou de
sortir de la base, on choisit toujours celle qui a l'indice le plus
petit.

N.ELLOUMI RO: Programmation linéaire 22


Exercices
Exercice1 
On considère le programme linéaire suivant: Max Z  3x1  4 x2  x3

1. Ecrire la forme standard de ce programme. Sous contrainte s
2. Admet-il une SIE?  8
(PL)  x1  2 x2  2 x3 
 3
 7
 1x  2 x 2  3 x3 
3

 xi  0;

Exercice2 Max Z  x1  2 x2  4 x3  x4
On considère le programme linéaire suivant: 
Sous contrainte s
Montrer que la solution : x=(0,2,1,0) (PL)  x1  x2  x3  x4  1
est une solution de base réalisable du  x  2 x  x  2
programme linéaire (PL).  1 3 4

 xi  0;

N.ELLOUMI RO: Programmation linéaire 23

Vous aimerez peut-être aussi