MASTER GENIE LOGISTIQUE Promotion 2007/2008
PROBLEME DE TRANSPORT ET D'AFFECTATION
Réaliser par : FATIMA EZZAHRA COURAICHI HAMZA MESKINI
SOMMAIRE Problème de transport………………………………………………....................................
3
I. Structure d'un problème de tansport ……………................……… ..… 1 Hypothèse du modèle Proposé………………………………………………… 2 Énoncé général du problème de transport ……………………………..……….
3 3 4
II.
Solution de base pour un problème de transport (méthode de VOGEL) 1 La méthode de Vogel…………………………………………….…………… 2 Exemple d’application ……………………………………………….………. 3 La Résolution par la méthode de VOGEL (SOLUTION DE BASE)…………
III. Détermination de la solution optimale 1 2 3
: Algorithme de Dantzig…..…...
4 4 5 6 9
Principe de la méthode de Dantzig …………………………………………… Critères de l’algorithme de Dantzig ……………….………………………….. Application de l’algorithme de Dantzig ……………………………………….
9 9 10
Problème d’affectation…………………………………………………………………….
20
I. La programmation linéaire du problème d’affectation …………………..
20
II Méthode de résolution (Méthode hongroise)……………………………. 1 Exemple d’application………………………………………………… 2 Vérification des résultats par le solveur d’Excel ……………………...
20 22 28
Master Génie Logistique
Page 2
Problème de transport Le modèle de programmation linéaire du problème de transport a une structure spéciale et peut se résoudre à l'aide de méthodes autres que celle du simplexe. Les algorithmes qui sont habituellement utilisés pour résoudre le problème de transport sont l'algorithme de Dantzig et celui des coûts duals. I. Structure d'un problème de transport
:
Il s’agit de transporter les unités de disponibilité à partir des sources jusqu’aux clients à coût de transport total minimum. 1. Hypothèse du modèle proposé : Le coût de transport pour acheminer des biens d’une source i à une destination j est proportionnel aux différentes unités de biens acheminées. Considérons que la quantité disponible à l'origine i est de ai unités et que la demande à la destination j est de bj unités. La quantité à expédier de i à j est xij et. Le coût d'expédition par unité est cij. Le tableau de transport peut se présenter sous la forme :
Master Génie Logistique
Page 3
1. Énoncé général du problème de transport :
Problème de programmation linéaire doté d’une structure particulière.
où
ai ≡ bj ≡ cij ≡ xij ≡
la quantité de biens à acheminer de la source i aux n destinations. la quantité de biens nécessaire pour satisfaire à la demande à la destination j. coût unitaire de transport entre une source i et une destination j. la quantité transportée de l’origine i à la destination j.
2. Solution de base pour un problème de transport (méthode de
VOGEL) : Nous présentons ici la méthode de VOGEL pour la détermination d’une solution initiale, cette méthode peut avoir d’avantage sur celle de coin Nord-Ouest, Elle permet d’obtenir la solution initiale la plus optimale 1. La méthode de Vogel : Montrant comment s’applique la méthode de Vogel pour obtenir une solution initiale à un problème de transport.
Méthodologie : 1. Construire la matrice des couts en incluant les disponibilités et demandes ajouter une destination fictive ou une origine fictive. 2. Calculer la différence entre les deux couts les plus petits pour chaque ligne et chaque colonne.
Master Génie Logistique
Page 4
3. Choisir la ligne ou la colonne ayant le maximum des différents, faire un choix arbitraire si le maximum des différents n’est pas unique. 4. Donner la quantité la plus grande possibilité (en respectant les contraintes) a la cellule possédant le cout le plus faible de la lige ou la colonne obtenue en 3. 5. Rayer la ligne ou la colonne saturée. 6. Retourner a 2 en effectuant les calculs sur la matrice résultante, la procédure s’arrête lorsque toutes les lignes set les colonnes sont saturées
2. Exemple d’application : L'entreprise Sporcau, spécialiste de la saucisse, dispose de 4 laboratoires où elle élabore son produit, et de 5 centres de distribution d'où elle ravitaille sa clientèle. Le marché de la saucisse est devenu fort concurrentiel et, récemment, l'entreprise a vu se resserrer ses marges. Elle a donc entrepris une étude pour abaisser ses coûts. Les coûts de transport, en particulier, sont rapidement apparus comme plus élevés que ceux des concurrents. Jusqu'ici, l'horaire quotidien d'acheminement des produits entre laboratoires et centres de distribution était dressé par un répartiteur averti armé de son bon sens et de son flair. Chez Sporcau, on pense qu'il s'agit là du maillon faible de la chaîne de contrôle des coûts de transport et on veut que le répartiteur adopte une méthode qui mènera à un horaire quotidien optimal. La matrice des couts ainsi que la disponibilité et la demande du produit sont. c1 l1 l2 l3 l4 demande
c2 200 100 500 600 18
c3 600 400 200 300 20
c4 500 500 100 400 22
c5 900 900 700 500 19
500 500 600 900 21
disponiblit é 26 24 27 23 100
Le modèle de PL pour ce programme de transport est:
Master Génie Logistique
Page 5
Minimiser Z= 200x11+600x12+500x13+900x14+500x15+100x21+400x22+500x23+900x24+500x25+500x31+200x32+1 00x33+700x34+600x35+600x41+300x42+400x43+500x44+900x45 Sous les contraintes suivantes : x11+x12+x13+x14+x15=26 x21+x22+x23+x24+x25=24 x31+x32+x33+x34+x35=27 x41+x42+x43+x44+x45=23 x11+x21+x31+x41=18 x12+x22+x32+x42=20 x13+x23+x33+x43=22 x14+x24+x34+x44=19 x15+x25+x35+x45=21 avec :
les xij >= 0
i=1,…,4 et
j=1,…,5
3. La Résolution par la méthode de VOGEL (SOLUTION DE BASE ) Dij L1 L2 L3 L4
CD1 200
CD2 600
CD3 500
CD4 900
CD5 500
300
18 100
26 400
500
900
500
8 300
24 500
200
100
700
600
600
300
400
500
900
100 27 100 23
18 100
20 100
Master Génie Logistique
22 300
19 200
21 0
Page 6
L1 L2 L3 L4
CD1 200
CD2 600
CD3 500
CD4 900
CD5 500
400
500
900
500
0
18 100
8 100 24
500
200
100
700
600
100
22 600
300
400
27 500
900
5 100
23 0
20 100
22 300
19
21
200
0
CD4 900
CD5 500
0
L1 L2 L3 L4
CD1 200
CD2 600
CD3 500
200
18 100
8 400
500
900
500
100 24
500
200
600
300
100 5
700
600
500
900
400
22 400
5
0 200
23 0
20
0
100
19
21
200
0
15
L1 L2 L3 L4
CD1 200
CD2 600
CD3 500
CD4 900
CD5 500
400
500
900
500
100
18 100
8 100 24
500
200
100 5
600
300 0
700
600
22 400
15
0 500
0
100
900 19 19
200 23 21
400
0 0
CD1
CD2
Master Génie Logistique
CD3
CD4
CD5
Page 7
4
L1 L2 L3
200
600
500
500
100
100
8 400
500
900
500
100 24
500
200
100 5
L4
900
18
600
300
400 4 15
0
700
600
500
900
22
0 19 0
0
100
600 4
0
21 0
11
L1 L2 L3 L4
CD1 200
CD2 600
CD3 500
CD4 900
CD5 500
100
18 100
8 400
500
900
500
100
11 500
200
600
300
24 100
5
600
500
900
22 400
4 11
0
700
13
0 19 0
0
200
0 21 0
0
L1 L2 L3 L4
CD1 200
CD2 600
CD3 500
CD4 900
CD5 500
18 100
400
500
900
500
100
700
600
500
900
11 500
200
600
300
5
0
Master Génie Logistique
8
0
13
13
0
22 400
4 0
8
0
0 19 0
0 21 8 0
Page 8
Toutes les lignes et les colonnes sont saturées avec cette dernière itération CD1 200
L1
CD2 600
CD3 500
CD4 900
CD5 500
18 100
L2
8 400
500
900
500
100
700
600
11
L3
500
200
600
300
13
5
L4
22 400
4
500
900 19
La solution initiale avec la méthode de Vogel est : x11=18, x14=8, x22=11, x25=13, x32=5, x33=22, x42=4, x44=19 Avec un cout : z= 18*200 + 400*11 +5*200 +300*4 +22*100 +19*500+8*500 +13*500 =32400 3. Détermination de la solution optimale
: Algorithme de Dantzig
1. Principe de la méthode de Dantzig : Pour obtenir une solution meilleure, on considère les cases qui ne sont pas utiliser dans la solution initiale (ce sont les variables hors base), si l’on introduit une nouvelle variable dans la base, il faut nécessairement qu’une variable actuelle dans le tableau soit réduite à zéro pour retrouver la une solution optimale Soit z1 la valeur de la fonction économique pour la solution initiale et z2 la valeur de la fonction économique pour la solution optimale (z2<= z1). Z2=z2 + Δij Avec : Δij
représente la réduction (ou l’augmentation) du cout.
2. Critères de l’algorithme de Dantzig : Critères d’entré d’une variable : déterminer tout les Δij Pour les cases vacantes et choisir les variables a introduire a l’aide de Min Δij =min(cij - zij ) ; <0
Master Génie Logistique
Page 9
Critère de sorti : la variable qi sort de la base correspondant O= min xij sur le parcours dont on a soustrait O Critère d’optimalité : la solution est optimale lorsque tout les Δij >=0
3. Application de l’algorithme de Dantzig : Appliquons l’algorithme en utilisant la solution la solution initial obtenu par la méthode de Vogel.On a Douze cases sont vacantes, donc on doit évaluer douze Δij en établissant les parcours appropriés. Les parcours+,- sont indiqués.
200
(-)
600
500
900
500
18 100
8 400
(+) 500
500
900
500
11 200
100
300
(-) 13
5 600
(+)
700
600
500
900
22 400
4
19
Δ21= 100 -200 +500- 500 = -100 On continue le calcule des Δij pour si on trouve un autres Δij négatif on on choisie le plus petit des négatif on introduit une nouvelle variable a la base et on refait le calcule des Δij, on refait cette étape jusqu'à l’obtention de tous les Δij positif (la solution optimale)
200
(-)
600
500
900
500
18 100
8 400
(+)
500
900
500
11 500
200 (+)
600
(+)
(-)
13 100
5 300
(-)
700
600
500
900
22 400
4
19
∆3 1=500−200 +500−500+400−200 =500 200
(-)
Master Génie Logistique
600
500
900
500
(+)
Page 10
18 100
8 400
(+)
500
900
500
11 500
200
13 100
5 600
(+)
300
(-)
(-)
700
600
500
900
22 400
4
19
∆41 =500
200
600 18
100
500
900
500
(+) 400
(-)
8 500
900
500
11 500
200
100
300
(+) 13
5 600
(-)
700
600
500
900
22 400
4
19
∆ 12=200
200
600
500
(+)
900
500
18 100
8 400
(-)
500
900
500
11 500
200
(+)
300
(+) 13
100
5 600
(-)
(-)
700
600
500
900
22 400
4
19
∆ 13=200
200
Master Génie Logistique
600
500
900
500
Page 11
18 100
8 400
(-)
500
11 500
200
(+)
300
500
(+) 100
5 600
900
(-)
13 700
600
500
900
22 400
4
19
∆23 =200
200
600
500
900
500
18 100
8 400
500
900
500
11 500
200
(+)
13 100
5 600
300
(-)
(-)
700
600
500
900
22 400
(+)
4
19
∆43 =200
200
600
500
900
18 100
500 (+)
400
(-)
500
900
8 500
11 500
200
300
100
(+)
(+) 13
5 600
(-)
700
600
22 400
500
4
(-)
900
19
∆14 =300
200
600 18
Master Génie Logistique
500
900
500 (+)
8
Page 12
100
400
(-)
500
900
500
11 500
200
13 100
5 600
300
(+)
700
600
22 400
500
4
(-)
900
19
∆24 =300 200
600
500
900
500
18 100
8 400
500
900
500
11 500
200
(-)
13 100
5 600
300
(+)
700
(+)
600
500
(-)
900
22 400
4
19
∆34 =300
200
600
500
900
500
18 100
8 400
(+)
500
900
500
11 500
200
(-)
13 100
5 600
300
(-)
700
600
500
900
(+)
22 400
4
19
∆35 =300
200
600
500
900
500
18 100
8 400
(+) 11
Master Génie Logistique
500
900
500
(-) 13
Page 13
500
200
100 5
600
300
(-)
700
600
500
900
22 400
4
(+)
19
∆45 =500 On a trouvé un seul Δ negatif donc on introduit une autre variable a la base et on refait les calcules 200
600
500
900
500
5 100
(-)
21 400
13 500
(+)
(+)
500
900
500
100
700
600
500
900
11 200
(-) 5
600
300
22 400
4
19
∆ 31 =600 200
600
500
900
500
5 100
(-)
21 400
13 500
(+)
500
900
500
100
700
600
500
900
11 200 5
600
(+)
300
(-)
22 400
4
19
∆ 41 =600
200
(-)
600
(+)
500
900
500
5 100
(+)
21 400
13 500
Master Génie Logistique
(-)
500
900
500
100
700
600
11 200
Page 14
5 600
300
22 400
500
4
900 19
∆ 12 =100
200
(-)
600
500
(+)
900
500
5 100
(+)
21 400
13 500
(-)
500
500
700
600
500
900
11 200
(+)
100
5 600
900
300
(-) 22
400 4
19
∆ 13 =100
200
600
500
900
500
5 100
21 400
13 500
(-)
500
(+)
900
500
100
(-)
700
600
500
900
11 200
(+) 5
600
300
22 400
4
19
∆ 23 =200
200
600
500
900
500
5 100
21 400
13 500
Master Génie Logistique
500
900
500
700
600
11 200
(+)
100
(-)
Page 15
5 600
300
(-)
22 400
(+)
500
4
900 19
∆ 43=200
200
(-)
600
500
900
(+)
500
5 100
(+)
21 400
13 500
(-)
500
900
500
100
700
600
11 200 5
600
300
(+)
22 400
500
4
(-)
900
19
∆ 14 =200
200
600
500
900
500
5 100
21 400
13 500
(-)
500
900
100
700
500
11 200 5
600
(+)
300
(+)
600
22 400
500
4
(-)
900
19
∆ 24=300
200
600
500
900
500
5 100
21 400
13 500
500
900
100
700
(+)
600
500
(-)
900
11 200
(-) 5
600
Master Génie Logistique
500
300
(+)
22 400
Page 16
4
19
∆ 34 =300
200
(+)
600
500
900
500
5 100
(-)
21 400
13 500
500
900
500
100
700
600
500
900
(+)
11 200 5
600
(-)
300
22 400
4
19
∆ 25 =100
200
(+)
600
500
900
500
5 100
(-)
21 400
13 500
(+)
500
900
500
100
700
600
500
900
11 200
(-) 5
600
(-)
300
(+)
22 400
4
19
∆ 35=400
200
(+)
600
500
900
500
5 100
(-)
21 400
13 500
(+)
500
900
500
100
700
600
500
900
11 200 5
600
Master Génie Logistique
(-)
300
(-)
22 400
(+)
Page 17
4
19
∆ 45=600
On Remarque que tous les Δ ij sont positif donc la solution optimale est : z=5*200+13*100+11*400+200*5+4*300+22*100+19*500+21*500 = 31100 On voix clairement que la solution obtenue par l’algorithme de Dantzig(z=31100) et inférieure que celle obtenu par Vogel . 4. Vérification des résultats par Excel le solveur (comparaison avec
la solution de dantzig)
x1 x1 x2 x3 x4
x2 200 100 500 600 18
x1 x1 x2 x3 x4
FCT
x3 600 400 200 300 20
x2 5 13 0 0 18
x4 500 500 100 400 22
x3 0 11 5 4 20
x5 900 900 700 500 19
x4 0 0 22 0 22
500 500 600 900 21
26 24 27 23
21 0 0 0 21
26 24 27 23
x5 0 0 0 19 19
31100
contraintes
Master Génie Logistique
18 20 22 19 21
= = = = =
18 20 22 19 21
26 24 27
= = =
26 24 27
Page 18
23
=
23
Remarque la solution obtenue par le solveur est la même que celle obtenue par l’algorithme de Dantzig.
Master Génie Logistique
Page 19
Problème d’affectation Il s’agit d’un cas particulier du problème de transport et, par conséquent, du problème de flot à coût minimum. Le problème consiste à affecter les éléments d’un ensemble à ceux d’un autre ensemble selon une approche biunivoque (un à un) de sorte que la somme des coûts des affectations soit minimale. I. La programmation linéaire du problème d’affectation et la
suivante : n n Min Z = ∑ ∑ cij xij i=1 j=1 n ∑ xij = 1 ∀ i = 1, 2, …, n j=1 n ∑ xij = 1 i=1
∀ j = 1, 2, …, n
xij = 0 ou 1 ∀ i, j Où
xij = 1 si i est affecté à j 0 autrement. cij = coût d’affectation de i à j.
II. Méthode de résolution
:
Méthode hongroise est développée par le mathématicien Kuhn( Kuhn, H. W. "The Hungarian Method for the Assignement Problème ") .
Methodologies : Description de la méthode hongroise sous une forme qui permet de faire tous les calculs dans la matrice des données du problème :
Master Génie Logistique
Page 20
1. Soustraire l'élément minimum de la rangée i de chaque élément de la rangée i, pour tout i = 1, 2, ..., n. 2. Soustraire l'élément minimum de la colonne j de chaque élément de la colonne j, pour tout j = 1, 2, ..., n. 3. Examiner les rangées à partir de la première. S'il existe une rangée ne contenant qu'un seul zéro non marqué, alors marquer ce zéro en l’encadrant pour dénoter une affectation. Éliminer les autres zéros de la même colonne en les marquant (cases grises). Répéter ce processus jusqu'à ce que toutes les rangées ne contiennent aucun zéro non marqué ou au moins deux zéros non marqués. 4. Examiner les colonnes à partir de la première. S'il existe une colonne avec un seul zéro non marqué, alors marquer ce zéro en l’encadrant pour dénoter une affectation. Éliminer les autres zéros non marqués de la même rangée en les marquant (cases grises). Répéter ce processus jusqu'à ce que toutes les colonnes ne contiennent aucun zéro non marqué ou au moins deux zéros non marqués. 5. Répéter les étapes 3 et 4 successivement jusqu'à ce qu'une des trois conditions soit obtenue. (a) Chaque rangée possède une affectation; alors cette Affectation est optimale. L'algorithme prend fin. (b) Il y a au moins deux zéros non marqués dans chaque rangée et chaque colonne; alors faire une affectation arbitraire à un de ces zéros en l’encadrant et éliminer tous les autres zéros de la même rangée et de la même colonne en les marquant (cases grises) puis aller à 3. (c) Il n'y a aucun zéro non marqué et une affectation complète n'a pas été faite; alors passer à l'étape 6. 6. Cocher (a) toutes les rangées pour lesquelles des affectations n'ont pas été faites. 7. Cocher (a) toutes les colonnes pas encore cochées et qui ont un zéro dans des rangées cochées. 8. Cocher (a) toutes les rangées pas encore cochées et qui ont des affectations dans des colonnes cochées. 9.
Répéter les étapes 7 et 8 jusqu'à ce qu'il ne soit plus possible de cocher.
10. Tracer une ligne à travers toutes les rangées non cochées et toutes les colonnes cochées. 11. Parmi tous les éléments de la matrice qui ne sont pas couverts par une ligne, choisir l'élément le plus petit et le soustraire de chaque élément non couvert et l'ajouter à chaque élément doublement couvert (par une ligne verticale et horizontale). Retourner à l'étape 3. Master Génie Logistique
Page 21
1. Exemple d’application : Une entreprise de fabrication de moteurs d’automobile doit affecter 8 machines a 8 taches afin de pouvoir produire un moteur M200, le tableau suivant indique le temps de chaque tache réaliser par les différente machines. (Le zéro indique que la machine n’est pas qualifiée a la tache) L’objectif de l’entreprise et de minimiser le temps de mise en œuvre. tache 1 moteur 1 moteur 2 moteur 3 moteur 4 moteur 5 moteur 6 moteur 7 moteur 8
9 7 6 6 5 12 3 13
tache 2
tache 3 12 8 3 1 0 13 12 4
tache 4 9 5 16 17 13 4 3 1
tache 5 6 4 18 6 4 12 7 5
tache 6 9 3 3 5 5 3 13 5
tache 7 6 8 19 11 6 1 6 5
tache 8 9 15 6 7 1 12 8 4
En appliquant l’étape 1 et 2, on obtient :
Master Génie Logistique
Page 22
10 5 8 9 2 14 3 9
En appliquant l’étape 3, on obtient :
En appliquant l’étape 4, on obtient :
Master Génie Logistique
Page 23
Aucun zéro non marqué et une affectation complète n’a pas été faite .passer aux étapes 6 à 9.
Appliquons maintenant l’étape 10.
Master Génie Logistique
Page 24
Appliquons l’étape 11. Le plus petit élément est 1.
Retournons aux étapes 3 et 4
Master Génie Logistique
Page 25
Aucun zéro non marqué et une affectation complète n’a pas été faite; passer aux étapes 6 à 9.
Master Génie Logistique
Page 26
Appliquant l’etape 11. le plus petit element est 1.
On retourne aux étapes 3 et 4
Master Génie Logistique
Page 27
Chaque rangée possède une affectation, elle est donc optimale. L'algorithme est terminé et nous avons: x14 = x28 = x35 = x42 = x57 = x66 = x71 = x83 = 1; 0 ailleurs D’où la solution optimale est : Z = 6+5+3+1+1+1+3+1 = 4
1. Vérification des résultats par le solveur d’Excel :
x1 x1 x2 x3 x4 x5 x6 x7 x8
x2 9 7 6 6 5 12 3 13
x1 x1 x2 x3 x4 x5 x6 x7 x8
x3 12 8 3 1 0 13 12 4
x2 0 0 0 0 0 0 1 0
x4 9 5 16 17 13 4 3 1
x3 0 0 0 1 0 0 0 0
Master Génie Logistique
x5 6 4 18 6 4 12 7 5
x4 0 1 0 0 0 0 0 0
x6 9 3 3 5 5 3 13 5
x5 1 0 0 0 0 0 0 0
x7 6 8 19 11 6 1 6 5
x6 0 0 1 0 0 0 0 0
x8 9 15 6 7 1 12 8 4
x7 0 0 0 0 0 1 0 0
10 5 8 9 2 14 3 9
x8 0 0 0 0 0 0 0 1
0 0 0 0 1 0 0 0
Page 28
FT contraintes
21 1 1 1 1 1 1 1 1
= = = = = = = =
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
= = = = = = = =
1 1 1 1 1 1 1 1
Remarque : La solution obtenue par le solveur est la même que celle obtenu par la méthode hongroise
Master Génie Logistique
Page 29