Cours: Optimisation Logistique
Cours: Optimisation Logistique
Cours: Optimisation Logistique
Optimisation logistique
Abdelkarim AARAM
1
Définitions
❑Optimisation logistique:
Il s'agit d'optimiser tous les composants de la supply chain (chaine
logistique) qui permettent à une entreprise de gérer efficacement le
cycle qui conduit de la conception à la commande et à la livraison.
Un seul objectif : livrer aux clients, en temps et en heure, des
produits de qualité au meilleur prix.
Découvrir le problème
En général, la découverte du sujet passe par des discussions orales
avec les intervenants. Il s'agit de cerner la/les questions au cours de
réunion et de discussion autour d'un texte qui devient vite un cahier
des charges du projet.
Modéliser le problème
Choix de la méthode à utiliser pour modéliser le problème.
Répondre au problème
Résoudre et optimiser le modèle.
Validation:
Validation des solutions trouvées.
Programmation linéaire
❑ Définition :
C’est un outil mathématique permettant de résoudre un programme linéaire
satisfaisant aux hypothèses de linéarité, et de non négativité des variables.
▪ L’objectif à optimiser est une fonction linéaire.
▪ Les contraintes du problème sont des fonctions linéaires.
❑ Un programme linéaire consiste à trouver un extremum (maximum ou
minimum) d'une fonction linéaire de plusieurs variables de décision (fonction
objectif ou fonction économique), ces variables devant en outre vérifier un
système d'équations et/ou d'inéquations linéaires (les contraintes).
Contraintes
6x1 + 4x2 ≤ 24
x1 + 2x2 ≤ 6
x2 ≤ 2
x2 − x1 ≤ 1
x1, x2 ≥ 0
Programmation linéaire
Exemple 3:
Une société de jouets produit des trains, des camions et des voitures, en utilisant 3
machines.
– Les disponibilités quotidiennes des 3 machines sont 430, 460 et 420 minutes, et les profits
par train, camion et voiture sont respectivement 3 DH, 2 DH et 5 DH.
– Les temps nécessaires sur chaque machine sont :
Déterminer le nombre de train, voiture et camion à produire pour maximiser le profit total.
Variables :
X1: nombre de train à produire.
X2: nombre de camion à produire.
X3 : nombre de voiture à produire.
▪ Contraintes de production
x11 + x12 + x13 + x14 ≤ 35
x21 + x22 + x23 + x24 ≤ 50
x31 + x32 + x33 + x34 ≤ 40
Contraintes de consommation
x11 + x21 + x31 ≥ 45
x12 + x22 + x32 ≥ 40
x13 + x23 + x33 ≥ 30
x14 + x24 + x34 ≥ 30
Algorithme du simplexe
Au départ on a la contrainte :
a1x1 + a2x2 + …. + anxn ≥ b
On retranche une variable d’écart e positive, la contrainte devient :
a1x1 + a2x2 + …. + anxn - e = b
Les nouvelles variables sont : x1, x2, … , xn, e.
x+2y ≤ 700
Première étape : Mise sous forme standard du problème
x 0, y 0
Exemple: Voilà la forme canonique
Fonction du programme
économique linéaire :
à maximiser :
2x+y ≤ 800
x+2y ≤ 700
Z = 30000x + 40000y
y ≤ 300
x ≥0, y ≥0
Fonction objective à maximiser :
Z = 30000x + 40000y
Le problème est mis sous forme standard en ajoutant trois variables d’écart positives,
e1, e2, e3.
2x+y+e1 = 800
x+2y+e2 = 700
y+e3 = 300
x ≥0, y ≥0, e1 ≥0, e2 ≥0, e3 ≥0
Max(30000x+40000y)
x+2y ≤ 700
Deuxième étape : Application de l’algorithme du simplexe
x 0, y 0
Variables de base
Fonction
Variables hors base
économique à maximiser :
Z = 30000x + 40000y
Valeur de
Taux marginaux de substitution (TMS)
l’optimum avec le
signe(-)
x+2y ≤ 700
Deuxième étape : Application de l’algorithme du simplexe
x 0, y 0
Les variables en base sont
Fonction celles pouràlesquelles
économique maximiser ne :figurent qu’un
seul 1 sur leur colonne,Zles= autres
30000xcoefficients
+ 40000y sont nuls sur la
colonne (e1, e2, e3).
Les variables hors base sont les autres variables les non en base (
x,y).
-3 au lieu de 0
x+2y ≤ 700
Deuxième étape : Application de l’algorithme du simplexe
x 0, y 0
Les étapes élémentaires à suivre
Fonction pour l’algorithme
économique à maximiser :
Étape 1: Détermination de la variable entrante c’es la variable de base dont le TMS
est le plus grand.
Z = 30000x + 40000y
Etape 2: Calcul des ratios pour chaque ligne des variables de base
= 2 eme membre / Coefficient de variable entrante.
Etape 3: Détermination de la variable sortante C’est la variable dont le ratio est le
plus petit.
Etape 4 : Détermination de pivot c’est l’intersection de la ligne et la colonne de la
variable entrante et sortante.
Etape5 : Il faut mettre un 1 à la place du pivot et un 0 ailleurs dans la colonne du
pivot.
L’optimum est atteint lorsque tous les TMS sont négatifs et dans ce cas l’algorithme
s’arrete.
A ce stade les variables en base sont e1, e2 et e3. On remarque que pour
chaque variable en base on a un seul 1 sur la colonne et que les autres
coefficients sont nuls.
Base={e1, e2, e3}
Les variables hors base sont x et y.
HorsBase={x, y}
x+2y ≤ 700
Deuxième étape : Application de l’algorithme du simplexe
x 0, y 0
▪ Variable entrante
Fonction économique à maximiser :
Z = 30000x + 40000y
▪ Si le pivot n’est pas égal à 1, il faut diviser toute la ligne par le pivot. Ici le
pivot est déjà à 1.
▪ Dans l’exemple le pivot est différent de 1 donc diviser toute la ligne de e3 par
2;
2 2
x y t e1 e2 e3
Y 0 1 1 1 0 -1/2 120
e2 0 0 1 1/4 1 -3/8 90
x 1 0 0 -1/2 -1/2 ¾ 60
z 0 0 -3 -55/2 0 -15/4 -7500
Question : Quel serait l’impact sur le profit total maximal d’une variation
marginale au niveau de l’atelier découpage ? En d’autres termes, quel serait
l’optimum de la variation d’une unité de la quantité de ressource disponible dans
l’atelier découpage ?
De façon plus pratique, voici les règles de passage du primale au dual. Soit(P) un
programme linéaire de fonction économique notée 𝑍. Pour écrire le programme
linéaire dual (D) de (P), on doit suivre les cinq règles suivantes :
1. Le sens de l’optimisation est inversé mais les contraintes de non négativité des
variables de décision restent inchangées.
2. La matrice des coefficients de la fonction objective du dual est la transposée du
vecteur colonne des seconds membres des contraintes principales du primal.
3. La matrice des constantes des seconds membres des contraintes principales du
dual est la transposée du vecteur ligne des coefficients de la fonction objective du
primal.
4. La matrice des coefficients des contraintes principales du dual est la transposée
de son homologue du primale.
5. Ne jamais garder les mêmes noms pour les fonctions objectives et les variables
des deux programmes.