Académique Documents
Professionnel Documents
Culture Documents
1 Introduction 1
2 Optimisation linéaire 3
2.1 Problèmes de programmation linéaire . . . . . . . . . . . . . . . 3
2.2 Formulation d’un programme linéaire (PL) . . . . . . . . . . . . . 3
2.2.1 Les conditions de formulation d’un PL . . . . . . . . . . . 3
2.2.2 Les étapes de formulation d’un PL . . . . . . . . . . . . 4
2.2.3 Exemples de formulations . . . . . . . . . . . . . . . . . . 4
2.2.4 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 La méthode du simplexe 9
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Formulation du problème . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.1 Forme canonique . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.2 Forme standard . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3 Résolution par la méthode du simplexe . . . . . . . . . . . . . . . 14
3.3.1 Résolution d’un programme linéaire canonique par rapport
à la base I. . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3.2 Résolution d’un programme linéaire quelconque . . . . . . 24
3.4 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
i
Chapitre 1
Introduction
1
Introduction
Optimiser z = f (x1 , x2 , . . . , xn )
où la fonction objectif f est une fonction numérique à n variables dans le cas
d’une optimisation sans contraintes.
Dans le cas d’une optimisation avec contraintes, le problème s’écrit alors sous la
forme suivante :
2 Programmation linéaire
Chapitre 2
Optimisation linéaire
Optimiser z = c1 x 1 + c2 x 2 + . . . + cn x n (2.1)
≤
Sous les contraintes ai1 x1 + ai2 x2 + . . . + ain xn ≥ bi
(2.2)
=
xj ≥ j = 1...n (2.3)
3
Optimisation linéaire
4 Programmation linéaire
2.2 Formulation d’un programme linéaire (PL)
Pr.Khatmi 5
Optimisation linéaire
Minimiser z = x1 + x2
Sous contraintes 2x1 + x2 ≥ 12
5x1 + 8x2 ≥ 74
x1 + 6x2 ≥ 24
x1 ≥ 0, x2 ≥ 0
6 Programmation linéaire
2.2 Formulation d’un programme linéaire (PL)
2.2.4 Exercices
Faites la formulation mathématique des programmes linéaires suivants.
Exercice 2.2.1.
Une entreprise fabrique des chaises et des tables à l’aide de deux machines A
et B. Chaque produit passe obligatoirement par les deux machines. Pour produire
une chaise, il faut 2 heures de machine A et 1 heure de machine B. Pour produire
une table, il faut 1 heure de machine A et 2 heures de machine B. L’entreprise
réalise un bénéfice de 3Dh sur chaque chaise et de 4 Dh sur chaque table. Les deux
machines A et B sont disponibles 12 heures par jour au maximum. Le problème
consiste à savoir combien de chaises et de tables il faut fabriquer pour maximiser
le bénéfice.
Exercice 2.2.2.
Une compagnie possède deux mines de charbon A et B. La mine A produit
quotidiennement 1 tonne de charbon de qualité supérieure, 1 tonne de qualité
moyenne et 6 tonnes de qualité inférieure. La mine B produit par jour 2, 4 et
3 tonnes de chacune des trois qualités. La compagnie doit produire au moins 90
tonnes de charbon de qualité supérieure, 120 tonnes de qualité moyenne et 180
tonnes de qualité inférieure. Sachant que le coût de production journalier est le
même dans chaque mine, soit 1 000, quel est le nombre de jours de production
dans la mine A et dans la mine B qui minimisent le coût de production de la
compagnie ?
Exercice 2.2.3.
Un tailleur a à sa disposition 10 mètres de coton, 7,5 mètres de laine et 5
mètres de soie. Il a besoin pour un complet d’un mètre de coton, d’un mètre de
laine et de 0,25 mètre de soie. Pour une robe, il emploie un mètre de coton, 0,5
mètre de laine et un mètre de soie. Si un complet coûte 160 Dh et une robe 100
Dh, combien doit-il confectionner de complets et de robes pour maximiser son
revenu ?
Exercice 2.2.4.
Une diététicienne doit préparer un repas composé de deux aliments A et B qui
contienne au moins 300 g de protéines et 400 g d’hydrates de carbone. Chaque
unité de l’aliment A contient 10 g de protéines et 16 g d’hydrates de carbone et
coûte 80 centimes. Chaque unité de l’aliment B contient 12,5 g de protéines et
10 g d’hydrates de carbone et coûte 1,20 Dh. Déterminer le mélange qui coûte
le moins cher et qui apporte la quantité requise de protéines et d’hydrates de
carbone.
Pr.Khatmi 7
Optimisation linéaire
8 Programmation linéaire
Chapitre 3
La méthode du simplexe
3.1 Introduction
9
La méthode du simplexe
Optimiser z = c1 x 1 + c2 x 2 + . . . + cn x n (3.1)
≤
Sous les contraintes ai1 x1 + ai2 x2 + . . . + ain xn ≥ bi
(3.2)
=
xj ≥ 0 j = 1...n (3.3)
Optimiser z = cx (3.4)
≤
Sous les contraintes Ax ≥ b (3.5)
=
x≥0 (3.6)
c1 x1 · · · a1n
a11 a12
c2 x2 · · · a2n
a21 a22
Avec c = , x = et A =
.. .. .... .. ..
.
. . . . .
cn xn am1 am2 · · · amn
Un problème de programmation linéaire peut se présenter sous différentes
formes. En voici la terminologie.
Maximiser z = cx (3.7)
Sous les contraintes Ax ≤ b (3.8)
x≥0 (3.9)
Tout problème de programmation linéaire peut être posé sous forme cano-
nique. Deux cas peuvent alors se présenter : La transformation de minimisation
en maximisation, la transformation des contraintes economiques et les contraintes
de signe.
10 Programmation linéaire
3.2 Formulation du problème
1. Transformation minimisation-maximisation
Tout problème de minimisation peut être transformé en un problème équi-
valent de maximisation. En effet, le problème :
La raison pour laquelle ces deux formulations sont équivalentes est simple :
la solution qui permet d’obtenir la plus petite valeur de z fournit également
la plus grande valeur de (−z). La seule différence réside dans le signe de la
valeur de la fonction objectif. La valeur minimale de z s’obtient en prenant
l’opposé de la valeur maximale de (−z).
Exemple 3.2.1. Minimiser z = 3x1 −2x2 +5x3 La formulation équivalente
en terme de maximisation est : Maximiser (−z) = −3x1 + 2x2 − 5x3
2. Transformation des contraintes économiques
Pr.Khatmi 11
La méthode du simplexe
12 Programmation linéaire
3.2 Formulation du problème
Tout problème de programmation linéaire peut être posé sous forme stan-
dard. Trois cas peuvent alors se présenter : La transformation de minimisation
en maximisation, la transformation des contraintes de signe et la transforma-
tion des contraintes économiques inégalitées en contraintes égalitées. La transfor-
mation minimisation-maximisation et la transformation des contraintes de signe
sont déja traités au paragraphe précédent, il reste la dernière transformation .
Transformation des contraintes inégalitées en contraintes égalitées
Pr.Khatmi 13
La méthode du simplexe
• La contrainte x1 − 2x2 ≤ 5
En introduisant la variable d’écart t1 , elle va être transformée en
x1 − 2x2 + t1 = 5
3x1 + 2x2 − t2 = 2
En résumé, nous avons vu que la fonction objectif d’un programme linéaire peut
être présentée sous forme de maximisation, que les contraintes peuvent toujours
s’écrire sous forme d’égalité (avec des bi positifs) et que les variables sans restric-
tion de signe peuvent être décomposées en variables non-négatives. En d’autres
termes un programme linéaire peut toujours être présenté sous sa forme standard.
Maximiser z = cx (3.13)
Sous contraintes Ax = b (3.14)
x≥0 (3.15)
b≥0 (3.16)
14 Programmation linéaire
3.3 Résolution par la méthode du simplexe
Dans cette formulation, le vecteur x contient toutes les variables, y compris les
variables d’écart ; il s’agit d’un vecteur colonne d’ordre (n × 1). Le vecteur c est
un vecteur ligne d’ordre (1×n). Quant à la matrice A, d’ordre (m×n), il s’agit de
la matrice des coeffcients des contraintes transformées. Enfin, le vecteur b d’ordre
(m × 1) est le vecteur (positif) du second membre.
Définition 3.3.1.
• On appelle solution d’un problème de programmation linéaire tout vecteur
x qui satisfait les contraintes (3.14).
• Une solution est appelée solution réalisable si elle vérifie les contraintes de
non-négativité (3.15). Dans le cas contraire, on dit que la solution n’est pas
réalisable.
• Une solution réalisable est une solution optimale s’il n’existe pas d’autres
solutions réalisables qui fournissent une plus grande valeur de la fonction
objectif.
Remarque 3.3.1. À noter que dans un problème possédant des solutions réali-
sables, il se peut que la valeur optimale de la fonction objectif soit infinie. Dans
ce cas, on parle de solution optimale infinie.
Pr.Khatmi 15
La méthode du simplexe
manière suivante :
Maximiser z = cB x B + cN x N (3.17)
Sous contraintes BxB + N xN = b (3.18)
xB ≥ 0, xN ≥ 0 (3.19)
b≥0 (3.20)
BxB = b − N xN
xb = B −1 b − B −1 N xN
Lorsque toutes les variables hors base sont nulles, xN = 0, la relation (3.3)devient
xb = B −1 b.
Remarque 3.3.2. Si les variables de base forment une solution de base réalisable,
on dit que la base I est réalisable.
16 Programmation linéaire
3.3 Résolution par la méthode du simplexe
Formons à partir de A une matrice de base B en prenant par exemple les colonnes
2 et 4, dans cet ordre :
2 1
B=
−4 0
B −1 =
1
1 2
0 − 14
x2 16 −5
xB = = =
1
x4 1 2
20 26
Définition 3.3.5. Un programme linéaire sous forme standard est dit sous forme
canonique par rapport à une base I si la matrice B est l’identité et les coûts
correspondant aux variables de base sont nuls.
Pr.Khatmi 17
La méthode du simplexe
1. Initialisation
Pour avoir une solution initiale réalisable, on commence par extraire de la
matrice A une base I qui soit réalisable et telle que le programme linéaire
soit sous forme canonique par rapport à cette base.
3 4 1 0 1 0
A= ⇒B= et I = (3, 4)
6 3 0 1 0 1
18 Programmation linéaire
3.3 Résolution par la méthode du simplexe
HHB :
HH
x1 x2 t1 t2 C
B HHH
t1 3 4 1 0 160
t2 6 3 0 1 180
4 1200 1000 0 0 −z0 = 0
Pr.Khatmi 19
La méthode du simplexe
HHB :
HH
x1 x2 t1 t2 C R
B HHH
160
t1 3 4 1 0 160 3
t2 6 3 0 1 180 30
4 1200 1000 0 0 −z0 = 0
HHB :
HH
x1 x2 t1 t2 C R
B HHH
160
t1 3 4 1 0 160 3
t2 6 3 0 1 180 30
4 1200 1000 0 0 −z0 = 0
20 Programmation linéaire
3.3 Résolution par la méthode du simplexe
Tableau 1
HHB :
HH
x1 x2 t1 t2 C
B HH
H
t1 0 5/2 1 −1/2 70
x1 1 1/2 0 1/6 30
4 0 400 0 -200 −36000
3. Test d’arrêt
HHB :
HH
x1 x2 t1 t2 C R
B HHH
t1 0 5/2 1 −1/2 70 28
x1 1 1/2 0 1/6 30 60
4 0 400 0 -200 −36000
x2 rentre dans la base et t1 sort de la base.
Pr.Khatmi 21
La méthode du simplexe
T ableau2
HHHB :
H
x1 x2 t1 t2 C
B HHH
x2 0 1 2/5 −1/5 28
x1 1 0 −1/5 4/15 16
4 0 0 -160 -120 −47200
Tous les coefficients de la ligne 4 relatifs aux variables HB, sont négatifs ou
nuls, la solution trouvée est optimale. Nous avons donc ici atteint la solution
optimale.Ce tableau nous donne la solution optimale admissible :
X Les variables Hors Base (HB) sont nulles : t1 = 0 ; t2 = 0
X Les valeurs des variables dans la Base (B) se lisent dans la colonne C :
x2 = 28 et x1 = 16
−z = −47200 ⇒ z = 47200
Maximiser z = x1 + 2x2
Sous contraintes −3x1 + 2x2 ≤ 2
x1 + 2x2 ≤ 4
−x1 + x2 ≤ 5
x1 ≥ 0, x2 ≥ 0,
22 Programmation linéaire
3.3 Résolution par la méthode du simplexe
T ableau0
HHB :
HH
x1 x2 t1 t2 t3 C R
B HH
H
t1 -3 2 1 0 0 2 1
t2 1 2 0 1 0 4 2
t3 -1 1 0 0 1 5 5
4 1 2 0 0 0 -z0=0
Dans le tableau 0, on remarque que la variable x2 a un coût 2, donc positif et il
ya au moins un coefficient de la colonne x2 qui est positif,en plus aucune variable
hors base n’a un coût nul donc on passe au tableau 1.
T ableau1
HHB :
HH
x1 x2 t1 t2 t3 C R
B HHH
x2 − 32 1 1
2
0 0 1 − 23
1
t2 4 0 -1 1 0 2 2
1
t3 2
0 − 21 0 1 4 8
4 4 0 -1 0 0 -z0=-2
Dans le tableau 1, on remarque que la variable x1 a un coût 4, donc positif et il
ya au moins un coefficient de la colonne x1 qui est positif,en plus aucune variable
hors base n’a un coût nul donc on passe au tableau 2.
T ableau2
HHB :
HH
x1 x2 t1 t2 t3 C R
B HHH
1 3 7
x2 0 1 8 8
0 4
14
x1 1 0 − 41 1
4
0 1
2
-2
t3 0 0 − 83 - 81 1 15
4
-10
4 0 0 0 -1 0 -z0=-4
Dans le tableau 2, on remarque que le coût de la variable hors base t1 est nul,
donc la solution est un ségement de premier sommet M1 = ( 12 , 74 ), l’autre sommet
est retrouvé en faisant entrer t1 dans la base.
T ableau3
HHHB :
H
x1 x2 t1 t2 t3 C R
B HHH
t1 0 8 1 3 0 14
x1 1 2 0 1 0 4
t3 0 3 0 1 1 9
4 0 -4 0 -1 0 -z0=-4
L’autre sommet est M2 = (4, 0).
Pr.Khatmi 23
La méthode du simplexe
Maximiser z = x1 + x 2
Sous contraintes 2x1 + 2x2 ≤ 8
x1 ≥ 0, x2 ≥ 0
Maximiser z = x1 + x2
Sous contraintes 2x1 + 2x2 + t = 8
x1 ≥ 0, x2 ≥ 0, t ≥ 0
HHHB :
H
x1 x2 t C
B H
HH
Tableau 0 :
t 2 2 0 8
4 1 1 0 0
HHB :
HH
x1 x2 t C
B HHH
Tableau 1 :
x1 1 1 0 4
4 0 0 0 -4
Sur la ligne 4 la variable x2 hors base a un coefficient nul, la solution est une
arête dont les sommets sont (x1 = 4, x2 = 0) et (x1 = 0, x2 = 4)
24 Programmation linéaire
3.3 Résolution par la méthode du simplexe
phique.
Maximiser z = 2x1 + 5x2
Sous contraintes 8x1 + 4x2 ≥ 40
x1 + 5x2 ≥ 10
x1 ≥ 0, x2 ≥ 0
La mise sous forme standard ramène deux variables d’écart.
Maximiser z = 2x1 + 5x2
Sous contraintes 8x1 + 4x2 − t1 = 40
x1 + 5x2 − t2 = 10
x1 ≥ 0, x2 ≥ 0 t1 ≥ 0, t2 ≥ 0
On introduit des variables artificielles dans les équations qui posent problème.
On prends pour objectif artificielle minimiser ses varaibles.
Le programme artificielle associé est
Minimiser w = k1 + k2
Sous contraintes 8x1 + 4x2 − t1 + k1 = 40
x1 + 5x2 − t2 + k2 = 10
x1 ≥ 0, x2 ≥ 0 t1 ≥ 0, t2 ≥ 0 k1 ≥ 0, k2 ≥ 0
m
Maximiser (−w) = −k1 − k2
Sous contraintes 8x1 + 4x2 − t1 + k1 = 40
x1 + 5x2 − t2 + k2 = 10
x1 ≥ 0, x2 ≥ 0 t1 ≥ 0, t2 ≥ 0 k1 ≥ 0, k2 ≥ 0
Le programme artificielle relève du cas de programme canonique par rapport
à la base, en effet :
8 4 −1 0 1 0 1 0
A= ⇒B= et I = (5, 6)
1 5 0 −1 0 1 0 1
Pr.Khatmi 25
La méthode du simplexe
HHB :
HH
x1 x2 t1 t2 k1 k2 C R
B HH
H
Tableau 0 : k1 8 4 −1 0 1 0 40 5
k2 1 5 0 −1 0 1 10 10
4 9 9 -1 -1 0 0 50
HHB :
HH
x1 x2 t1 t2 k1 k2 C R
B HH
H
Tableau 1 : x1 1 1/2 −1/8 0 1/8 0 5 10
k2 0 9/2 1/8 −1 −1/8 1 5 10/9
4 0 9/2 1/8 -1 −9/8 0 5
HHB :
HH
x1 x2 t1 t2 k1 k2 C
B HH
H
Tableau 2 : x1 1 0 −5/36 1/9 5/36 -1/9 40/9
x2 0 1 1/36 −2/9 −1/36 2/9 10/9
4 0 0 0 0 −1 -1 0
26 Programmation linéaire
3.3 Résolution par la méthode du simplexe
5 1 40 5 1 40
x1 − t1 + t2 = ⇔ x1 = t1 − t2 +
36 9 9 36 9 9
1 2 10 1 2 10
x2 + t1 − t2 = ⇔ x2 = − t1 + t2 +
36 9 9 36 9 9
La fonction objectif z est alors égale à :
5 8 130
z= t1 + t2 +
36 9 9
Pour déterminer z0 , on évalue l’objectif (attention à la constante) sur la solution
de base : z0 = 130
9
HHHB :
H
x1 x2 t1 t2 C R
B HHH
Tableau 0 : x1 1 0 −5/36 1/9 40/9 40
x2 0 1 1/36 −2/9 10/9 -5
4 0 0 5/36 8/9 -130/9
HHB :
HH
x1 x2 t1 t2 C
B HHH
Tableau 1 : t2 9 0 −5/4 1 40
x2 2 1 −1/4 0 10
4 -8 0 5/4 0 -50
On remarque que la variable hors base t1 a une valeur positive dans la ligne
4, mais ses autres coefficients sont tous nuls, donc le test d’arrêt est vérifié, le
problème n’est pas borné et la solution optimale est l’infini, résultat confirmé par
la méthode graphique.
Pr.Khatmi 27
La méthode du simplexe
3.4 Exercice
Exercice 3.4.1. Soit le programme linéaire suivant :
Exercice 3.4.3.
28 Programmation linéaire