Académique Documents
Professionnel Documents
Culture Documents
FSJES Guelimim
2020/2021
2 La méthode graphique
3 La méthode du simplexe
5 Analyse de sensibilité
Chapitre 1 :
Programmes linéaires
et modélisation
1. Introduction
Exemples de problèmes
Résolution du modèle
I Choix d'un algorithme (Simplexe par ex.)
I Utilisation des logiciels spécialisés (Excel, Lindo,...)
Validation du modèle et des résultats :
I le modèle développé est-il conforme à la réalité ?
I les résultats sont-ils valides et satisfaisantes ?
Prise de décision
Modélisation Algorithme
Problème Problème
Solution
réel mathématique
Prise de décision
La programmation linéaire
Dénition
Les problèmes de programmation linéaire (PL) sont des problèmes
d'optimisation où on maximise (ou on minimise) une fonction linéaire sous
des contraintes linéaires.
Exemple 1 :
Les marges unitaires, les temps de fabrication de chacun des produits dans
chacun des ateliers ainsi que les capacités hebdomadaires résiduelles de ces
ateliers sont donnés au tableau suivant :
Les quantités que le modèle doit déterminer sont les productions de châssis
par semaine. Posons donc :
2. Expression de l'objectif
x1 ≤ 4
De même, pour les contraintes de capacités des deux autres ateliers :
2x2 ≤ 12 et 3 x1 + 2x2 ≤ 18
D'autre part, les quantités produites ne peuvent être négatives.
Mathématiquement : x1 ≥ 0, x2 ≥ 0
Finalement, le problème peut être formulé en programme linéaire :
Exemple 2 :
Une ranerie achète deux types de pétroles bruts dont elle retire de
l'essence, du gazole et du oul dans les pourcentages suivants :
oul
L'achat d'une tonne de brut 1 coute 700 UM et une tonne de brut 2 coute
500 UM.
Quelles quantités de ces pétroles bruts devra t-on acheter pour répondre à
la demande au moindre coût ?
Compréhension du problème :
minimisation du coût
Contraintes :
a11 x1 + a12 x2 + ... + a1n xn ≤, =, ≥ b1
a21 x1 + a22 x2 + ... + a2n xn ≤, =, ≥ b2
.
.
.
am1 x1 + am2 x2 + ... + amn xn ≤, =, ≥ bm
xj ≥ 0 ∀j = 1, ..., n
Avec,
xj : variables de décision (inconnues)
aij , bi , cj : paramètres du programme linéaire (connues).
Formulation matricielle
Posons :
min / max z = c T x
(PL) Ax ≤, =, ≥ b
x ≥0
FSJES GUELIMIM RO - S5 Économie et Gestion 2020/2021
18 / 192
Programmes linéaires et modélisation Formulation générale
Terminologie
Solution réalisable (solution admissible) :
Solution optimale :
Remarques :
Exemple 5 :
Dans l'île des Palmiers, les habitants ont formé une coopérative de
production où on ne rigole pas : tout le monde travaille. Une partie des
adhérents employés de la coopérative sont aectés à la cueillette des
orchidées sauvages, seule ressource exportable de l'île, tandis que les autres
sont occupés à pécher du poisson, principale source de nourriture de l'île.
Les habitants de l'île vivent dans deux villages, l'un situé au Nord, l'autre
au Sud, et pour nourrir les habitants de l'île, chaque semaine, les quantités
suivantes de poisson sont nécessaires :
Thon Morue Sardine
Quantités de poisson 900Kg 800Kg 700Kg
Questions :
Supposons que l'on ait le choix entre les deux propositions suivantes qui
toutes deux permettent de nourrir la population de l'île :
x1 ≥ 0, x2 ≥ 0
Exemple 6 :
1 3 1 3 1
x1 + x3 ≤ (x1 + x2 + x3 + x4 ) ⇔ x1 − x2 + x3 − x4 ≤ 0
4 4 4 4 4
1 1 1 1 1
x3 + x4 ≤ (x1 + x2 + x3 + x4 ) ⇔ − x1 − x2 + x3 + x4 ≤ 0
2 2 2 2 2
x1 , x2 , x3 , x4 ≥ 0
5 La fonction objectif :
3 1 3 1
x1 − x2 + x3 − x4 ≤ 0
4 4 4 4
1 1 1 1
− x1 − x2 + x3 + x4 ≤ 0
2 2 2 2
2x1 + 2x2 + 3x3 + 3x4 = 100
x1 , x2 , x3 , x4 ≥ 0
Exemple 7 :
Chapitre 2 :
Méthode graphique
Un programme linéaire (PL), selon sa nature, peut être résolu des manières
diérentes :
1 Méthode graphique :
2 Algorithme du Simplexe :
Cette méthode est possible tant que le nombre des sommets n'est pas
assez grand, c'est-à-dire, le nombre des variables et des contraintes
reste très limité. On prend le sommet qui optimise la fonction objectif.
Lorsque l'on fait l'intersection des cinq demi-plans correspondant aux cinq
inégalités :
4 (1)
x1 ≤
2 x2 12 (2)
≤
3x1 + 2x2 ≤ 18 (3)
x 1 ≥ 0 (4)
0 (5)
x2 ≥
on obtient le polyèdre de la gure ci-dessous.
Représentation de l'objectif :
3x1 + 5x2 = k
Les points d'une de ces droites sont donc le lieu de tous les points donnant
la même valeur du prot, d'où le nom de droites d'isovaleur (ou droites
d'isoprot) de la fonction objectif.
FSJES Guelimim RO - S5 Économie et Gestion 2020/2021
45 / 192
Résolution des programmes linéaires : Méthode graphique Méthode Graphique : Maximisation
−3 k
On a 3x1 + 5x2 = k ⇒ x2 = x1 + .
5 5
3
Donc les droites ∆k ont la même pente (coecient directeur) p=−
5
Il sera situé sur la droite qui donne le prot le plus grand, donc la
droite d'isoprot la plus élevée.
Conclusion :
D'où
x ∗ = (2 , 6)
et la valeur maximale de la fonction objectif est : z ∗ = 3x1∗ + 5x2∗ = 36
Remarque :
∗
x1 = 2 < 4
∗
2x = 2 × 6 = 12
2∗ ∗
3x1 + 2x2 = (3 × 2) + (2 × 6) = 18
Donc, pour réaliser le prot net maximal, il faut utiliser toute la capacité
disponible dans l'atelier 2 et l'atelier 3 (plein emploi), et il restera une
capacité dans l'atelier 1 (sous- emploi) égale à :
x1 + 2x2 ≥ 90
De même, pour les deux autres qualités de charbon, on obtient :
x1 + 4x2 ≥ 120
6x1 + 3x2 ≥ 180
En plus, x1 et x2 , étant des nombres, vérient la contrainte de
positivité : x1 ≥ 0 et x2 ≥ 0.
FSJES Guelimim RO - S5 Économie et Gestion 2020/2021
53 / 192
Résolution des programmes linéaires : Méthode graphique Méthode Graphique : Minimisation
Fonction objectif :
min z = 1000x1 + 1000x2
x1 + 2x2 ≥ 90
x1 + 4x2 ≥ 120
6x + 3x2 ≥ 180
1
x1 ≥ 0 ; x2 ≥ 0
La région admissible est un polyèdre non borné qui a pour sommets les
points (voir gure ci-dessous) :
D'où
x ∗ = (10 ; 40)
Graphique exemple 2
∗
x1 + 2x2∗ = 10 + (2 × 40) = 90
x ∗ + 4x2∗ = 10 + (4 × 40) = 170 > 120
1∗ ∗
6x1 + 3x2 = (6 × 10) + (3 × 40) = 180
3. Cas particuliers
3.1 Région admissible bornée - une innité de solutions optimales :
0
max z = 3x1 + 2x2
Il est facile, dans ce cas, de voir que les droites d'isovaleur de l'objectif
seraient toutes parallèles à la droite D3 d'équation :
3x1 + 2x2 = 18
0
min z = 2x1 + 4x2
x1 + 2x2 ≥ 90
x1 + 4x2 ≥ 120
6x1 + 3x2 ≥ 180
x1 ≥ 0 ; x2 ≥ 0
maxz = x1 + x2
+ 3x2 ≥ 6
2x1
2x + x2 ≥ 4
1
x1 ≥ 0 ; x2 ≥ 0
z = 2x1 + 3x2
max
x1 + x2 ≤ 1
x − x2 ≥ 2
1
x1 ≥ 0 ; x2 ≥ 0
Sur la gure ci-dessous, nous remarquons que la région admissible est vide
et par suite le programme linéaire n'admet aucune solution optimale.
En résumé :
Chapitre 3 :
La méthode du simplexe
2. Notions générales
2.1 Rappels
z = cT x
max / min
Ax {≤, =, ≥} b
x ≥0
Forme matricielle
z = cT x
max
Ax ≤ b
x ≥0
Exemple :
max 6x1 + 7x2 + 8x3
x1 + 2x2 + x3 ≤ 100
z = cT x
max
3x1 + 4x2 + 2x3 ≤ 120
(P1 ) ⇐⇒ Ax ≤ b
2x1 + 6x2 + 4x3 ≤ 200
x ≥0
x1 + x3 ≤ 150
x1 , x2 , x3 ≥ 0
avec
1 2 1 100
6 x1
3 4 2 120
A= ; b= ; c = 7 ; x = x2
2 6 4 200
8 x3
1 0 1 150
A de type (4 , 3),
m=4 (contraintes) et n=3 (variables de décision).
Forme matricielle
z = cT x
max
Ax = b
x ≥0
1 min f ⇐⇒ max − f
Par exemple : minimiser x1 + 2x2 revient à maximiser −x1 − 2x2
∗ ∗
car : f (x ) = min{ f (x) , x ∈ X } ⇐⇒ f (x ) ≤ f (x) , ∀x ∈ X ⇐⇒
−f (x ∗ ) ≥ −f (x), ∀x ∈ X ⇐⇒ −f (x ∗ ) = max{ −f (x) , x ∈ X }
2 ax ≥ b ⇐⇒ −ax ≤ −b
ax ≤ b
3 ax = b ⇐⇒
ax ≥ b
ax + y = b
4 ax ≤ b ⇐⇒ y est dite variable d'écart
y ≥0
ax − y = b
5 ax ≥ b ⇐⇒
y ≥0
6 x ≤ 0 ⇐⇒ −x ≥ 0
x = x+ − x− x + = max(x , 0)
7 x quelconque ⇐⇒ avec
x+ ≥ 0 , x− ≥ 0 x − = max(−x , 0)
FSJES Guelimim RO - S5 Économie et Gestion 2020/2021
86 / 192
La méthode du simplexe Notions générales
Propriété
Tout programme linéaire peut être mis sous la forme canonique et sous la
forme standard.
Remarques
1 Le passage entre la forme générale, la forme canonique et la forme
standard se fait moyennant les transformations ci-dessus.
Exemple :
min 5x1 − 3x2
x1 − x2 ≥ 2
Soit le problème : (P2 ) 2x1 + 3x2 ≤ 4
−x1 + 6x2 = 10
x1 , x2 ≥ 0
max −5x1 + 3x2
x1 − x2 − x3 = 2
(P20 ) 2x1 + 3x2 + x4 = 4
−x1 + 6x2 = 10
x1 , x2 , x3 , x4 ≥ 0
Dénitions
On appelle base toute sous-matrice carrée B inversible de type
(m , m) extraite de A.
Les variables associées aux colonnes de B sont dites variables de base,
les autres variables hors base.
Exemple :
Remarques
Une base est inversible et donc les variables de base correspondent à
des colonnes linéairement indépendantes de la matrice A.
Par conséquent, on peut avoir plusieurs bases dans une matrice A.
En eet, on peut le remarquer dans l'exemple précédent :
0 1
est aussi une base et correspond alors aux variables de base
1 1
x1 et x2 .
1 2
n'est pas une base (car non inversible).
1 2
Généralisation :
Dénitions
On appelle solution de base (associée à la base B ), la solution
particulière obtenue en prenant xN = 0.
xB est déterminée de façon unique par :
BxB = b ⇐⇒ xB = B −1 b
Remarque :
Dans le cas d'un programme linéaire sous forme standard avec les
contraintes Ax = b , x ≥ 0, une solution de base réalisable correspond
géométriquement à un sommet du polyèdre des contraintes.
4.1 Exemple :
où
(x1 , x2 , e1 , e2 , e3 ) = (0 , 0 , 4 , 12 , 18)
x1 = 0 ; x2 = 0 ; e1 = 4 ; e2 = 12 ; e3 = 18
Autrement dit : on ne produit rien au départ
et z = 3x1 + 5x2 + 0e1 + 0e2 + 0e3 = 0.
Tableau initial :
Base x1 x2 e1 e2 e3 s.m
e1 1 0 1 0 0 4
e2 0 2 0 1 0 12
e3 3 2 0 0 1 18
−z 3 5 0 0 0 0
Itération du simplexe :
e1 = 4
e2 = 12 − 2x2 ≥ 0
2x2 + e2 = 12
⇐⇒ e3 = 18 − 2x2 ≥ 0
2x + e3 = 18
2 x2 ≥ 0
x2 ≥ 0 ; e1 ≥ 0 ; e2 ≥ 0 ; e3 ≥ 0
x2 ≤ 12/2 = 6
⇐⇒ x2 ≤ 18/2 = 9 =⇒ 0 ≤ x2 ≤ min{12/2 , 18/2} = 12/2 = 6
x2 ≥ 0
Tableau 1
↓
Base x1 x2 e1 e2 e3 s.m R
e1 1 0 1 0 0 4 4 /0=∞
← e2 0 2 0 1 0 12 12/2 =6
e3 3 2 0 0 1 18 18/2 = 9
−z 3 5 0 0 0 0
Règles de calcul :
Cpivot
Nv = Av − ( × Lpivot)
Pivot
Nv : nouvelle valeur
Av : ancienne valeur
Cpivot : colonne du pivot
Lpivot : Ligne du pivot
Tableau 1
↓
Base x1 x2 e1 e2 e3 s.m R
e1 1 0 1 0 0 4 4 /0=∞
← e2 0 2 0 1 0 12 12/2 = 6
e3 3 2 0 0 1 18 18/2 = 9
−z 3 5 0 0 0 0
Tableau 2
↓
Base x1 x2 e1 e2 e3 s.m R
e1 1 0 1 0 0 4 4
x2 0 1 0 1/2 0 6 ∞
← e3 3 0 0 −1 1 6 2
−z 3 0 0 −5/2 0 −30
Tableau 2
↓
Base x1 x2 e1 e2 e3 s.m R
e1 1 0 1 0 0 4 4
x2 0 1 0 1/2 0 6 ∞
← e3 3 0 0 −1 1 6 2
−z 3 0 0 −5/2 0 −30
Tableau 3
Base x1 x2 e1 e2 e3 s.m
e1 0 0 1 1/3 −1/3 2
x2 0 1 0 1/2 0 6
x1 1 0 0 −1/3 1/3 2
−z 0 0 0 −3/2 −1 −36
4 − x1∗ = 4 − 2 = 2
12 − 2x2∗ = 12 − 2 × 6 = 0
18 − (3x1∗ + 2x2∗ ) = 18 − (3 × 2 + 2 × 6) = 0.
FSJES Guelimim RO - S5 Économie et Gestion 2020/2021
106 / 192
La méthode du simplexe Cas général
z = cT x
max
(PS) Ax = b
x ≥0
Notons :
N = {j1 , ..., jn−m } = {1, ..., n} \ B : l'ensemble des indices hors base,
xB
Ax = b ⇐⇒ B N =b
xN
⇐⇒ B xB + N xN = b
⇐⇒ xB + B −1 N xN = B −1 b
⇐⇒ xB = B −1 b − B −1 N xN
X X
z = cT x = ci xi + ci xi = cB xB + cN xN
i∈B i∈N
xB + B −1 N xN = B −1 b ⇐⇒ xB = B −1 b − B −1 N xN =⇒
z = cB xB + cN xN
= cB (B −1 b − B −1 N xN ) + cN xN
= (cN − cB B −1 N)xN + cB B −1 b
z = dN xN + z̄ ⇐⇒ dN xN = z − z̄
avec dN = cN − cB B −1 N ; z̄ = cB B −1 b
les composantes de dN s'appellent coûts réduits des variables hors base.
Ils interviennent de façon déterminante dans la méthode du simplexe.
FSJES Guelimim RO - S5 Économie et Gestion 2020/2021
109 / 192
La méthode du simplexe Cas général
xB + B −1 N xN = B −1 b
dN x N = z − z̄
et xB ≥ 0 , xN ≥ 0.
La solution de base est donnée par : xN = 0 ; xB = b̄ = B −1 b .
Cette solution de base est réalisable signie que b̄ = B −1 b ≥ 0.
La valeur de la fonction objectif z associée à cette solution est z̄ .
Finalement, le tableau du simplexe associé à la base B est (à une
permutation de colonnes près) de la forme :
Base xB xN s.m
xB Im B 1N
− b̄ = B −1 b
−z 0 dN −z̄
dN = cN − cB B −1 N ; z̄ = cB B −1 b
FSJES Guelimim RO - S5 Économie et Gestion 2020/2021
110 / 192
La méthode du simplexe Cas général
↓
Base x1 x2 e1 e2 e3 s.m
e1 1 0 1 0 0 4
x2 0 1 0 1/2 0 6
← e3 3 0 0 −1 1 6
−z 3 0 0 −5/2 0 −30
Base xB xN s.m
xB Im B −1 N b̄ = B −1 b
−z 0 dN −z̄
dN = (3 , −5/2) ; b̄ = (4 , 6 , 6),
Solution de base : (x1 , x2 , e1 , e2 , e3 ) = (0 , 6 , 4 , 0 , 6),
Fonction objectif : z̄ = 30.
FSJES Guelimim RO - S5 Économie et Gestion 2020/2021
111 / 192
La méthode du simplexe Cas général
Remarques :
Dénition
1 Une solution de base xB associée à la base B est dite non dégénérée
si :
x B = B −1 b > 0
c-à-d le second membre du système réduit b̄ > 0
autrement dit, si toutes les variables de base sont strictement positives.
Preuve du Théorème :
X
dN xN = di xi ≤ 0
i∈N
D'où :
z(x1 , ..., xn ) = dN xN + z̄ ≤ z̄ = z(x1∗ , ..., xn∗ ).
Étapes du simplexe (cas général) :
dj = max{dk ; k ∈ N }
1 ākj ≤ 0, ∀ k = 1, ..., m
(Tous les termes de la colonne j de la variable entrante sont ≤ 0).
Dans ce cas l'ensemble réalisable est non borné et max z = +∞
2 Il existe k ∈ {1, ..., m} tel que ākj > 0
Dans ce cas on va procéder à une itération et
b̄p b̄p
= min{ ; āpj > 0}
āpj āpj
(On fait le rapport des coecients du s.m du tableau simplexe avec les
coecients de la colonne j de la variable entrante et on choisit le plus petit)
Pour déterminer une base initiale réalisable, considérons tout d'abord le cas
où le PL est donné sous la forme canonique :
max z = c1 x1 + c2 x2 + ... + cn xn
a11 x1 + a12 x2 + ... + a1n xn ≤ b1
a21 x1 + a22 x2 + ... + a2n xn ≤ b2
(PC ) .
.
.
a x + am2 x2 + ... + amn xn ≤ bm
m1 1
x1 ≥ 0, . . . , xn ≥ 0
FSJES Guelimim RO - S5 Économie et Gestion 2020/2021
117 / 192
La méthode du simplexe Problèmes particuliers
z̃ = c̃ T x̃
max
Ãx̃ = b
x̃ ≥ 0
B = Im ; N = A ; xB = B −1 b = b ; xN = x = 0
Si b≥0 alors cette solution est en plus réalisable.
Problème de dégénérescence :
b̄p b̄p
= min{ ; āpj > 0} = 0
āpj āpj
Alors la fonction objectif z ne varie pas après le changement de base et par
conséquent on peut rencontrer les situations suivantes :
Plusieurs remèdes au cyclage dans les cas dégénérés sont utilisés, le plus
connu c'est la règle de Bland :
Exemples :
T1
Base x1 x2 x3 x4 x5 x6 s.m R
x5 4 7 0 0 1 4 4 4/7
x4 2 8 0 1 0 3 0 0
x3 - 2 9 1 0 0 2 0 0
−z -5 2 0 0 0 5 -3
← e1 1 2 5 1 0 0 4 2
e2 3 4 3 0 1 0 8 2
e3 2 4 1 0 0 1 12 3
−z 2 3 1 0 0 1 0
T3
↓
Base x1 x2 x3 e1 e2 e3 s.m
e1 1 2 5 1 0 0 3
e2 3 1 3 0 1 0 10
e3 2 8 1 0 0 1 8
−z 3 3 2 0 0 0 0
T4
↓
Base x1 x2 e1 e2 s.m
e1 0 -2 1 -1 20
x1 1 0 0 2,5 3
−z 0 16 0 -3 -32
Si à la n des itérations, une variable est hors base avec un coecient nul
dans la dernière ligne du tableau optimal, alors on a une arête (face,...)
optimale. Les autres sommets optimaux peuvent être obtenus en faisant
rentrer cette variable dans la base. Considérons, par exemple, le tableau
optimal suivant :
Base x1 x2 e1 e2 s.m
x1 1 0 1 1 3
x2 0 1 -1 -2 2
−z 0 0 -1 0 -8
Base x1 x2 e1 e2 s.m
e2 1 0 1 1 3
x2 2 1 1 0 8
−z 0 0 1 0 -8
Exemple :
Soit le problème :
min −x1 − 2x2
−3x1 + 2x2 ≤ 2
(PM) −x1 + 2x2 ≤ 4
x + x2 ≤ 5
1
x1 , x2 ≥ 0
En rajoutant les variables d'écart on obtient la forme standard :
min −x1 − 2x2
−3x1 + 2x2 + e1 = 2
(PMS) −x1 + 2x2 + e2 = 4
x + x2 + e3 = 5
1
x1 , x2 , e1 , e2 , e3 ≥ 0
On remarque que tous les termes du second membre (2, 4 et 5) sont
positifs. Dans notre cas, l'obtention d'une solution de base réalisable
initiale est triviale. Elle correspond aux variables de base e1 , e2 , e3 et
variables hors base x1 , x2 .
FSJES Guelimim RO - S5 Économie et Gestion 2020/2021
125 / 192
La méthode du simplexe Simplexe avec minimisation
Ãx̃ = b̃
x̃ ≥ 0
x1
−3 2 1 0 0
x2
2
à = −1 2 0 1 0 ; x̃ =
e1 ; b̃ = b =
4
1 1 0 0 1 e2 5
e3
z = c̃ T x̃ = −x1 − 2x2 + 0e1 + 0e2 + 0e3 avec c̃ = (x1 , x2 , 0 , 0 , 0)T
1 0 0
Une base initiale est donnée par la matrice identité : I = 0 1 0
0 0 1
(x1 , x2 , e1 , e2 , e3 ) = (0 , 0 , 2 , 4 , 5)
FSJES Guelimim RO - S5 Économie et Gestion 2020/2021
126 / 192
La méthode du simplexe Simplexe avec minimisation
Tableau 1
↓
Base x1 x2 e1 e2 e3 s.m R
← e1 -3 2 1 0 0 2 1
e2 -1 2 0 1 0 4 2
e3 1 1 0 0 1 5 5
−z -1 -2 0 0 0 0
Tableau 2
↓
Base x1 x2 e1 e2 e3 s.m R
x2 -3/2 1 1/2 0 0 1 −2/3
← e2 2 0 -1 1 0 2 1
e3 5/2 0 -1/2 0 1 4 8/5
−z -4 0 1 0 0 2
Tableau 3
↓
Base x1 x2 e1 e2 e3 s.m R
x2 0 1 -1/4 3/4 0 5/2 10
x1 1 0 -1/2 1/2 0 1 -2
−z 0 0 -1 2 0 6
Tableau 4
Base x1 x2 e1 e2 e3 s.m
x2 0 1 0 1/3 1/3 3
x1 1 0 0 -1/3 2/3 2
e1 0 0 1 -5/3 4/3 2
−z 0 0 0 1/3 4/3 8
z = cT x
max
Ax ≤ b
x ≥0
Si le second membre est positif alors cette base est réalisable et correspond
à l'origine : xN = (x1 , ..., xn ) = 0 et xB = (e1 , ..., em ).
FSJES Guelimim RO - S5 Économie et Gestion 2020/2021
129 / 192
La méthode du simplexe Initialisation de la méthode du simplexe
Méthode du grand M :
Considérons le PL suivant :
z = x1 + x2
max
+ x2 ≥ 4
2x1
(P1 )
x + 2x2 = 6
1
x1 , x2 ≥ 0
On remarque que les termes du second membre sont tous positifs, mais la
1ère contrainte est de type ≥ et la 2ème contrainte est de type =
On rajoute une variable d'écart e1 à la 1ère contrainte (pour avoir l'égalité).
On obtient alors le PL :
max z = x1 + x2 −Ma1 − Ma2
2x1 + x2 − e1 + a1 = 4
x + 2x2 + a2 = 6
1
x1 , x2 , e1 , a1 , a2 ≥ 0
Ãx̃ = b̃
x̃ ≥ 0
x1
x2
2 1 −1 1 0 4
à = ; x̃ = e1 ; b̃ = b =
1 2 0 0 1 6
a1
a2
FSJES Guelimim RO - S5 Économie et Gestion 2020/2021
132 / 192
La méthode du simplexe Initialisation de la méthode du simplexe
Variables de base : a1 = 4 ; a2 = 6
Variables hors base : x1 = x2 = e1 = 0
Pour établir le premier tableau du simplexe, il faut maintenant exprimer les
variables de base en fonction des variables hors base.
2x1 + x2 − e1 + a1 = 4 a1 = 4 − 2x1 − x2 + e1
⇒
x1 + 2x2 + a2 = 6 a2 = 6 − x1 − 2x2
z = x1 + x2 −Ma1 − Ma2
= x1 + x2 − M(4 − 2x1 − x2 + e1 ) − M(6 − x1 − 2x2 )
z = (3M + 1)x1 + (3M + 1)x2 − Me1 − 10M
Tableau 1
↓
Base x1 x2 e1 a1 a2 s.m R
← a1 2 1 -1 1 0 4 2
a2 1 2 0 0 1 6 6
−z 3M+1 3M+1 -M 0 0 10 M
Tableau 2
↓
Base x1 x2 e1 a1 a2 s.m R
x1 1 1/2 -1/2 1/2 0 2 4
Tableau 3
↓
Base x1 x2 e1 a1 a2 s.m R
x1 1 0 -2/3 2/3 -1/3 2/3 -1
Tableau 4
Base x1 x2 e1 a1 a2 s.m
x1 1 2 0 0 1 6
e1 0 3 1 -1 2 8
−z 0 -1 0 -M -M-1 -6
Chapitre 4 :
La dualité
1. Exemple introductif
Une entreprise E1 fabrique les produits P1 et P2. Elle utilise les matières
premières M1, M2 et M3, à raison de :
Elle dispose de :
50 tonnes de M1, 25 tonnes de M2 et 60 tonnes de M3.
max z = 5000x1 + 2000x2
2x1 + x2 ≤ 50 Quantité de m.p M1
(P) x1 + 3x2 ≤ 25 Quantité de m.p M2
x + x ≤
3 1 4 2 60 Quantité de m.p M3
x1 ≥ 0 ; x2 ≥ 0
Remarque
max z = 5000x1 + 2000x2
2x1 + x2 ≤ 50
(P) x1 + 3x2 ≤ 25
3x1 + 4x2 ≤
60
x1 , x2 ≥0
min w = 50y1 + 25y2 + 60y3
2y1 + y2 + 3y3 ≥ 5000
(D)
y1 + 3y2 + 4y3 ≥ 2000
y1 , y2 , y3 ≥0
Le problème primal (P) et son dual (D) sont liés par les relations suivantes :
Formulation matricielle :
T w = bT y
max z = c x
min
(P) Ax ≤ b (D) AT y ≥ c
x ≥0 y ≥0
Exemples :
max z = x1 + 3x2
x1 + x2 ≤ 14
(P1 ) −2x1 + 3x2 ≤ 12
2x1 − x2 ≤
12
x1 , x2 ≥0
min w = 14y1 + 12y2 + 12y3
y1 − 2y2 + 2y3 ≥ 1
(D1 )
y1 + 3y2 − y3 ≥ 3
y1 , y2 , y3 ≥0
min z = −2x1 + 9x2
min z = −2x1 + 9x2
3x1 + x2 ≥ 10 3x1 + x2 ≥ 10
(P2 ) 4x1 − 3x2 ≤ 8 ⇐⇒ −4x1 + 3x2 ≥ −8
x1 − x2 ≤ −x1 + x2 ≥ −6
6
x1 , x2 ≥0 x1 , x2 ≥0
3u1 + u2 ≥ 10
(D̄2 ) −4u1 + 3u2 ≥ −8 Le dual du dual de (P2 ) = (P2 ).
−u + u2 ≥ −6
1
u1 , u2 ≥0
(Département SMAEG ) RO - S6 Économie et Gestion 2015/2016 147 / 192
Dualité Correspondances entre le primal et le dual
maximisation minimisation
4. Théorème de dualité
Avec les notations du paragraphe 2, on a les résultats suivants :
c T x ∗ = bT y ∗ autrement dit z ∗ = w ∗.
n
X
yi bi − aij xj = 0 , i = 1, ..., m (1)
j=1
m
X
yi aij − cj xj = 0 , j = 1, ..., n (2)
i=1
Par exemple :
max z = 5000x1 + 2000x2
min w = 50y1 + 25y2 + 60y3
2x1 + x2 ≤ 50
2y1 + y2 + 3y3 ≥ 5000
(P) x1 + 3x2 ≤ 25 (D)
y 1 + 3y2 + 4y3 ≥ 2000
3x1 + 4x2 ≤ 60
y1 , y2 , y3 ≥ 0
x ≥0; x ≥0
1 2
Conséquences :
n
X
bi − aij xj∗ 6= 0
j=1
m
X
yi∗ aij − cj 6= 0
i=1
Le stock est de 3 unités et le nombre d'heures de travail par jour est de 11h.
Le chef d'entreprise voudrait savoir ce que lui rapporterait le fait que son
atelier soit ouvert une heure de plus par jour. Autrement dit, il voudrait
connaître l'augmentation de sa marge bénéciaire si le deuxième coecient
du second membre passait de 11 à 12. On obtient alors un deuxième P.L :
max z = 4x1 + 3x2
+ x2 ≤ 3
2x1 (Quantité de m.p)
(P 0 )
5x1 + 6x2 ≤ 12 (Nombre d'heures de travail/jour)
x1 ≥ 0 ; x2 ≥ 0
Le problème dual (D) a pour solution optimale : (y1∗ , y2∗ ) = (9/7, 2/7).
Donc y2∗ représente l'augmentation de l'objectif si on augmente le nombre
d'heures de travail/jour de 1 unité. Si on avait augmenté la capacité de
stockage d'une unité (c-à-d de 3 à 4) sans augmenter le nombre d'heures,
on aurait pu constater une augmentation de l'objectif égale à 9/7.
Remarques
Primal Dual
Exercice d'application :
Une entreprise fabrique les produits P1 et P2. Elle utilise les matières
premières M1, M2 et M3. Les quantités (en tonnes) de chaque matière
première par unité de produit fabriqué, les capacités disponibles (tonnes)
ainsi que les marges unitaires sont rapportées dans le tableau ci-dessous :
1)
Variables de décision :
Programme linéaire :
max z = 15x1 + 25x2
x1 + 3x2 ≤ 96 Contrainte quantité de m.p M1
(P) x1 + x2 ≤ 40 Contrainte quantité de m.p M2
x + x ≤
7 1 4 2 238 Contrainte quantité de m.p M3
x1 ≥ 0 ; x2 ≥ 0
Tableau 1
↓
Base x1 x2 e1 e2 e3 s.m R
← e1 1 3 1 0 0 96 96/3
= 32
e2 1 1 0 1 0 40 40/1
= 40
e3 7 4 0 0 1 238 238/4 = 59, 5
−z 15 25 0 0 0 0
Variable entrante : x2 .
Variable sortante : e1 .
Pivot : 3
(Département SMAEG ) RO - S6 Économie et Gestion 2015/2016 160 / 192
Dualité Exercice d'application
Tableau 2
↓
Base x1 x2 e1 e2 e3 s.m R
e1 1/3 1 1/3 0 0 32 96
← e2 2/3 0 −1/3 1 0 8 12
Tableau 3
Base x1 x2 e1 e2 e3 s.m
x2 0 1 1 /2 −1/2 0 28
x1 1 0 −1/2 3/2 0 12
e3 0 0 3 /2 −17/2 1 42
−z 0 0 −5 −10 0 −880
Le tableau 3 est optimal car tous les coecients de la dernière ligne −z
sont négatifs ou nuls.
(Département SMAEG ) RO - S6 Économie et Gestion 2015/2016 161 / 192
Dualité Exercice d'application
2)
min w = 96y1 + 40y2 + 238y3
y1 + y2 + 7y3 ≥ 15 contrainte produit P1
(D)
3y1 + y2 + 4y3 ≥ 25 contrainte produit P2
y1 ; y2 ; y3 ≥ 0
3)
Le s.m du tableau optimal dual est donné par la dernière ligne du tableau
optimal primal avec un signe opposé.
xi ←→ ti yi ←→ ei
Si une variable est dans la base son correspondant est hors base :
Exemples :
case (y1 ,y3 ) = - case (e1 ,e3 )= -3/2 case (y1 ,t1 ) = - case (e1 ,x1 ) = 1/2
Chapitre 5 :
Analyse de sensibilité
Dans la pratique, on n'est jamais sûr des nombres qui dénissent les
contraintes. Par exemple, le prix de gasoil serait-il à 7, 81DH dans un mois,
faut-il vraiment 3H30 pour faire un Casablanca-Tanger malgré les travaux
au niveau de la rocade de Rabat ? etc.
Loin de nous l'idée de traiter les nombres qui dénissent les contraintes
comme le résultat d'aléas : il n'est pas question ici de présenter une théorie
de la programmation linéaire à coecients aléatoires.
Notons que nous avons déjà abordé de tels types de problèmes dans le
second chapitre consacré à la méthode graphique. Nous avons vu dans
quelle mesure le bénéce pouvait augmenter lorsqu'on faisait varier une
contrainte en remplissant de soja la cabine du capitaine du bateau.
Exemple :
Un euriste dispose d'un stock de roses, d'un stock d'÷illets et d'un stock
d'orchidées. Il peut confectionner avec ces eurs trois types de bouquets
qui ont un grand succès auprès de la clientèle : il sait qu'il pourra vendre
dans la journée toute quantité de bouquets qu'il aura préparée. Le tableau
suivant donne tous les renseignements utiles :
Type de bouquet stock
Type de eur bouquet N1 bouquet N2 bouquet N3 disponible
roses 2 3 2 90
÷illets 1 2 1 81
orchidées 4 3 1 120
Prix 8UM 5UM 6UM
On notera alors :
x1 le nombre de bouquets N 1
x2 le nombre de bouquets N 2
x3 le nombre de bouquets N 3
Z la recette totale
Tableau 1
↓
Base x1 x2 x3 e1 e2 e3 s.m R
e1 2 3 2 1 0 0 90 45
e2 1 2 1 0 1 0 81 81
← e3 4 3 1 0 0 1 120 30
−Z 8 5 6 0 0 0 0
Tableau 2
Base x1 x2 x3 e1 e2 e3 s.m R
Tableau 3
Base x1 x2 x3 e1 e2 e3 s.m
x3 0 1 1 2/3 0 −1/3 20
e2 0 1/2 0 −1/2 1 0 36
x1 1 1/2 0 −1/6 0 1/3 25
−Z 0 −5 0 −8/3 0 −2/3 −320
Tableau 3
Base x1 x2 x3 e1 e2 e3 s.m
x3 0 1 1 2/3 0 −1/3 A
e2 0 1/2 0 −1/2 1 0 B
x1 1 1/2 0 −1/6 0 1/3 C
−Z 0 −5 0 −8/3 0 −2/3 D
Ainsi, on peut retrouver une partie des valeurs numériques du tableau nal
en prenant en compte le fait que les tableaux initiaux et naux représentent
des systèmes d'équations équivalents.
Cette technique permet de retrouver une partie de ses calculs si une tache
inopportune est venue brouiller les résultats.
Tableau 3
Base x1 x2 x3 e1 e2 e3 s.m
x3 0 1 1 2/3 0 −1/3 A
e2 0 1/2 0 −1/2 1 0 B
x1 1 1/2 0 −1/6 0 1/3 C
−Z 0 −5 0 −8/3 0 −2/3 D
Supposons
maintenant que l'on parte d'un stock
162 roses 90 roses
30 ÷illets plutôt que 81 ÷illets
207 orchidées 120 orchidées
Tableau 1
Base x1 x2 x3 e1 e2 e3 s.m
e1 2 3 2 1 0 0 162
e2 1 2 1 0 1 0 30
e3 4 3 1 0 0 1 207
−Z 8 5 6 0 0 0 0
0 + 5 × 0 + 8/3 × 162 + 2/3 × 207 = D
D = 570
0 + 0 + 2/3 × 162 − 1/3 × 207 = A A = 39
(P 0 ) ⇔
1/2 × 0 − 1/2 × 162 + 30 = B
B = −51
0 − 1/2 × 0 − 1/6 × 162 + 1/3 × 207 = C C = 42
Tableau 3
Base x1 x2 x3 e1 e2 e3 s.m
x3 0 1 1 2/3 0 −1/3 39
e2 0 1/2 0 −1/2 1 0 -51
x1 1 1/2 0 −1/6 0 1/3 42
−Z 0 −5 0 −8/3 0 −2/3 570
On trouve alors ce qu'il fallait éviter à tout prix : des valeurs négatives dans
la dernière colonne du tableau du simplexe. La solution correspondante
n'est pas à considérer car elle n'est pas réalisable.
Moralité
On peut, avec la technique précédente, mesurer ce qui se passe avec une
petite variation des contraintes et non pas de grandes variations. En
tout état de cause, il faudra toujours vérier si la colonne de droite du
tableau ne comprend que des nombres positifs pour conclure que la
technique de raccourci a bien fonctionné.
2. Variation de l'objectif
Supposons maintenant qu'une tache d'encre nous ait fait perdre la dernière
ligne du tableau. On se retrouve devant le tableau suivant
Tableau 3
Base x1 x2 x3 e1 e2 e3 s.m
x3 0 1 1 2/3 0 −1/3 20
e2 0 1/2 0 −1/2 1 0 36
x1 1 1/2 0 −1/6 0 1/3 25
−Z A B C D E F G
Nous savons déjà que la dernière ligne comportera des zéros dans les
colonnes associées aux variables de base x1 , x3 , et e2 , c-à-d :
A = C = E = 0.
Par contre, les nombres B,D,F,G associés aux variables hors base et au
second membre sont inconnus. Nous allons alors utiliser une astuce un peu
diérente que la précédente. On considère comme si on a oublié
d'appliquer le pivot sur la dernière ligne du tableau.
(Département SMAEG ) RO - S6 Économie et Gestion 2015/2016 183 / 192
Analyse de sensibilité Variation de l'objectif
Tableau 3
Base x1 x2 x3 e1 e2 e3 s.m
x3 0 1 1 2 /3 0 −1/3 20
e2 0 1/2 0 −1/2 1 0 36
x1 1 1/2 0 −1/6 0 1 /3 25
−Z 8 5 6 0 0 0 0
Tableau 3'
Base x1 x2 x3 e1 e2 e3 s.m
x3 0 1 1 2/3 0 −1/3 20
e2 0 1 /2 0 −1/2 1 0 36
x1 1 1 /2 0 −1/6 0 1/3 25
−Z 0 1 6 4/3 0 −8/3 −200
Tableau 3
Base x1 x2 x3 e1 e2 e3 s.m
x3 0 1 1 2/3 0 −1/3 20
e2 0 1/2 0 −1/2 1 0 36
x1 1 1/2 0 −1/6 0 1/3 25
−Z 0 −5 0 −8/3 0 −2/3 −320
le prix du bouquet de type 1 passe de 8 UM à 9
le prix du bouquet de type 2 passe de 5 UM à 6
le prix du bouquet de type 3 passe de 6 UM à 5
Tableau 1
Base x1 x2 x3 e1 e2 e3 s.m
e1 2 3 2 1 0 0 90
e2 1 2 1 0 1 0 81
e3 4 3 1 0 0 1 120
−Z 9 6 5 0 0 0 0
Si nous appliquons sans rééchir les mêmes opérations sur ce tableau que
celles que nous avons appliquées dans la première partie, nous allons
construire progressivement un tableau de la forme :
Tableau 3
Base x1 x2 x3 e1 e2 e3 s.m
x3 0 1 1 2 /3 0 −1/3 20
e2 0 1/2 0 −1/2 1 0 36
x1 1 1/2 0 −1/6 0 1 /3 25
−Z 9 6 5 0 0 0 0
Tableau 3'
Base x1 x2 x3 e1 e2 e3 s.m
x3 0 1 1 2/3 0 −1/3 20
e2 0 1 /2 0 −1/2 1 0 36
x1 1 1 /2 0 −1/6 0 1/3 25
−Z 0 3 /2 5 3/2 0 −3 −225
Tableau 3
Base x1 x2 x3 e1 e2 e3 s.m
x3 0 1 1 2/3 0 −1/3 20
e2 0 1/2 0 −1/2 1 0 36
x1 1 1/2 0 −1/6 0 1/3 25
−Z 0 −7/2 0 −11/6 0 −4/3 −325
Comme dans la partie précédente, cette méthode n'est pas valable pour
tous les systèmes de prix de vente des bouquets : il est faux de penser que
quels que soient les prix des bouquets il est optimal de composer 25
bouquets N1, 20 bouquets N3 et aucun bouquets N2.
par exemple, si
le prix du bouquet de type 1 passe de 8 UM à 8
le prix du bouquet de type 2 passe de 5 UM à 7
le prix du bouquet de type 3 passe de 6 UM à 10
Tableau 1
Base x1 x2 x3 e1 e2 e3 s.m
e1 2 3 2 1 0 0 90
e2 1 2 1 0 1 0 81
e3 4 3 1 0 0 1 120
−Z 8 7 10 0 0 0 0
Si nous appliquons sans rééchir les mêmes opérations sur ce tableau que
celles que nous avons appliquées dans la première partie, nous allons
construire progressivement un tableau de la forme :
Tableau 3
Base x1 x2 x3 e1 e2 e3 s.m
x3 0 1 1 2 /3 0 −1/3 20
e2 0 1 /2 0 −1/2 1 0 36
x1 1 1 /2 0 −1/6 0 1/3 25
−Z 8 7 10 0 0 0 0
Tableau 3'
Base x1 x2 x3 e1 e2 e3 s.m
x3 0 1 1 2/3 0 −1/3 20
e2 0 1 /2 0 −1/2 1 0 36
x1 1 1 /2 0 −1/6 0 1/3 25
−Z 0 3 10 4/3 0 −8/3 −200
Tableau 3
Base x1 x2 x3 e1 e2 e3 s.m
x3 0 1 1 2/3 0 −1/3 20
e2 0 1/2 0 −1/2 1 0 36
x1 1 1/2 0 −1/6 0 1 /3 25
−Z 0 −7 0 −16/3 0 2 /3 −325
Il apparaît que ce tableau n'est pas optimal. Il est clair que la procédure
de raccourci que nous avons adopté n'est pas ecace dans ce cas.
(Département SMAEG ) RO - S6 Économie et Gestion 2015/2016 192 / 192
Chapter 1
1.1 Introduction
Exemple 1.1.
• Comment aller le plus vite de Casablanca à Rabat en voiture ?
• Comment investir ses 10000 Dh d’économie de sorte à maximiser le
profit obtenu après deux ans ?
• Comment ordonnancer les tâches d’un projet en fonction de la main
d’?uvre, tout en minimisant sa durée ?
• Trouver un plus court chemin entre deux villes.
• Emplois du temps : Planifier l’horaire des cours ou des examens, en
tenant compte des différentes ressources (étudiants, professeurs,locaux,...)
• Définir le nombre du personnel dans une gare de trains ou une banque
suivant la fréquence de la clientèle.
3
Remarque 1.1. En conclusion, la recherche opérationnelle, face à un pro-
blème pratique de décision, cherche à :
• Objectifs, contraintes
• Données disponibles (variables de décision, paramètres, quan-
tités de matière première par ex...)
3. Résolution du modèle:
5. Prise de décision
4
1.1.2 La programmation linéaire
5
châssis par semaine. Posons donc :
x1 : nombre de châssis du produit 1 (châssis en aluminium)
x2 : nombre de châssis du produit 2 (châssis en bois).
2. Expression de l’objectif:
6
Exemple 1.3. Une rafinerie achète deux types de pétroles bruts dont
elle retire de l’essence, du gazole et du fioul dans les pourcentages
Produits finis Brut 1 Brut 2
Essence 30 25
suivants :
Gazole 40 25
fioul 30 50
La raffinerie doit satisfaire à la demande de :
125 104 tonnes d’essence, 135 104 tonnes de gazole et 180 104 tonnes
de fioul
L’achat d’une tonne de brut 1 coute 700 UM et une tonne de brut 2
coute 500 UM.
Quelles quantités de ces pétroles bruts devra t-on acheter pour ré-
pondre à la demande au moindre coût ?
• Fixation de l’ objectif :
Fixation de l’ objectif : minimisation du coût minz = 700x1 +
500x2
• Mise en équations des contraintes économiques :
7
1.3 Formulation générale d’un PL
– Fonction objectif (économique) :
max (oumin)z = c1 x1 + c2 x2 + · · · + cn xn
– Contraintes :
xj ≥ 0 ∀ j = 1; · · · ; n
Avec,
x j : variables de décision (inconnues)
ai,j ; bi ; c j : paramètres du programme linéaire (connues).
1.4 Formulation matricielle
Posons:
x = ( x1 , x2 , . . . , xn ) vecteur de Rn
où x1 , x2 , . . . , xn sont les variables de décision.
c = (c1 , c2 , . . . , cn ) ∈ Rn et b = (b1 , b2 , . . . , bm ) ∈ Rm
a11 a12 · · · a1n
a21 a22 · · · a2n
A = .. .. ( matrice de type (m ×
.. . .
. . . .
am1 am2 · · · amn
n))
c T x =< c, x >= c1 x1 + · · · + cn xn (produit scalaire
dans Rn )
Alors, le programme linéaire peut s’écrire sous la forme
:
min / max z = c T x
( PL) Ax ≤, =, ≥ b
x>0
8
1.5 Terminologie
Solution réalisable (solution admissible) :
x = ( x1 , x2 , . . . , xn ) est une solution réalisable si x sa-
tisfait toutes les contraintes c-à-d
Ax {≤, =, ≥}b et x ≥ 0
Ensemble réalisable (région admissible):
Ensemble de toutes les solutions réalisables.
Solution optimale
Solution réalisable où la fonction objectif atteint la meilleure
valeur (maximum ou minimum).
Remarque 1.2.
· Plusieurs solutions optimales sont possibles.
· Géométriquement, la région admissible correspond à
un polyèdre de Rn (voir chapitre 2 ).