Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Programmation linéaire
Présenté par :
Pr.Abdelaziz Qaou
EST-Beni Mellal Université Sultan Moulay Slimane
DUT-GI2-S3-2021
1/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Plan du cours
1 Préambule
2 Résolution graphique
3 Résolution par méthode algébrique
4 Résolution par algorithme du simplexe
2/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Outline
1 Préambule
2 Résolution graphique
3 Résolution par méthode algébrique
4 Résolution par algorithme du simplexe
3/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
La programmation linéaire peut se dénir comme une technique
mathématique permettant de résoudre des problèmes de gestion et
particulièrement ceux où le gestionnaire doit déterminer, face à
diérentes possibilités, l'utilisation optimale des ressources de l'entreprise
pour atteindre un objectif spécique comme la maximisation des
bénéces ou la minimisation des coûts. Dans la plupart des cas, les
problèmes de l'entreprise pouvant être traités par la programmation
linéaire comportent un certain nombre de ressources. On peut
mentionner, par exemple,la main-d'oeuvre, les matières premières, les
capitaux, ... qui sont disponibles en quantité limitée et qu'on veut répartir
d'une façon optimale entre un certain nombre de processus de fabrication.
4/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Notre approche pour résoudre ce type de problèmes sera divisée en deux
étapes principales :
1 La modélisation du problème sous forme d'équations ou
d'inéquations linéaires qui permettra ainsi de bien identier et
structurer les contraintes que doivent respecter les variables du
modèle ; de plus, on doit dénir l'apport de chaque variable à
l'atteinte de l'objectif poursuivi par l'entreprise, ce qui se traduira
par une fonction à optimiser.
2 La détermination de l'optimum mathématique à l'aide de
certaines techniques propres à la programmation linéaire.
5/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Nous étudierons 3 méthodes pour résoudre les diérents types de
problèmes de programmation linéaire :
1 la première est basée sur une résolution graphique, elle est donc
limitée à 2 ou 3 variables.
2 La deuxième méthode est plus algébrique.
3 La troisième méthode porte le nom de méthode (ou algorithme) du
simplexe.
6/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Outline
1 Préambule
2 Résolution graphique
3 Résolution par méthode algébrique
4 Résolution par algorithme du simplexe
7/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Exemple
La direction d'une usine de meubles a constaté qu'il y a des temps morts
dans chacun des départements de l'usine. Pour remédier à cette situation,
elle décide d'utiliser ces temps morts pour fabriquer deux nouveaux
modèles de bureaux, M1 et M2 . Les temps de réalisation pour chacun de
ces modèles dans les ateliers de sciage, d'assemblage et de sablage ainsi
que les temps libres dans chacun de ces ateliers sont donnés dans le
tableau ci-dessous. Ces temps représentent le nombre d'heures
nécessaires à un homme pour eectuer le travail. Les prots que la
compagnie peut réaliser pour chacun de ces modèles sont de 300 DH
pour M1 et 200 DH pour M2 .
M1 M2 Temps libres
Sciage 1 2 20
Assemblage 2 1 22
Sablage 1 1 12
La direction désire déterminer combien de bureaux de chaque modèle elle
doit fabriquer pour maximiser son prot.
8/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Modélisation
Posons x1 le nombre de bureaux du modèle M1 et x2 le nombre de
bureaux du modèle M2 . Les temps libres de chaque département
imposent des contraintes qu'il faut respecter. La contrainte imposée par
les temps libres à l'atelier de Sciage :
x1 + 2x2 ≤ 20
Les autres contraintes sont :
2x1 + x2 ≤ 22 (Assemblage)
x1 + x2 ≤ 12 (Sablage)
Il s'ajoute à ces contraintes des contraintes de positivité puisque le
nombre de bureaux ne peut être négatif, on a donc :
x1 ≥ 0 et x2 ≥ 0
9/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Le programme linéaire
La direction veut maximiser son prot, c'est-à-dire maximiser la fonction
f (x1 , x2 ) = 300x1 + 200x2 (s'appelle fonction économique).
Le programme linéaire est :
max f (x1 , x2 ) = 300x1 + 200x2
s.c. x1 + 2x2 ≤ 20
2x1 + x2 ≤ 22
x1 + x2 ≤ 12
x1 ≥0
x2 ≥ 0
10/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Résolution graphique
Graphiquement les solutions réalisables sont les points du polygone
convexe de la gure suivante :
11/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Résolution graphique
Pour chacune de ces solutions, c'est-à-dire pour chacun des points du
polygone convexe, la compagnie fera un prot positif. Si la compagnie
fabrique trois exemplaires du modèle M1 et deux exemplaires du modèle
M2 , le prot sera :
f (3; 2) = 300 × 3 + 200 × 2 = 1300DH.
Il ne saurait être question de calculer le prot réalisable pour chacun des
points du polygone convexe. Pour avoir une vision globale du problème,
représentons le prot réalisé par le paramètre p . On a :
300x1 + 200x2 = p
qui représente une famille de droites parallèles. En isolant x2 , on obtient :
300x1 p 3x1 p
x2 = − + =− +
200 200 2 200
12/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Résolution graphique
Il s'agit donc d'une famille de droites de pente − 23 et dont l'ordonnée à
l'origine est 200 p
. Parmi les droites de cette famille, seules celles ayant des
points communs avec le polygone convexe nous intéressent. La fonction
f (x1 ; x2 ) atteindra sa valeur maximale lorsque l'ordonnée à l'origine 200 p
de la droite :
3x1 p
x2 = − +
2 200
atteindra sa valeur maximum tout en passant par au moins un despoints
du polygone convexe.
13/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Résolution graphique
Graphiquement on constate que la droite respectant ces conditions
semble être la droite de la famille passant par le point-sommet (10; 2). Le
prot est alors :
f (10; 2) = 300 × 10 + 200 × 2 = 3400.
Il reste à s'assurer algébriquement des coordonnées du point-sommet en
résolvant le système :
2x1 + x2 = 22 x1 = 10
( (
⇒
x1 + x2 = 12 x2 = 2
14/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Outline
1 Préambule
2 Résolution graphique
3 Résolution par méthode algébrique
4 Résolution par algorithme du simplexe
15/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Pour résoudre des problèmes de programmation linéaire ayant un nombre
de variables (principales) supérieur à trois, nous devons obligatoirement
faire appel à une autre méthode de résolution que celle déjà étudiée.
Toutefois, avant d'aborder la méthode du simplexe comme technique de
résolution d'un problème de programmation linéaire, vous découvrirez
dans cette section une version modiée - la méthode algébrique - qui
permettra d'étudier les diérentes étapes à franchir pour arriver à une
solution optimale.
16/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Variables d'écart
La méthode de résolution que nous étudions dans cette section
nécessite que les contraintes du modèle soient exprimées sous forme
d'équations linéaires au lieu d'inéquations.
On peut facilement transformer une inéquation linéaire ayant un
signe ≤ en une équation linéaire en additionnant une variable non
négative dite variable d'écart.
17/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Variables d'écart
Soit la i ième contrainte :
ai 1 x1 + ai 2 x2 + ... + ain xn ≤ bi
Additionnant au premier membre de l'inéquation, la variable d'écart xn+1
vériant que xn+1 ≥ 0, on obtient :
ai 1 x1 + ai 2 x2 + ... + ain xn + xn+1 = bi
et alors
xn+1 = bi − (ai 1 x1 + ai 2 x2 + ... + ain xn )
représente l'écart entre la quantité disponible de la ressource i et la
quantité eectivement utilisée par l'ensemble des xj . Si la quantité bi
représente des heures (disponibilité d'un département par exemple), la
variable d'écart introduite dans la contrainte correspondante représentera
alors un temps mort, qui peut être soit positif soit nul.
Nous ajoutons autant de variables d'écart diérentes qu'il existe de
contraintes du type ≤.
18/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Exemple Fil rouge
L'entreprise Simco fabrique diérents modèles d'appareils
électroménagers. Le programme actuel de fabrication est de 500 unités
du modèle Elec-100 et 400 unités du modèle Elec-200. Le vice-président
de la fabrication veut déterminer si les contributions aux bénéces de
l'entreprise peuvent être augmentées en modiant le programme actuel
de fabrication. Il possède l'information suivante sur le nombre d'heures
requises pour fabriquer chaque modèle, ainsi que le temps disponible à
chaque atelier.
Elec-100 Elec-200
Atelier Nbre d'heures Nbre d'heures temps disponible
Assemblage 3 4 4200 heures
Vérication 1 3 2400 heures
Empaquetage 2 2 2600 heures
Contribution 100 DH/unité 120 DH/unité
19/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Exemple Fil rouge
Les contraintes du modèle l rouge exprimées sous forme d'inéquations
linéaires, peuvent se ramener à un système d'équations linéaires en
introduisant trois variables d'écart, x3 , x4 et x5 :
3x1 + 4x2 ≤ 4200 3x1 + 4x2 + x3 = 4200
x + 3x ≤ 2400
x + 3x + x = 2400
1 2 1 2 4
⇒
2x 1 + 2x2 ≤ 2600
2x 1 + 2x 2 x5 = 2600
+
où xi ≥ 0 pour i = 1; 2 où xi ≥ 0 pour i = 1; 2; 3; 4; 5
20/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Résolution graphique
21/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Coecients des variables d'écart dans la fonction économique
On peut considérer que les variables d'écart permettant de mesurer le
niveau d'activités ctives alors, pour qu'elles n'inuencent pas
l'optimisation, on suppose nuls les bénéces ou coûts liés à ces activités.
Ainsi, à chaque variable d'écart xj correspondra le coecient cj = 0 dans
la fonction économique.
Prenant le programme linéaire suivant :
max f (x1 , x2 ) = 100x1 + 120x2
s.c. 3x1 + 4x2 ≤ 4200
x1 + 3x2 ≤ 2400
2x1 + 2x2 ≤ 2600
x1 ≥0
x2 ≥ 0
22/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Coecients des variables d'écart dans la fonction économique
Il devient :
max f (x1 , x2 , x3 , x4 , x5 ) = 100x1 + 120x2 + 0x3 + 0x4 + 0x5
s.c.
3x1 + 4x2 ≤ 4200
x1 + 3x2 ≤ 2400
2x1 + 2x2 ≤ 2600
x1 ≥0
x2 ≥0
x3 ≥0
x4 ≥0
x5 ≥ 0
23/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Résolution complète de l'exemple Fil rouge
Après l'introduction des 3 variables d'écart :
x3 =temps mort en heures à l'atelier d'assemblage,
x4 =temps mort en heures à l'atelier de vérication,
x5 =temps mort en heures à l'atelier d'empaquetage.
l'exemple l rouge s'écrit alors :
maximiser f (x1 , x2 , x3 , x4 , x5 ) = 100x1 + 120x2 + 0x3 + 0x4 + 0x5
sous contraintes :
3x1 + 4x2 + x3 = 4200
x + 3x + x = 2400
1 2 4
2x 1 + 2x 2 x5 = 2600
+
où xi ≥ 0 pour i = 1; 2; 3; 4; 5
24/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Programme initial
Dans le programme de base initial, on exprime toujours les variables
d'écart (ici x3 , x4 , x5 ) en fonction des variables principales (ici x1 , x2 ).
Donc au départ, ce sont les variables d'écart qui sont dans le programme
de base et les variables principales sont hors programme.
x3 = 4200 − 3x1 − 4x2 (1)
x4 = 2400 − x1 − 3x2 (2)
x5 = 2600 − 2x1 − 2x2 (3)
Comme x1 = x2 = 0, on obtient :
x3 = 4200 heures
x4 = 2400 heures
x5 = 2600 heures
La valeur de la fonction économique est alors :
f1 (0; 0; 4200; 2400; 2600) =
100 × 0 + 120 × 0 + 0 × 4200 + 0 × 2400 + 0 × 2600 = 0
25/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Programme initial
Programme de base N 1 °
x1 = 0 unité
x2 = 0 unité
x3 = 4200 heures
x4 = 2400 heures
x5 = 2600 heures
fonction économique = 0 DH
Ce programme de base correspond au point extrême 1 de la résolution O
graphique. Bien qu'il soit réalisable, il n'est pas nancièrement attrayant
pour l'entreprise. Comme aucun atelier n'est en opération, on peut
évidemment améliorer la valeur de la fonction économique en fabriquant
quelques unités de l'un ou de l'autre des appareils électroménagers.
26/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Révision du programme initial
On doit maintenant examiner la possibilité d'améliorer la valeur de la
fonction économique en introduisant l'une ou l'autre des variables
principales (soit x1 , soit x2 mais non les deux simultanément) dans le
programme de base et en sortant une variable actuellement dans le
programme de base. Nous savons que nous ne pouvons jamais avoir plus
de m (ici 3) variables positives dans un programme de base.
Le choix de la variable (actuellement hors programme) à introduire dans
le programme s'eectue à l'aide d'un critère qui permet d'améliorer le
plus rapidement possible la valeur de la fonction économique.
27/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Critère d'entrée d'une variable dans le programme de base
À chaque programme, on choisira la variable (actuellement hors
programme) qui donne la meilleure augmentation de la valeur de la
fonction économique c'à d. la variable dont la contribution au bénéce
est la plus élevée. On portera évidemment notre choix sur des variables
dont les coecients sont positifs.
À chaque étape de la résolution (chaque programme), nous exprimons la
fonction économique en fonction des variables hors programme :
Donc à cette étape-ci, la fonction économique de l'entreprise Simco est :
fonction économique = 100x1 + 120x2
x1 et x2 sont des variables hors programme.
D'après l'expression de la fonction économique, l'augmentation sera la
plus élevée si nous introduisons la variable x2 dans le programme, Donc :
Variable entrante : x2
28/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Détermination de la variable sortante
Cherchons d'abord la plus grande quantité du modèle Elec-200 (x2 ) que
l'on peut fabriquer tout en respectant les conditions imposées par les
équations (1), (2) et (3).
Nous ne pouvons excéder les temps disponibles à chaque atelier.
Il s'agit donc de déterminer la plus grande valeur pouvant être prise par
x2 dans chaque équation. Ainsi dans la première équation (1) :
x3 = 4200 − 3x1 − 4x2
Le modèle Elec-200 (variable x2 ) exige 4 heures d'assemblage par unité.
Comme nous avons 4200 heures disponibles, on peut alors fabriquer :
4200
4 = 1050 unités du modèle Elec-200 Ainsi :
(1) x3 = 4200 − 3x1 − 4x2 ⇒ Quantité = 1050 unités
(2) x4 = 2400 − x1 − 3x2 ⇒ Quantité = 2400 3 = 800 unités
(3) x5 = 2600 − 2x1 − 2x2 ⇒ Quantité = 2600 2 = 1300 unités
29/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Détermination de la variable sortante
Pour s'assurer que toutes les contraintes soient respectées en même
temps, on choisit parmi ces valeurs la plus petite quantité positive :
x2 = 800 unités
Ce minimum s'obtient dans l'équation (2). On utilise donc tout le temps
disponible à l'atelier de vérication pour fabriquer 800 unités du modèle
Elec-200. Il n'y aura donc plus aucun temps mort à cet atelier : x4 = 0.
C'est la variable qui sort du programme :
Variable sortante : x4
30/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Détermination de la nouvelle solution : Programme de base N 2 °
Puisque x2 = 800 et que x1 = 0, on a alors
x3 = 4200 − 3.0 − 4.800 = 1000 heures
x4 = 2400 − 1.0 − 3.800 = 0 heures
x5 = 2600 − 2.0 − 2.800 = 1000 heures
La valeur de la fonction économique est alors :
f2 (0; 800; 1000; 0; 1000) = 100.0 + 120.800 + 0.1000 + 0.0 + 0.1000 = 96000
ou simplement :
f2 (0; 800) = 100.0 + 120.800 = 96000
31/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Détermination de la nouvelle solution : Programme de base N 2 °
Le nouveau programme de base est donc :
Programme de base N 2 °
x1 = 0 unité
x2 = 800 unité
x3 = 1000 heures
x4 = 0 heures
x5 = 1000 heures
fonction économique = 96000 DH
O
Il correspond au point-sommet 2 de la résolution graphique. S'agit-il du
programme optimal ?
32/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Détermination de la nouvelle solution : Programme de base N 2 °
Toutefois, avant de tester si le programme est optimal, il faut d'abord
transformer les équations (1), (2) et (3) pour exprimer les variables dans
le programme en fonction des variables hors programme :
Variables dans le programme (les non nulles) : x2 , x3 , x5 .
Variables hors programme (les nulles) : x1 , x4 .
x3 = 4200 − 3x1 − 4x2 x3 = 4200 − 3x1 − 4x2
x4 = 2400 − x1 − 3x2 ⇒ x2 = 800 − 13 x1 − 13 x4
x5 = 2600 − 2x1 − 2x2 x5 = 2600 − 2x1 − 2x2
1 1
x3 = 4200 − 3x1 − 4(800 − 3 x1 − 3 x4 )
1 1
⇒ x2 = 800 − 3 x1 − 3 x4
x5 = 2600 − 2x1 − 2(800 − 13 x1 − 13 x4 )
33/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Détermination de la nouvelle solution : Programme de base N 2 °
On obtient nalement :
5 4
x3 = 1000 − 3 x1 + 3 x4 (4)
1 1
x2 = 800 − 3 x1 − 3 x4 (5)
x5 = 1000 − 34 x1 + 23 x4 (6)
Il nous reste à exprimer la valeur de la fonction économique, en fonction
des variables hors programme x1 et x4 à l'aide de la substitution :
fct-éco = 100x1 + 120x2
(
⇒ fct-éco = 96000 + 60x1 − 40x4
x2 = 800 − 13 x1 − 13 x4
variables hors programme : x1 et x4
34/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Détermination de la nouvelle solution : Programme de base N 2 °
Cette dernière expression nous indique qu'on peut améliorer encore la
valeur de la fonction économique puisque le coecient de la variable x1
est positif. En eet, nous remarquons que la fabrication d'une unité du
modèle Elec-100 (x1 = 1) permettra d'augmenter la valeur de la fonction
économique de 60 DH (le coecient de la variable x1 ). Toutefois, ceci ne
peut se faire sans diminuer la fabrication au modèle Elec-200 (x2 )
puisqu'actuellement le temps disponible à l'atelier de vérication est
complètement utilisé.
Donc si nous voulons fabriquer une certaine quantité du modèle Elec-100
(x1 ), il faut sacrier une partie de la fabrication du modèle Elec-200 (x2 ).
35/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Détermination de la nouvelle solution : Programme de base N 2 °
Puisque l'atelier de vérication est actuellement utilisé à pleine capacité
pour la fabrication du modèle Elec-200 et que les temps opératoires pour
chaque appareil sont les suivants :
Elec-100 Elec-200
Vérication 1 3
Nous constatons que pour fabriquer une unité de Elec-100, nous devons
diminuer la fabrication du modèle Elec-200 de 1/3 unité, soit le
coecient de la variable x1 dans l'équation (5).
En diminuant de 1/3 unité la fabrication du modèle Elec-200, nous
réduisons le bénéce de 120.1/3 = 40 DH, mais nous obtenons un gain
de 100 × 1 = 100DH, d'où un gain net de 60 DH ; cette valeur correspond
justement au coecient de la variable x1 dans l'expression de la fonction
économique. Nous introduirons donc x1 lors de la prochaine étape.
36/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Détermination du troisième programme de base
variables entrante : x1
Déterminons la valeur de x1 (quantité d'Elec-100) en utilisant les
équations (4), (5) et (6) :
(4) x3 = 1000 − 35 x1 + 43 x4 ⇒ Quantité = 1000
5/3 = 600 unités
1 1 800
(5) x2 = 800 − 3 x1 − 3 x4 ⇒ Quantité = 1/3 = 2400 unités
(6) x5 = 1000 − 34 x1 + 23 x4 ⇒ Quantité = 1000
4/3 = 750 unités
Ainsi x1 devant respecter les diérentes contraintes, nous choisirons
x1 = 600 unités qui se réalise dans la première équation et qui impose que
x3 devienne nulle, ainsi :
variables sortante : x3
37/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Détermination du troisième programme de base
Déterminons les nouvelles valeurs sachant que x1 = 600 et x4 = 0
x3 = 1000 − 5/3.600 + 4/3.0 = 0 heure
x2 = 800 − 1/3.600 − 1/3.0 = 600 unités
x5 = 1000 − 4/3.600 + 2/3.0 = 200 heures
La valeur de la fonction économique peut se calculer de 2 manières
diérentes :
f (x1 ; x2 ) = 100x1 + 120x2 ⇒ f (600; 600) = 132000
f3 (x1 ; x4 ) = 96000 + 60.x1 − 40.x4
⇒ f3 (600; 0) = 96000 + 60.600 − 40.0 = 132000
38/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Détermination du troisième programme de base
Le nouveau programme de base est donc :
Programme de base N 3 °
x1 = 600 unités
x2 = 600 unités
x3 = 0 heure
x4 = 0 heure
x5 = 200 heures
fonction économique = 132000
DH
O
Il correspond au point-sommet 3 de la résolution graphique.
39/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Détermination du troisième programme de base
Nous avons maintenant :
Variables dans le programme (les non nulles) : x1 , x2 et x5 .
Variables hors programme (les nulles) : x3 et x4
Exprimons à nouveau les variables dans le programme en fonction des
variables hors programme :
x3 = 1000 − 5/3x1 + 4/3x4 x1 = 600 − 3/5x3 + 4/5x4
x2 = 800 − 1/3x1 − 1/3x4 ⇒ x2 = 800 − 1/3x1 − 1/3x4
x5 = 1000 − 4/3x1 + 2/3x4 x5 = 1000 − 4/3x1 + 2/3x4
x1 = 600 − 3/5x3 + 4/5x4
⇒ x2 = 800 − 1/3(600 − 3/5x3 + 4/5x4 ) − 1/3x4
x5 = 1000 − 4/3(600 − 3/5x3 + 4/5x4 ) + 2/3x4
40/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Détermination du troisième programme de base
On obtient nalement :
3 4
x1 = 600 − 5 x3 + 5 x4 (7)
x2 = 600 + 5 x3 − 35 x4 (8)
1
x5 = 200 + 54 x3 − 25 x4 (9)
Les variables dans le programme : x1 , x2 et x5 . Les variables hors
programme : x3 et x4 .
La fonction économique, en fonction des variables hors programme x3 et
x4 à l'aide de la substitution :
fct-éco = 96000 + 60x1 − 40x4
(
⇒ fct-éco = 132000 − 36x3 + 8x4
x1 = 600 − 53 x3 + 45 x4
Nous n'avons pas encore atteint la solution optimale puisque le coecient
de la variable x4 est positif. On peut donc améliorer la valeur de la
fonction économique en introduisant la variable x4 dans le programme.
41/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Détermination du quatrième programme de base
Variable entrante : x4
Déterminons la valeur de x4 (temps mort à l'atelier de vérication) en
utilisant les équations (7), (8) et (9) :
(7) x1 = 600 − 53 x3 + 45 x4 ⇒ Valeur = −600
4/5 = −750 heures
9
(8) x2 = 600 − 51 x3 − 15 x4 ⇒ Valeur = 600
3/5 = 1000 heures
4 6 200
(9) x5 = 200 + 5 x3 − 15 x4 ⇒ Valeur = 2/5 = 500 unités
x4 doit vérier la condition d'être une variable d'écart donc d'être
positive. De plus, elle doit correspondre au minimum des deux autres
valeurs obtenues. On choisira donc x4 = 500 dans l'équation (9) ce qui
impose que x5 devienne nulle.
Variable sortante : x5
42/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Détermination du quatrième programme de base
Déterminons les nouvelles valeurs sachant que x4 = 500 et x3 = 0
x1 = 600 − 3/5.0 + 4/5.500 = 1000 unités
x2 = 600 + 1/5.0 − 3/5.500 = 300 unités
x5 = 200 − 4/5.0 − 2/5.500 = 0 heure
La valeur de la fonction économique est alors :
f4 (0; 500) = 132000 − 36.0 + 8.500 = 136000
43/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Détermination du quatrième programme de base
Le nouveau programme de base est donc :
Programme de base N 4 °
x1 = 1000 unités
x2 = 300 unités
x3 = 0 heure
x4 = 500 heures
x5 = 0 heure
fonction économique = 136000
DH
O
Il correspond au point-sommet 4 de la résolution graphique.
44/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Détermination du quatrième programme de base
Nous avons maintenant :
Variables dans le programme (les non nulles) : x1 , x2 et x4
Variables hors programme (les nulles) : x3 et x5
Exprimons à nouveau les variables dans le programme en fonction des
variables hors programme :
x1 = 600 − 3/5x3 + 4/5x4 x1 = 600 − 3/5x3 + 4/5x4
x2 = 600 + 1/5x3 − 3/5x4 ⇒ x2 = 600 + 1/5x3 − 3/5x4
x5 = 200 − 4/5x3 − 2/5x4 x4 = 500 + 2x3 − 5/2x5
x1 = 600 − 3/5x3 + 4/5(500 + 2x3 − 5/2x5 )
⇒ x2 = 600 + 1/5x3 − 3/5(500 + 2x3 − 5/2x5 )
x4 = 500 + 2x3 − 5/2x5
45/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Détermination du quatrième programme de base
On obtient nalement :
x1 = 1000 + x3 − 2x5 (10)
x2 = 300 − x3 + 3/2x5 (11)
x4 = 500 + 2x3 − 5/2x5 (12)
Les variables dans le programme : x1 , x2 et x4 . Les variables hors
programme : x3 et x5 .
La fonction économique, en fonction des variables hors programme x3 et
x5 à l'aide de la substitution :
fct-éco = 132 − 36x3 + 8x4
(
⇒ fct-éco = 136000 − 20x3 − 20x5
x4 = 500 + 2x3 − 5/2x5
46/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Détermination du quatrième programme de base
Pouvons-nous améliorer encore la valeur de la fonction économique ?
La réponse est non puisque les coecients des variables hors programme
(x3 et x5 ) sont négatifs.
Un programme de base est optimal si tous les coe-
cients des variables hors programme, dans l'expression
de la fonction économique, sont ≤ 0.
On constate qu'elle correspond bien à la solution optimale obtenue lors
de la résolution graphique. Le programme optimal de fabrication de
l'entreprise Simco est donc :
1000 unités de Elec-100 ; 300 unités de Elec-200 pour
un bénéce maximum de 136000 DH.
De plus, il n'y a aucun temps mort aux ateliers d'assem-
blage et d'empaquetage et il y a 500 heures de temps
mort à l'atelier de vérication.
47/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Outline
1 Préambule
2 Résolution graphique
3 Résolution par méthode algébrique
4 Résolution par algorithme du simplexe
48/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Résolution du problème Fil rouge par la méthode du simplexe
Le problème de fabrication de l'entreprise Simco après l'introduction des
variables d'écarts, était le suivant :
maximiser f (x1 , x2 , x3 , x4 , x5 ) = 100x1 + 120x2 + 0x3 + 0x4 + 0x5
sous contraintes :
3x1 + 4x2 + x3 = 4200
x + 3x + x = 2400
1 2 4
2x1 + 2x2 + x5 = 2600
où xi ≥ 0 pour i = 1; 2; 3; 4; 5
49/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Résolution du problème Fil rouge par la méthode du simplexe
Que l'on peut écrire sous la forme :
3x1 + 4x2 + 1x3 + 0x4 + 0x5 = 4200
x + 3x + 0x + 1x + 0x = 2400
1 2 3 4 5
2x1 + 2x2 + 0x3 + 0x4 + 1x5 = 2600
où xi ≥ 0 pour i = 1; 2; 3; 4; 5
Etape N°1 : Matrice du programme de base N°1
Variables hors base Variables de base
x1 x2 x3 x4 x5
x3 3 4 1 0 0 4200
Variables
de base
x4 1 3 0 1 0 2400
x5 2 2 0 0 1 2600
100 120 0 0 0 0
50/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Etape N°2 : Matrice du programme de base N°2
Pour accroître le plus rapidement possible la valeur de la fonction
économique, il faut donner une valeur positive à x2 puisque c'est x2 qui a
le plus grand coecient positif sur la dernière ligne de la matrice. Quelle
est la plus grande valeur que l'on peut attribuer à x2 ?
Pour la déterminer, on prend les rapports des éléments de la colonne de
droite sur les éléments de la colonne des x2 . On trouve alors :
Variables hors base Variables de base
x1 x2 x3 x4 x5
x3 3 4 1 0 0 4200 4200/4 = 1050
Variables
de base
x4 1 3 0 1 0 2400 2400/3 = 800
x5 2 2 0 0 1 2600 2600/2 = 1300
100 120 0 0 0 0
51/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Le plus petit de ces rapports est 800 et c'est la plus grande valeur qu'on
peut attribuer à x2 . Nous utiliserons donc l'élément de la deuxième ligne
deuxième colonne ; encerclons-le pour le mettre en évidence. Nous
l'appellerons pivot de la 1re étape.
Variables hors base Variables de base
x1 x2 x3 x4 x5
3 4 1 0 0 4200
O3
x3
Variables
de base
x4 1 0 1 0 2400
x5 2 2 0 0 1 2600
100 120 0 0 0 0
52/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Nous devons maintenant annuler les autres éléments de la deuxième
colonne. Pour ce faire, nous eectuons des opérations sur les lignes. En
premier lieu, nous allons rendre le pivot unitaire en divisant les termes de
la deuxième ligne par 3 :
Variables hors base Variables de base
x1 x2 x3 x4 x5
3 4 1 0 0 4200
O
x3
Variables
de base
x4 1/3 1 0 1/3 0 800 L2 ← 13 L2
x5 2 2 0 0 1 2600
100 120 0 0 0 0
53/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
En deuxième lieu, on soustrait 4 fois la deuxième ligne à la première, 2
fois la deuxième à la troisième et nalement 120 fois la deuxième à la
dernière :
x1 x2 x3 x4 x5
5/3 0 1 −4/3 0 1000 L1 ← L1 − 4L2
1/3 O1 0 1/3 0 800
4/3 0 0 −2/3 1 1000 L3 ← L3 − 2L2
60 0 0 −40 0 −96000 L4 ← L4 − 120L2
Avec fonction économique= 96000 + 60x1 − 40x4
54/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Etape N°3 : Matrice du programme de base N°3
On constate que l'on peut encore accroître la valeur à optimiser en
introduisant une valeur pour x1 .
A nouveau, eectuons le rapport de la dernière colonne avec celle de x1 :
x1 x2 x3 x4 x5
5/3 0 1 −4/3 0 1000 1000/(5/3) = 600
1/3 1 0 1/3 0 800 800/(1/3) = 2400
4/3 0 0 −2/3 1 1000 1000/(4/3) = 750
60 0 0 −40 0 −96000
Le plus petit rapport étant sur la première ligne, notre pivot sera
l'élément de la première ligne, première colonne. Rendons-le unitaire en le
multipliant par 3/5 :
55/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
x1 x2 x3 x4 x5
O1 0 3/5 −4/5 0 600 L1 ← 35 L1
1/3 1 0 1 /3 0 800
4/3 0 0 −2/3 1 1000
60 0 0 −40 0 −96000
Eectuons à nouveau les opérations sur les lignes an d'annuler les autres
éléments de la 1ère colonne :
x1 x2 x3 x4 x5
O1 0 3/5 −4/5 0 600
0 1 −1/5 3 /5 0 600 L2 ← L2 − 13 L1
0 0 −4/5 2 /5 1 200 L3 ← L3 − 43 L1
0 0 −36 8 0 −132000 L4 ← L4 − 60L1
Nous n'avons pas encore atteint la solution optimale puisque le
coecient de la variable x4 , dans la fonction économique, est positif.
Eectuons le rapport de la dernière colonne avec celle de x4 .
56/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Etape N°4 : Matrice du programme de base N°4
x1 x2 x3 x4 x5
1 0 3/5 −4/5 0 600 600/(−4/5) = −750
0 1 −1/5 3/5 0 600 600/(3/5) = 1000
0 0 −4/5 2/5 1 200 200/(2/5) = 500
0 0 −36 8 0 −132000
Le pivot se situe en 3ème ligne, 4ème colonne. Rendons-le unitaire en le
multipliant par 5/2 :
x1 x2 x3 x4 x5
1 0 3/5 −4/5 0 600
0 1 −1/5 3/5 0 600
0 0 −2 O1 5/2 500 L3 ← 52 L3
0 0 −36 8 0 −132000
Eectuons à nouveau les opérations sur les lignes an d'annuler les autres
éléments de la 4ème colonne :
57/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
x1 x2 x3 x4 x5
1 0 −1 0 2 1000 L1 ← L1 + 45 L3
0 1 1 0 −3/2 300 L2 ← L2 − 53 L3
0 0 −2 O1 5/2 500
0 0 −20 0 −20 −136000 L4 ← L4 − 8L3
Il n'y a plus de coecients positifs sur la dernière ligne de la matrice et il
n'est donc plus possible d'accroître la valeur de la fonction économique.
La solution optimale est donc le quintuplet :
(x1 ; x2 ; x3 ; x4 ; x5 ) = (1000; 300; 0; 500; 0)
qui correspond à un bénéce maximum de 136000 dh en produisant 1000
unités de Elec-100, 300 unités de Elec-200 avec un temps mort de 500
heures à l'atelier de vérication.
58/59 Abdelaziz Qaou Programmation linéaire
Préambule
Résolution graphique
Résolution par méthode algébrique
Résolution par algorithme du simplexe
Merci pour votre attention
59/59 Abdelaziz Qaou Programmation linéaire