Académique Documents
Professionnel Documents
Culture Documents
Procédés
COURS
I.1. Généralités
I.2. Définitions
I.3. Formulation mathématique et écriture d’un programme
I.4.1. Résolution d’un problème [Max] :
I.4.2. par la méthode analytique ou économique ;
I.4.3. par la méthode géométrique ou graphique ;
I.4.4. par la méthode du tableau des solutions ;
I.4.5. par la méthode algébrique de substitution ;
I.4.6. par la méthode de l’algorithme du simplexe : principe de Dantzig.
IV.1. Introduction
IV.2. Quelques définitions sur la théorie des graphes
IV.3. Différentes représentations d’un graphe G(X,U)
IV.4. Recherche d’un chemin optimal (le plus long et le plus court) dans un graphe
orienté valué: principe de l’algorithme de Ford pour un chemin max et un
chemin min.
V.1. Définition
V.2. Problèmes d’ordonnancement
V.3. Notion de projet. Tâche et ordonnancements
V.3.1. Notion de projet
LNA
‒1‒
COURS ETEP Pr. N.A. LAOUFI
LNA
‒2‒
COURS ETEP Pr. N.A. LAOUFI
I.1. Généralités
La programmation linéaire est l’une des plus importantes techniques d’optimisation
utilisées en recherche opérationnelle. Ceci est dû à la facilité de la modélisation, à l’efficacité
des algorithmes développés et à l’existence sur le marché de nombreux logiciels. La
généralisation de la micro-informatique a mis la programmation linéaire à la portée de tous.
L'objectif de la programmation linéaire est de déterminer l’affectation optimale de
ressources rares entre des activités ou produits concurrents. Les situations économiques
demandent souvent qu’on optimise une fonction sous plusieurs contraintes prenant la forme
d’inégalités.
I.2. Définitions
La programmation linéaire est un ensemble de méthodes techniques d'analyse et de
synthèse que l'on appelle algorithmes, c'est donc un procédé de calcul, qui, en s'appuyant sur
les méthodes mathématiques et statistiques permettent de retrouver la solution optimale des
problèmes économiques de gestion et d'organisation.
La programmation linéaire est un outil mathématique des plus puissants, qui sert à trouver
la solution optimale d’un problème dans la recherche opérationnelle ou de choix dans le
domaine économique, compte tenu d’un ensemble de conditions contraignantes.
• Applications:
– déterminer l'allocation optimale d'un ou plusieurs facteurs (temps, monnaie,
surface, capacité de production);
– déterminer le nombre optimal de machines, d'objets,...;
– établir l’horaire de départ des avions, trains,…;
– développer des plans financiers;
– trouver la meilleure combinaison de matières premières afin de respecter des
exigences sur le produit fini.
elles renseignent sur les variables de décision à prendre, uniquement des valeurs qui
ont du sens par rapport au problème réel étudié;
elles peuvent être nombreuses;
elles doivent être linéaires.
3. une fonction objectif, économique ou objective (Z) (c’est une fonction des variables
de décision):
LNA
‒3‒
COURS ETEP Pr. N.A. LAOUFI
3) Contraintes de Non Négativité pour chaque variable de décision xi, (elles doivent toutes
être positives ou nulles car elles ont un sens physique, donc xi ≥ 0)
4) Il n’y a aucune inégalité stricte (pas de < ou de > ) aussi bien pour les variables d'écart
que pour les contraintes mais des égalité au sens large (≤ ou ).
LNA
‒4‒
COURS ETEP Pr. N.A. LAOUFI
∑n+m m
j=1 aij xj ≤ ∑i=1 di i = 1, 2, … , m Contraintes du problème
(I) 𝑛
x1 ≥ 0 , x2 ≥ 0 ,… , xn ≥ 0
Z = C1 x1 + C2 x2 + C3 x3 + … Cn xn [Max]
Tout ensemble X = (x1, x2, ..., xn) qui vérifie les conditions citées en (I) ou en (II), est
appelé programme réalisable ou admissible.
n+m m
LNA
‒5‒
COURS ETEP Pr. N.A. LAOUFI
Question
Déterminer la production totale des produits P1, P2 et P3 qui assure à l'entreprise un profit
net maximum.
(x1) (x2) (x3)
Durée maximale d'utilisation de
P1 P2 P3 chaque machine / semaine
(heures)
M1 1 3 2 40
M2 3 2 1 45
M3 1 3 4 38
Profit
10 14 12
net/unité (UM)
LNA
‒6‒
COURS ETEP Pr. N.A. LAOUFI
Z = 10 x1 + 14x2 + 12 x3 [Max]
LNA
‒7‒
COURS ETEP Pr. N.A. LAOUFI
LNA
‒8‒
COURS ETEP Pr. N.A. LAOUFI
Le profit étant l'objectif de l'entreprise, cette dernière doit vendre un maximum de produits
P2 (300 articles) puisque le bénéfice net généré par la vente d'une unité de P 2 (5 UM) est
supérieur à celui de P1 (2 UM).
i) Le temps d'utilisation de la machine pour la fabrication des 300 articles P 2 est de: 300*
1/15 = 20 h.
ii) Le bénéfice net généré par la vente des 300 articles P 2 par semaine est de: 300 * 5 =
1500 UM
iii) Le temps restant pour la fabrication des articles P1 est de: 40 - (300/15) = 20
heures/semaine.
iv) Le nombre d'articles P1 que l'entreprise peut fabriquer et vendre est égal à : 20 *15 =
300 articles par semaine.
v) Le bénéfice net généré par la vente des 300 articles P 1 est de : 2 * 300 = 600 UM
vi) Le profit net généré par la vente de 300 articles P 1 et 300 articles P2 est de: 1500 UM +
600 UM = 2100 UM par semaine.
L'entreprise doit fabriquer 300 articles de produit P 1 et 300 articles de produit P2 par semaine
pour générer un profit net maximum de 2100 UM.
LNA
‒9‒
COURS ETEP Pr. N.A. LAOUFI
Z = 2 x1 + 5x2 [Max]
L'objectif est de déterminer les valeurs de x1 et x2 qui satisfont les contraintes a), b) et c').
x10, x20
x1 400
x2 300
x1 + x2 600
Z = 2 x1 + 5x2 [Max]
On délimite le cadran correspondant aux contraintes de non négativité: x10, x20, dans un
repère orthonormé du plan, il correspond au cadran supérieur droit.
1) x1 = 400, cette droite partage le plan en deux demi plans, choisir le demi plan vérifiant
l'inéquation x1 400.
2) x2 = 300, cette droite partage le plan en deux demi plans, choisir le demi plan vérifiant
l'inéquation x2 300.
3) x1 + x2 = 600, cette droite partage le plan en deux demi plans, choisir le demi plan
vérifiant l'inéquation: x1 + x2 600, en prenant comme repère l'origine, 0 +0 = 0 600, donc
l'inéquation est vérifiée, l'origine appartient donc au domaine des solutions admissibles.
LNA
‒ 10 ‒
COURS ETEP Pr. N.A. LAOUFI
Détermination de l'optimum
1. Enumération des sommets (situés au niveau du périmètre du polyèdre)
Sommet X1 X2 Z
O 0 0 0
A 400 0 800
B 400 200 1800
C 300 300 2100
D 0 300 1500
En comparant les valeurs de la fonction économique, nous constatons une valeur maximale
au niveau du sommet C.
L'entreprise doit fabriquer 300 articles de produit P1 et 300 articles de produit P2 par
semaine pour générer un profit net maximum de 2100 UM.
2. Tracé de la droite représentant la fonction économique Z
Tracer la droite Z = 2 x1 + 5x2 en choisissant deux points dont la valeur de Z est la même.
Exemple:
Premier point: (x1 = 200 et x2 = 220) d'où Z = 1500, et pour le second point: Z = 1500
(x1 = 0 et x2 = 300).
LNA
‒ 11 ‒
COURS ETEP Pr. N.A. LAOUFI
LNA
‒ 12 ‒
COURS ETEP Pr. N.A. LAOUFI
En introduisant des variables d'écart (VE) au niveau des inégalités, c'est à dire: x30, x4 0,
on met le programme (P1) sous la forme standard suivante (P2).
VP VE
si n > m il existe une infinité de solutions mais une seule est optimale;
Afin de résoudre le système dans le second cas, on pose que les (n - m) variables sont
égales à zéro, il restera donc m variables et m équations à résoudre.
Exemple: avec n = 23 variables et m = 10 équations, on pose (23 - 10) = 13 variables
égales à zéro, on résout le système de 10 équations à 10 inconnues restantes.
L'objectif est de déterminer quelles variables seront choisies pour leur attribuer la
valeur zéro.
En examinant chaque possibilité de sélectionner les (n-m) variables des n variables et les
poser égales à zéro et résoudre le système à m variables restantes et m équations, la solution
sera parmi toutes ces solutions.
Les (n-m) variables nulles sont dites variables non-basiques ou hors-base, les m variables
restantes sont dites variables de base ou basiques ou encore dans la base, l'ensemble est
appelé base.
La solution des équations impliquant la base est dite: solution basique.
Si les valeurs des solutions basiques ne sont pas négatives et vérifient toutes les contraintes
du problème, la solution est dite solution basique réalisable, la solution optimale est parmi
ces solutions.
La solution optimale est obtenue lorsqu'en continuant le processus, un point est atteint de
telle sorte qu'aucune amélioration de la fonction économique ne peut avoir lieu.
c) Application
Cette méthode de résolution limite le nombre de variables de décision à 3 et 4 contraintes.
Soit la forme canonique du programme linéaire suivant:
x10, x20
x1 400
x2 300
x1 + x2 600
Z = 2 x1 + 5x2 [Max]
LNA
‒ 13 ‒
COURS ETEP Pr. N.A. LAOUFI
On introduit trois variables d'écart x30, x40, x50 au niveau des inégalités du système
précédent pour obtenir la forme standard, ces variables sont rajoutées avec le signe (+):
VP VE
5!
= 10
3! (5 − 3)!
n° x1 x2 x3 x4 x5 Z
1 0 0
2 0 0
3 0 0
4 0 0
5 0 0
6 0 0
7 0 0
8 0 0
9 0 0
10 0 0
LNA
‒ 14 ‒
COURS ETEP Pr. N.A. LAOUFI
En comparant les valeurs de Z, on constate que la plus grande valeur (optimum) correspond
au sommet C:
L'entreprise doit fabriquer 300 articles de produit P 1 et 300 articles de produit P2 par
semaine pour générer un profit net maximum de 2100 UM.
LNA
‒ 15 ‒
COURS ETEP Pr. N.A. LAOUFI
4. Poser la solution extrême de base en utilisant d'abord les variables de décision non
principales (variables hors-base correspondant aux variables nulles), les autres variables non
nulles obtenues, constituent les variables principales ou variables dans la base.
A ce stade, la fonction économique est nulle.
5. Passer à la première itération afin de trouver une solution de base meilleure, c'est à dire
améliorer la fonction économique. Pour y parvenir, on sélectionnera une variable entrante et
une variable sortante selon les critères de Dantzig suivants:
a) critère d'entrée: la variable entrant dans la base (variable entrante) est celle qui, dans la
fonction économique, présente le coefficient positif le plus élevé;
b) critère de sortie: la variable sortant de la base (variable sortante) est celle qui
correspond au plus petit rapport positif des rapports des seconds membres des contraintes aux
coefficients de la variable entrante (l'infini et les nombres négatifs sont exclus de la
comparaison).
6. On arrête les différentes itérations dès que la fonction économique ne contient plus que
des coefficients négatifs ou nuls.
Application
Résoudre le programme linéaire suivant, donné sous forme canonique, par la méthode
algébrique de substitution:
x10, x20
2 x1 + x2 140
(S1)
x1 + x2 104
5 x1 + 3 x2 360
Z = 7 x1 + 4 x2 [Max]
VP VE
x10, x20, x30, x40, x50
2 x1 + x2 + x3 = 140
(S2)
x1 + x2 + x4 = 104
5 x1 + 3 x2 + x5 = 360
Z = 7 x1 + 4 x2 + 0 * x3 + 0 * x4 + 0 * x5 [Max]
Pour choisir la variable entrante ou entrant dans la base, on utilise le critère d'entrée de
Dantzig, cette variable est celle qui aura le coefficient le plus élevé dans Z, soit x1. On
exprime d'abord les variables de base en fonction des variables hors base, d'où:
LNA
‒ 16 ‒
COURS ETEP Pr. N.A. LAOUFI
VP VE
x10, x20, x30, x40, x50
x3 = 140 − 2 x1 − x2 Equation d'échange
(S3)
x4 = 104 − x1 − x2
x5 = 360 − 5 x1 − 3 x2
Z = 7 x1 + 4 x2 [Max]
Recherche de la variable sortante, sachant que x1 est la variable entrante; recherche de la valeur
à attribuer à x1.
On remplace x2 = 0 dans le système S3 car c'est la seule qui reste hors base.
VP VE
LNA
‒ 17 ‒
COURS ETEP Pr. N.A. LAOUFI
VP VE
Deuxième itération
Dans le système (S3), l'équation d'échange est celle qui fournit la variable sortante, soit:
x3 = 140 − 2 x1 − x2
A partir de cette équation, on exprime la variable entrante x1 en fonction des variables hors
base x2 et x3, soit:
1 1
x1 = 70 − x2 − x3
2 2
On remplace ensuite cette nouvelle expression de x1 dans les différentes équations de (S3) y
compris dans Z, ce qui donne:
VP VE
LNA
‒ 18 ‒
COURS ETEP Pr. N.A. LAOUFI
VP VE
D'après Z, il faut procéder à une deuxième itération car le coefficient de x2 est positif alors
que celui de x3 est négatif, donc la variable entrante est x2 (sachant que x3 = 0).
VP VE
LNA
‒ 19 ‒
COURS ETEP Pr. N.A. LAOUFI
VP VE
1 5
x5 = 10 − 2 x2 + x3
2
A partir de cette équation, on exprime la variable entrante x3 en fonction des variables hors
base x3 et x5, soit:
x2 = 20 + 5 x3 − 2 x5
On remplace ensuite cette nouvelle expression de x2 dans les différentes équations de (S8) y
compris dans Z, ce qui donne:
VP VE
VP VE
LNA
‒ 20 ‒
COURS ETEP Pr. N.A. LAOUFI
La solution de la deuxième itération est donc la valeur optimale recherchée, elle correspond
à:
Variables hors base (VHB): x3 = 0 x5 = 0
Variables de base (VB) : x1 = 60 x2 = 20 x4 = 24
Z = 500
Seconde application
Résoudre le programme linéaire suivant, donné sous forme canonique, par la méthode
algébrique de substitution:
x10, x20
2x1 + x2 6000
x1 + 4x2 10000
Z = 3,5 x1 + 5 x2 [Max]
Principe
1. Etablir la formulation mathématique du problème posé.
2. Dresser la forme canonique du programme linéaire.
3. Passer de la forme canonique à la forme standard en transformant les inéquations en
équations en introduisant les variables d'écart.
4. Construire le tableau n° 0: recherche de la solution extrême de base, les variables d'écart
sont considérées au départ comme variables principales ou variables dans la base. Les
variables réelles sont non principales et sont donc des variables hors base. La fonction
économique est alors nulle.
A partir du tableau n° 0, on prépare le tableau n° 1 en choisissant respectivement la
colonne de la variable entrante et la ligne de la variable sortante ainsi que le pivot:
a) la colonne entrante correspond au coefficient le plus élevé dans la fonction
économique ou parmi les gains marginaux (j), la colonne de la variable entrante prend alors
le nom de colonne pivot;
LNA
‒ 21 ‒
COURS ETEP Pr. N.A. LAOUFI
Application
Une entreprise fabrique 2 types de serrures S1 et S2, S1 étant de meilleure qualité que S2.
L'étude de marché a révélé que l'entreprise ne pourrait écouler plus de 400 serrures de type
S1 par jour et 700 serrures de type S2 par jour.
L'approvisionnement en matériaux ne permet pas une production totale supérieure à 800
serrures par jour.
Le temps de fabrication de S1 est 2 fois plus long que pour S2, et si toutes les serrures
étaient de type S2, l'entreprise pourrait en produire 1000 unités par jour.
Le profit net est de 2 UM pour une unité S1 et 1,5 UM pour une unité de S2.
Déterminer le nombre de serrures de chaque type que l'entreprise doit fabriquer par jour de
manière à maximiser le profit net de l'entreprise.
LNA
‒ 22 ‒
COURS ETEP Pr. N.A. LAOUFI
Z = 2 x1 + 1,5x2 [Max]
L'objectif est de déterminer les valeurs de x1 et x2 qui satisfont les contraintes a), b) et c) et
d).
x10, x20
x1 400
x2 700
(S1)
x1 + x2 800
2 x1 + x2 1000
Z = 2 x1 + 1,5 x2 [Max]
VP VE
x10, x20, x30, x40, x50, x60
x1 + x3 = 400
(S2)
x2 + x4 = 700
x1 + x2 + x5 = 800
2x1 + x2 + x6 = 1000
Z = 2 x1 + 1,5x2 + 0 * x3 + 0 * x4 + 0 * x5 + 0 * x6 [Max]
Remarques:
x3, x4: besoins du marché en produits S1 et S2 qui ne seront pas satisfaits (dans le cas où
les valeurs des variables ne sont pas nulles).
x5: quantité de matière première non utilisée(dans le cas où les valeurs des variables ne
sont pas nulles).
x6: temps de non utilisation de la machine(dans le cas où les valeurs des variables ne
sont pas nulles).
LNA
‒ 23 ‒
COURS ETEP Pr. N.A. LAOUFI
Tableau n° 0
A1: vecteur entrant
Pivot
A3: vecteur sortant
A3: ligne pivot
Base Ci A1 A2 A3 A4 A5 A6 di di/aie
x3 A3 0 1 0 1 0 0 0 400 400
x4 A4 0 0 1 0 1 0 0 700 ∞
x5 A5 0 1 1 0 0 1 0 800 800
x6 A6 0 2 1 0 0 0 1 1000 500
Toutes les opérations mathématiques sont réalisées avec la ligne pivot avec un pivot égal à 1.
La colonne pivot du tableau n°1 devra être unitaire.
Exemple de calcul:
LNA
‒ 24 ‒
COURS ETEP Pr. N.A. LAOUFI
A1:colonne
pivot unitaire Base Ci A1 A2 A3 A4 A5 A6 di di/aie
A1 2 1 0 1 0 0 0 400 ∞
A4 0 0 1 0 1 0 0 700 700
A6: vecteur
sortant A5 0 0 1 -1 0 1 0 400 400
A6 0 0 1 -2 0 0 1 200 200
LNA
‒ 25 ‒