01-Programmation Linéaire (Cours) 1
01-Programmation Linéaire (Cours) 1
01-Programmation Linéaire (Cours) 1
PROGRAMMATION LINÉAIRE
Université de Ghardaïa
Faculté des sciences et de la technologie
Département de Mathématiques et d'Informatique
P ro g r a m m a t i o n l i n é a i re L 3
Introduction
• Les prises de décision concernant une action donnée deviennent l’objet de
véritables recherches qui ne peuvent être menées sans l’aide d’outils
mathématiques.
• C’est ainsi que s’est développé un domaine des mathématiques basé sur
l’activité de décision, appelé recherche opérationnelle.
1
10/10/2019
Introduction
• Ces méthodes se sont imposées auprès des dirigeants des grands
organismes économiques et industriels comme les seuls outils permettant
de prévenir aussi objectivement que possible les conséquences de leurs
actions.
Introduction
• L’importance de l’optimisation et la nécessité d’un outil simple pour
modéliser des problèmes de décision que soit économique, militaire ou
autres
2
10/10/2019
Introduction
• Les problèmes de programmations linéaires sont généralement liés à des
problèmes d’allocations de ressources limitées, de la meilleure façon
possible, afin de maximiser un profit ou de minimiser un coût.
PROGRAMMATION LINÉAIRE
Programme :
• Rappels d’algèbre linéaire
• Introduction à la programmation linéaire
• Formulation d’un programme linéaire (PL)
• Interprétation géométrique et résolution graphique des programmes linéaires
• Méthode du simplexe
• Problèmes de minimisation et problèmes irréguliers
• Dualité
• Analyse de sensibilité
• Problème de transport
3
10/10/2019
Recherche opérationnelle
Définition
• Ensemble de méthodes (algorithmiques, mathématiques, modélisation)
• aide à prendre des décisions optimales ou proches de l’optimum dans des
problèmes complexes, qui traitent de la maximisation d’un profit ou la
minimisation d’un coût.
Exemple:
• Comment aller le plus vite de Ghardaïa à Annaba, en voiture ?
• Comment ordonnancer les tâches d’un projet en fonction de la main
d’œuvre, tout en minimisant sa durée ?
• Comment investir ses 1000 euros d’économie de sorte à maximiser le profit
obtenu après deux ans ?
4
10/10/2019
1- La Cafétéria :
10
5
10/10/2019
• Quelles inconnues :
xi le nombre d’employés le jour i. Pas pratique : comment
définir le nombre d’employés ?
xi le nombre d’employés qui commencent le jour i.
Modèle :
11
Les contraintes :
i. Le nombre de travailleurs commençant leur service est positif ou
nul : xi ≥ 0 i = 1, . . . , 7
ii. Les xi sont des entiers.
iii.Pour chaque jour le nombre de travailleur est supérieur ou égal
à celui requis. Le jour i, le nombre de travailleurs est (en
comptant modulo 7) : xi + xi−1 + . . . + xi−4
12
6
10/10/2019
• D’où:
x1 + x7 + x6 + x5 + x4 ≥ 14
x2 + x1 + x7 + x6 + x5 ≥ 13
x3 + x2 + x1 + x7 + x6 ≥ 15
x4 + x3 + x2 + x1 + x7 ≥ 16
x5 + x4 + x3 + x2 + x1 ≥ 19
x6 + x5 + x4 + x3 + x2 ≥ 18
x7 + x6 + x5 + x4 + x3 ≥ 11
• Ce problème est un problème de programmation linéaire en nombre entiers
• Le problème peut se mettre sous la forme :
Max z = c.x
A.x ≤ b
x≥0
13
2- L'artisan chocolatier:
14
7
10/10/2019
Formulation du problème
• Notons x1 le nombre d'œufs Extra et x2 le nombre d'œufs Sublime à produire.
• Le chocolatier cherche à maximiser la fonction objectif :
max z = 20x1 + 30x2
• Étant données les réserves du chocolatier, les contraintes suivantes devront
être satisfaites :
x1 + 3x2 ≤ 18
x1 + x2 ≤ 8
2x1 + x2 ≤ 14
15
Résolution graphique
• Le point optimal est (3 ; 5),
ce qui signifie que x1=3 et
x2=5.
• S'il veut maximiser son
bénéfice, le chocolatier doit
donc confectionner 3 œufs
Extra et 5 œufs Sublime.
• Son bénéfice sera de 20·3 +
30·5 = 210 DA.
• Il utilisera 18 kg de cacao, 8
kg de noisettes et 11 kg de
lait.
16
8
10/10/2019
𝑎 𝑎 ⋯ 𝑎
𝑎 𝑎 ⋯ 𝑎
𝐴= = 𝑎 , 𝑖 = 1, 𝑚 , 𝑗 = 1, 𝑛
⋮ ⋮ ⋮
𝑎 𝑎 ⋯ 𝑎
Matrices particulières :
Matrice unité :
La matrice unité d’ordre n (notée In) est une matrice carrée d’ordre n, dont
les termes de la diagonale principale sont aij=1, i=1, 𝑛 et tous les autres
termes aij=0, i≠j.
Exemple :
1 0 0
𝐼 = 0 1 0 , est un matrice unité d’ordre 3.
0 0 1
Matrice diagonale :
Une matrice diagonale est une matrice carrée (aij) d’ordre n telle que
aij=0, pour i≠j et aij≠0 pour au moins un indice.
Exemple :
1 0 0
𝐴 = 0 0 0 , est un matrice diagonale d’ordre 3.
0 0 3
18
9
10/10/2019
Matrice ligne :
Une matrice ligne est une matrice ayant une seule ligne.
Exemple :
𝐴 = 3 2 0 2 , est un matrice ligne d’ordre (1×4).
Matrice colonne :
Une matrice colonne est une matrice ayant une seule colonne.
Matrice triangulaire :
Une matrice triangulaire est une matrice carrée dont les éléments au-
dessous (ou au-dessus) de la diagonale principale sont tous nuls.
Exemple :
1 2 3
𝐴 = 0 4 9 est une matrice triangulaire supérieure.
0 0 2
1 0 0
𝐵 = 2 3 0 est une matrice triangulaire inférieure.
4 8 2
19
Le produit :
Soient A=(aik) une matrice d’ordre (m × p) et B=(akj) une matrice d’ordre (p × n)
le produit des deux matrices C=AB a pour dimension (m × n) et s’écrit :
C=(cij) avec 𝑐 = ∑ 𝑎 𝑏
Ce produit n’est possible que si le nombre de colonnes de A est égal au
nombre de lignes de B.
20
10
10/10/2019
Exemple :
1 4 2
0 3 −1 3 −3 4
Soient 𝐴 = et 𝐵 = 2 −1 3 , alors 𝐴. 𝐵 =
2 1 4 16 7 27
3 0 5
Le produit B.A est impossible.
Matrice transposée :
Si dans une matrice A d’ordre (m × n) on remplace les lignes par les
colonnes respectives, on obtient une matrice A'=tA dite transposée, d’ordre
(n × m), qui vérifie les propriétés suivantes :
(At)t =A (A+B)t=At + Bt (AB)t=At Bt.
Exemple :
0 2
0 3 −1
La matrice transposée de 𝐴 = est 𝐴 = 3 1
2 1 4
−1 4
21
11
10/10/2019
Remarque
La répartition des signes à prendre devant les mineurs (-1)i+j , est alternée à
partir du signe + pour l’élément a11.
Par exemple, pour un déterminant d’ordre 5 :
+ − + − +
− + − + −
+ − + − +
− + − + −
+ − + − +
Application au déterminant d’ordre 3
𝑎 𝑏 𝑐
∆= 𝑎 𝑏 𝑐
𝑎 𝑏 𝑐
𝑏 𝑐 𝑏 𝑐 𝑏 𝑐
∆= 𝑎 −𝑎 +𝑎
𝑏 𝑐 𝑏 𝑐 𝑏 𝑐
∆= 𝑎 (𝑏 𝑐 − 𝑏 𝑐 ) − 𝑎 (𝑏 𝑐 − 𝑏 𝑐 ) + 𝑎 (𝑏 𝑐 − 𝑏 𝑐 )
24
12
10/10/2019
Propositions
a)
Si A a une ligne (ou une colonne) de zéros alors det(A)=0
Si A a deux lignes (ou deux colonnes) identiques alors det(A)=0
b) Si on échange deux lignes (deux colonnes) d’un déterminant alors on
obtient - det(A)
𝑎 𝑐 𝑐 𝑎
= 𝑎𝑑 − 𝑏𝑐 et 𝑑 𝑏 = 𝑏𝑐 − 𝑎𝑑 = −(𝑎𝑑 − 𝑏𝑐)
𝑏 𝑑
c) On ne modifie pas un déterminant si on ajoute à une ligne (resp. une
colonne) une combinaison linéaire des autres lignes (resp. des autres
colonnes) :
𝑎 𝑏
= 𝑎𝑑 − 𝑏𝑐
𝑐 𝑑
𝑎+𝑏 𝑏
= 𝑎 + 𝑏 𝑑 − 𝑏 𝑐 + 𝑑 = 𝑎𝑑 + 𝑏𝑑 − 𝑏𝑐 − 𝑏𝑑 = 𝑎𝑑 − 𝑏𝑐
𝑐+𝑑 𝑑
25
f) det(AB)=det(A)det(B) → det(An)=[det(A)]n
Le déterminant est une fonction multiplicative.
g) det(tA)=det(A)
h) det(𝐀 ) =
(𝐀)
i) det(λA)=λn det(A)
26
13
10/10/2019
Inversion de matrices :
Matrice adjointe
Considérons une matrice carrée A d’ordre n, la matrice des cofacteurs Xij
des éléments de aij de A notée adjA est appelée matrice adjointe de A ou
co-matrice de A.
adjA= comA=[Xij]=[(-1)i+j∆ij]
Soit A une matrice carrée quelconque d’ordre n. Si det(A) ≠0, alors A est
inversible et :
1
𝑨 = (𝑎𝑑𝑗 𝑨)
𝑑𝑒𝑡 𝑨
Cas particulier : inverse d’une matrice diagonale
Si A=diag[aij] est une matrice diagonale inversible d’ordre n :
I. det 𝐴 = ∏ 𝑎 ≠ 0 ⇒ ∀𝑖 = 1, 𝑛 𝑎 ≠ 0
II. 𝐴 = 𝑑𝑖𝑎𝑔
27
28
14
10/10/2019
𝑎 𝑋 = 𝑏 𝑖 = 1, 𝑛
𝑏
Ou sous la forme matricielle AX=B avec 𝐀 = 𝑎 , 𝐁( , ) = ⋮ 𝑒𝑡 𝐗 ( , ) =
( , )
𝑏
𝑥
⋮
𝑥
AX=B ⇔ X=A-1B
Exemple :
2𝑥 + 𝑦 = 1
Résoudre le système 𝑥 − 3𝑦 = 2
29
La méthode de Cramer :
Proposition
Un système de Cramer admet toujours une et une seule solution :
𝑿=𝑨 𝐁= 𝑎𝑑𝑗 𝐀 . 𝐁 (R)
∆
30
15
10/10/2019
Conséquences
D’après la relation (R), on a :
1 1
𝑿= 𝑋 𝐁= 𝑋 𝐁
∆ ∆
𝑋 𝑋 ⋯ 𝑋 𝑏
1 𝑋 𝑋 ⋯ 𝑋 𝑏
𝐗=
∆ ⋮ ⋮ ⋮ ⋮
𝑋 𝑋 ⋯ 𝑋 𝑏
31
En effet :
𝑎 𝑎 ⋯ 𝑎
𝑎 𝑎 ⋯ 𝑎
∆= =∑ 𝑋 𝑎 en développant /1ère colonne
⋮ ⋮ ⋮
𝑎 𝑎 ⋯ 𝑎
𝑏 𝑎 ⋯ 𝑎
𝑏 𝑎 ⋯ 𝑎
∆ = =∑ 𝑋 𝑏 en développant /1ère colonne
⋮ ⋮ ⋮
𝑏 𝑎 ⋯ 𝑎
∆
Donc 𝑥 = , et par généralisation, on obtient :
∆
∆ 1
𝑥 = = 𝑋 𝑏 ∀𝑖 = 1, 𝑛
∆ ∆
∆i est le déterminant déduit de ∆ en remplaçant la ième colonne de par la
colonne des « seconds membres » bj .
32
16
10/10/2019
Exemples :
2𝑥 + 𝑦 = 1
1. Résoudre par la méthode de Cramer le système
𝑥 − 3𝑦 = 2
𝑥 + 𝑦 + 2𝑧 = 1
2. Résoudre de deux façons différentes le système 2𝑥 + 𝑦 + 2𝑧 = 2
𝑥 + 3𝑦 + 𝑧 = 1
33
34
17
10/10/2019
35
Problème de production :
36
18
10/10/2019
37
Résolution :
• Désignons par x1, x2, x3 et x4 les quantités de produits P1, P2, P3 et P4.
Ces quantités doivent vérifier les conditions suivantes :
• Les quantités utilisées en matières premières ne doivent pas dépasser
les quantités disponibles :
2𝑥 + 3𝑥 + 5𝑥 + 6𝑥 ≤ 5000
𝑥 + 2𝑥 + 3𝑥 + 3𝑥 ≤ 3000 (1)
0.8𝑥 + 𝑥 + 2𝑥 + 3𝑥 ≤ 2000
• Les quantités à produire sont toutes positives ou nulles :
𝑥 ≥ 0, 𝑥 ≥ 0, 𝑥 ≥ 0, 𝑥 ≥ 0,
• 𝑜𝑢 𝑥 ≥ 0, 𝑗 = 1, 2, 3, 4. (2)
• Comme l’eau est disponible en quantité illimitée, donc on n’a
aucune contrainte sur la matière première M4.
38
19
10/10/2019
39
𝑎 𝑥 + 𝑎 𝑥 + ⋯+𝑎 𝑥 = 𝑏
𝑎 𝑥 + 𝑎 𝑥 + ⋯+𝑎 𝑥 = 𝑏
• Sous les contraintes suivantes : (2)
⋮
𝑎 𝑥 +𝑎 𝑥 + ⋯+ 𝑎 𝑥 = 𝑏
𝑥 ≥ 0, 𝑗 = 1, 𝑛 (3)
Où 𝑐 , 𝑗 = 1, 𝑛, représentent les coûts des différents produits.
40
20
10/10/2019
41
42
21
10/10/2019
43
Exemple 1 :
• Reformuler sous forme canonique, le problème de programmation
linéaire suivant :
𝑍 = 𝑍 𝑥 ,𝑥 ,𝑥 = 𝑥 − 2𝑥 + 4𝑥 → 𝑚𝑖𝑛
𝑥 − 𝑥 + 3𝑥 = −10 (P)
𝑥 −𝑥 ≤2
𝑥 ∈ ℜ, 𝑥 ≥ 0, 𝑥 ≤ 0
En faisant le changement de variable suivant :
𝑥 = 𝑦 − 𝑦 , 𝑦 ≥ 0, 𝑦 ≥ 0 ;
𝑥 = 𝑦 , 𝑦 ≥ 0;
𝑥 = −𝑦 , 𝑦 ≥ 0
44
22
10/10/2019
45
46
23
10/10/2019
Z=Z(x)=c'x → max
Ax=b
x≥0
• Ici c' est la transposé de c, la matrice A est en général la matrice de
condition du problème et b sont les quantités de matières premières.
Exemple 2:
• Ecrire sous forme matricielle le problème de programmation linéaire
suivant :
2𝑥 − 𝑥 + 3𝑥 → 𝑚𝑎𝑥
𝑥 + 2𝑥 − 𝑥 = 4
4𝑥 − 𝑥 + 3𝑥 = 3
𝑥 ≥ 0, 𝑥 ≥ 0, 𝑥 ≥ 0
48
24
10/10/2019
𝑥 2
4 1 2 −1
En posant 𝑥 = 𝑥 , 𝑐 = −1 , 𝑏 = ,𝐴 =
𝑥 3 4 −1 3
3
Le problème (P) prend la forme matricielle suivante :
Z= c'x → max
Ax=b
x≥0
Les conditions de formulation d’un PL
• La programmation linéaire comme étant un modèle admet des
hypothèses (des conditions) que le décideur doit valider avant de
pouvoir les utiliser pour modéliser son problème. Ces hypothèses sont :
1. Les variables de décision du problème sont positives
49
50
25
10/10/2019
51
Résolution graphique
Introduction
• L’objet principal de ce chapitre est de proposer une méthode de résolution
d’un problème linéaire ne comportant que deux variables de décision.
• La méthode consiste en la délimitation de l’intersection des demi-plans
représentant les inéquations des contraintes et en la recherche sur le bord
de ce domaine des points donnant l’optimum de la fonction objectif.
• Considérons le problème de programmation linéaire suivant :
Z= c'x → max
Ax=b
x≥0
• où A est une matrice m × n, x ∈ ℝn , c ∈ ℝn , b ∈ ℝm .
52
26
10/10/2019
54
27
10/10/2019
Exemple 1:
Z= x1+2 x2 – x3 → max
x1+x2 + x3 =10
x1–x2 + x3=20
xj≥0, j=1..3
• Ici n=3, m=2, n−m=1, donc on fixe par exemple x1 et on calcule les autres en
fonction de x1 :
3
𝑥 = − 𝑥 + 15
2
1
𝑥 = 𝑥 −5
2
• Donc Z= x1+2 x2 – x3= x1+ x1−10+(3/2) x1−15
55
7
𝑍 = 𝑥 − 25
2
• On sait que xj≥0, j=1..3, c’est-à-dire, − 𝑥 + 5 ≥ 0, 𝑥 − 5 ≥ 0 et x1≥0,
• De là x1≤10 , x1≥0 et finalement 0≤x1≤10, donc le : 𝑚𝑎𝑥 𝑍 = 𝑚𝑎𝑥 ( 𝑥 − 25)
56
28
10/10/2019
Problème de maximisation
Considérons l’exemple suivant:
Max Z=25x1+ 15x2
Sous: 2x1 + 2x2 ≤ 240
3x1 + x2 ≤ 140
x1≥0, x2≥0
Première méthode :
1) Représenter les lignes de contraintes et l’ensemble des solutions
réalisables.
2)Localiser la solution optimale.
3)Calculer la solution optimale.
57
29
10/10/2019
59
60
30
10/10/2019
61
Deuxième méthode
• On remarque que la solution optimale ne peut être que sur le bord du
domaine des solutions réalisables.
• De plus, elle est dans le cas général donnée par un des points anguleux
correspondant aux intersections des droites de contraintes.
• Une telle solution est appelée solution de base.
• Ceci nous amène à proposer une deuxième méthode qui consiste à:
1) Représenter les lignes de contraintes et l’ensemble des solutions
réalisables.
2) Localiser toutes les solutions de base (les points d’intersection des
droites de contraintes).
3) Calculer la valeur de la fonction objectif en chacun de ces points, et
sélectionner la solution optimale.
62
31
10/10/2019
63
Problème de minimisation
• Soit l’exemple suivant :
𝑀𝑖𝑛 𝑍 = 24𝑥 + 20𝑦
𝑥 + 𝑦 ≥ 30
𝑥 + 2𝑦 ≥ 40
𝑥 ≥ 0, 𝑦 ≥ 0
• Ce problème de minimisation ne
diffère de maximisation que par
la recherche de la courbe de
niveau qui donne le plus petite
valeur à Z tout en satisfaisant
toutes les contraintes du modèle.
32
10/10/2019
La méthode du simplexe
Programmation linéaire
65
66
33
10/10/2019
Exemple 1
Une compagnie XYZ est spécialisée dans la production de deux
types de produits :
des climatiseurs et des ventilateurs. Les deux produits nécessitent un
certain nombre d'heures machine et un certain nombre d’heures de
main d’œuvre. Le tableau suivant donne l'information nécessaire Sur
les deux produits, c'est-à-dire les nombres d'heures machine et
d'heures main d'œuvre nécessaires à la fabrication d'une unité de
chacun de ces produits, ainsi que le profit généré par la production
d'une unité de ce produit. Dans toute la suite, on utilisera comme
unité monétaire UM, qui peut être considérée comme Euro, Dollar,
Dinar, etc. Le tableau nous donne, de plus, le nombre total d'heures
machines et d'heures main d'œuvre disponibles.
67
68
34
10/10/2019
69
Définition : Une solution est dite réalisable si elle vérifie toutes les
contraintes.
• Considérons la solution x1 = 20, x2 = 40 (Z = 280). Cette solution
est une solution réalisable du problème parce qu'elle vérifie
toutes les contraintes.
• Est-ce que cette solution est optimale ?
• Non, car la solution x1 = 10, x2 = 110, Z = 1900 est également
réalisable et donne un meilleur profit.
• En fait, cette dernière est optimale ;
• pour la déterminer, on aura recours à la méthode dite du
simplexe ou, dans le cas de deux variables, à la méthode
graphique.
70
35
10/10/2019
Introduction
La méthode du simplexe est un algorithme de recherche d'une solution
optimale d’un programme linéaire donné. On se limitera, au cas de
maximisation sous des contraintes du type inférieur ou égal. On présentera la
méthode du simplexe à l'aide d'un exemple illustratif et on expliquera les
itérations de la méthode à l'aide d'une analyse économique.
La méthode du simplexe
La mise en œuvre de la méthode du simplexe peut être divisée en trois
étapes :
• Première étape : Mettre le modèle sous forme standard en y introduisant
des variables d'écart qui Ont pour rôle de transformer les inégalités en
égalités.
• Deuxième étape : Etablir le premier tableau de simplexe (tableau à
l'origine).
• Troisième étape : Procéder à une série d'itérations sur les tableaux de
simplexe aboutissant à la solution optimale.
71
72
36
10/10/2019
73
74
37
10/10/2019
75
Définition :
• Après introduction des variables d'écart, si le système obtenu contient m
contraintes et n variables alors une solution réalisable de base est une
solution réalisable avec :
(n − m) variables égales à zéro (variables hors base)
m variables non nécessairement nulles (variables de base).
Nous posons alors les deux questions suivantes :
• A quelles variables doit-on donner la valeur zéro ?
• Comment identifier une solution optimale ?
• La réponse à ces questions sera donnée par les deux étapes suivantes de
la méthode du simplexe.
• La première consiste à dresser un tableau (tableau du simplexe) donnant
l'origine comme solution réalisable de base, la seconde consiste à se
déplacer d'une solution réalisable de base à une autre qui lui est
adjacente.
76
38
10/10/2019
Deuxième étape
La deuxième étape consiste à poser le premier tableau de simplexe à l'origine :
Max Z = 25x1 + 15x2 + 0s1 + 0s2
Sous : 2x1 + 2x2 + s1 = 240
3x1 + x2 + s2 = 140
x1 ≥ 0, x2 ≥ 0, s1 ≥ 0, s2 ≥ 0
Cj 25 15 0 0
Variables de base (VB) Quantité (Q) x1 x2 s1 s2
0 s1 240 2 2 1 0
0 s2 140 3 1 0 1
Tableau 1. Premier tableau de simplexe
77
78
39
10/10/2019
Troisième étape
Dans cette étape, on donne la méthode itérative pour la
détermination de la solution optimale d'un programme linéaire.
Première itération
l) Déterminer la colonne pivot (variable de base entrante) en
sélectionnant la colonne avec la plus grande valeur positive de
Cj − Zj (le plus grand profit marginal).
Dans la solution correspondant à l'origine, on a x1 = 0, c'est-à-dire
lorsque x1 est une variable hors base (on ne produit aucun
climatiseur). Si, maintenant, on augmente x1 d'une unité et
comme la solution de base est donnée par :
2x1 + 2x2 + s1 = 240
3x1 + x2 + s2 = 140
79
80
40
10/10/2019
Cj 25 15 0 0
VB Q x1 x2 s1 s2
0 s1 240 2 2 1 0
0 s2 140 3 1 0 1
Zj 0 0 0 0 0
Cj − Zj 25 15 0 0
↑
Tableau 2. Choix de la colonne pivot
• 2) Déterminer la ligne pivot (variable de base sortante). On
détermine la variable sortante en divisant les valeurs de la
colonne quantité par les valeurs correspondantes dans la
colonne pivot (on obtient une nouvelle colonne RT [ratio test]) et
en sélectionnant la ligne avec le plus petit quotient positif pour
RT.
• Ceci nous permettra de trouver la contrainte la plus restrictive
quand on envisage de faire entrer la variable x1 dans la base (en
production), x1 étant la variable entrante (tableaux 2 et 3).
81
Si on reprend le système S :
2x1 + 2x2 + s1 = 240
3x1 + x2 + s2 = 140
• On remarque que l'augmentation de x1 est restreinte par deux
limites: 240/2 = 120, 140/3 = 46,66 (x2 reste nul et toutes les
variables doivent être positives).
• Comme on a choisi de produire des climatiseurs et que le profit
unitaire est de 25, on cherchera à produire le nombre maximum
possible de climatiseurs dans les limites de 120 (limite due aux
heures machine) et de 140/3 (limite due à la main d’œuvre).
• Le nombre de climatiseurs à produire est de 140/3, ce qui
ramène s2 à zéro. s2 devient une variable hors base, la variable
sortante est donc celle correspondant au Ratio Test (RT) le plus
petit positif. La nouvelle solution est :
x1 = 140/3, x2 = 0, s1 = 440/3, s2 = 0 et Z = 3500/3.
82
41
10/10/2019
Cj 25 15 0 0
VB Q x1 x2 s1 s2 RT
0 s1 240 2 2 1 0 120
0 s2 140 3 1 0 1 140/3 →
Zj 0 0 0 0 0
Cj − Zj 25 15 0 0
↑
Tableau 3. Choix de la ligne pivot
83
Coefficients Cj
correspondants aux
variables
Variables de Quantité
Toutes les variables RT
Base (VB) (Qi)
aij
Coefficients CiB Seconds
Variables de Matrice des coefficients
des variables membres des Qi / aije
base des contraintes du
de Base équations
programme standard
Zj =Σi∈{iB}Ciaij
Dj = C j Z j
première ligne moins
dernière ligne
84
42
10/10/2019
85
Cj 25 15 0 0
VB Q x1 x2 s1 s2
0 s1 0 1
25 x1 140/3 1 1/3 0 1/3
86
43
10/10/2019
Cj 25 15 0 0
VB Q x1 x2 s1 s2
0 s1 440/3 0 1 2/3
25 x1 140/3 1 1/3 0 1/3
87
Cj 25 15 0 0
VB Q x1 x2 s1 S2
0 s1 440/3 0 4/3 1 2/3
25 x1 140/3 1 1/3 0 1/3
Zj 3500/3 25 25/3 0 25/3
Cj − Zj 0 20/3 0 25/3
Tableau 4. Deuxième tableau de simplexe
88
44
10/10/2019
89
Cj 25 15 0 0
VB Q x1 x2 s1 s2 RT
0 s1 440/3 0 4/3 1 2/3 110 →
25 x1 140/3 1 1/3 0 1/3 140
Zj 3500/3 25 25/3 0 25/3
Cj − Zj 0 20/3 0 25/3
↑
Tableau 5. Choix de la ligne et de la colonne pivots dans la deuxième
90
45
10/10/2019
Cj 25 15 0 0
VB Q x1 x2 s1 s2
15 x2 110 0 1 3/4 1/2
25 x1 10 1 0 1/4 1/2
Zj 1900 25 15 5 5
Cj − Z j 0 0 5 5
Tableau 6 Troisième tableau de simplexe (tableau optimal)
91
92
46
10/10/2019
Développer un nouveau
tableau de simplexe
93
94
47
10/10/2019
96
48
10/10/2019
• On paramètre le solveur :
97
98
49
10/10/2019
99
A suivre..
100
50