Vous êtes sur la page 1sur 12

Cours de Programmation Linaire donn par le Dr.

Ali DERBALA
Cours 02 : Problme gnral de la Programmation Linaire. 15
Cours 02 : Problme gnral de la
programmation linaire
Cours de Programmation Linaire donn par le Dr. Ali DERBALA
Cours 02 : Problme gnral de la Programmation Linaire. 16
1. Introduction
Un programme linaire s'crit sous la forme suivante.
MinZ(ou maxW) = c
1
x
1
+ c
2
x
2
+ + c
n
x
n
sous les contraintes ou conditions : p quations
a
11
x
1
+ a
12
x
2
+ + a
1n
x
n
= d
1
a
21
x
1
+ a
22
x
2
+ + a
2n
x
n
= d
2
.
a
p1
x
1
+ a
p2
x
2
+ + a
pn
x
n
= d
p
et (m-p) inquations
a
p+11
x
1
+ a
p+12
x
2
+ + a
p+1n
x
n
d
p+1

a
m1
x
1
+ a
m2
x
2
+ + a
mn
x
n
d
m
x
j
0 (variables ralisables), j = 1, 2, , q
x
j
(variables quelconques), j > q.
On peut crire ce systme sous une autre forme condense.
=
=
n
1 i
i i
x c ) MaxW ou ( MinZ

+ =
=
+ =
= =
=
=
n ,..., 1 q j , x
q ,..., 1 j , 0 x
) m ,..., 1 p r ( d x a
) p ,..., 1 i ( d x a
) I (
j
j
r
n
1 i
r ir
i
n
1 j
j ij
a
ij
, d
i
, c
j
tant des donnes numriques relles.
On adoptera les notations suivantes.
M = {1, , m}ensemble des indices de contraintes
et N = {1, , n} ensemble des indices de variables.
M
1
M un sous ensemble de M, N
1
N un sous ensemble de N,
A = (a
ij
)
mxn
une matrice m x n, i M, j N.
a
j
la j ime colonne de A, un vecteur colonne.

i
la ime ligne de A, un vecteur ligne.
X un vecteur colonne n composantes, x
1
, x
2
, , x
n
C un vecteur colonne n composantes, c
1
, c
2
, , c
n
D un vecteur colonne m composantes, d
1
, d
2
, , d
m
U
N
I
V
E
R
S
I
T
E

S
A
A
D

D
A
H
L
A
B

D
E

B
L
I
D
A
Cours de Programmation Linaire donn par le Dr. Ali DERBALA
Cours 02 : Problme gnral de la Programmation Linaire. 17
A est appele matrice technologique
D vecteur de demande, C vecteur de prix et X vecteur des inconnues.
Le problme (I) s'crit aussi : Min Z (ou Max W) = C X ( le produit scalaire)




=
1 j
1 j
1 i i
1 i i
N N j , x
N j , 0 x
M M i d x
M i d x
) I (
2. Formulations des programmes linaires
Nous considrons et il existe trois formulations du programme linaire avec la
condition de non-ngativit (ou de positivit ou de ralisabilit) de l'ensemble des
variables x
1
0, x
2
0, , x
n
0.
La premire forme est la " forme standard ":
MinZ = C. X
A.X = d
X 0.
La seconde est la " forme canonique " : MinZ = C. X
A.X d
X 0.
La troisime forme est " mixte " : MinZ = C. X

i
.X d
i
i M
1

i
.X = d
i
i M - M
1
X 0.
On peut ramener les formes gnrales et mixtes la forme standard ou la forme
canonique et on peut passer de la forme standard la forme canonique et vice-versa
par des oprations lmentaires.
1
re
opration : min f(x) = - max (-f(x)).
2
nd
opration: on peut remplacer chaque variable par une diffrence de variables
positives. x
j
= x
j
'

- x
j
"
o x
j
'

0 et x
j
"
0.
3
ime
opration: chaque quation a
i1
x
1
+ a
i2
x
2
+ + a
in
x
n
= d
i
peut tre remplace
par les inquations : a
i1
x
1
+ a
i2
x
2
+ + a
in
x
n
d
i
a
i1
x
1
+ a
i2
x
2
+ + a
in
x
n
d
i
ou par les inquations quivalentes:
U
N
I
V
E
R
S
I
T
E

S
A
A
D

D
A
H
L
A
B

D
E

B
L
I
D
A
Cours de Programmation Linaire donn par le Dr. Ali DERBALA
Cours 02 : Problme gnral de la Programmation Linaire. 18
a
i1
x
1
+ a
i2
x
2
+ + a
in
x
n
d
i
- a
i1
x
1
- a
i2
x
2
- - a
in
x
n
- d
i
4
ime
opration: Toute inquation a
i1
x
1
+ a
i2
x
2
+ + a
in
x
n
d
i
(ou a
i1
x
1
+ a
i2
x
2
+ + a
in
x
n
d
i
) peut tre remplace par les quations :
a
i1
x
1
+ a
i2
x
2
+ + a
in
x
n
+ x
n+i
= d
i
, avec x
n+i
0
(ou a
i1
x
1
+ a
i2
x
2
+ + a
in
x
n
- x
n+i
= d
i
, avec x
n+i
0)
x
n+i
est appele une variable d'cart qu'on peut introduire dans le problme et qui est
affect d'un coefficient nul dans la fonction optimiser.
Les x
i
sont appeles des " variables structurelles ".
Rsum 1: De la forme gnrale, on peut passer la forme mixte en procdant par les
opration 1 et 2.
De la forme mixte et standard la forme canonique, on procde par l'opration 3.
De la forme mixte et canonique la forme standard, on procde par l'opration 4.
3. Quelques notions de la programmation linaire
Dfinitions 1:
1. La fonction optimiser Z est appele " fonction objectif " (sous entend fonction
dont l'objectif) ou " fonction conomique ".
2. On appelle solution ralisable (ou possible), tout vecteur X satisfaisant toute les
contraintes du problme y compris celle de la non-ngativit.
3. On appelle solution optimale une solution ralisable finie (toutes les composantes
sont finies) rendant optimale la fonction objectif.
4. Deux problmes linaires PL1 et PL2 sont quivalents si pour chaque solution X
de PL1 on trouvera par une certaine rgle une solution correspondante Y de PL2
et rciproquement.
Thorme fondamental de la programmation linaire
Soit le problme sous forme standard

=
=
0 x
d Ax
cx z min
) P ( o A : m x n avec m < n.
Le rang de la matrice A, r(A) = m < n. Le problme a une infinit de solutions.
Il existe au moins un ensemble de " m " vecteurs (a
j
)
i=1,,m
linairement indpendants.
U
N
I
V
E
R
S
I
T
E

S
A
A
D

D
A
H
L
A
B

D
E

B
L
I
D
A
Cours de Programmation Linaire donn par le Dr. Ali DERBALA
Cours 02 : Problme gnral de la Programmation Linaire. 19
Dfinitions 2 :
1. On appelle base du systme ou base du problme (P), tout ensemble de " m "
vecteurs (a
j
)
i=1,,m
linairement indpendants. Les vecteurs d'une base constituent
une sous matrice de A rgulire d'ordre " m " et inversement.
2. Les " m " variables associes aux vecteurs de base sont appeles variables de base.
Elles constituent un vecteur X
B
m composantes. Les autres variables sont dites
hors bases et constituent un vecteur X
HB
complmentaire de X
B
dans X.
On adoptera les notations suivantes.
I ensemble des indices des vecteurs (ou variables) de base.
J ensemble des indices des vecteurs (ou variables) hors base. J = N - I.
A
B
= (a
i
)
iI
(matrice forme par " m " vecteurs de base)
A
HB
= (a
j
)
jJ
(matrice forme par " n- m " vecteurs hors base)
C
B
= (c
i
)
iI
(coefficients associs aux " m " vecteurs de base)
C
HB
= (c
j
)
jJ
(coefficients associs aux " n- m " vecteurs hors base)
Le problme linaire peut s'crire :


= +
+ =
0 x , 0 x
d x A x A
x c x c z min
) ' P (
HB B
HB HB B B
HB HB B B
En annulant les variables hors bases dans (P'), on obtient un systme " Cramrien "
A
B
X
B
= d possdant la solution unique d . A x
1
B B

= .
3. La solution X = (x
B
= A
B
-1
. d, x
HB
= 0) est appele solution de base du problme.
4. Une solution de base est ralisable si x
B
= A
B
-1
. d 0.
5. Une solution de base est dite " dgnre " si certaines composantes de x
B
sont
nulles. Le vecteur x
B
ou X a moins de " m " composantes positives.
6. Une solution optimale de base du problme est une solution de base ralisable qui
rend minimale la fonction objectif.
Exemple 1: Dterminons des solutions de base du systme

=
=
10 x 6 - x 5 + x 3 + x 4
4 x 2 - x 2 + x + x 2

4 3 2 1
4 3 2 1
Si on prend a
1
=
|
|
.
|

\
|
4
2
, a
2
=
|
|
.
|

\
|
3
1
, le dterminant form par ces deux vecteurs
U
N
I
V
E
R
S
I
T
E

S
A
A
D

D
A
H
L
A
B

D
E

B
L
I
D
A
Cours de Programmation Linaire donn par le Dr. Ali DERBALA
Cours 02 : Problme gnral de la Programmation Linaire. 20
2 1
a a = 2 qui est diffrent de 0. a
1
et a
2
forment alors une base.
A
B
= (a
1
, a
2
) =
|
|
.
|

\
|
3 4
1 2
, A
HB
= (a
3
, a
4
) =
|
|
.
|

\
|

6 5
2 2
X
B
= (x
1
, x
2
), X
HB
= (x
3
, x
4
).
Le systme peut s'crire aussi A
B
X
B
+ A
HB
X
HB
= d.
Posons X
HB
= (0, 0), le systme deviendra :
|
|
.
|

\
|
3 4
1 2

|
|
.
|

\
|
2
1
x
x
=
|
|
.
|

\
|
10
4

|
|
.
|

\
|
2
1
x
x
=
|
|
.
|

\
|
2
1
.
x = (1, 2, 0, 0) est une solution de base ralisable non dgnre car le rang de la
matrice A est gale deux.
Si on choisit A
B
= (a
1
, a
3
) =
|
|
.
|

\
|
5 4
2 2
, A
B
X
B
= d x
B
= (x
1
, x
3
) = (0, 2).
La nouvelle solution x = (0, 0, 2, 0) relative la nouvelle base est de base ralisable
dgnre.
Si on choisit A
B
= (a
1
, a
4
) =
|
|
.
|

\
|

6 4
2 2
, A
B
X
B
= d x
B
= (x
1
, x
4
) = (1, -1).
La solution x = (1, 0, 0, -1) est de base non ralisable et non dgnre.
4. Dtermination d'une solution de base par la mthode de pivotage de Gauss.
Soit un systme d'quations de la forme A. x = d, quivalent au systme suivant.

=
=
=
+
+
+ +
+ +
=
= + + +
= + + +
m
k
n mn
n kn
r mr
r kr
1 1 m
1 1 k
2 n n 2 r r 2 1 21
1 n n 1 r r 1 1 11
d
... .
d
x a
......
x a
... x a
......
... x a
.... x a
.......
.... x a
.... ....... ........ ..........
d x a ... x a .... x a
d x a ... x a .... x a

Supposons que a
kr
0. Divisons la kime quation par a
kr
qui devient :
(1)
a
d
x
a
a
... x ... x
a
a
kr
k
n
kr
kn
r 1
kr
1 k
= + + + +
Pour liminer x
r
de la ime quation, il suffit de multiplier l'quation (1) par (-a
ir
) et
ajouter la ime quation. On obtiendra :
a
a
d
d x ) a
a
a
a ( .... x ) a
a
a
a (
ir
kr
k
i n ir
kr
kn
in 1 ir
kr
1 k
1 i
= + +
U
N
I
V
E
R
S
I
T
E

S
A
A
D

D
A
H
L
A
B

D
E

B
L
I
D
A
Cours de Programmation Linaire donn par le Dr. Ali DERBALA
Cours 02 : Problme gnral de la Programmation Linaire. 21

=
=
=
+ +
+ +
+ +
+ +
=
= + +
= + + + +
+ +
+ +
m
k
n mn
n kn
1 r 1 r 1 1 r 1 r 1
r
1 1 m
1 1 k
2 n n 2 1 21
1 n n 1 1 r 1 r 1 1 r 1 r 1 1 11
' d
... .
' d
x a
......
x ' a
... x a x a .
......
... x
.... x ' a
.......
.... x ' a
.... ....... ........ ..........
d x a ... .... x a
' d x ' a ... x a x a .... x ' a
) S (
avec a'
ij
= a
ij
-
ir
kr
kj
a
a
a
, i = 1, .., m, i k.
a'
kj
=
ir
kr
kj
a
a
a
, j =1, .., n.
d'
i
= d
i
-
ir
kr
k
a
a
d
, i = 1, .., m, i k.
d'
k
=
ir
kr
k
a
d
d
.
Ces relations sont les formules d'limination de Gauss. a
kr
est appel " pivot ".
La ligne " k " est appele ligne pivot.
Si le rang de la matrice A, r(A) est gale au rang de la matrice augmente r(A,d), nous
pouvons rsoudre le systme par rapport aux " m " variables ( x
1
, , x
m
).
Le systme devient.

= + + +
= + + + +
= + + + +
+ +
+ +
+ +
m n mn 1 m 1 mm m
2 n n 2 1 m 1 m 2 2
1 n n 1 1 m 1 m 1 1
b x c ... x c x
.........
b x c ... x c ... x
b x c ... x c ... x
x = (b
1
, b
2
, , b
m
, 0, 0, , 0) est une solution de base.
Remarque 2 : soit un PL

=
=
0 x
d Ax
cx z min
) P ( o A : m x n avec m < n.
Supposons que rg(A) = rg(A, d) = r < n.
1. rg(A) = r veut dire qu'il existe une base a
1
, a
2
, , a
r
de l'ensemble des vecteurs
colonnes de A et chaque vecteur a
j
(j) peut tre exprim en leur fonction. Soit,
a
j
=
=

r
1 i
i i
a .
U
N
I
V
E
R
S
I
T
E

S
A
A
D

D
A
H
L
A
B

D
E

B
L
I
D
A
Cours de Programmation Linaire donn par le Dr. Ali DERBALA
Cours 02 : Problme gnral de la Programmation Linaire. 22
Si en substituant " a
j
" " a
j
" avec
i
0, nous montrons facilement que
(a
1
, a
2
, , a
i-1
, a
j
, a
i+1
, , a
r
) est une nouvelle base( A faire par les tudiants!).
2. si r(A) = r alors " m - r " quations de (2) sont redondantes. En supprimant ces
quations, on obtient le systme quivalent A
1
. X = d
1
.
3. chaque ensemble de " r " vecteurs linairement indpendants forment une base.
Donc, le nombre maximal de solutions de base est le nombre maximale de sous-
matrices carrs d'ordre " r " que l'on peut extraire de A, gal
)! r n ( ! r
! n
C
r
n

= .
5. Enonc du Thorme fondamental de la programmation linaire.
Etant donn un problme de la programmation linaire sous formestandard.
a. s'il possde une solution ralisable finie, il possde une solution de base
ralisable.
b. s'il admet une solution optimale finie, il admet au moins une solution optimale de
base ralisable.
Preuve:
a. supposons x une solution ralisable avec " k " composantes finies. Sans perte de
gnralit, on peut supposer que les " k " composantes positives soient les
premires (quitte faire un changement dans la numrotation des composantes et
obtenir les k premires composantes positives). x = (x
1
, x
2
, , x
k
, 0, ,0)
Le problme est

=
=
0 x
d Ax
cx z min
) P ( .
Soit A
1
= (a
1
, a
2
, , a
k
) la matrice forme par les " k " premires colonnes de A.
Par hypothse : x
1
a
1
+ x
2
a
2
+ + x
k
a
k
= d. Deux cas sont possibles.
Cas 1. Soit rg(A
1
) = k alors forcment k m.
Rg(A) = m se traduit par l'existence d'une base de A forme des vecteurs a
1
, a
2
, ,
a
m
. Chaque a
j
(j =1,,k) s'expriment en fonctions des (a
i
) i =1,,m dans laquelle
un coefficient au moins est non nul.
D'o a
1
=
=

m
1 i
i i
a (
1
0 par exemple). (a
1
, a
2
, , a
m
) constituent une nouvelle
base de
m
. a
2
=
1
a
1
+
=

m
2 i
i
i
'
a ( avec au moins un '
i
0 (i = 2,,m).
U
N
I
V
E
R
S
I
T
E

S
A
A
D

D
A
H
L
A
B

D
E

B
L
I
D
A
Cours de Programmation Linaire donn par le Dr. Ali DERBALA
Cours 02 : Problme gnral de la Programmation Linaire. 23
a
1
et a
2
sont linairement indpendants si '
2
0.
(a
1
, a
2
, a
3
, , a
m
) constituent une seconde nouvelle base de
m
.
Et ainsi de suite le mme processus peut tre rpt jusqu' ce que les vecteurs
a
1
, a
2
, , a
k
sont devenus les vecteurs de base.
Dans ce cas, x = (x
1
, x
2
, , x
k
, 0, ,0) est une solution de base ralisable par
dfinition. Cette solution est dgnre si k < m et non dgnre si k = m.
Cas 2. Rg(A
1
) = k > m. Le vecteurs a
1
, a
2
, , a
k
sont linairement dpendants.
Dans
m
, plus de " m " vecteurs sont Linairement Dpendants.
D'o j, j = 1,, k /
j
0 et
=
k
1 j
j i
a = 0.
Par hypothse, x
1
a
1
+ x
2
a
2
+ + x
k
a
k
= d (1)

1
a
1
+
2
a
2
+ +
k
a
k
= 0. Multiplions par > 0 cette quation et retranchant l
de l'quation (1). On obtient :
(x
1
-
1
)a
1
+ (x
2
-
2
)a
2
+ + (x
k
-
k
)a
k
= d.
Le vecteur (x
1
-
1
, x
2
-
2
, , x
k
-
k
, 0, 0, , 0) est une solution ralisable si
x
i
-
i
0, i = 1, , k. Choisissons " " de tel sorte. Evidemment si
i
0.
Le choix sera , tel que :
i
i
x

si
i
0 et
i
i
x

si
i
0.
Dterminons =
)
`

>

0 ,
x
min
x
i
i
i
r
r
.
(x
1
-
1
r
r
x

, x
2
-
2
r
r
x

, , x
k
-
k
r
r
x

, 0, 0, , 0) est une nouvelle solution


ralisable ne comportant au plus que (k-1) composantes positives. Si les vecteurs
associs ces valeurs sont linairement dpendants, on rpte l'opration. Aprs un
nombre " p " d'oprations ( ou infrieur p), on obtient " k - p " vecteurs
Linairement Indpendants, L.I, ce qui ramne au cas 1.
On a une solution dgnre si k - p < m et non dgnre si k - p = m.
Preuve du b. Faire une mme preuve pour une solution optimale sauf qu'il faut
trouver des conditions pour que la valeur de la fonction objectif ne diminue pas.
Remarque 3 : Le problme de la programmation linaire est rsolu par le thorme
fondamental de la PL. En effet, le nombre de base et de solutions de base est fini
U
N
I
V
E
R
S
I
T
E

S
A
A
D

D
A
H
L
A
B

D
E

B
L
I
D
A
Cours de Programmation Linaire donn par le Dr. Ali DERBALA
Cours 02 : Problme gnral de la Programmation Linaire. 24
(
)! m n ( ! m
! n
C
m
n

= ) et on calcule les valeurs de la fonction Z correspondants ces


solutions de base et choisir la valeur minimale.
Corollaire 1 : Une condition ncessaire et suffisante pour qu'une solution ralisable
soit une solution de base ralisable est que les vecteurs associs aux variables non
nulles soient L.I.
Exemple 2: soit le systme

=
=
10 x 3 + x 2 + x
12 x 4 + x + x 2

3 2 1
3 2 1
et soit x = (3, 2, 1) une solution ralisable.
A partir de x , dterminons une solution de base ralisable.
a
1
=
|
|
.
|

\
|
1
2
, a
2
=
|
|
.
|

\
|
2
1
et a
3
=
|
|
.
|

\
|
3
4
sont L.D.
Si on prend a
1
=
|
|
.
|

\
|
4
2
, a
2
=
|
|
.
|

\
|
3
1
, le dterminant form par ces deux vecteurs
j, j = 1,2,3 /
j
0 et
=
k
1 j
j i
a = 0, soit :
1
a
1
+
2
a
2
+
3
a
3
= 0.

1
a
1
+
2
a
2
+
3
a
3
=
|
|
.
|

\
|
+ +
+ +
3 2 1
3 2 1
3 2
4 2
=
|
|
.
|

\
|
0
0
.
Si
1
= 1, le systme devient :

=
=
1 3 + 2
2 4 +

3 2
3 2
,
ce qui donne que
2
= 2/5 et
3
= - 3/5.
Prenons =
)
`

>

0 ,
x
min
i
i
i
= 3
5
2
2
,
1
3
min =

.
Y= (x
1
-
1
r
r
x

, x
2
-
2
r
r
x

, x
3
-
3
r
r
x

) = ( 0, 4/5, 14/5) est une nouvelle solution de


base ralisable.
U
N
I
V
E
R
S
I
T
E

S
A
A
D

D
A
H
L
A
B

D
E

B
L
I
D
A
Cours de Programmation Linaire donn par le Dr. Ali DERBALA
Cours 02 : Problme gnral de la Programmation Linaire. 25
Remarque 4 : si un
i
< 0, on peut choisir =
)
`

<

0 ,
x
max
i
i
i
=
3
5
5
3
1
=

.
T = (x
1
-
1
3
5
, x
2
-
2
3
5
, x
3
-
3
3
5
) = (3 -
3
5
, 2 -
5
2
3
5
, 1 -
5
3

3
5
)
T = ( 14/3, 8/3, 0) est une seconde solution de base ralisable.
.
.
Cours de Programmation Linaire donn par le Dr. Ali DERBALA
Cours 02 : Problme gnral de la Programmation Linaire. 26
U
N
I
V
E
R
S
I
T
E

S
A
A
D

D
A
H
L
A
B

D
E

B
L
I
D
A