Professional Documents
Culture Documents
Promotion 2007/2008
SOMMAIRE
Problme de transport.................................... I. Structure d'un problme de tansport ................ .. 1 Hypothse du modle Propos 2 nonc gnral du problme de transport ... II. Solution de base pour un problme de transport (mthode de VOGEL) 1 La mthode de Vogel. 2 Exemple dapplication .. 3 La Rsolution par la mthode de VOGEL (SOLUTION DE BASE) : Algorithme de Dantzig..... 3 3 3 4 4 4 5 6 9 9 9 10 20 20 20 22 28
Principe de la mthode de Dantzig Critres de lalgorithme de Dantzig ... Application de lalgorithme de Dantzig .
Problme daffectation. I. La programmation linaire du problme daffectation .. II Mthode de rsolution (Mthode hongroise). 1 Exemple dapplication 2 Vrification des rsultats par le solveur dExcel ...
Page 2
Problme de transport
Le modle de programmation linaire du problme de transport a une structure spciale et peut se rsoudre l'aide de mthodes autres que celle du simplexe. Les algorithmes qui sont habituellement utiliss pour rsoudre le problme de transport sont l'algorithme de Dantzig et celui des cots duals. I. Structure d'un problme de transport
Il sagit de transporter les units de disponibilit partir des sources jusquaux clients cot de transport total minimum. 1. Hypothse du modle propos : Le cot de transport pour acheminer des biens dune source i une destination j est proportionnel aux diffrentes units de biens achemines.
Considrons que la quantit disponible l'origine i est de ai units et que la demande la destination j est de bj units. La quantit expdier de i j est xij et. Le cot d'expdition par unit est cij. Le tableau de transport peut se prsenter sous la forme :
Page 3
ai bj cij xij
la quantit de biens acheminer de la source i aux n destinations. la quantit de biens ncessaire pour satisfaire la demande la destination j. cot unitaire de transport entre une source i et une destination j. la quantit transporte de lorigine i la destination j.
VOGEL) :
Nous prsentons ici la mthode de VOGEL pour la dtermination dune solution initiale, cette mthode peut avoir davantage sur celle de coin Nord-Ouest, Elle permet dobtenir la solution initiale la plus optimale 1. La mthode de Vogel : Montrant comment sapplique la mthode de Vogel pour obtenir une solution initiale un problme de transport.
Mthodologie :
1. Construire la matrice des couts en incluant les disponibilits et demandes ajouter une destination fictive ou une origine fictive. 2. Calculer la diffrence entre les deux couts les plus petits pour chaque ligne et chaque colonne.
Page 4
3. Choisir la ligne ou la colonne ayant le maximum des diffrents, faire un choix arbitraire si le maximum des diffrents nest pas unique. 4. Donner la quantit la plus grande possibilit (en respectant les contraintes) a la cellule possdant le cout le plus faible de la lige ou la colonne obtenue en 3. 5. Rayer la ligne ou la colonne sature. 6. Retourner a 2 en effectuant les calculs sur la matrice rsultante, la procdure sarrte lorsque toutes les lignes set les colonnes sont satures
2. Exemple dapplication :
L'entreprise Sporcau, spcialiste de la saucisse, dispose de 4 laboratoires o elle labore son produit, et de 5 centres de distribution d'o elle ravitaille sa clientle. Le march de la saucisse est devenu fort concurrentiel et, rcemment, l'entreprise a vu se resserrer ses marges. Elle a donc entrepris une tude pour abaisser ses cots. Les cots de transport, en particulier, sont rapidement apparus comme plus levs que ceux des concurrents. Jusqu'ici, l'horaire quotidien d'acheminement des produits entre laboratoires et centres de distribution tait dress par un rpartiteur averti arm de son bon sens et de son flair. Chez Sporcau, on pense qu'il s'agit l du maillon faible de la chane de contrle des cots de transport et on veut que le rpartiteur adopte une mthode qui mnera un horaire quotidien optimal. La matrice des couts ainsi que la disponibilit et la demande du produit sont. c1 l1 l2 l3 l4 demande 200 100 500 600 18 c2 600 400 200 300 20 c3 500 500 100 400 22 c4 900 900 700 500 19 c5 500 500 600 900 21 disponiblit 26 24 27 23 100
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
300 8
Page 6
L1 L2 L3 L4
L1 L2 L3 L4
L1 L2 L3 L4
100 100
200 4
CD1
CD2
CD3
CD4
CD5
Page 7
L1 L2 L3 L4
100 100
600 0
L1 L2 L3 L4
100 100 13
L1 L2 L3 L4
Page 8
Toutes les lignes et les colonnes sont satures avec cette dernire itration
CD1 200 18 100 500 600 400 11 200 5 300 4 400 100 22 500 19 900 700 600 500 900 500 13 CD2 600 CD3 500 CD4 900 CD5 500 8
L1 L2 L3 L4
La solution initiale avec la mthode 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. Dtermination de la solution optimale
: Algorithme de Dantzig
Page 9
Critre de sorti : la variable qi sort de la base correspondant O= min xij sur le parcours dont on a soustrait O Critre doptimalit : la solution est optimale lorsque tout les ij >=0
200
(-) 18
600
500
900
500
(+) 8
400 11 200 5
500
900
500
(-) 13
100 22 400 4
700
600
600
300
500 19
900
21= 100 -200 +500- 500 = -100 On continue le calcule des ij pour si on trouve un autres ij ngatif on on choisie le plus petit des ngatif on introduit une nouvelle variable a la base et on refait le calcule des ij, on refait cette tape jusqu' lobtention de tous les ij positif (la solution optimale)
200
(-) 18
600
500
900
500
(+) 8
100
400
(+) 11
500
900
500
(-) 13
200
(-) 5
100 22 400
700
600
300 4
500 19
900
3 1=500200 +500500+400200 =500 200 (-) 600 500 900 500 (+)
Page 10
18 100 400 (+) 11 500 200 5 600 (+) 300 (-) 4 41 =500 400 100 22 500 19 900 700 600 500 900 500
8 (-) 13
200 18 100
500
900
500
(-) 8
500
900
500
(+) 13
500
200 5
100 22 400 4
700
600
600
300
500 19
900
12=200
200 18 100
600
500
(+)
900
500
(-) 8
400
(-) 11
500
900
500
(+) 13
500
200
(+) 5
100
(-) 22
700
600
600
300 4
400
500 19
900
13=200
200
600
500
900
500
Page 11
18 100 400 (-) 11 500 200 (+) 5 600 300 4 23 =200 400 100 500 (+) (-) 22 500 19 900 700 600 900 500
13
200 18 100
600
500
900
500 8
400 11
500
900
500 13
500
200
(+) 5
100
(-) 22
700
600
600
300
(-) 4
400
(+)
500 19
900
43 =200
200 18 100
600
500
900 (+)
500
(-) 8
400
(-) 11
500
900
500
(+) 13
500
200 5
100 22 400
700
600
600 14 =300
300
(+) 4
500
(-) 19
900
200 18
600
500
900 (+)
500 8
Page 12
100
400
(-) 11
500
900
500 13
500
200 5
100 22 400
700
600
600
300
(+) 4
500
(-) 19
900
24 =300 200 18 100 400 11 500 200 (-) 5 600 300 (+) 4 34 =300 400 100 22 500 (-) 19 900 700 (+) 600 500 900 500 13 600 500 900 500 8
200 18 100
600
500
900
500 8
400
(+) 11
500
900
500
(-) 13
500
200
(-) 5
100 22 400
700
600
(+)
600
300 4
500 19
900
35 =300
200 18 100
600
500
900
500 8
400
(+) 11
500
900
500
(-) 13
Page 13
500
200 5
100 22 400
700
600
600
300
(-) 4
500 19
900
(+)
45 =500 On a trouv un seul negatif donc on introduit une autre variable a la base et on refait les calcules
200 5 100 (-) 13 500 (+) 200 400 (+) 11 (-) 5 600 300 4 31 =600 200 5 100 (-) 13 500 200 5 600 (+) 300 (-) 4 41 =600 400 400 (+) 11 100 22 500 19 900 700 600 500 900 500 600 500 900 500 21 400 100 22 500 19 900 700 600 500 900 500 600 500 900 500 21
200
(-) 5
600
(+)
500
900
500 21
100
(+) 13
400
(-) 11
500
900
500
500
200
100
700
600
Page 14
22 500 19 900
200
(-) 5
600
500
(+)
900
500 21
100
(+) 13
400
(-) 11
500
900
500
500
200
(+) 5
100
(-) 22
700
600
600
300 4
400
500 19
900
13 =100
600
500
900
500 21
400
(-) 11
500
(+)
900
500
200
(+) 5
100
(-) 22
700
600
600
300 4
400
500 19
900
23 =200
600
500
900
500 21
500
900
500
100
(-)
700
600
Page 15
200
(-) 5
600
500
900
(+)
500 21
100
(+) 13
400
(-) 11
500
900
500
500
200 5
100 22 400
700
600
600
300
(+) 4
500
(-) 19
900
14 =200
600
500
900
500 21
400
(-) 11
500
900
(+)
500
200 5
100 22 400
700
600
600
300
(+) 4
500
(-) 19
900
24=300
600
500
900
500 21
500
900
500
100 22 400
700
(+)
600
600
300
(+)
500
(-)
900
Page 16
4 34 =300
19
200
(+) 5
600
500
900
500
(-) 21
100
(-) 13
400 11 200 5
500
900
500
(+)
500
100 22 400 4
700
600
600
300
500 19
900
25 =100
200
(+) 5
600
500
900
500
(-) 21
100
(-) 13
400
(+) 11
500
900
500
500
200
(-) 5
100 22 400
700
600
(+)
600
300 4
500 19
900
35=400
200
(+) 5
600
500
900
500
(-) 21
100
(-) 13
400
(+) 11
500
900
500
500
200 5
100 22 400
700
600
600
300
(-)
500
900
(+)
Page 17
4 45=600
19
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 lalgorithme de Dantzig(z=31100) et infrieure que celle obtenu par Vogel . 4. Vrification des rsultats par Excel le solveur (comparaison avec
la solution de dantzig)
FCT
31100
contraintes
18 20 22 19 21 26 24 27
= = = = = = = =
18 20 22 19 21 26 24 27
Page 18
23
23
Remarque
la solution obtenue par le solveur est la mme que celle obtenue par lalgorithme de Dantzig.
Page 19
Problme daffectation
Il sagit dun cas particulier du problme de transport et, par consquent, du problme de flot cot minimum. Le problme consiste affecter les lments dun ensemble ceux dun autre ensemble selon une approche biunivoque (un un) de sorte que la somme des cots des affectations soit minimale. I. La programmation linaire du problme daffectation 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 = cot daffectation de i j.
Mthode hongroise est dveloppe par le mathmaticien Kuhn( Kuhn, H. W. "The Hungarian Method for the Assignement Problme ") .
Methodologies :
Description de la mthode hongroise sous une forme qui permet de faire tous les calculs dans la matrice des donnes du problme :
Page 20
1. Soustraire l'lment minimum de la range i de chaque lment de la range i, pour tout i = 1, 2, ..., n. 2. Soustraire l'lment minimum de la colonne j de chaque lment de la colonne j, pour tout j = 1, 2, ..., n. 3. Examiner les ranges partir de la premire. S'il existe une range ne contenant qu'un seul zro non marqu, alors marquer ce zro en lencadrant pour dnoter une affectation. liminer les autres zros de la mme colonne en les marquant (cases grises). Rpter ce processus jusqu' ce que toutes les ranges ne contiennent aucun zro non marqu ou au moins deux zros non marqus. 4. Examiner les colonnes partir de la premire. S'il existe une colonne avec un seul zro non marqu, alors marquer ce zro en lencadrant pour dnoter une affectation. liminer les autres zros non marqus de la mme range en les marquant (cases grises). Rpter ce processus jusqu' ce que toutes les colonnes ne contiennent aucun zro non marqu ou au moins deux zros non marqus. 5. Rpter les tapes 3 et 4 successivement jusqu' ce qu'une des trois conditions soit obtenue. (a) Chaque range possde une affectation; alors cette Affectation est optimale. L'algorithme prend fin. (b) Il y a au moins deux zros non marqus dans chaque range et chaque colonne; alors faire une affectation arbitraire un de ces zros en lencadrant et liminer tous les autres zros de la mme range et de la mme colonne en les marquant (cases grises) puis aller 3. (c) Il n'y a aucun zro non marqu et une affectation complte n'a pas t faite; alors passer l'tape 6. 6. Cocher (a) toutes les ranges pour lesquelles des affectations n'ont pas t faites. 7. Cocher (a) toutes les colonnes pas encore coches et qui ont un zro dans des ranges coches. 8. Cocher (a) toutes les ranges pas encore coches et qui ont des affectations dans des colonnes coches. 9. Rpter les tapes 7 et 8 jusqu' ce qu'il ne soit plus possible de cocher.
10. Tracer une ligne travers toutes les ranges non coches et toutes les colonnes coches. 11. Parmi tous les lments de la matrice qui ne sont pas couverts par une ligne, choisir l'lment le plus petit et le soustraire de chaque lment non couvert et l'ajouter chaque lment doublement couvert (par une ligne verticale et horizontale). Retourner l'tape 3. Master Gnie Logistique Page 21
1. Exemple dapplication : Une entreprise de fabrication de moteurs dautomobile doit affecter 8 machines a 8 taches afin de pouvoir produire un moteur M200, le tableau suivant indique le temps de chaque tache raliser par les diffrente machines. (Le zro indique que la machine nest pas qualifie a la tache) Lobjectif de lentreprise 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 12 8 3 1 0 13 12 4 tache 3 9 5 16 17 13 4 3 1 tache 4 6 4 18 6 4 12 7 5 tache 5 9 3 3 5 5 3 13 5 tache 6 6 8 19 11 6 1 6 5 tache 7 9 15 6 7 1 12 8 4 tache 8 10 5 8 9 2 14 3 9
Page 22
Page 23
Aucun zro non marqu et une affectation complte na pas t faite .passer aux tapes 6 9.
Page 24
Page 25
Aucun zro non marqu et une affectation complte na pas t faite; passer aux tapes 6 9.
Page 26
Page 27
Chaque range possde une affectation, elle est donc optimale. L'algorithme est termin et nous avons: x14 = x28 = x35 = x42 = x57 = x66 = x71 = x83 = 1; 0 ailleurs Do la solution optimale est : Z = 6+5+3+1+1+1+3+1 = 4
x1 x1 x2 x3 x4 x5 x6 x7 x8 9 7 6 6 5 12 3 13
x2 12 8 3 1 0 13 12 4
x3 9 5 16 17 13 4 3 1
x4 6 4 18 6 4 12 7 5
x5 9 3 3 5 5 3 13 5
x6 6 8 19 11 6 1 6 5
x7 9 15 6 7 1 12 8 4
x8 10 5 8 9 2 14 3 9
x1 x1 x2 x3 x4 x5 x6 x7 x8 0 0 0 0 0 0 1 0
x2 0 0 0 1 0 0 0 0
x3 0 1 0 0 0 0 0 0
x4 1 0 0 0 0 0 0 0
x5 0 0 1 0 0 0 0 0
x6 0 0 0 0 0 1 0 0
x7 0 0 0 0 0 0 0 1
x8 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 mme que celle obtenu par la mthode hongroise
Page 29