Vous êtes sur la page 1sur 27

Recherche op erationnelle

Les d emonstrations et les exemples seront trait es en cours


Souad EL Bernoussi
Groupe dAnalyse Num erique et Optimisation Rabat
http ://www.fsr.ac.ma/ANO/
Table des mati` eres
1 Programmation lin eaire 2
1.1 Exemple. . . . . . . . . . . . . . . . . . . . . . 2
1.2 Forme g en erale dun programme lin eaire. . . . . 3
1.3 Formes matricielles classiques et convensions. . . 3
1.4 Interpr etation economique. . . . . . . . . . . . . 4
2 R esolution graphique. 5
3 Principes de la r esolution alg ebrique. 5
3.1 Bases , solutions de bases et solutions r ealisables. 5
3.2 Caract erisation alg ebrique des points ext emes. . . 8
3.3 Propri et es fondamentales de la programmation lin eaire. 9
3.4 Op eration de pivotage. . . . . . . . . . . . . . . 10
3.5 Algorithme du simplexe ` a la main. . . . . . . . . 10
4 Algorithme du simplexe . 11
4.1 Exemple. . . . . . . . . . . . . . . . . . . . . . 12
4.2 Algorithme du simplexe. . . . . . . . . . . . . . 13
4.3 Complexit e de lalgorithme et efcacit e pratique. 15
1
4.4 Initialisation de lalgorithme du simplexe. . . . . 16
4.4.1 La m ethode du grand M. . . . . . . . . . 17
5 la notion de dualit e. 17
5.1 Th eor` emes de dualit e. . . . . . . . . . . . . . . . 17
5.2 Interpr etation economique de la dualit e. . . . . . 20
6 Exercices 22
2
1 Programmation lin eaire
La programmation lin eaire est un outil tr` es puissant de la re-
cherche op erationnelle. Cest un outil g en erique qui peut r esoudre
un grand nombre de probl` emes. En effet, une fois un probl` eme
mod elis e sous la forme d equations lin eaires, des m ethodes as-
surent la r esolution du probl` eme de mani` ere exacte.
On distingue dans la programmation lin eaire, la programmation
lin eaire en nombres r eels, pour laquelle les variables des equations
sont dans IR
+
et la programmation en nombres entiers, pour la-
quelle les variables sont dans IN. Bien entendu, il est possible
davoir les deux en m eme temps. Cependant, la r esolution dun
probl` eme avec des variables enti` eres est nettement plus compliqu ee
quun probl` eme en nombres r eels.
Une des m ethodes les plus connues pour r esoudre des programmes
lin eaires en nombre r eels est la m ethode du Simplex. En th eorie,
elle a une complexit e non polynomiale et est donc suppos ee peu
efcace. Cependant, en pratique, il sav` ere au contraire quil sagit
dune bonne m ethode.
Un programme lin eaire est la maximisation ou la minimisation
dune fonction lin eaire sous des contraintes lin eaires.
1.1 Exemple.
Voici un petit exemple traitable par la programmation lin eaire.
Une usine produit deux ciments, rapportant 500Dh et 700Dh par
tonne.
Une tonne du ciment N1 nec essite 40 min de calcination dans
un four ` a chaux et 20 min de broyage.
Une tonne du ciment N2 nec essite 30 min de calcination dans
un four ` a chaux et 30 min de broyage.
3
Le four et latelier de broyage sont disponibles 6h et 8h par jour.
Combien de ciment de chaque type peut-on produire par jour pour
maximiser le b en ece ?
Ce probl` eme se mod elise comme suit :
_

_
Max z = 500x
1
+ 700x
2
(1)
40x
1
+ 30x
2
360 (2)
20x
1
+ 30x
2
480 (3)
x
1
0, x
2
0 (4)
(1) : est le prot total qui est ` a optimiser appel e fonction objective.
(2) et (3) sont des contraintes. (2) est la disponibilit e du four et
(3) est la disponibilit e du broyeur.
(4) est le domaine des variables.
1.2 Forme g en erale dun programme lin eaire.
_

_
(1) max ou min
n

j=1
c
j
x
j
(2) i = 1, ..., m :
n

j=1
a
ij
x
j
, = ou b
i
(3) j = 1, ..., n x
j
0
(1) : fonction objective.
(2) : m contraintes lin eaires.
(3) : contraintes de positivit e.
1.3 Formes matricielles classiques et convensions.
Notons par x = (x
1
, x
2
, ..., x
n
)
T
le vecteur des variables. b =
(b
1
, b
2
, ..., b
m
)
T
le second membre des contraintes, c = (c
1
, c
2
, ..., c
n
)
T
le vecteur c out ou prot associ e aux variables et A la matrice
mn des a
ij
.
4
_

_
Forme canonique :
max z = cx
Ax b
x 0.
,
_

_
Forme standard :
max z = cx
Ax = b
x 0.
La forme canonique avec des contraintes sutilise dans la
repr esentation graphique, et la forme standard avec des contraintes
egalit e sutilise dans la r esolution alg ebrique.
Remarque : 1. Ces formes ne servent qu` a simplier les repr esentations
th eoriques.
Dans la r ealit e un probl` eme lin eaire peut comporter des contraintes
egalit ees ou in egalit ees.
Ainsi
n

j=1
a
ij
x
j
= b
i

_

_
n

j=1
a
ij
x
j
b
i

j=1
a
ij
x
j
b
i
et
n

j=1
a
ij
x
j
b
i

n

j=1
a
ij
x
j
+ e
i
..
variable d ecart.
= b
i
max z = min z x R, x = x
+
x

avec x
+
et x

R
+
.
1.4 Interpr etation economique.
Un programme lin eaire a une int erpr etation economique tr` es
large :
Un acteur economique qui exerce n activit es avec des intensit es
x
j
` a d et erminer.
Ces activit es utilisent m resources.
La quantit e a
ij
de resources i n ecessaires pour exerser lactivit e
j avec une intensit e 1.
5
On connait le prot (en maximisation) et le c out (en minimisa-
tion).
c
j
correspond ` a une intensit e 1 de lactivit e j.
2 R esolution graphique.
On r esoud graphiquement le probl` eme suivant :
max z = x
1
+ 2x
2
x
1
+ x
2
6
x
2
3
x
1
, x
2
0
matriciellement on a m = 2, n = 2, c = (1, 2),
x = (x
1
, x
2
)
T
, b = (6, 3)
T
et A =
_
1 1
0 1
_
.
3 Principes de la r esolution alg ebrique.
La r esolution alg ebrique utilise la forme standard, o` u A est une
matrice mn de rang m.
(P)
_
_
_
max z = cx
Ax = b
x 0
3.1 Bases , solutions de bases et solutions r ealisables.
Les bases de A sont les matrices mm inversibles extraites de
A.
Soit B une base de A.
6
On partitionne A sous la forme suivante : A = [B N] ( on sup-
pose pour faciliter la pr esentation que les colonnes de bases sont
les m premi` eres colonnes), on partitionne de m eme les vecteurs x
et c. x = (x
B
, x
N
)
T
et c = (c
B
, c
N
)
T
.
Ax = b
Bx
B
+ Nx
N
= b
x
B
= B
1
b B
1
Nx
N
.
z = cx = c
B
x
B
+ c
N
x
N
= c
B
B
1
b +
_
c
N
c
B
B
1
N
_
x
N
.
On note c
N
= c
N
c
B
B
1
N.
Le probl` eme (P) s ecrit alors sous la forme :
(P

)
_
_
_
max z = c
B
B
1
b + c
N
x
N
x
B
= B
1
b B
1
Nx
N
x
B
, x
N
0
Cest la forme canonique par rapport ` a la base B.
x

est dite solution de base si elle v erie Ax

= b et x

=
_
x
B
= B
1
b
x
N
= 0
_
.
Si en plus x
B
0 alors x

est une solution de base r ealisable.


x

est dite solution r ealisable si elle v erie les contraintes cest


` a dire Ax

= b et x

0.
Example 1. D eterminer les bases et les bases r ealisables du syst` eme
suivant :
7
x
1
+ x
2
+ x
3
= 6
x
2
+ x
4
= 3
x
1
, x
2
, x
3
, x
4
0
A=
_
1 1 1 0
0 1 0 1
_
.
B
1
=
_
A
1
A
2

=
_
1 1
0 1
_
= x
B
1
= B
1
1
b =
_
1 1
0 1
_

_
6
3
_
=
_
3
3
_
0.
B
1
est une base r ealisable.
B
2
=
_
A
1
A
3

=
_
1 1
0 0
_
= det B
2
= 0.
B
2
nest pas une base.
B
3
=
_
A
1
A
4

=
_
1 0
0 1
_
= x
B
3
= B
1
3
b =
_
6
3
_
0.
B
3
est une base r ealisable.
B
4
=
_
A
2
A
3

=
_
1 1
1 0
_
= x
B
4
= B
1
4
b =
_
3
3
_
0. B
4
est une base r ealisable.
B
5
=
_
A
2
A
4

=
_
1 0
1 1
_
= x
B
5
= B
1
5
b =
_
6
3
_
0.
B
5
nest pas une base r ealisable.
B
6
=
_
A
3
A
4

=
_
1 0
0 1
_
8
= x
B
6
= B
1
6
b =
_
6
3
_
0.
B
6
est une base r ealisable.
3.2 Caract erisation alg ebrique des points ext emes.
Denition 2. Un ensemble X est convexe si : x, y X et
, [0, 1] avec + = 1; on a x + y X.
Denition 3. Une combinaison lin eaire d el ements de X (

n
1

i
x
i
)
est dite convexe si

n
1

i
= 1 et
i
0.
Notons X = {x | Ax = b, x 0} , lensemble des solutions
r ealisables de (P). Cet ensemble est convexe.
Denition 4. * Lensemble X est appel e un polytope convexe.
* Un polytope born e est un poly` edre convexe.
* Un point extr eme dun polytope ou dun poly` edre convexe X,
est un point qui ne peut etre exprim e comme combinaison convexe
dautres points de X.
* On app` ele support de x, lenseble des indices des compo-
santes non nulles. On le note sup p(x).
Theorem 5. Lensemble des points extr emes du polytope X, cor-
respond ` a lensemble des solutions de base r ealisables.
Theorem 6. Si c
N
0 alors la solution de base r ealisable cor-
respondante est solution optimale du programme lin eaire (P).
Example 7. d eterminer les bases optimales du probl` eme suivant :
9
max z = x
1
+ 2x
2
x
1
+ x
2
+ x
3
= 6
x
2
+ x
4
= 3
x
1
, x
2
, x
3
, x
4
0
nous avons d eja v eri e que B
1
, B
3
, B
4
, B
6
etaient r ealisables pour
v erier loptimalit e nous allons calculer le c
N
associ e.
B
1
: c
N
= c
N
c
B
B
1
N
= (0 0) (1 2)
_
1 1
0 1
__
1 0
0 1
_
= (1 1) < 0.
B
1
est optimale, z

= c
B
B
1
b = 9.
B
3
: c
N
= (1 1). B
3
est non optimale, et z

= 6.
B
4
: c
N
= (1 2). B
4
est non optimale, et z

= 6.
B
6
: c
N
= (1 2). B
6
est non optimale, et z

= 0. Do` u la
seule base optimale est B
1
, la solution optimale correspondante
est x

=
_
_
_
_
_
3
3
0
0
_
_
_
_
_
.
3.3 Propri et es fondamentales de la programmation lin eaire.
Proposition : 1. Si une fonction lin eaire atteint son maximum (ou
minimum) sur le polytope X alors cet optimum a lieu en un som-
met de X(point ext eme de X).
Proposition : 2. Si X = , il existe au moins un sommet (point
ext eme).
10
Remarque : 2. Pour 100 contraintes de 400 variables choisir
100 colonnes parmis 400 est de lordre de 100
100
sommets (age
de luniver 10
18
secondes.
Lalgorithme du simplexe empreinte un chemin astusieu de
facon ` a maximiser le prot.
3.4 Op eration de pivotage.
Denition 8. Etant donn ee une m n matrice A, 1 r m et
1 s n tels que A
s
r
= 0. La matrice D d enie par :
D
j
i
=
_
_
_
_
_
1 si j = i, j = r
1
A
s
r
si j = i = r

A
s
i
A
s
r
si j = r, i = r
0 sinon
est appel ee matrice de pivotage sur l el ement A
s
r
de A.
Theorem 9. Si on applique lop eration de pivotage ` a la matrice
(A, b) du syst` eme Ax = b, on obtient la matrice (DA, Db). Le
syst` eme DAx = Db est equivalent ` a Ax = b.
3.5 Algorithme du simplexe ` a la main.
_

_
max z = x
1
+ 2x
2
x
1
+ x
2
+ x
3
= 6
x
2
+ x
4
= 3
x
1
, x
2
, x
3
, x
4
0
lalgorithme consiste ` a construire une suite de bases r ealisables,
de prot croissant jusqu` a ce quil ny ait plus de gain possible.
On prend comme base r ealisable de d epart la base B =
_
A
3
A
4
_
=
11
I.
_
_
_
x
3
= 6 x
1
x
2
x
4
= 3 x
2
z = 0 + x
1
+ 2x
2
forme canonique par rapport ` a la base
B.
_
_
_
x
1
= 6 x
2
x3
x
4
= 3 x
2
z = 6 + x
2
x
3
forme canonique par rapport ` a la
base B =
_
A
1
A
4
_
.
_
_
_
x
1
= 3 x3 + x
4
x
2
= 3 x
4
z = 9 x
3
x
4
forme canonique par rapport ` a la
base B =
_
A
1
A
2
_
.
la solution optimale est x

=
_
3 3 0 0
_
t
;
z

= 9.
4 Algorithme du simplexe .
Etant donn e un programme lin eaire
(PP)
_
_
_
max z = + cx
Ax = b
x 0
o` u A est une matrice mn de rang m. (PP) est ecri sous forme
canonique par rapport ` a une base B. 1. Si c 0 la base B est
optimale, et la solution de base associ ee est solution optimale de
(PP).
2. Sil existe s une colonne de A : A
s
/ B, avec c
s
> 0 et
I = {i : A
s
i
> 0} = alors (PP) na pas de solution optimale.
3. Sil existe s une colonne de A : A
s
/ B, avec c
s
> 0 et
I = {i : A
s
i
> 0} = . Soit r tel que
b
r
A
s
r
= min
iI
_
b
i
A
s
i
_
et soit x
t
12
la variable correspondant ` a la r
i` eme
ligne de base c` ad que A
t
= e
r
alors on v erie apr` es pivotage de la matrice des co efcients de
(PP) sur A
s
r
, que la base B

= B + {A
s
}\{A
t
} est r ealisable
et que le nouveau programme est ecrit sous forme canonique par
rapport ` a la nouvelle base B

.
4.1 Exemple.
Le programme (P) est ecrit sous forme canonique par rapport
` a la base r ealisable B
0
= [3, 4, 5](on ecrit les indices des colonnes
de A qui sont dans la base).
(P)
_

_
2x
1
+ x
2
+ x
3
= 8
x
1
+ 2x
2
+ x
4
= 7
x
2
+ x
5
= 3
x
i
0, j = 1, ..., 5
4x
1
+ 5x
2
= z(max)
La solution de base associ ee ` a B
0
est
x
1
= 0, x
2
= 0, x
3
= 8, x
4
= 7, x
5
= 3 et z = 0.
c
N
= (4, 5) > 0,
choisissons par exemple lindice 1 qui entre en base c
1
= 4 > 0,
A
1
=
_
_
2
1
0
_
_
et

b =
_
_
8
7
3
_
_
.
min
_
b
i
A
1
i
; A
1
i
> 0
_
= min
_
8
2
,
7
1
_
=
8
2
=
b
1
A
1
1
= B(r) = 3 sort de
la base la nouvelle base est B
1
= [1, 4, 5].
13
Apr es pivotage sur A
1
1
on obtient
(P)
_

_
x
1
+
1
2
x
2
+
1
2
x
3
= 4
3
2
x
2

1
2
x
3
+ x
4
= 3
x
2
+ x
5
= 3
x
i
0, j = 1, ..., 5
3x
2
2x
3
= 8 + z(max)
c = (0, 3, 2, 0, 0) c
2
> 0 A
2
=
_
_
1
2
3
2
1
_
_
,

b =
_
_
4
3
3
_
_
, min{
4
1
2
,
3
3
2
,
3
1
} =
b
2
A
2
2
= 2 = B(r) = 4, la nouvelle base est B
2
= [1, 2, 5] apr es pi-
votage sur A
2
2
on obtient
(P)
_

_
x
1
+
2
3
x
3

1
3
x
4
= 3
x
2

1
3
x
3
+
2
3
x
4
= 2
1
3
x
3

2
3
x
4
+ x
5
= 1
x
i
0, j = 1, ..., 5
x
3
2x
4
= 22 + z(max)
c = (0, 0, 1, 2) 0, do` u la base est optimale et la solution de
base est
x
B
2
=
_
_
3
2
1
_
_
, x
N
2
=
_
0
0
_
et z(max) = 22 .
4.2 Algorithme du simplexe.
On dispose dune base r ealisable B
0
.
1. B
0
base r ealisable du d epart. It eration k = 0.
2. k k + 1.
14
3. ` a lit eration k. Soit B la base courante x = (x
B
, x
N
) la solu-
tion de base correspondante : calculer

b = B
1
b
= c
B
B
1
(les multiplicateurs du simplexe)
c
N
= c
N
N
4. si c
N
0 : loptimum est atteint.
si s tel que c
s
> 0 alors
5. soit A
s
la colonne s de A : calculer A
s
= B
1
A
s
si A
s
0 stop : loptimum est non born e (+)
sinon calculer x
s
=

b
r
A
s
r
= min
_

b
i
A
s
i
: A
s
i
> 0
_
6. soit x
t
la variable correspondant ` a la r
i` eme
ligne de la base, c` ad
telle que B
1
A
t
= e
r
(m-vecteur ` a composantes toutes nulles
sauf la composante r egale ` a 1); alors la variable s prend la
valeur x
s
> 0 (entre en base) ; la variable t sannule ( x
t
= 0)(
sort de la base) la nouvelle base r ealisable

B = B + {A
s
}
{A
t
} , calculer linverse de la nouvelle base

B
1
et retourner
` a (2).
Remarque : 3. - Dans (6) on a suppos e que x
s
> 0 c` ad que

b
r
> 0. Si

b
r
= 0 alors la nouvelle solution obtenue est la m eme
que la pr ec edente, et ce sommet est repr esent e par plusieurs bases
r ealisables cest un cas de d eg en er escence. Si (P)est ecrit sous
forme canonique par rapport ` a une base optimale

B alors :
- Si c

N
< 0 la solution de (P) est unique.
- Si c
s
= 0, s

N alors la solution nest pas unique en
g en erale. On peut choisir x
s
= min
_

b
i

A
s
i
:

A
s
i
> 0
_
, on d etermine
ainsi un ensemble de solutions r ealisable pour lesquels z =

.
15
Theorem 10. Convergence nie.
Sous lhypoth` ese de non-d eg en er escence, lalgorithme du sim-
plexe converge en un nombre ni dit erations.
Probl` emes soulev es par la d eg en er escence.
Dans le cas de d eg en er escence o` u

b
r
= 0, on a x
s
=

b
r
A
s
r
= 0.
Alors la valeur de la fonction z ne varie pas apr` es le changement
de base (en effet z( x) = z
B
+ c
s
x
s
= z
B
).
Il est possible apr` es un certain nombre de changements de bases
de retrouver une base d eja rencontr ee et de cycler ind eniment.
On peut r egler le probl` eme de plusieurs facons.
1. Par p erturbation des donn ees du probl` eme.
2. Par des r` egles de s election du pivot(R.G. Bland 1977).
A chaque it eration de lalgorithme du simplexe
parmis toutes les variables susceplibles dentrer en base (c` ad
telles que c
s
> 0) choisir celle du plus petit indice.
parmis toutes les variables susceptibles de quitter la base
(c` ad toute les variables x
r
telles que
b
r
A
s
r
= min{
b
i
A
s
i
: A
s
i
> 0}
choisir celle du plus petit indice.
Bland a montr e que m eme en cas de d eg en er escence cette r` egle
assure la convergence nie de la m ethode du simplexe.
4.3 Complexit e de lalgorithme et efcacit e pratique.
L evaluation de la complexit e dun algorithme est l etude du
nombre maximal dop erations el ementaires quil n ecessite dans le
pire des cas.
Kelle et Minty (1972) ont construit des probl` emes
n ec essitant lexamen dun nombre de sommets croissant
exponentiellement en fonction de la taille du
16
probl` eme (contraintes et variables) la complexit e
de la m ethode du simplexe est donc exponentielle.
4.4 Initialisation de lalgorithme du simplexe.
Consid eron le probl` eme lin eaire . (P)
_
Ax = b x 0
cx = z(max)
Forme standard. (On consid` ere b 0, si b
i
< 0 on multiplie
l equation par 1) Nous cherchons ` a trouver une base r ealisable
de (P) et ` a ecrire (P) sous forme canonique par rapport ` a cette
base. On consid` ere le probl` eme auxiliaire suivant :
(PA)
_
Ax + Iv = b x, v 0

m
i=1
v
i
= (min)
Les variables v
i
sont dites
articielles.
Theorem 11. Lalgorithme du simplexe appliqu e ` a
(PA

)
_
Ax + Iv = b x, v 0
eAx = (min) eb
(1)
ecrit sous forme canonique par rapport ` a la base des variables
articielles, se termine toujours avec une solution optimale de
base.
Theorem12. Soit ( x, v) une solution optimale de (PA). Une condi-
tion n ecessaire et sufsante pour que (P) admette une solution
r ealisable, est que :
v
i
= 0 pour i = 1, ..., m. (2)
17
4.4.1 La m ethode du grand M.
On introduit les variables articielles directement dans la fonc-
tion objectif du probl` eme dorigine :
_

_
max z = cx M
m

i=1
v
i
Ax + Iv = b
x, v 0
et on resoud ce probl` eme par lalgorithme du simplexe en suppo-
sant que M est grand.
5 la notion de dualit e.
La dualit e est un concept fondamental en programmation lin eaire
et conduit ` a un r esultat de grande port ee th eorique et pratique.
5.1 Th eor` emes de dualit e.
Soit le probl` eme lin eaire suivant :
(P)
_
Ax = b x 0
cx = z(Max)
son dual est le programme lin eaire suivant :
(D)
_
yA c
yb = w(Min).
D enition du dual dans le cas g en eral.
18
Primal (Dual) | Dual (Primal)
Fonction objective (Max) | Fonction objective (Min)
i
` eme
contrainte | i
` eme
variable 0
i
` eme
contrainte | i
` eme
variable 0
i
` eme
contrainte = | i
` eme
variable 0
j
` eme
variable 0 | j
` eme
contrainte
j
` eme
variable 0 | j
` eme
contrainte
j
` eme
variable 0 | j
` eme
contrainte =
Example 13.
Primal
_

_
min 2x
1
3x
2
x
1
x
2
1
2x
1
+ 3x
2
4
x
1
+ x
2
= 3
x
1
0, x
2
0
Dual
_

_
max u
1
+ 4u
2
+ 3u
3
u
1
+ 2u
2
+ u
3
2
u
1
+ 3u
2
+ u
3
= 3
u
1
0, u
2
0, u
3
0
Lemma 14. Pour tout couple de solutions x, y respectivement r ealisables
pour (P) et pour (D) on a
c x yb.
Corollary 15. Si x et y sont respectivement des solutions r ealisables
des programmes (P) et (D) et si de plus c x yb alors
c x = yb
x et y sont respectivement
des solutions optimales de (P) et (D).
19
Lemma 16. Si (P) admet un optimum ` a valeur nie, soient

les
multiplicateurs du simplexe associ es ` a une solution optimale x

de (P). Alors

est une solution r ealisable du probl` eme dual et


cx

b. (

est donc solution optimale du dual).


Theorem 17. Th eor` eme de dualit e.
Soient (P) et (D) deux probl` emes duaux
a) Si (P) et (D) ont des solutions r ealisables, alors ils ont
des solutions optimales et
z

= Max(P) = Min(D).
b) Si lun dentre eux a un optimum non born e, lautre na
pas de solution r ealisable.
Theorem 18. Th eor` eme de Compl ementarit e :
Deux solutions ( x, y) du primal et du dual respectivement sont
optimales ssi
( yA
j
c
j
) x
j
= 0j = 1, ..., n.
(A
j
=j
i` eme
colonne de A).
Theorem 19. Lemme de Farkas.
Si pour tout m-vecteur y tel que
yA 0 on a yb 0, alors x 0 tel que Ax = b.
Theorem 20. Th eor` eme des alternatives.
Lun et seulement lun des syst` emes de contraintes suivants a
une solution :
(I)
_
Ax = b
x 0
(II)
_
yA 0
yb > 0
20
5.2 Interpr etation economique de la dualit e.
Consid erons le probl` eme lin eaire suivant :
(P)
_

_
max z = 500x
1
+ 700x
2
40x
1
+ 30x
2
360 (I)
20x
1
+ 30x
2
480 (II)
x
1
, x
2
0
on ajoute les variables d ecarts x
3
et x
4
aux deux contraintes (I)
et (II).
_

_
max z = 500x
1
+ 700x
2
40x
1
+ 30x
2
+ x
3
= 360
20x
1
+ 30x
2
+ x
4
= 480
x
1
, x
2
, x
3
, x
4
0
on applique lalgorithme du simplexe sur ce dernier probl` eme avec
la base de d epart B
1
= {x
3
, x
4
} . x
2
entre en base et x
3
sort de la
base ; On ecrit le probl` eme sous forme canonique par rapport ` a la
nouvelle base B
2
= {x
2
, x
4
}
_

_
max z = 8400
1300
3
x
1

70
3
x
3
4
3
x
1
+ x
2
+
1
30
x
3
= 12
20x
1
x
3
+ x
4
= 120
x
1
, x
2
, x
3
, x
4
0
c
N
= (
1300
3
,
70
3
) 0, do` u la solution est optimale.La solution
optimale est (x

1
= 0, x

2
= 12) et z

= 8400.
Le directeur veut augmenter les quantit es des ciments fabriqu es,
il se demande de combien il est raisonable de les augmenter pour
utiliser une unit e suppl ementaire des biens (I) et (II).
On augmente la disponibilit e du produit (I) dune unit e de com-
bien le prot augmentera t-il ? Le programme (P) sera modi e en
21
remplacant 360 par 361 dans le second membre de la premi` ere
in egalit e. On trouve que la m eme base est optimale, et que
x

1
= 0; x

2
=
36.1
3
z

= 700
36.1
3
= 8400 + 700
0.1
3
8400 + 23.33
Donc une unit e suppl ementaire du produit 1 vaut 23.33 pour
le directeur de lusine, cest ` a dire que si le prix dune minute de
four est inf erieure ` a 23.33 le directeur ` a int er et ` a augmenter la
disponibilit e du four. Donc le fonctionnement de lusine permet
de d enir des prix pour les diff erentes mati` eres premi` eres sur le
march e, cest un prix marginale. Le m eme r esonnement est fait
pour le bien (II), on trouve que la valeur optimale ne change pas,
donc on na pas int er et ` a augmenter la disponibilit e du broyeur.
y
1
=
70
3
, y
2
= 0 sont les prix marginaux, et correspondent ` a la
solution optimale du dual de (P).
Theorem 21. La variation de la valeur optimale, de la fonction
objective de (P),
(P)
_
_
_
max cx
Ax = b
x 0
pour une variation b sufsament faible du second membre, pour
que la base optimale de (P) reste optimale pour (P

),
(P

)
_
_
_
max cx
Ax = b + b
x 0
est yb, (o` u y est solution optimale du dual de (P)).
22
6 Exercices
Exercices1 :
Consid erons le programme lin eaire suivant :
(P)
_

_
min x
1
+ 2x
2
+ 3x
3
x
1
+ 2x
2
3x
3
= 1
2x
1
x
2
5x
3
2
x
1
+ 3x
2
+ 3x
3
1
x
1
, x
2
0
1. Mettre ce programme sous forme canonique, sous forme stan-
dard.
2. Le probl` eme etant mis sous la forme standard, on a m = 3 et
n = 6
Ecrire A
2
, A
3
, A
4
posons I = {1, 3} et J = {2, 4, 5} .
Ecrire b
I
, C
J
, A
I
, A
J
, A
J
I
.
Exercices2 :
Montrer que le probl` eme doptimisation suivant :
(P)
_
_
_
min C.x
A.x = b

j
x
j

j
, j = 1, ..., n
est un programme lin eaire. L ecrire sous forme standard.
Exercices3 :
Montrer que le probl` eme doptimisation :
(P)
_

_
min c.x
n

i=1
| v
i
|
A.x Uv = b
x 0
23
(o` u U est la matrice unit e de la forme (m, m)), peut s ecrire sous
forme dun programme lin eaire.
Exercices4 :
Un grossiste d esire renouveler son stock de savon. Il sadresse
` a trois fabricants F1, F2 et F3 pour une commande de 20 unit es
(unit e=100kg). Il est cependant tenu dacheter une quantit e non
nulle aux fabricants F1 et F2.
Quelles sont les commandes ` a passer ` a chacun de ces fournis-
seurs de mani` ere ` a avoir une d epense minimale, si lon sait que
F1 peut fournir au maximum 10 unit es, mais naccepte ja-
mais une commande inf erieure ` a 5 unit es.
F2 peut fournir au maximum 8 unit es, mais naccepte jamais
une commande inf erieure ` a 4 unit es.
F3 peut fournir au maximum 9 unit es.
Les prix dachat unitaires (en centaines de DH) aupr` es de
chaque fabricant sont les suivants :
F1 : 11 pour les 5 premiers et 9 pour les suivants.
F2 : 8.
F3 : 10.
Exercice5 :
Un editeur dispose de deux d epots, D
1
et D
2
, poss edant respec-
tivement 5 et 4 exemplaires dun ouvrage. Trois libraires, L
1
, L
2
, L
3
lui demandant respectivement 2, 3 et 4 exemplaires de cet ou-
vrage au cours de la journ ee. Si les c outs unitaires de transport
des d epots vers les libraires sont les quantit es indiqu ees dans le
tableau ci-dessous, d eterminer le plan de transport de co ut mini-
mums.
24
L
1
L
2
L
3
D
1
2 5 2
D
2
7 3 6
Exercice6 :
On consid` ere le probl` eme lin eaire suivant :
(P)
_

_
max z = x
1
+ 3x
2
x
1
+ x
2
+ t
1
= 14
2x
1
+ 3x
2
+ t
2
= 12
2x
1
x
2
+ t
3
= 12
x
i
0, t
i
0, i = 1, 2, 3.
1. Donner toutes les solutions de bases de (P).
2. Donner les solutions de bases r ealisables de (P).
3. Repr esenter graphiquement les solutions de bases et les solu-
tions de bases r ealisables. R esoudre graphiquement le probl` eme.
4. D eterminer la base optimale, puis ecrire le probl` eme sous forme
canonique par rapport ` a cette base.
Exercice7 :
Consid erons les probl` emes suivants :
(1)
_

_
min z = x
2
x
1
2x
1
x
2
2
x
1
x
2
2
x
1
+ x
2
5
x
1
, x
2
0
25
(2)
_

_
max z = 5x
1
+ 7x
2
x
1
+ x
2
6
x
1
4
x
2
3
x
1
, x
2
0
(3)
_

_
min z = x
2
x
1
2x
1
x
2
2
x
1
2x
2
8
x
1
+ x
2
5
x
1
, x
2
0
et le probl` eme (P)
1. R esoudre les quatre probl` emes avec la m ethode du simplexe.
2. Ecrire leur probl` emes duaux
3. Pour le probl` eme (1) donner une solution primale r ealisable
et une solution duale r ealisable, puis v erier le Th eor` eme de dua-
lit e.
4. a. Verier dans le probl` eme (1) le th eor` eme de dualit e pour
x

= (6, 8) et y

= (
9
5
,
2
5
, 0).
b. Verier le th eor` eme de dualit e pour x

= (
7
2
,
3
2
) et y

= (0, 1, 0).
Exercice8 :
Soit le programme lin eaire :
(P)
_

_
min 3x
1
+ 3x
2
2x
1
+ x
2
3
2x
1
x
2
5
x
1
+ 4x
2
6
x
1
0, x
2
0
a) La solution d enie par x
1
= 3, x
2
= 1 est-elle r ealisable ?optimale ?
b) La solution d enie par x
1
=
26
9
, x
2
=
7
9
est-elle r ealisable ?optimale ?
26
Exercice9 :
Montrer en utilisant le th eor` eme des ecarts compl ementaires
et en effectuant le moins de calcul possible que : x
1
= 1, x
2
=
2, x
3
= 0, x
4
= 4, x
5
= 0 est solution optimale de :
_

_
max x
1
+ 2x
2
+ 3x
3
+ 4x
4
+ 5x
5
.
x
1
+ 2x
2
+ 3x
3
4x
4
+ 5x
5
0
2x
3
+ x
4
+ 3x
5
4
3x
1
+ 4x
3
+ x
5
3
x
2
x
3
+ 2x
5
2
4x
2
+ 3x
3
+ x
4
+ 2x
5
1
x
i
0, i = 1, ..., 5
Exercice10 :
utiliser le lemme de Farkas pour montrer que les solutions du
syst` eme
_
3x
1
2x
2
+ x
3
0
x
1
+ 3x
2
2x
3
0
ne sont pas toutes solutions de
4x
1
+ x
2
+ 2x
3
0.
27