Algorithme de Balas
Exercice 1
Les entreprises de stockage A, B et C ont respectivement les capacités de livraison suivantes 180 palettes, 90 palettes, 270 palettes d’un produit très particulier que leur commande les sociétés clientes C1, C2, C3, C4 ayant des besoins respectifs de 150 palettes, 225 palettes, 90 palettes, 75 palettes.
Les coûts de transports sont indiqué s par la matrice ci-dessous :
Client 1
Client 2
Client 3
Client 4
Entrepôt A
36
30
33
30
Entrepôt B
48
54
51
45
Entrepôt C
63
66
57
60
1. Donner une solution de base en utilisant l’algorithme de BALAS-HAMMER.
2. Trouver la solution optimale.
On pose tout d’abord le problème
1. On indique la somme des « Besoins » par client.
2. On indique la somme des «Disponibilités » par entrepôts.
3. On calcule les «Regrets », cela correspond à la différence entre les deux plus petites valeurs.
4. La somme des disponibilités doit toujours être égale à la somme des besoins.
5. La condition de non dégénérescence équivaut à [n * m – (n + m – 1)].
Avec n, le nombre de ligne et m le nombre de colonnes.
Ici cela donne 3 * 4 – (3 + 4 – 1) = 6.
Client 1
Client 2
Client 3
Client 4
Disponibilité
Regret
Entrepôt A
36
30
33
30
180
0
Entrepôt B
48
54
51
45
90
3
Entrepôt C
63
66
57
60
270
3
Demande
150
225
90
75
540
Regret
12
24
18
15
Itération n°1
On choisit le plus grand regret
Ici entre 12. 24. 18. 15. 0. 3. 3, on sélectionne 24.
Pour la colonne ou la ligne en question, on choisit le plus petit chiffre.
Ici entre 30. 54. 66, on sélectionne 30.
On essaye de saturer ensuite la ligne ou la colonne.
Pour le besoin ou la disponibilité la plus petite, on indique 0.
Ici entre 180 et 225, on indique 0 dans les disponibilités.
A l’opposée, pour l’autre partie, on soustrait la valeur positionnée à 0.
Ce qui donne 225 – 180 = 45.
Pour la cellule « pivot », on remplace le chiffre par la valeur positionnée