Introduction à la Programmation Linéaire
Introduction à la Programmation Linéaire
I PROGRAMMATIONS LINEAIRES 3
1
Université Félix Houphouet-Boigny U.F.R - SSMT
PROGRAMMATIONS LINEAIRES
3
Chapitre 1
Modélisation de la programmation
linéaire
Enoncé du problème
Exemple 1.1.1. Une entreprise fabrique deux produits A et B en utilisant une machine m
p et de 36 kg de q.
On suppose que :
m durant 1 h.
m durant 2 h.
Les pro…ts réalisés sont de 50 000 F CF A par unité de A et 60 000 F CA par unité de B.
L’objectif que poursuit l’netreprise est de maximiser le pro…t qu’elle pourra tirer par jour
4
CHAPITRE 1. MODÉLISATION DE LA PROGRAMMATION LINÉAIRE
A B Disponibilites
m 1h 2h 8h
p 2 kg 2 kg 10 kg
q 9 kg 4 kg 36 kg
Pr of it 50 000 F CF A 60 000 F CF A
Variables de décision
a:
M aximiser F ( x1 ; x2 )
Alors
M ax F ( x1 ; x2 ) = 50 000 x1 + 60 000 x2
x 1 + 2 x2 6 8
5
Université Félix Houphouet-Boigny U.F.R - SSMT
2 x1 + 2 x2 10
9 x1 + 4x2 36
Contraintes de positivité
x1 0 et x2 > 0
contraintes linéaires.
Un programme linéaire est dit sous sa fprme canonique pure s’il s’ecrit sous la forme
s.c.
c = (c1; c2 ; :::; cn )T 2 Rn
b = (b1 ; b2 ; :::; bn )T 2 Rn
Alors ( ) devient
max F (x) = cT x
x
8 s.c.
>
< Ax 6 b
forme matricielle du programme linéaire
>
: X > 0
max F (x) = cT x
x
8
> P
n
>
> 8i 2 l1 ; aij xj = ai1 x1 + ai2 x2 + ::::: + ain xn 6 bi
>
>
>
>
j
>
> P
n
< 8i 2 l2 ; aij xj = bj
s.c. j
>
>
>
> 8j 2 J1 ; xj > 0
>
>
>
>
>
: 8j 2 J ;
2 xj est de signe quelconque
7
Université Félix Houphouet-Boigny U.F.R - SSMT
max F (x) = cT x
x 8
>
< Ax = b
>
: x>0
Variable d’écart
A…n de ramener les contraintes d’inégalités à celle des égalités, on introduit des variables
Ces variables sont aussi non négatives. La variable d’écart d’une contrainte représente la
Soit :
A l’aide des variables d’écart,un programme linéaire peut être transformé de la forme
A x 6 b () A x + x0 = b
X
() (A j I) X0
=b
eX
A x 6 b () A e + b; où
e = A j I et X
A e= X
X0
contraintes.
M axF (x) = 3 x1 x2 + x3
8 s.c.
>
> 2x1 x2 6 5
>
>
<
> x1 3 x3 > 2
>
>
>
: x ;x ;x > 0
1 2 3
Solution :
M axF (x) = 3 x1 x2 + x3
8
>
> 2 x1 x2 + e1 = 5
>
>
<
s.c. x1 3 x3 e2 = 2 ; Le nombre de variables d’écart = nombre de
>
>
>
>
: x ;x ;x ;e ;e > 0
1 2 3 1 2
contraintes.
On a :
9
Université Félix Houphouet-Boigny U.F.R - SSMT
8 8
>
< Ax>b >
< Ax6b
A x = b () ()
>
: Ax6b >
: Ax6 b
8
>
< Ax6b
A x = b ()
>
: Ax6 b
() A
A
x6 b
b
e x6B
A x = b () A e =
e où A A
et f
B= b
:
A b
Exemple 1.2.2. :
min F (x)
8 = 3 x1 2 x2 + 4 x3 + x4
>
>
>
> x1 3 x2 + 6
>
>
>
>
< 3 x2 + 2 x4 = 10
s.c.
>
>
>
> x4 = 2
>
>
>
>
: x 1 ; x2 ; x3 ; x 4 > 0
Solution :
min F (x) = 3 x1 2 x2 + 4 x3 + x4
0 1 0 1
B 1 3 0 0 C B 6 C
B C B C
Soit A=B B 0 3 0 2 C B
C etb = B 10
C
C
@ A @ A
0 0 0 1 2
8 8
>
< Ax6b >
< Ax6b
A x = b () ()
>
: Ax>b >
: Ax6 b
8
>
< Ax6b
Ax = b ()
>
: Ax6 b
Ax = b () A
A
x6 b
b
0 1 0 1
B 1 3 0 0 C0 1 B 6 C
B C B C
B 0 3 0 2 C B 10 C
B CB x1 C B C
B CB C B C
B CB B
C B C
B 0 0 0 1 C C B 2 C
B CB x2 C
() B CB C6B C
B CB C B C
B 1 3 0 0 CB x3 C B 6 C
B CB C B C
B C@ A B C
B 0 3 0 2 C x4 B 10 C
B C B C
@ A @ A
0 0 0 1 2
8
>
>
>
> x1 3x2 6 6
>
>
>
>
>
> 3x2 + 2x4 6 10
>
>
>
>
>
< x4 6 2
()
>
>
>
> x1 + 3x2 6 6
>
>
>
>
>
> 3x2 2x4 6 10
>
>
>
>
>
: x4 6 2
11
Interprétation économique
Méthodes de résolution du
programme linéaire
méthode algébrique
Soit : (Mi ) : ai x1 + bi x2 = ci
(P1 ) : ai x1 + bi x2 > ci
12
CHAPITRE 2. MÉTHODES DE RÉSOLUTION DU PROGRAMME LINÉAIRE
(P2 ) : ai x1 + bi x2 6 ci
Chaque contrainte détermine l’un des deux démi-plans (P1 ) et (P2 ) que l’on trouvera en
véri…ant si un point particulier est contenu dans l’un des deux démi-plans (P1 ) et (P2 ).
des points réalisables : ce sont les solutions communes à toutes les contraintes.
Cet ensemble est appelé domaine ou région réalisable (R) : Il peut être borné, ou non
borné ou vide.
repérer parmi ces solutions réalisables celles qui donnent à F (x1 ; x2 ) une valeur constante p
(DP ) : a0 x1 + b0 x2 = p:
Cette droite (DP ) est appelée droite d’iso-valeur de la fonction F . Elle représente les
Intéressons nous donc à la famille des droites (DP ) avec P paramè[Link] sont toutes les
a0
droites parallèles de pente : b0
(b0 6= 0)
a0 P
(DP ) : x2 = b0
x1 + b0
; (b0 6= 0)
P
Posons yp = b0
qui est l’ordonnée à l’origine de la droite (DP ).
P1
yp1 = b0
P2
yp2 = b0
Conséquence :
Le maximum de F est obtenu pour la droite ayant au moins un point commun avec la
13
Université Félix Houphouet-Boigny U.F.R - SSMT
Exemple 2.1.1. : Déterminer le point maximum et la valeur maximale de F dans les pro-
a. M axF (x1 ; x2 )8
= 5x1 + 8x2
>
>
>
> x1 + x2 6 13
>
>
>
>
< 5x1 + 2x2 6 50
s.c.
>
>
>
> 4x1 + 5x2 6 60
>
>
>
>
: x1 > 0 et x2 > 0
b. M axF (x; y) = 8 x + 2y
>
>
>
> x+y 61
>
>
>
>
< 2x y 6 3
s.c.
>
>
>
> 5x 3y 6 10
>
>
>
>
: x; y > 0
n(ao,bo)
1
B
A
n(ao,bo)
Conséquence:
Le maximum de F est obtenu pour la droite ayant au moins un point commun avec la
Conclusion:
Tous les points sur une même droite assurent la même valeur pour F . Quand on passe
15
2
A
B
n(ao,bo)
B
1
n(ao,bo)
Proposition 2.1.3. 3 : Si une fonction linéaire atteint son maximum ou minimum sur (R),
Solution réalisable
Rappels
A x = b () x = A 1 b:
Dé…nition 2.2.1. On appelle solution réalisable, tout vecteur x qui satisfait les contraintes
Solution de base
Dé…nition 2.2.2. Soit J C f1; 2; 3; :::ng un ensemble d’indices avec card (J) = m tel que
Les bases de A sont les matrices carrées d’ordre m inversibles extraites de A dont les
colonnes sont Aj ; j 2 J:
Les variables(XH = X j ; j 2
= J) sont appellées les variables hors-base.
On appelle solutions de base adjacentes, deux solutions de base dont les variables de base
sont les mêmes sauf une qui est de base dans la première et hors base dans la seconde.
Contre exemple :
y = (x1 ; x2 ; x3 ; x4 ; x5 ) = (2; 6; 2; 0; 0)
17
Université Félix Houphouet-Boigny U.F.R - SSMT
x et y sont des solutions de bases non adjacentes puisqu’elles di¤èrent par plus d’une
T
F (x) =
0c X 1
B cB C
En posant c = @ A on a :
cH
0 1
B XB C
F (x) = (cB j cH ) @ A
XH
F (x) = cB XB + cH XH
max F (x) = cB XB + cH XH
8
>
< B XB + H XH = b
s.c.
>
: xB > 0; xH > 0
Expression de XB
B XB + H XH = b () XB = B 1 b B 1 HXH
Expression de F (x)
F (x) = cB XB + cH XH
= cB (B 1 b B 1 H XH ) + cH XH
= cB B 1 b cB B 1
H XH + cH XH
F (x) = cB B 1 b + (cH cB B 1
H) XH
=) F (x) = cB B 1 b + (cH cB B 1
H) XH
En posant : c H = cH cB B 1 H; on a :
F (x) = cB B 1 b + c H XH
8
>
< XB = B 1 b
Alors :
>
: F (x) = cB B 1 b
d’où : XB = B 1 b 0
Ainsi :
solution optimale.
19
Université Félix Houphouet-Boigny U.F.R - SSMT
Solution
8 s.c.
>
> x1 + x2 + e1 = 6
>
>
<
> x2 + e2 = 3
>
>
>
: x ;x ;e ;e
1 2 1 2 0
card(J) = 2
4 3 2 1
Nombre d’ensemble Ji : C42 = (4 2)!2!
=6
B 1 1 C
J1 = f1; 2g =) B1 = @ A =) det(B1 ) = 1 6= 0 =) B1 est une basse
0 1
0 1
B 1 1 C
J2 = f1; 3g =) B2 = @ A =) det(B2 ) = 0 =) B2 n’est pas une base ;
0 0
0 1
B 1 0 C
J3 = f1; 4g =) B3 = @ A =) det(B3 ) = 1 6= 0 =) B3 est une basse ;
0 1
0 1
B 1 1 C
J4 = f2; 3g =) B4 = @ A =) det(B4 ) = 1 6= 0 B4 est une base ;
1 0
0 1
B 1 0 C
J5 = f2; 4g =) B5 = @ A =) det(B5 ) = 1 6= 0 =) B5 est une basse ;
1 1
0 1
B 1 0 C
J6 = f3; 4g =) B6 = @ A =) det(B6 ) = 1 6= 0 B6 est une base.
0 1
X6 = (0; 0; 6; 3)
21
Université Félix Houphouet-Boigny U.F.R - SSMT
F (x) = x1 + 2 x2 + 0 e1 + 0 e2
0 1 0 1 0 1
B 3 C B 0 C B 0 C
1. J1 = f1; 2g =) XB1 = @ A ; XH1 = @ A ; cB1 = (1 2) ; cH1 = @ A et
3 0 0
0 1
B 1 0 C
H1 = @ A
0 1
0 1 0 10 1 0 1
B 0 C B 1 1 CB 1 0 C B 1 1 C
c H1 = cH1 cB1 B1 1 H1 = @ A (1 2) @ A@ A= (1 2) @ A
0 0 1 0 1 0 1
0 1
B 1 C
c H1 =@ A 0 () X1 = (3; 3; 0; 0) est une solution optimale.
1
0 1 0 1
B 6 C B 0 C
2. J3 = f1; 4g =) XB3 = @ A ; XH3 = @ A ; cB3 = (1 0) ; cH3 = (2 0)
3 0
0 10 1
B 1 0 CB 1 1 C
c H3 = cH3 cB3 B3 1 H3 = (2 0) (1 0) @ A@ A
0 1 1 0
0 1
B 1 1 C
= (2 0) (1 0) @ A
1 0
= (2 0) (1 1)
=) c H3 = (1 1) ni positif ; ni négatif
0 10 1
B 1 0 CB 1 1 C
c H6 = (1 2)
(0 0) @ A@ A = (1 2) 0
0 1 0 1
=) X6 est une solution non optimale.
Dé…nition 2.2.7. Un processus de base est dit optimale si tous les coe¢ cients des variables
max F (x1 ; x2 ) = 5 x1 + 8 x2
8
>
>
>
> x1 + x2 6 13
>
>
>
>
< 5 x1 + 2 x2 6 50
s.c.
>
>
>
> 4 x1 + 5 x2 6 60
>
>
>
>
: x1 > 0; x2 > 0
max8F (x1 ; x2 ) = 5 x1 + 8 x2
>
>
>
> x1 + x2 + x3 = 13
>
>
>
>
< 5 x1 + 2 x2 + x4 = 50
s.c.
>
>
>
> 4 x1 + 5 x2 + x5 = 60
>
>
>
>
: xj > 0
Programme initial
Pour déterminer le programme initial, on pose habituellement à zéro, les variables prin-
cipales du modèle ; x1 = 0 et x2 = 0
23
Université Félix Houphouet-Boigny U.F.R - SSMT
8
>
> x3 = 13 x1 x2
>
>
<
On a : x4 = 50 5 x1 2 x2
>
>
>
>
: x = 60 4 x1 5 x2
5
Programme de base N 1
x1 = 0
x2 = 0
x3 = 13
x4 = 50
x5 = 60
F (x) = 0
Remarque 2.2.1. Dans le programme de base initial, on exprime toujours les variables
s’e¤ectue à l’aide d’un critère qui permet d’ameliorer le plus rapidement possible la valeur
de la fonction objectif.
F (x) = 5 x1 + 8 x2
On choisit la variable dont les coe¢ cients sont positifs et ayant le plus grand coe¢ cient.
Alors on choisit x2 car 8 5 ; autrement dit la variable x2 est une variable dans le
programme.
Détermination de la variable x2
8 8
>
> x3 = 13 x1 x2 >
> x3 > 0
>
> >
>
< <
x4 = 50 5 x1 2 x2 ( ) ; x4 > 0
>
> >
>
>
> >
>
: x = 60 4 x 5 x2 : x > 0
5 1 5
8
>
> 13 x2 > 0
>
>
<
()
> 50 2 x2 > 0 ; car x1 = 0
>
>
>
: 60 5 x > 0
2
8
>
> x2 6 13
>
>
<
()
> x2 6 25
>
>
>
: x 6 12
2
Pour s’assurer que toutes les contraintes sont respectées en même temps : on choisit de
x2 = 12
25
Université Félix Houphouet-Boigny U.F.R - SSMT
Du système ( ) on a :
x1 = 0; x2 = 12; x5 = 0; x3 = 1; x4 = 26
Ainsi, on obtient :
Programme de base N 2
x1 = 0
x2 = 12
x5 = 0
F (x) = 96
Pour s’asssurer que la valeur maximale de F est atteinte ou non, il faut exprimer cette
Du système ( ) ; on a :
8
>
> x3 = 13 x1 x2
>
>
<
x4 = 50 5 x1 2 x2 et F (x) = 5 x1 + 8 x2
>
>
>
>
: x = 60 4 x1 5 x2
5
4 1
x5 = 60 4x1 5x2 = x2 = 12 5
x1 5
x5
32 8
F (x) = 5x1 + 96 5
x1 5
x5
7 8
F (x) = 96 5
x1 5
x5
On remarque que tous les coe¢ cients des variables hors programme dans la fonction
F = 96
Exercices
Remarque 2.2.2. Si les variables dans la fonction objectif sont de coe¢ cients positifs égaux
Solution
8
>
> x1 + 4 x2 6 12
>
>
<
> 2 x1 + x2 6 10
>
>
>
: x > 0; x > 0
1 2
27
Université Félix Houphouet-Boigny U.F.R - SSMT
x1 et x2 sont les variables hors base et x3 ; x4 sont les variables dans le programme de
base.
8
>
< x3 = 12 x1 4 x2
De (1) on a :
>
: x4 = 10 2 x1 x4
8
>
< x3 = 12
Or x1 = x2 = 0 ()
>
: x4 = 10
D’où le programme N 1
x1 = 0
x2 = 0
x3 = 12
x4 = 10
F (x) = 0
F (x1 ; x2 ) = 3 x1 + 3x2
x1 = 5
x2 = 0
x3 = 7
x4 = 0
F (5; 0; 7; 0) = 15
F (x1 ; x2 ) = 3 x1 + 3x2
De (1), on a : 2 x1 + x2 + x4 = 10
1 1
2 x1 = 10 x2 x4 () x1 = 5 2
x2 2
x4
1 1
=) F (x2 ; x4 ) = 3 5 2
x2 2
x4 + 3 x2
3 3
= 15 2
x2 2
x4 + 3 + 3 x2
3 3
F (x2 ; x4 ) = 15 + 2
x2 2
x4
3
La variable x2 a pour coe¢ cient 2
0 =) la valeur de F (x2 ; x4 ) peut être ameliorée.
Exprimons x1 et x3 en fonction de x2 et x4
8
>
< x1 = 5 1 1
2
x2 2
x4
De (1) on a :
>
: x3 = 12 x1 4 x2
8
>
< x1 = 5 1 1
2
x2 2
x4
>
: x3 = 12 1 1
5+ 2
x2 + 2
x4 4 x2
8
>
< x1 = 5 1 1
2
x2 2
x4
>
: x3 = 7 7 1
2
x2 + 2
x4
8 8
>
< x1 > 0 >
< 5 1
2
x2 > 0
Or () , car x4 = 0
>
: x3 > 0 >
: 7 7
2
x2 > 0
29
Université Félix Houphouet-Boigny U.F.R - SSMT
8
>
< x2 6 10
() x2 = 2
>
: x2 6 2
et x1 = 4
Programme de base N 3
x1 = 4
x2 = 2
x3 = 0
x4 = 0
F (4; 2; 0; 0) = 18
Déterminons F (x3 ; x4 )
3 3
F (x2 ; x4 ) = 15 + 2
x2 2
x4
7 1
De (2) on a : x3 = 7 2
x2 + 2
x4
2 1
x2 7
x3 + 7
x4
3 2 1 3
F (x3 ; x4 ) = 15 + 2
2 7
x3 + 7
x4 2
x4
3 9
F (x3 ; x4 ) = 18 x3 x4
7 7
On remarque que tous les coe¢ cients des variables x3 et x4 sont négatifs donc la valeur
Algorithme du simpexe
8
>
> a11 x1 + a12 x2 + + a1n xn b1
>
>
>
>
>
>
>
> a21 x1 + a22 x2 + + a2n xn b2
>
<
s.c.
>
>
>
>
>
> am1 x1 + am2 x2 + + amn xn bm
>
>
>
>
>
: x
1 0; x2 0; : : : xn 0;
Forme standard
8
>
> a11 x1 + a12 x2 + + a1n xn + e1 = b1
>
>
>
>
>
>
>
> a21 x1 + a22 x2 + + a2n xn + e2 = b2
>
<
s.c. ;
>
>
>
>
>
> am1 x1 + am2 x2 + + amn xn + em = bm
>
>
>
>
>
: x
1 0; x2 0; : : : xn 0; ei 0
B x1 x2 ::: xn e1 e2 ::: em
c1 c2 ::: cn 0 0 ::: 0 0
31
Université Félix Houphouet-Boigny U.F.R - SSMT
x = (0; 0; : : : ; 0).
Si aucun choix n’est possible, alors la solution optimale est atteinte et l’algo
rithme se termine.
Ainsi la ligne de pivot est la k eme ligne et le pivot est le coe¢ cient akj situé à
autour du pivot (déjà unitaire) ; autrement dit, on annule tous les éléments de la
colonne
Si tous les coe¢ cients cij sont négatifs ou nuls, alors l’algorithme se termine. Ainsi
qui se trouve à l’intersection de la ligne des coe¢ cients cij et de la colonne des constantes
bi du second membre.
2. Lorsque la ligne de pivot croise une colonne en 0, alors on conserve cette colonne ;
Etape 0
B x1 x2 e1 e2 s:m:
e1 1 4 1 0 12
e2 2 1 0 1 10
3 3 0 0 0
Colonne du pivot
Il faut déterminer le plus grand coe¢ cient positif des variables de la fonction objectif.
Les deux variables x1 et x2 ayant le même coe¢ cient,alors le coe¢ cient de la variable
x1 sera choisi :
33
Université Félix Houphouet-Boigny U.F.R - SSMT
Ligne du pivot
Il faut diviser les éléments de la dernière colonne de la matrice par les éléments corres-
On choisit la plus petite valeur des rapports et qui appartient à une des lignes de la
matrice.
5 étant la plus petite valeur et qui appartient à la 2e ligne de la matrice, alors cette ligne
pivot.
B x1 x2 e1 e2 s:m: rapport
e1 1 4 1 0 12 12 1 = 12
e2 2 1 0 1 10 10 2=5
3 3 0 0 0
1 2
e1 0 7/2 1 7 7 =2
2 7
1 1
x1 1 0 5 5 2 = 10
2 2
3 3
0 0 15
2 2
2 1
x2 0 1 2
7 7
1 4
x1 1 0 4
7 7
3 9
0 0 18
7 7
On remarque que tous les coe¢ cients de la dernière ligne ne sont pas négatifs. Alors la
3 3
2
0 et 2
est sur la 2e colonne alors cette colonne est la colonne du pivot.
La ligne du pivot est la première ligne de la matrice. Ainsi l’élément du pivot est
7
:
2
Rendons le unitaire
On remarque que tous les éléments de la dernière ligne de la matrice sont négatifs. Donc
la colonne du pivot.
de la colonne du pivot.
6: Repéter les 5 premières étapes jusqu’à ce que tous les éléments de la dernière ligne
35
Université Félix Houphouet-Boigny U.F.R - SSMT
7: Les colonnes ne contenant qu’un seul élément non nul sont celles correspondant
La valeur de ces variables est donnée dans la dernière colonne, les variables hors
La valeur maximale de la fonction objectif (plus exactement sont opposé) est donnée
F (x1 ; x2 ) = 6 x1 + 4 x2
8
>
>
>
> 3 x1 + 9 x2 6 81
>
>
>
>
< 4 x1 + 5 x2 6 55
s.c.
>
>
>
> 2 x1 + x2 6 20
>
>
>
>
: x 1 ; x2 > 0
max F (x; y) = 12 x + 12 y
8
>
> x+y 67
>
>
<
s.c.
> 2 x+y 69
>
>
>
: x > 0; y > 0
Forme standard
max F (x; y) = 12 x + 12 y
8
>
> x + y + e1 = 7
>
>
<
s.c. 2 x + y + e2 = 9
>
>
>
>
: x > 0; y > 0; e > 0; e > 0
1 2
x y e1 e2 S:m: R
e1 1 1 1 0 7 7=1 7=1
e2 2 1 0 1 9 9=2 9=1
F (x; y) 12 12 0 0 0
Ainsi les rapports identi…ants les pivots éventuels sont : 9=2 et 7=1
Pour choisir le pivot, on prend le plus grand des 2 rapports ; c’est-à-dire : 7=1
Le choix de la ligne de pivot pose problème si les plus petits rapports positifs sont égaux.
37
Université Félix Houphouet-Boigny U.F.R - SSMT
ci-dessus.
M ax F (x; y) = 8 x + 5 y
8
>
> x+y 67
>
>
<
s.c.
> 2 x + y 6 14
>
>
>
: x > 0; y > 0
Forme standard
M ax F (x; y) = 8 x + 5 y
8
>
> x + y + e1 = 7
>
>
<
s.c. 2 x + y + e2 = 14
>
>
>
>
: x > 0; y > 0; e > 0; e > 0
1 2
Base x y e1 e2 S:m R
e1 1 1 1 0 7 7=1 = 7
e2 2 1 0 1 14 14=2 = 7
F (x; y) 8 5 0 0 0
1 + 1 + 1 + 0 = 3; 3=1 pivot =3
2 + 1 + 0 + 1 = 4; 4=2 pivot =2
On choisit la ligne de pivot correspondant au plus grand des 2 rapports : 3=1 et 4=2
Variables arti…cielles
1: Introduire des variables dites arti…cielles ai (i = 1; :::; p) dans les contraintes qui
Les variables arti…cielles interviennent exclusivement dans les contraintes égalités ou in-
égalités tournées dans le sens supérieur ou égal à le second membre étant positif et ceci
P
2: Remplacer la fonction objectif par : M ax F (x) = ct x M m ai ou
P
M in F (x) = ct x + M m ai, où M est une constante positive assez grande.
4: Chaque fois que M est comparé à un nombre, il sera toujours considéré comme
plus grand ;
(c’est-à-dire qu’au moins une variable arti…cielle est encore dans la base dans le
M in F (x) = x1 + x2
8
>
> 7 x1 + 5 x2 > 40
>
>
<
s.c.
> x1 + 4 x2 > 9
>
>
>
: x > 0; x > 0
1 2
39
Université Félix Houphouet-Boigny U.F.R - SSMT
Forme standard :
M in F (x) = x1 + x2 + 0 e1 + 0 e2 + M a1 + M a2
8
>
> 7 x1 + 5 x2 e1 + a1 = 40
>
>
<
s.c. x1 + 4 x2 e2 + a2 = 9
>
>
>
>
: xj > 0; e2 > 0; a1 > 0
En posant x1 = x2 = e1 = e2 = 0; on a :
8
>
< a1 = 40
() F (M ) = 40 M + 9 M = 49 M:
>
: a2 = 9
et
F (x) = x1 + x2 + M (40 7 x1 5 x2 + e1 ) + M (9 x1 4 x2 + e2 )
F (x) = (1 7M M ) x1 + (1 5M 4 M ) x2 + M e1 + M e2 + 49 M:
Base x1 x2 e1 e2 a1 a2 S:m R
a1 7 5 1 0 1 0 40 40=5 = 8
a2 1 4 0 1 0 1 9 9=4 = 2; 5
F 1 8M 1 9M M M 0 0 49 M
M ax F (x) = x1 x2
8
>
>
>
> 2 x1 x2 > 4
>
>
>
>
< x1 x2 6 4
s.c.
>
>
>
> x1 + x2 6 10
>
>
>
>
: x1 0; x2 0
8min (F ) = x1 + x2 + M a
>
>
>
> 2 x1 x2 > 2
>
>
>
>
< x1 2 x2 6 8
s.c.
>
>
>
> x1 + x2 6 5
>
>
>
>
: x1 > 0; x2 0
Forme standard
8
>
>
>
> 2 x1 + x2 + e1 = 2
>
>
>
>
< x1 + 2 x2 e2 + a = 8
>
>
>
> x1 + x2 + e3 = 5
>
>
>
>
: x1 ; x2 ; e1 ; e2 ; a 0
M ax F (x) = 10 x1 + 14 x2
8
>
>
>
> x1 + x2 > 12
>
>
>
>
< x1 > 8
s.c.
>
>
>
> x2 6 6
>
>
>
>
: xj > 0
Forme standard
41
Université Félix Houphouet-Boigny U.F.R - SSMT
M ax F (x) = 10 x1 + 14 x2 + M a1 + M a2
8
>
>
>
> x1 + x2 e1 + a1 = 12
>
>
>
>
< x1 e2 + a2 = 8
s.c.
>
>
>
> x2 + e3 = 6
>
>
>
>
: xj > 0; e1 > 0; a1 > 0
DUALITE EN PROGRAMMATION
LINEAIRE
Introduction :
La dualité est notion essentielle en programmation linéaire. A un programme linéaire
donné appelé primal est associé un programme linéaire appelé dual qui ne sera dé…ni qu’à
Exemple 3.1.1. Une usine fabrique deux types de jouets en bois : des soldats et trains. Les
1 soldat 1 2 3 u.m.
1 train 1 1 2 u.m.
Par semaine, l’usine dispose de toutes les matières premières nécéssairs à la fabrication
et ne dispose que 100h de …nition et 80h de menuiserie. La demande des trains et des soldats
est illimitée.
43
Université Félix Houphouet-Boigny U.F.R - SSMT
Les réssources disponibles étant les atéliers de ménuiserie et de …nition. Alors le Directeur
de l’usine acceptera-t-il cette proposition si le prix o¤ert par le client lui apporte le même
Alors F (x1 ; x2 ) = 3 x1 + 2 x2
8
>
> 2 x1 + x2 100 (…nition)
>
>
<
Les contraintes : x1 + x2 80 (menuiserie)
>
>
>
>
: x 0; x2 0
1
direction de l’usine.
ce qui veut dire que le revenu engendré par la vente de ces ressources est : y1 + 2 y2
Sachant que le pro…t engendré par la fabrication et la vente d’un soldat est 3 u:m:
D’où : :
y1 + 2 y2 3:
y1 + y2 2
Le prix de vente des ressources sont bien sûr positifs : y1 > 0; y2 > 0:
Direction de l’usine
M ax F (x1 ; x2 ) = 3 x1 + 2 x2
8
>
> x1 + x2 6 80
>
>
<
s.c.
> 2 x1 + x2 6 100
>
>
>
: x > 0; ; x > 0
1 2
Proposition du client :
45
Université Félix Houphouet-Boigny U.F.R - SSMT
2: Les coe¢ cients de la fonction objectif du primal deviennent les seconds membres
Les seconds membres des contraintes du primal deviennent les coe¢ cients de la fonction
bjectif du dual.
3: Les signes dans les inégalités des contraintes ou dans la contrainte de la positivité
des variables de décision suivent des règles précises de transformation (voir le tableau )
4: Comme le problème dual du dual est le problème primal initial , alors il convient
= quelconque
quelconque =
1:
Primal : Dual :
2.
Primal Dual
l’autre.
Exemple
47
Université Félix Houphouet-Boigny U.F.R - SSMT
x1 0 =) y1 + y2 + 7 y3 = 15;
x2 0 =) 3 y1 + y2 + 4 y3 = 258 8
8 >
> y1 + y2 = 15 >
> y1 = 5
> >
> >
>
< y1 + y2 + 7 y3 = 15 < <
Donc on a : =) 3 y1 + y2 = 25 =) y2 = 10
>
: 3 y1 + y2 + 4 y3 = 25 >
> >
>
>
> >
>
: y3 = 0 : y =0
3
Exercise 4.
M in F (x; x2 ; x3 ) = 2 x1 + 5 x2 + 3 x3
8
>
> x1 > 10
>
>
>
>
>
>
>
>
> x2 > 15
<
s.c.
> x1 + 2 x2 + x3 > 60
>
>
>
>
>
>
> 2 x1 + x2 + 2 x3 > 95
>
>
>
: x ;x ;x > 0
1 2 3
Max F MinZ
Variables xj 0 Contrainte j est une inégalité " "
Variables xj 0 Contrainte j est une inégalité " "
Variables xj sans signe Contrainte j est une égalité " = "
Contrainte i est une inégalité " " Variable yi 0
Contrainte i est une inégalité " " Variable yi 0
Contrainte i est une égalité " = " Variable yi sans signe
Le tableau ci-dessus peut être expliqué par les deux tableaux suivants:
PRIMAL DUAL
Max F ! MinZ
Variables xj 0 ! Contrainte j est une inégalité " "
Variables xj 0 ! Contrainte j est une inégalité " "
Variables xj sans signe ! Contrainte j est une égalité " = "
Contrainte i est une inégalité " " ! Variable yi 0
Contrainte i est une inégalité " " ! Variable yi 0
Contrainte i est une égalité " = " ! Variable yi sans signe
PRIMAL DUAL
MinZ ! Max F
Variable xi 0 ! Contrainte i est une inégalité " "
Variable xi 0 ! Contrainte i est une inégalité " "
Variable xi sans signe ! Contrainte i est une égalité " = "
Contrainte j est une inégalité " " ! Variables yj 0
Contrainte j est une inégalité " " ! Variables yj 0
Contrainte j est une égalité " = " ! Variables yj sans signe
PRIMAL DUAL
eme
xi > 0 =) La i contrainte est saturée
A une contrainte i non saturée =) Variables yi = 0
A une contrainte i saturée =) Variables yi 6= 0