Vous êtes sur la page 1sur 32

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE

MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE


LA RECHERCHE SCIENTIFIQUE

UNIVERSITE DJILALI BOUNAAMA KHEMIS MILIANA

Faculté des Sciences de la technologie

Département de Mathématiques et d’Informatique

RECHERCHE OPERATIONNELLE AVANCEE 2

= = = = = = = = o o = = = = = = = =

Cours et Exercices Résolus

Présenté par : H. M

Annee Universitaire : 2019 2020


Table des matières

1 Programmation Linéaire 2
1.1 Formulation du problème du programmation linéaire . . . . . . . . . . . . . 2
1.1.1 Modélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.2 Forme canoniuqe et forme standard d’un PL . . . . . . . . . . . . . . 3
1.2 Dualité en programmation linéaire . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.1 Dual d’un programmation linéaire . . . . . . . . . . . . . . . . . . . . 5
1.3 Exercices corrigés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Résolution du problème de la programmation linéaire 10


2.1 Rappeles sur les inégalités linéaires . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Forme standard d’un PL par rapport à une base . . . . . . . . . . . . . . . . 13
2.3 Algorithe du simplexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.1 Illustration du algorithe du simplexe . . . . . . . . . . . . . . . . . . 15
2.3.2 Algorithe (simplexe) . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3.3 Algorithe simplexe : Forme tableau . . . . . . . . . . . . . . . . . . . 17
2.3.4 Algorithe dual du simplexe . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3.5 Exercices corrigés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3 Programmation linéaire en nombres entiers 23


3.1 Dé…nition d’un programmation linéaire en nombres entiers . . . . . . . . . . 23
3.1.1 Programme linéaire relaxé . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2 Résolution du problème de la programmation linéaire en nombres entiers . . 25
3.2.1 Méthode des coupes de Gomory . . . . . . . . . . . . . . . . . . . . . 25
3.2.2 Exercices corrigés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Bibliographie 31

1
Chapitre 1

Programmation Linéaire

1.1 Formulation du problème du programmation li-


néaire
Dé…nition 1.1 Un programme liéaire (P L) est un problème qui consiste a maximiser ou
minimiser une fonction liéaire sous contraintes liéaires, écrites sous forme d’égalités ou d’in-
égalités.

Exemple 1.1 Problème de production


Un fabricant produit 2 types de yaourts à la fraise A et B à partirde fraise, de lait et de
sucre. Chaque yaourt doit respecter les proportions suivantes de matières premières :

A B
Fraise 2 1
Lait 1 2
Sucre 0 1

On dispose de 800 Kg de Fraises, 700 Kg de Lait et 300 Kg de sucre. La vente de 1 Kg de


yaourts A et B rapporte respectivement 4 Dinar 5 Dinar.

Le fabricant cherche à maximiser son pro…t

1.1.1 Modélisation
1. Variables :
. xA : La quantité du produit A à fabriquée (xA 0) ;
. xB : La quantité du produit B à fabriquée (xB 0) ;
2. Contraintes :

2xA + xB 800; (Fraise),


xA + 2xB 700; (Lait),
xB 300; (Sucre).

3. Fonction objectif :
Maximiser le gain totale = 4xA + 5xB :

2
3

Programmation linéaire :
8
>
> M ax (Z) = 4xA + 5xB
>
>
>
>
>
>
< 2xA + xB 800
PL : xA + 2xB 700
>
>
>
> xB 300
>
>
>
>
:
xA 0; xB 0:
Forme matricielle du PL :
8
>
> xA
>
> M ax (Z) = (4; 5)
>
> x
< 0 1 0B 1
2 1 800
PL :
> @ 1 2 A xA @ 700 A ;
>
> x
>
> 0 1 B
300
>
:
xA 0; xB 0:
ce qui donne
8
0>
> c =1
(4; 5) ; 0 1
8 >
>
>
> 2 1 800
< M ax (Z) = cx <
A=@ 1 2 A ; b = @ 700 A
PL : Ax b ; avec
: >
> 0 1 300
x 0; >
>
>
> xA
: x= :
xB

1.1.2 Forme canoniuqe et forme standard d’un PL


1. Forme canoniuqe d’un PL :
Un programme linéaire (PL) est dit sous forme canonique s’il s’écrit :
8
< M ax (Z) = cx; c 2 Rn ;
P Lc : Ax b; A est une matrice d’ordre m n; b 2 Rm ;
:
x 0; x 2 Rn :
2. Forme standard d’un PL :
Un programme linéaire (PL) est dit sous forme standard s’il s’écrit :
8
< M ax (Z) = cx; c 2 Rn ;
P Ls : Ax = b; A est une matrice d’ordre m n; b 2 Rm ;
:
x 0; x 2 Rn :
Proposition 1.1 Tout PL peut s’écrire sous la forme canonique ou bien sous la forme
standard, le passege d’une forme à une autre est toujours possible.
Preuve. Il su¢ t de faire les observations suivantes :
1. M in (Z) = M ax ( Z) :
2. L’inégalité : i x bi est équivalente à i x + y = bi ; avec y 0:
3. L’égalité : i x = bi est équivalente à i x bi et ix bi :
0 00
4. Si xj est une variable de signe quelconque, alors, on peut remplacer par : xj xj ; avec
0 00
xj 0; xj 0:
4

Exemples
Exemple 1.2 Ecrire le PL écrit sous la forme canonique
8
>
> M ax (Z) = cx
>
>
<
P Lc : Ax b ;
>
>
>
>
:
x 0
sous forme standard.

———————————————————

Solution : Alors
8
8 8 >
> x
>
> M ax (Z) = (c; 0)
>
> M ax (Z) = cx >
> M ax (Z) = cx >
> y
>
> >
> >
>
< < <
P Lc : Ax b Ax + y = b x ;
>
> >
> >
> (A; I) =b
>
> >
> >
> y
: : >
>
x 0 x 0; y 0 >
>
:
x 0; y 0
ce qui implique 8
>
0
M ax (Z) = c X 8 0
>
> > c = (c; 0)
>
< >
< 0
0 A = (A; I)
AX =b ; avec :
>
> >
> x
>
> : X=
: y
X 0

Exemple 1.3 Mettre sous forme canonique le PL suivant :


8
>
> M in (Z) = x1 + x2
>
>
>
>
<
2x1 + x2 1
PL : ; sous forme générale.
>
> x1 + 2x2 = 2
>
>
>
>
:
x1 0; x2 qlq

———————————————————
Solution : On pose M in (Z) = M ax ( Z), alors
8
>
> M ax ( Z) = x1 x2
>
>
>
>
>
>
< 2x1 + x2 1
PL x1 + 2x2 2
>
>
>
> x1 + 2x2 2
>
>
>
>
:
x1 0; x2 qlq;
5

0 0 00 0 00
Si, on pose Z = Z et x2 = x2 x2 ; x2 0; x2 0; on obtient
8 0 0 00
>
> M ax Z = x1 x2 + x2 ;
>
>
>
>
>
> 0 00
< 2x1 + x2 x2 1
0 00
PL x1 + 2x2 2x2 2 ;
>
> 0 00
>
> x1 2x2 + 2x2 2
>
>
>
>
: 0 00
x1 0; x2 0; x2 0

PL sous forme matricielle :


8 0 1
>
> x 1
>
> M ax Z = (1; 1; 1) @ x2 A
0 0
>
>
>
> 00
< 0 10 1 x20 1
PL : 2 1 1 x1 1
>
> @ 1 2 A @ x2 A @ 2 A
0
>
> 2
>
> 00
>
> 1 2 2 x2 2
: 0 00
x1 0; x2 0; x2 0;
0 1 0 1 0 1
x1 2 1 1 1
où c = (1; 1; 1) ; x = @ 0
x2 A ;A = @ 1 2 2 A et b = @ 2 A :
00
x2 1 2 2 2

1.2 Dualité en programmation linéaire


1.2.1 Dual d’un programmation linéaire
Dé…nition 1.2 Soit donné un programmation linéaire écrit sous forme canonoque
8
< M ax (Z) = cx; c 2 Rn ; x 2 Rn ; x : vecteur des variables de P L (colonne)
PL : Ax b; Am n ; b 2 Rm
:
x 0;

à ce programmation linéaire, on associe un autre programmation linéaire dit le dual de pro-


grammation linéaire dé…ni par :
8
< M in (W ) = yb; y : vecteur des variables de Dual (ligne)
D = Dual de P L : yA c
:
y 0; y 2 Rm :

Remarque 1.1 P L est applé primal et D est le dual de P L.


6

Exemple 1.4 Donner le dual du primal suivant :

P rimal
8
>
> M ax (Z) = 2x1 + 4x2 + 3x3
>
>
>
>
>
>
< 3x1 + 4x2 + 2x3 60
PL : 2x1 + 4x2 + 2x3 40
>
>
>
> 3x1 + 2x2 + 2x3 80
>
>
>
>
:
xj 0; j = 1; 2; 3:

Le dual du primal est :

Dual
8
>
> M in (W ) = 60y1 + 40y2 + 80y3
>
>
>
>
>
>
< 3y1 + 2y2 + 3y3 2
D: 4y1 + y2 + 3y3 4
>
>
>
> 2y1 + 2y2 + 2y3 3
>
>
>
>
:
yi 0; i = 1; 2; 3:

Proposition 1.2 Le dual du dual de P L est primal de P L: (D (D de P L)) = P L:

Preuve. Soit primal de P L suivant :


8
>
> M ax (Z) = cx
>
>
<
Ax b
>
>
>
>
:
x 0;

alors le dual du primal de P L est :


8
>
> M in (W ) = yb
>
>
<
yA c
>
>
>
>
:
y 0;

ce qui implique 8 8 0
>
> M ax ( W ) = yb >
> M ax Z = bT y T
>
> >
>
< <
yA c ( A)T y T cT
>
> >
>
>
> >
>
: :
y 0; y T 0;
7

Le dual du dual de P L est dé…ni par :


8 0 T
8 0 8
>
> M ax W = z c >
> M in W = cz T >
> M ax (Z) = cx
>
> >
> >
>
< < <
T
z ( A) b T Az T b Ax b
>
> >
> >
>
>
> >
> >
>
: : :
z 0; z T 0; x 0;
donc le dual du dual de P L P L:
Remarque 1.2
P rimal Dual

M ax (Z) = cx M in (W ) = yb

Ai x b i ! yi 0
Ai x = b i ! yi 0
xj 0 ! yAj cj
xj qlq ! yAj = cj :
Proposition 1.3 Etan donné duex programmations linéaires primal (P ) et dual (D). Pour
toute solution réalisable x de P et y de D; on a : cx yb:
Proposition 1.4 Si l’on peut trouver une solution réalisable x et une solution réalisable y
telles que : cx = y b: Alors x et y sont des solutions optimales de P et D respectivement.

1.3 Exercices corrigés


Exercice 1.1 Transformer le programmation linéaire suivant à la forme canonique :
8
>
> M in (Z) = 2x1 x2
>
>
>
>
<
2x1 3x2 = 2
P Lg :
>
> 4x1 + x2 3
>
>
>
>
:
x1 0; x2 0:

———————————————————
Solution :
On pse M in (Z) = M ax ( Z) = M ax (W ) et en ajoutant une variable d’écart x3
dans la deuxième contrainte principale, on obtient la forme canonique suivante :
8
>
> M ax (W ) = 2x1 + x2
>
>
>
>
<
2x1 3x2 = 2
P Lc :
>
> 4x1 + x2 + x3 = 3
>
>
>
>
:
x1 0; x2 0; x3 0:
8

Exercice 1.2 Reformuler sous forme canonique le programmation linéaire suivant :


8
>
> M ax (Z) = 7x1 + x2
>
>
>
>
<
x1 + 2x2 x3 1
P Lg :
>
> 3x1 4x2 + 2x3 = 2
>
>
>
>
:
x1 0; x2 0; x3 0:

———————————————————
Solution :
Pour avoir l’égalité dans la première contrainte, on doit soustraire au premier membre
une quantité positive x4 :
Par ailleurs, comme la variable x3 est négative alors on fait un changement de variable
0 0
en introduisant une autre variable x3 = x3 ; avec x3 0; d’où
le PL de départ est équivalent au PL suivant :
8
>
> M ax (Z) = 7x1 + x2
>
>
>
>
< 0
x1 + 2x2 + x3 x4 1
P Lc : 0
>
> 3x1 4x2 + 2x3 = 2
>
>
>
>
: 0
x1 0; x2 0; x3 0:

Exercice 1.3 écrire le dual du PL suivant :


8
>
> M ax (Z) = 10x1 + 6x2
>
>
>
>
>
>
< x1 + 4x2 = 40
PL : 3x1 + 2x2 60
>
>
>
> 2x1 + 2x2 25
>
>
>
>
:
x 1 ; x2 0

———————————————————
Solution :
On a:
8 8
>
> M ax (Z) = 10x1 + 6x2 >
> M ax (Z) = 10x1 + 6x2
>
> >
>
>
> >
>
>
> >
>
< x1 + 4x2 40 < x1 + 4x2 40 ! y1
PL : 3x1 + 2x2 = 60 3x1 + 2x2 = 60 ! y2
>
> >
>
>
> 2x 1 + 2x2 25 >
> 2x1 2x2 25 ! y2
>
> >
>
>
> >
>
: :
x 1 ; x2 0 x 1 ; x2 0:
9

Alors, le dual du PL est donnée par :


8
>
> M in (W ) = 40y1 + 60y2 25y3
>
>
>
>
<
y1 + 3y2 2y3 10
>
> 4y1 + 2y2 2y3 6
>
>
>
>
:
y1 ; y3 0; y2 quelconque.

Exercice 1.4 Formuler le problème dual de chacun des programmes linéaires suivants :
8 8
>
> M ax (z) = 2x 1 + 4x 2 + 3x 3 >
> M ax (z) = 3x1 + x2 2x3
>
> >
>
>
> >
>
>
> >
>
< 3x1 + 4x2 + 2x3 30 < 3x1 + 4x2 10
P L1 : 2x1 + x2 + 2x3 40 ; P L2 : 3x1 x2 + x3 = 7 ;
>
> >
>
>
> x 1 + 2x 2 + 3x 3 50 >
> x 1 + 3x 3 8
>
> >
>
>
> >
>
: :
x1 0; x2 0; x3 0 x2 0; x3 0
8 8
>
> M in (z) = 1x1 + 2x2 + ::: + nxn >
> M ax (z) = cx
>
> >
>
< <
P L3 : x1 + x2 + ::: + xn i; i = 1; :::; n ; P L4 : Ax b
>
> >
>
>
> >
>
: :
xi 0; i = 1; :::; n: x quelconque.

Exercice 1.5 Convertir le probléme suivant en programmation linéaire


8
>
> M in (Z) = (jxj + jyj + jzj)
<
>
> x+y 1
:
2x + z 3:

Exercice 1.6 Soit le programme linéaire suivant :


8
>
> M ax (Z) = 2x1 + x2
>
>
<
P:L = x1 x2 3
>
>
>
> x1 + x2 15
:
x1 ; x2 0:

1: Ecrire P:L sous forme standard.

2: Déterminer toutes les solutions de base et les classer (solutions de base, réalisable et
non réalisable).
3: Quelle est la solution optimale, si elle existe ?.
4: Quelle est la solution optimale du problème P:L si P:L est un problème de minimisa-
tion ?.
Chapitre 2

Résolution du problème de la
programmation linéaire

2.1 Rappeles sur les inégalités linéaires


Soit un système linéaire Ax = b; où A une matrice d’ordre m n. On considère la matrice
(A; b) est une matrice d’ordre m (n 1),((A; b) : matrice obtenu en ajoutant à A la colonne
b). 8
>
> > rangA le système est incompatible
>
>
<
rang (A; b) = rangA le systeme est incompatible
>
>
>
> rangA = m le systeme est non redondant
:
rangA < m le systeme est redondant

Dé…nition 2.1 Etant donné le système


8
< Ax = b ou A est matrice d0ordre m n avec rangA = m
:
x 0;

et soit I = fi1 ; i2 ; :::; im g N où ij 2 N; à cet ensemble I correspond une sous matrice de


A noteé AI (d0 ordre m n) :
L’ensemble des indices est dit une base ssi la matrice AI est matrice non singuliere
det AI 6= 0 :
Les éléments de I sont appelés les indices de base et les éléments de J = N I sont
appelés les indices hors base.

Etant donné une matrice Am n et une base I, on peut redonner les colonnes de la matrice
A et écrire A = AN = AI ; AJ ; où AI est une sous matrice correspondante aux indices I
et AJ est une sous matrice correspondante aux indices de J:
Ax = b
Le système : peut être récrit
x 0
8 8 I
< I J xI < A x I + AJ x J = b
Ax = A ; A
xJ
: :
xI 0; xJ 0 xI 0; xJ 0;

10
11

1
I indice de base) det AI 6= 0 ) A est une matrice inversible, alors AI existe et
1 1
x I + AI AJ x J = AI b:
1
Dé…nition 2.2 Si I est une indice de base alors le vecteurs x telque xI = AI b et
xJ = 0; est une solution de base du système Ax = b:
1
une solution de base est dite réalisable ssi AI b 0:
Remarque 2.1 1. A tout base I correspond a une solution de base unique.
2. Les variables qui correspontents aux indices de base sont dites variables de base (xI )
et les variables qui correspontents aux indices hors base sont dites variables hors base (xJ ) :
Exemple 2.1 Soit le programme linéaire suivant :
8
>
> M ax (Z) = 2x1 + x2 x3
>
>
>
>
<
x1 + x2 + x3 = 2
PL :
>
> 2x1 + x2 x4 = 3
>
>
>
>
:
x1 0; x2 0; x3 0; x4 0:
Déterminer toutes les solutions de base et les classer (solutions de base, réalisable et non
réalisable).

———————————————————
1 1 1 0
Solution : On a : A = , N = f1; 2; 3; 4g et rangA = 2; alors
2 1 0 1
1 1
1. I1 = f1; 2g ; J1 = f3; 4g ; AI1 = ; det AI1 = 1 6= 0 ) I1 indice de base.
2 1
La solution est :
8
>
> 1 1 1 2 1 x1
>
> xI1 = AI1 b= = = 0
< 2 1 3 1 x2
>
>
>
> x3 0
: x J1 = = ;
x4 0
0 1 0 1
x1 1
B x2 C B 1 C
donc x1 = B C B
@ x3 A = @ 0
C solution de base réalisable et I1 indice de base réalisable.
A
x4 0
1 1
2. I2 = f1; 3g ; J2 = f2; 4g ; AI2 = ; det AI2 = 2 6= 0 ) I2 indice de base,
2 0
8 1 3
>
> 1 0 2 x1
>
> xI = AI2 b= 2
1 = 2
1 = 0
< 2 1 2
3 2
x3
>
>
>
> x2 0
: x J2 = = ;
x4 0
12

0 1 0 3 1
x1 2
B x2 C B 0 C
alors x2 = B C B
@ x3 A = @ 1
C solution de base réalisable et I2 indice de base réalisable.
A
2
x4 0
1 0
3. I3 = f1; 4g ; J3 = f2; 3g ; AI3 = ; det AI3 = 1 6= 0 ) I2 indice de base,
2 1
8
>
> 1 1 0 2 2 x1
>
> xI = AI3 b= = =
< 3 2 1 3 1 x4
>
>
>
> x2 0
: x J3 = = :
x3 0
10 0 1
x1 2
B x2 C B 0 C
La solution x3 = B C B
@ x3 A = @ 0
C solution non réalisable et I2 indice de base non
A
x4 1
réalisable.
1 1
4. I4 = f2; 3g ; J4 = f1; 4g ; AI4 = ; det AI3 = 1 6= 0 ) I2 indice de base,
1 0
8
>
> 1 0 1 2 3 x2
>
> xI = AI4 b= = =
< 4 1 1 3 1 x3
>
>
>
> x1 0
: x J4 = = ;
x4 0
0 1 0 1
x1 0
B x2 C B 3 C
la solution x4 = B C B
@ x3 A = @ 1
C solution non réalisable et I4 indice de base non réali-
A
x4 0
sable.
1 0
5. I5 = f2; 4g ; J5 = f1; 3g ; AI5 = ; det AI5 = 1 6= 0 ) I5 indice de base,
1 1
8
>
> 1 1 0 2 2 x2
>
> xI = AI5 b= = = 0
< 5 1 1 3 1 x4
>
>
>
> x1 0
: x J5 = = ;
x4 0
0 1 0 1
x1 0
B x2 C B 2 C
la solution x5 = B C B
@ x3 A = @ 0
C solution de base réalisable et I5 indice de base réalisable.
A
x4 1
13

1 0
6. I6 = f3; 4g ; J6 = f1; 2g ; AI6 = ; det AI6 = 1 6= 0 ) I5 indice de base,
0 1
8
>
> 1 1 0 2 2 x3
>
> xI = AI6 b= = = 0
< 6 0 1 3 3 x4
>
>
>
> x1 0
: x J6 = = ;
x2 0
01 0 1
x1 0
B x2 C B 0 C
donc la solution x6 = B C B
@ x3 A = @ 2
C solution de base réalisable et I6 indice de base
A
x4 3
réalisable.
1. Si A est matrice d’ordre m n de rang m; alors le nombre de bases c’est au plus
Cnm = m!(nn! m)! :
2. Une solution de base réalisable comportra au plus m variables strictement positives et
au moins n m variables à valeurs nulles.
3. Une solution de base dite dégénérée si elle comporte plus de n m variables nulles, si
non elles est dite non dégénérée.

2.2 Forme standard d’un PL par rapport à une base


Soit
8
>
> M ax (Z) = cx; c 2 Rn
>
>
<
Ax = b; Am n ; b 2 Rm ; rangA = m; un pL écrit sous forme standard.
>
>
>
>
:
x 0

Soit I N = f1; 2; :::; ng ; jIj = m; I est une base, det AI 6= 0: Alors A = AI ; AJ et


x = (xI ; xJ )T ; J = N I:
xI
Ax = b ) AI ; AJ = b ) AI xI + AJ xJ = b:
xJ
Comme det AI 6= 0; alors on trouve
1 1 1 1
x I + AI AJ x J = A I b ) x I = AI b AI AJ x J :
D’autre part, on a :

xI
Z (x) = cx = (cI ; cJ ) = cI xI + cJ xJ
xJ
1 1
= cI AI b AI AJ x J + c J x J
1 1
c I AI b c I AI AJ x J + c J x J
14

1
Posons = c I AI (appelé vecteur multiplicateur), on obtient

Z (x) = b AJ xJ + cJ xJ = b + cJ AJ x J :

D’où la forme standard d’un P L par rapport à une base


8
>
> M ax (Z) = b + cJ AJ xJ
>
>
<
1 1
PL : x I + AI A J x J = AI b
>
>
>
>
:
xI 0; xJ 0:

Exemple 2.2 Considérons le programme linéaire suivant :


8
>
> M ax (Z) = 2x1 + x2 + 6x3 2x4 + 5x5
>
>
>
>
<
x1 + x2 + 3x3 x4 + 4x5 = 4
PL :
>
> x2 + 2x3 + x4 + 2x4 = 2
>
>
>
>
:
xj 0; j = 1; :::; 4:

Ecrire le programme linéaire P L sous forme standard par rapport à la base f1; 3g :

———————————————————
1 1 3 1 4
Solution : On a : A = ; rangA = 2 et N = f1; 2; 3; 4; 5g ; I = f1; 3g et
0 1 2 1 2
J = N I = f2; 4; 5g ; alors
3
1 3 1 1
AI = ; det AI = 2 6= 0 ) I est une base, AI = 2 ; AJ =
0 2 0 21
1 1 4
:
1 1 2
3 1 5
1 J 1 1 1 4 1
et AI A = 1
2 = 1
2
1
2 ; cI = (2; 6) ; cJ = (1; 2; 5)
0 2 1 1 2 2 2
1
3
I 1 1 1 1 4
= cI A = (2; 6) 2 = (2; 0) ; AJ = (2; 0) = (2; 2; 8) :
0 12 1 1 2
3
1 1 4
Donc cJ AJ = (1; 2; 5) (2; 2; 8) = ( 1; 0; 3) ; AI b= 1
2 =
0 2 2
1 4
et b = (2; 0) = 8:
1 2
D’où le programme linéaire P L écrit sous forme standard par rapport à la base f1; 3g est
le suivant : 8
>
> M ax (Z) = 8 x2 3x5
>
>
>
>
<
x1 12 x2 5
x + x5 = 1
2 4
PL : 1
>
> x + x3 + 12 x4 + x5 = 1
2 2
>
>
>
>
:
xi 0; i = 1; :::; 5:
15

Théorème 2.1 Etant donné un programme linéaire écrit sous forme standard par rapport
à la base I. SI cJ AJ 0; alors la solution de base réalisable correspondante à la base I
1
x I = AI b
est optimale x = .
xJ = 0
1
Théorème 2.2 Le vecteur multiplicateur = c I AI est une solution optimale du dual
de P L:

2.3 Algorithe du simplexe


L’ideé de base de l’algorithe du simplexe consiste à démarrer d’un point extrême x0 2 K
(K : domaine réalisable, x0 : est une SRB) à se déplacer vers point extrême voisin (x1 : SRB)
où la fonction objective Z (x1 ) est meilleur que Z (x0 ) et ainsi de suite jusqu’a ce que on
atteint un point extrême (x : SRB) avec la condition cJ AJ 0 du théorème 2.1 est
satisfaite.

2.3.1 Illustration du algorithe du simplexe


On considère le programme linéaire P L suivant :
8
>
> M ax (Z) = 2x3 + x4 x5
>
>
>
>
>
>
< x1 + x3 2x4 + 2x5 = 1
PL :
>
>
>
> x2 + 2x3 + x4 + 2x5 = 3
>
>
>
>
:
xi ; i = 1; :::; 5:

P L : programme linéaire écrit sous forme standard par rapport à la base I1 = f1; 2g :
x0 = (1; 3; 0; 0; 0)T SRB de départ, x0 n’est pas optimale car cJ AJ 0 = (2; 1; 1) :
On a Z (x) = 2x3 + x4 x5
On peut remarquer que la valeur de la fonction objective peut être augumenté en prenant
des valeurs strictement positives (x3 ou x4 ) :
Choisissons la variables qui augumenté le plus la valeur de la fonction objective tout en
préservant la réalisabilité c-à-d ici c’est x3 car son coe¢ cient est le plus grand (cs = maxj2J cj = max (2; 1)
Ensuite on restreint le P L aux variable de base + la variable à augumenté, c-à-d (x1 ; x2 ; x3 ) :
8
>
> M ax (Z) = 2x3
>
>
>
>
<
x1 + x3 = 1
P L(x1 ;x2 ;x3 ) (restreint) :
>
> x2 + 2x3 = 3
>
>
>
>
:
x1 ; x2 ; x3 0:
16

On a :
8 8
< x1 = 1 x3 0 < x3 1
3
) ) x3 = min 1; =1
: : 3 2
x2 = 3 2x3 0 x3 2
bi br s
= min = ;A > 0
Asi Asr i
8
< x1 = 0
) et
:
x2 = 1:
La nouvelle base réalisable améliorante : f1; 2g + f3g f1g = f2; 3g car Z (x0 ) = 0 <
Z (x1 ) = 2:
P L sous forme standard par rapport à la nouvelle base I2 = f2; 3g : Pour cette
base, on a :
0 1 1 2 1 1 2 2
AI2 = ; AI2 = ; AJ2 = ;
1 2 1 0 0 1 2
1
b = ; cI2 = (0; 2) ; cJ2 = (0; 1; 1) ;
3
alors
1
= cI2 AI2 = (2; 0) ; b = 2; cJ2 AJ2 = ( 2; 5; 5) :
Donc 8
>
> M ax (Z) = 2 2x1 + 5x4 5x5
>
>
>
>
<
2x1 + x2 + 5x4 2x5 = 1
PL :
>
> x 1+ x3 2x4 + 2x5 = 1
>
>
>
>
:
x1 ; x2 ; x3 ; x; x5 0:
La solution x1 (SRB) n’est pas optimale car : cJ2 AJ2 = ( 2; 5; 5) ; on peut augu-
menté x4 :
Indice qui rentre dans la nouvelle base : cs = max (cj : j 2 J2 ) = 5; s = 4; on restreint le
PL 8
>
> M ax (Z) = 5x4
>
>
>
>
<
x2 + 5x4 = 1
P L(x2 ;x3 ;x4 ) (restreint) :
>
> x3 2x4 = 1
>
>
>
>
:
x2 ; x3 ; x4 0;
on a :
8 8
< x2 = 1 5x4 0 < 0 x4 15 1 1
) ) x4 = min ;1 =
: : 5 5
x3 = 1 + 2x4 0 0 x4 1
8
< x2 = 0
)
:
x3 = 75 :
17

La nouvelle base réalisable améliorante : f2; 3g + f4g f4g = f3; 4g :


P L sous forme standard par rapport à la nouvelle base I3 = f3; 4g :
8
>
> M ax (Z) = 3 x2 3x3
>
>
>
>
< 1
x +
5 1
x3 + 25 x4 + 56 x5 = 75
2 1
>
> x
5 1
x + x4 25 x5 = 15
5 2
>
>
>
>
:
x1 ; x2 ; x3 ; x; x5 0:

Comme cJ3 AJ3 = (0; 1; 0) 0; alors la base I3 = f3; 4g est optimale et la solution
T
x2 = 0; 0; 57 ; 15 ; 0 est une solution de base réalisable optimale.

2.3.2 Algorithe (simplexe)


(0) Mettre le P L sous forme standard par rapport à une base réalisable I.
(1) Déterminer le coe¢ cients des variables hors base et poser cs = maxj2J cj
( ) : Si cs 0 Stop. La solution de base correspondante I est optimale.
( ) : Si cs > 0: Aller en (2) :
(2) Examiner le vecteur colonne As :
Si fi : Asi > 0g = ? stop, le P L n’a pas de solution et Z (x ) n’est pas bornée.
n o
s br bi s
Si fi : Ai > 0g =6 ? déterminer K = r = As = min As ; Ai > 0 :
r r

Choisier r 2 K et mettre le P L sous forme standard paar rapport à la nouvelle base


0
I = I frg + fsg et aller en (1) :

2.3.3 Algorithe simplexe : Forme tableau


1. Pour avoir le nouveau tableau de P L sous forme standard par rapport à la nouvelle
base, on applique les régles de Gauss :
Soit Asr le pivot.
(1) Diviser la ligne pivot par le pivot.
(2) Faire apparaitre des zéros dans la colonne dans la nouvelle base correspondante à la
colonne pivot (sauf pour le pivot qui devient 1).
Asi Ajr
(3) Aji = Aji Asr
:

Exemple 2.3 Résoudre le programme suivant en utilisant la méthode du simplexe (forme


tableau) : 8
>
> M ax (Z) = 2x3 + x4 x5
>
>
>
>
>
>
< x1 + x3 2x4 + 2x5 = 1
PL :
>
>
>
> x2 + 2x3 + x4 + 2x5 = 3
>
>
>
>
:
xi ; i = 1; :::; 5:
18

———————————————————
Solution :
xI b x1 x2 x3 x4 x5
x1 1 1 0 1 2 2
x2 3 0 1 2 1 1
Z 0 0 0 2 1 1
x3 1 1 0 1 2 2
x2 1 2 1 0 5 2
Z 2 2 0 0 5 5
7 1 2 6
x3 5 5 5
1 0 5
1 2 1 2
x4 5 5 5
0 1 5
Z 3 0 1 0 0 3
T
Puisque cJ3 AJ3 = (0; 1; 0) 0; alors la solution x = 0; 0; 75 ; 15 ; 0 est une solution
de base réalisable optimale.

2.3.4 Algorithe dual du simplexe


(1) Déterminer une base I telle que cj 0; j 2 J = N I:
1
(2) Tester xI = AI b
(a) : xI 0 est une solution optimale du primal
0
(b) : Si non 9 i 2 I= xI < 0; soit I I ensemble des indices telque xI < 0: Aller en
(3):
0
(3) Consider AI
0
(a) : Si 9 i 2 I telque Aji 0; 8j 2 J; alors le primal n’apas de solution.
0
(b) : Si non pour chaque i 2 I , il ya au moins Aji 0; 8j 2 J:
(4) Déterminer
(a) : xr = minfi=xi <0g (xi ) ; r est l’indice de la ligne pivot.
cs cj
(b) : Asr
= minfj=Ajr <0g Ajr
; Asr est le pivot et s est la colonne pivot.
Aller en (5) :
0
(5) Consider la nouvelle base obtenire a partir de l’ancienne : I = I frg + fsg :
0
Mettre P L sous forme standard par rapport à la base I et aller en (2) :

Exemple 2.4 Résoudre le programme suivant en utilisant la méthode dual du simplexe


8
>
> M in (Z) = x1 + x2
>
>
>
>
<
3x1 + x2 4
PL :
>
> x1 + 4x2 5
>
>
>
>
:
x1 ; x2 0:
19

———————————————————
Solution : On a :
8
>
> M in (Z) = x1 + x2 M ax ( Z) = x1 x2
>
>
>
>
<
3x1 + x2 4 3x1 x2 + x3 = 4
PL :
>
> x1 + 4x2 5 x1 4x2 + x4 = 5
>
>
>
>
:
x1 ; x2 0: x 1 ; x2 ; x3 ; x 4 0:
La solution du PL est donnée par :

xI b x1 x2 x3 x4
x3 4 3 1 1 0
x4 5 1 4 0 1
Z 0 1 1 0 0
11 11 1
x3 4 4
0 1 4
5 1 1
x2 4 4
1 0 4
5 3 1
Z 4 4
0 0 4
4 4
x1 1 1 0 11 11
1 3
x2 1 0 1 11 11
3 2
Z 2 0 0 11 11

1
Donc x = est la solution optimale et la valeur minimale de Z est 2:
1

2.3.5 Exercices corrigés


Exercice 2.1 Résoudre le programme suivant en utilisant la méthode du simplexe
8
>
> M ax (Z) = 10x1 + 15x2
>
>
>
>
>
>
< 5x1 + 2x2 80
x1 + x2 20
>
>
>
> x1 + 2x2 30
>
>
>
>
:
x1 ; x2 0:

———————————————————
Solution : La forme standard du programme est :
8
>
> M ax (Z) = 10x1 + 15x2
>
>
>
>
>
>
< 5x1 + 2x2 + x3 = 80
x1 + x2 + x4 = 20
>
>
>
> x1 + 2x2 + x5 = 30
>
>
>
>
:
x1 ; x2 ; x3 ; x4 ; x5 0:
20

Le premier tableau de simplexe est :


xI b x1 x2 x3 x4 x5
x3 80 5 2 1 0 0
x4 20 1 1 0 1 0
x5 30 1 2 0 0 1
z 0 10 15 0 0 0
La solution de base réalisable x0 = (0; 0; 80; 20; 30)T n’est pas optimale car cJ AJ =
(10; 15).
Construisons donc le deuxième tableau de simplexe :
xI b x1 x2 x3 x4 x5
x3 50 4 0 1 0 1
1 1
x4 5 2
0 0 1 2
1 1
x2 15 2
1 0 0 2
5 15
z 225 2
0 0 0 2

La solution de base réalisable x1 = (0; 15; 50; 5; 0)T n’est pas optimale car cJ AJ =
5
2
;0 .
Construisons donc le troisième tableau de simplexe
xI b x1 x2 x3 x4 x5
x3 10 0 0 1 8 3
x1 10 1 0 0 2 1
x2 10 0 1 0 1 1
z 250 0 0 0 5 5
D’où la solution de base réalisable x2 = x = (10; 10; 10; 0; 0)T est optimale, et la valeur
maximale de Z est 250:
Exercice 2.2 Résoudre le programme suivant en utilisant la méthode du simplexe :
8
>
> M ax (Z) = 120x1 + 108x2 + 75x3
>
>
>
>
>
>
< x1 + x2 + x3 12
x1 5
>
>
>
> 8x 1 + 7x 2 + 5x 3 145:
>
>
>
>
:
x 1 ; x2 ; x3 0

———————————————————
Solution : La forme standard du programme est :
8
>
> M ax (Z) = 120x1 + 108x2 + 75x3
>
>
>
>
>
>
< x1 + x2 + x3 + x4 = 12
x1 + x5 = 5
>
>
>
> 8x1 + 7x2 + 5x3 + x6 = 145:
>
>
>
>
:
x1 ; x2 ; x3 ; x4 ; x5 ; x6 0:
21

Le premier tableau de simplexe est :

xI b x1 x2 x3 x4 x5 x6
x4 12 1 1 1 1 0 0
x5 5 1 0 0 0 1 0
x6 145 8 7 5 0 0 1
Z 0 120 108 75 0 0 0

Comme trois nombres de la dernière ligne sont positifs (120; 108 et 75), cette solution de
base réalisable n’est pas optimale.
On construit le deuxième tableau de simplexe :

xI b x1 x2 x3 x4 x5 x6
x4 7 0 1 1 1 1 0
x1 5 1 0 0 0 1 0
x6 105 0 7 5 0 8 1
Z 600 0 108 75 0 120 0

Comme il y a encore, dans la dernière ligne, deux nombres positifs 108 et 75, cette solution
de base réalisable n’est pas optimale.
On construit donc le troisième tableau de simplexe :

xI b x1 x2 x3 x4 x5 x6
x2 7 0 1 1 1 1 0
x1 5 1 0 0 0 1 0
x6 56 0 0 2 7 1 1
Z 1356 0 0 33 108 12 0

D’où la solution de base réalisable x = (5; 7; 0; 0; 0; 56)T est optimale et Z (x ) = 1356:

Exercice 2.3 Résoudre le programme suivant en utilisant la méthode du simplexe


8
>
> M ax (Z) = x1 x2
>
>
>
>
>
>
< 2x1 x2 4
x1 x2 4
>
>
>
> x1 + x2 10
>
>
>
>
:
x1 ; x2 0:

Exercice 2.4 Résoudre par la méthode du simplexe les problèmes suivants :


8 8 8
>
> M ax (Z) = 2x 2 + x 2 >
> M ax (Z) = 4x 1 2x 2 + 2x 3 >
> M ax (Z) = 5x1 + 4x2 + 3x3
>
> >
> >
>
>
> >
> >
>
>
> >
> >
>
< x1 + x2 + x3 = 4 < x1 x2 + x3 6 < 2x1 + 3x2 + x3 5
2x1 + 3x2 + x4 = 5 ; x1 + x2 + x3 2 ; 4x1 + x2 + 2x3 11
>
> > >
>
> 2x1 3x2 + x5 = 6 > >
> 2x1 + 2x2 + x3 4 >
>
> 3x1 + 4x2 + 2x3 8
>
> >
> >
>
>
> >
> >
>
: : :
x1 ; x2 ; x3 ; x4 ; x5 0: x1 ; x2 ; x3 0: x1 ; x2 ; x3 0:
22

Exercice 2.5 (1) : En utilisant la méthode du simplexe, trouver le maximum de la fonction


ojectif :
Z (x) = 30x1 + 30x2 + 45x3 + 45x4 ;
sous les contaites :

x1 + x2 + x3 + x4 5
7x1 + 5x2 + 3x3 + 2x4 2
3x1 + 5x2 + 10x3 + 15x4 2
x 1 ; x2 ; x3 ; x4 0:

(2) : Si on remplace la dernière contaite par :

3x1 + 5x2 + 10x3 + 15x4 = 2;

quel est alors le maximum de Z ?.


Chapitre 3

Programmation linéaire en nombres


entiers

3.1 Dé…nition d’un programmation linéaire en nombres


entiers
Soit A une matrice d’ordre m n, b un m vecteur colonne et c et n vecteur ligne. Nous
supposins que A; b et c sont à coordonnés entières.

Dé…nition 3.1 Le problème (P LE) dé…ni par :


8
>
> M ax (Z) = cx
>
>
<
(P LE) : Ax b
>
>
>
>
:
x 2 Nn (xj 2 N; j = 1; 2; :::; n)

est appelé programmation en nombre entiers.

Remarque 3.1 Le problème (P EL) sous la forme suivante :


8
>
> M ax (Z) = cx
>
>
<
(P LE) : Ax = b
>
>
>
>
:
xj 2 N; j = 1; 2; :::; n:

Exemple 3.1 Considérons le programme linéaire en nombre entier suivant :


8
>
> M ax (Z) = 2x1 + 3x2
>
>
>
>
<
x1 + x2 1
(P LE) :
>
> 2x 1 3
>
>
>
>
:
x1 ; x2 2 N:

23
24

Le programme linéaire en nombre entier (P LE) peut s’écrire sous la forme suivante :
8
>
> M ax (Z) = 2x1 + 3x2
>
>
>
>
<
x1 + x2 + x3 = 1
(P LE) :
>
> 2x1 + x4 = 3
>
>
>
>
:
x1 ; x2 ; x3 ; x4 2 N:

3.1.1 Programme linéaire relaxé


Dé…nition 3.2 Le problème (P LE)r :
8
>
> M ax (Z) = cx
>
>
<
(P LE)r : Ax b
>
>
>
>
:
x 0;
00 00
est obtenu à partir de (P LE) en relachant les containtes d’intégrité sur les variables est
dit programme linéaire relaxé de (P LE) :

1. Toute solution réalisable de (P LE) est solution réalisable de (P LE)r .


2. Si (P LE)r a une solution X à coordonnées entières alors X est solution optimale de
(P LE).

Exemple 3.2 Considérons le problème (P LE) :


8
>
> M ax (Z) = 2x1 + 3x2
>
>
>
>
<
x1 + x2 + x3 = 1
(P LE) :
>
> 2x 1 + x4 = 3
>
>
>
>
:
x1 ; x2 ; x3 ; x4 2 N:

Le programme linéaire relaxé de (P LE) ; est donné par :


8
>
> M ax (Z) = 2x1 + 3x2
>
>
>
>
<
x1 + x2 + x3 = 1
(P LE)r :
>
> 2x1 + x4 = 3
>
>
>
>
:
x1 ; x2 ; x3 ; x4 0:
25

3.2 Résolution du problème de la programmation li-


néaire en nombres entiers
3.2.1 Méthode des coupes de Gomory
La méthode des coupes de Gomory consiste à ajouter des containtes supplémentaires
qui permettent d’approcher les solutions réalisables à valeurs entières sans les écarter du
damaine des solutions réalisables.
Description de la méthode des formes entières
Supposons que le problème (P LE) soit de la forme :
8 P
>
> M ax (Z) = nj=1 cj xj
>
>
>
>
< Pn
(P LE) : j=1 aij xj = bi ; i = 1; :::; m ((3.1))
>
>
>
>
>
> xj 0; j = 1; :::; n
:
xj ; entier; j = 1; :::; n:
Hypothèse : Il existe au moins une solution réalisable et la fonction objective est …nie àl’op-
timum (utilisez le simplexe !).
a : Nous voulons construire une contrainte additionnelle qui devra être satisfaite par toute
solution réalisable de (P LE). Soit
X
n
aj x j = b ((3.2))
j=1

une équation obtenue par suite d’opérations élémentaires sur (3.1).


b : Nous savons qu’une solution réalisable de (3.1) l’est aussi pour (3.2). Il se peut qu’il y
ait des aj non entiers ou que b ne soit pas entier.
c : Soit [d] la partie entière du nombre réel d (le plus grand entier d). Vu que les xj sont
des entiers non négatifs, toute valeur des xj qui satisfait (3.1) doit aussi satisfaire (3.2)
et par conséquent la contrainte plus faible :
X
n
[aj ] xj b:
j=1

d : Mais le terme de gauche de celle-ci doit être entier et donc on a certainement la contrainte :
X
n
[aj ] xj [b] : ((3.3))
j=1

qui est véri…ée par l’ensemble des solutions réalisables de (P LE).


e : Cette inégalitéreprésente la coupe que nous e¤ectuons ; en ajoutant une variable d’écart
positive r (nécessairement entière), nous avons :
X
n
[aj ] xj + r = [b] ; r 0; entier:
j=1
26

f : La première méthode qui nous vient àl’esprit est de faire comme dans l’exemple précédent,
i.e. d’ajouter cette coupe au (P LE) et de résoudre par la méthode du simplexe le
programme linéaire associé.
g : A…n de se servir de tous les calculs faits antérieurement, l’inégalité (3.3) soustraite de
l’équation (3.2) donne
X n
(aj [aj ]) xj b [b] :
j=1

Nous notons par < aj > = aj [aj ], la partie fractionnaire de aj ; il en est de même pour
< b >.
h : Cette inégalitédevient après l’introduction d’une variable de surplus entière non néga-
tive :
Xn
< aj > x j + a = < b > :
j=1

C’est cette équation que nous prendrons comme coupe.

Exemple 3.3 En appliquant la méthode de Gomory, résoudre le (P LE) suivant :


8
>
> M ax (Z) = x1 + x2
>
>
>
>
<
3x1 + 2x2 12
(P LE) :
>
> x2 2
>
>
>
>
:
x1 ; x2 0; entiers.

———————————————————
Solution : Le programme linéaire relaxé de (P LE) ; est donné par :
8
>
> M ax (Z) = x1 + x2
>
>
>
>
<
3x1 + 2x2 + x3 = 12
(P LE)r :
>
> x2 + x4 = 2
>
>
>
>
:
x1 ; x2 ; x3 ; x4 0:
Maintenant, on applique l’algorithe du simplexe, on obtient :
xI b x1 x2 x3 x4
x3 12 3 2 1 0
x4 2 0 1 0 1
Z 0 1 1 0 0
Construisons le deuxième tableau de simplexe :
xI b x1 x2 x3 x4
2 1
x1 4 1 3 3
0
x4 2 0 1 0 1
1 1
Z 4 0 3 3
0
27

Comme le nombre de la dernière ligne est positif ( 13 ), cette solution de base réalisable n’est
pas optimale.
Construisons donc le troisième tableau de simplexe :

xI b x1 x2 x3 x4
8 1 2
x1 3
1 0 3 3
x2 2 0 1 0 1
14 1 1
Z 3
0 0 3 3

Donc on a une solution optimale : x1 = 38 ; x2 = 2 et Z = 14 3


; la solution : x1 = 83 ; x2 = 2
n’est pas entière. Il faut donc introduire une coupe.
On choisit la ligne r telle que : < br > = maxi < bi > : Ici
8
< < b1 > = 23 2
; < br >= max ; 0 =< b1 > :
: 3
< b2 > = 0

Notre coupe est :


1 1 2
x3 x4 + x5 = : Coupe de Gomory. ((3.4))
3 3 3
On ajoute la coupe (3:4) à (P LE)r ; on obtien :
8
>
> M ax (Z) = 14 3
1
x
3 1
1
x
3 2
>
>
>
>
<
x1 + 13 x3 23 x4 = 83
(P LE)rc :
>
> x2 + x4 = 2
>
> 1 1
>
> x
3 3 3 4
x + x5 = 32
:
x1 ; x2 ; x3 ; x4 ; x5 0:

On résout ce problème avec la méthode dual simplexe.


Le premier tableau de dual simplexe est :

xI b x1 x2 x3 x4 x5
8 1 2
x1 3
1 0 3 3
0
x2 2 0 1 0 1 0
2 1 1
x5 3
0 0 3 3
1
14 1 1
Z 3
0 0 3 3
0

On construit le deuxième tableau de dual simplexe :

xI b x1 x2 x3 x4 x5
x1 2 1 1 0 1 1
x2 2 0 1 0 1 0
x3 2 0 0 1 1 0
Z 4 0 0 0 0 1

x1 = 2
La solution obtenue x = est optimale entière et Z = 4.
x2 = 2
28

Énoncé de Méthode
(1) A et b étant entiers, résoudre le problème par une méthode de programmation linéaire
en oubliant les contraintes d’intégrité. Aller à (2).
(2) Si la solution optimale est entière, terminer, c’est aussi la solution optimale du problème
posé. Sinon, aller à (3).
(3) Déterminer < br > = maxi < bi >. Ajouter au système d’équations obtenu àla dernière
itération la coupe :
p
X
< arj > xj + s = < br >;
j=1

où p est le nombre de variables avant d’ajouter cette coupe. Aller à (4).


(4) Appliquez l’algorithme dual du simplexe àpartir du tableau optimal précédent et re-
tournez à (2).

3.2.2 Exercices corrigés


Exercice 3.1 Soit le programme linéaire en nombres entiers suivant :
8
>
> M ax (Z) = 2x1 + 3x2
>
>
>
>
<
2x1 + 2x2 7
P LN E =
>
> x1 2
>
>
>
> 2x2 2
:
x1 ; x2 0; entiers:

Résoudre le problème P LN E en utilisant la méthode des coupes de Gomory.

———————————————————
Solution : Le programme linéaire relaxé de (P LE) ; est donné par :
8
>
> M ax (Z) = 2x1 + 3x2
>
>
>
>
>
>
< 2x1 + 2x2 + x3 = 7
(P LE)r : x1 + x4 = 2
>
>
>
> x 2 + x5 = 2
>
>
>
>
:
x1 ; x2 ; x3 ; x4 ; x5 0:

On résout ce problème (P LE)r avec la méthode dual simplexe.


Le premier tableau de simplexe est donné par :

xI b x 1 x2 x3 x4 x5
x3 7 2 2 1 0 0
x4 2 1 0 0 1 0
x5 2 0 1 0 0 1
z 0 2 3 0 0 0
29

D’après la procédure de détermination de la variable entrante et celle sortante, on a :

xI b x 1 x2 x3 x4 x5
x3 3 2 0 1 0 2
x4 2 1 0 0 1 0
x2 2 0 1 0 0 1
z 6 2 0 0 0 3

On construit le troisième tableau de simplexe :

xI b x 1 x2 x3 x4 x5
3 1
x1 2
1 0 0
2
1
1 1
x4 2
0 0 1
2
1
x2 2 0 1 0 0 1
z 9 0 0 1 0 3

On trouve que : x1 = 32 ; x2 = 2; x4 = 12 et x3 = x5 = 0:
x1 = 32 et x4 = 12 ne sont pas entiéres.
Coupe de Gomory est : 12 x3 + x6 = 21 : On ajoute cette coupe à (P LE)r , on obtient :
8
>
> M ax (Z) = 2x1 + 3x2
>
>
>
>
>
>
>
> 2x1 + 2x2 + x3 = 7
<
x1 + x4 = 2
(P LE)rc :
>
> x2 + x5 = 2
>
> 1
>
> 2 3
x + x6 = 12
>
>
>
>
:
x1 ; x2 ; x3 ; x4 ; x5 ; x6 0:

On résout ce programme avec la méthode du dual simplexe.

xI b x1 x2 x3 x4 x5 x6
3 1
x1 2
1 0 2
0 1 0
1 1
x4 2
0 0 2
1 1 0
x2 2 0 1 0 0 1 0
1 1
x6 2
0 0 2
0 0 1
z 9 0 0 1 0 3 0

D’après la procédure de détermination de la variable entrante et celle sortante, on a :

xI b x1 x2 x3 x4 x5 x6
x1 1 1 0 1 0 1 1
x4 1 0 0 0 1 1 1
x2 2 0 1 0 0 1 0
x3 1 0 0 1 0 0 2
z 8 0 0 0 0 3 2

Donc x = (1; 2) et Z = 8:
30

Exercice 3.2 Soit le programme linéaire en nombres entiers suivant :


8
>
> M ax (Z) = x1 + 2x2
>
>
>
>
<
x1 + x2 7
P LN E =
>
> 2x1 11
>
>
>
> 2x2 7
:
x1 ; x2 0; entiers:

Résoudre le problème P LN E en utilisant la méthode des coupes de Gomory.

Exercice 3.3 En appliquant la méthode de Gomory, résoudre le P LN E suivant :


8
>
> M ax (Z) = 3x1 + 2x2
>
>
>
>
<
x1 + x2 1
P LN E =
>
> x 1 + 2x2 10
>
>
>
> 7x1 + 2x2 28
:
x1 ; x2 0; entiers:

Exercice 3.4 En utilisant la méthode des coupes de Gomory résoudre les programmes li-
néaires en nombres entiers suivants :
8
8
> M ax (Z) = 7x1 + 9x2
>
> > M ax (Z) = 2x1 + x2
>
> >
>
>
> >
>
>
< +x1 3x2 6 >
<
x1 x2 0
P LN E1 = 7x1 + x2 35 ; P LN E2 = ;
>
> >
> 5x1 + 2x2 18
>
> x2 7 >
>
>
> >
>
>
> :
: x1 ; x2 0; entiers:
x1 ; x2 0; entiers:
8
>
> M ax (Z) = x1 + 4x2
>
>
>
>
<
5x1 + 8x2 40
P LN E3 =
>
> 2x1 + 3x2 9
>
>
>
>
:
x1 ; x2 0; entiers:
Bibliographie

[1] M. Avriel. Nonlinear programming : Analysis and methods. Dover Publishing. 2003.
[2] M. Breton et A. Haurie. Initiation aux techniques classiques de l’optimisation, 2ième
édition, Modulo. 1986.
[3] P. D. Bertsekas. Nonlinear programming : 2nd Edition. AthenaScienti…c. 1999.
[4] D. Dewolf. Cours de Recherche opérationnelle. Dunkerque, Septembre 2006.
[5] D.G, Luenberger. Linear and non linear programming, 2ième édition, Addison-Wesley.
1984.
[6] J. F. Phelizon. Methodes et modèles de la recherche opérationnelle, Economica. 1998.
[7] R. J. Vanderbei. Linear programming, foundations and extensions. Springer-Verlag.
2008.

31

Vous aimerez peut-être aussi