Vous êtes sur la page 1sur 8

ETUDE DE CAS SUR LE PROBLEME D'AFFECTATION

Application de l’algorithme Hongrois :


Nous avons le tableau suivant qui résume chaque agent et son
cout à chaque tache
On veut minimiser les couts pour cette entreprise par
l’affectation de chaque agent a une tache spécifique

Agent0 Agent0 Agent0 Agent0 Agent0 Agent0


1 2 3 4 5 6
Tâche0
31 42 93 83 2 58
1
Tâche0
24 49 40 38 83 57
2
Tâche0
73 35 77 63 22 25
3
Tâche0
37 55 97 24 80 41
4
Tâche0
47 20 96 5 75 12
5
Tâche0
84 40 50 10 9 82
6
Tableau 1 : Matrice des coûts originaux

Solution
Etape 1 : on vérifie que la matrice est une matrice carrée

→ oui, c’est une matrice carrée (6×6)


Etape 2 : Réduction lignes
→L’opération de réduction-lignes consiste à retrancher de chaque coût d’une ligne la
valeur minimale de la ligne. Le tableau résultant et donné ci-dessous.

Agent Agent Agent Agent Agent Agent 6 La valeur


1 2 3 4 5 minimale
Tâche 1 29 40 91 81 0 56 (-2)
Tâche 2 0 25 16 14 59 33 (-24)

51 13 55 41 0 3 (-22)
Tâche 3
Tâche 4 13 31 73 0 56 17 (-24)
Tâche 5 42 15 91 0 70 7 (-5)
Tâche 6 75 31 41 1 0 73 (-9)
Tableau 2 : Réduction des lignes
Etape 3 : Réduction-colonnes
L’opération de réduction-colonnes consiste à retrancher de chaque coût d’une colonne la
valeur minimale de la colonne. Le tableau résultant est donné ci-dessous.
Agent Agent Agent Agent Agent Agent
1 2 3 4 5 6
Tâche 1 29 27 75 81 0 53
Tâche 2 0 12 0 14 59 30
Tâche 3 51 0 39 41 0 0
Tâche 4 13 18 57 0 56 14
Tâche 5 42 2 75 0 70 4
Tâche 6 75 18 25 1 0 70
LA 0 (-13) (-16) 0 0 (-3)
VALEUR
MINIMALE
Tableau 3 : Réduction des colonnes

Etape 4 : Affectation de l’unique zéro à chaque ligne/colonne


→ on commence d’encadrer le zéro le plus haut et au droite ; on barre
les autres zéros qui sont sur la même ligne et la même colonne de ce
zéro.
Agent 1 Agent 2 Agent 3 Agent 4 Agent 5 Agent 6
Tâche 1 29 27 75 81 0 53
Tâche 2 0 12 Ø 14 59 30
Tâche 3 51 0 39 41 Ø Ø
Tâche 4 13 18 57 0 56 14
Tâche 5 42 2 75 Ø 70 4
Tâche 6 75 18 25 1 Ø 70
Tableau 4
1 1 11 0 1
0 1 01 1 1
1 0 11 0 0

1 1 10 1 1
1 1 10 1 1
1 1 11 0 1
On obtenue juste 4 zéros encadrés et puisque on a 6 agent donc on va continuer
Etape 5 : Procédure de marquage
- On marque (*) toute ligne ne contenant aucun zéro encadré.
- On marque (*) toute colonne ayant un zéro barré sur une ligne marquée.
- On marque (*) toute ligne ayant un zéro encadré dans une colonne marquée.

* *
Agent 1 Agent 2 Agent 3 Agent 4 Agent 5 Agent 6
Tâche 1 29 27 75 81 0 53 *
Tâche 2 0 12 Ø 14 59 30
Tâche 3 51 0 39 41 Ø Ø
Tâche 4 13 18 57 0 56 14 *
Tâche 5 42 2 75 Ø 70 4 *
Tâche 6 75 18 25 1 Ø 70 *

Tableau 5 : Procédure de marquage

Etape 6 : Amélioration de la nouvelle matrice des couts


→ on barre les colonnes marquées et les lignes non-marquées
Et on cherche La plus petite valeur de cout : est 2 (coloré en orange).
* *
Agent 1 Agent 2 Agent 3 Agent 4 Agent 5 Agent 6
Tâche 1 29 27 75 81 0 53 *
Tâche 2 0 12 0 14 59 30
Tâche 3 51 0 39 41 0 0
Tâche 4 13 18 57 0 56 14 *
Tâche 5 42 2 75 0 70 4 *
Tâche 6 75 18 25 1 0 70 *

Tableau 6
Nous soustrayons (2) de tous les éléments découverts et l'ajoutons à tous les éléments qui
sont sur le petit carrée en gris c’est à dire l’intersection des lignes barrées et colonnes barrées

* *
Agent 1 Agent 2 Agent 3 Agent 4 Agent 5 Agent 6
Tâche 1 27 25 73 81 0 51 *
Tâche 2 0 12 0 16 61 30
Tâche 3 51 0 39 43 2 0
Tâche 4 11 16 55 0 56 12 *
Tâche 5 40 0 73 0 70 2 *
Tâche 6 73 16 23 1 0 68 *
Tableau 7

Etape 7 :
Agent 1 Agent 2 Agent 3 Agent 4 Agent 5 Agent 6
Tâche 1 27 25 73 81 0 51
Tâche 2 0 12 Ø 16 61 30
Tâche 3
51 Ø 39 43 2
0
Tâche 4
11 16 55 56 12
0
Tâche 5 40 0 73 Ø 70 2
Tâche 6 73 16 23 1 Ø 68
Tableau 8
→ Une affectation complète n’est pas encore faite On n’est pas encore 6 zéro on
est juste 5 donc on est obligé de continué et refaire l’étape 5 et 6

Etape 7° : Procédure de marquage, le plus petit nombre découvert est 11.


- On marque (*) toute ligne ne contenant aucun zéro encadré.
- On marque (*) toute colonne ayant un zéro barré sur une ligne marquée.
- On marque (*) toute ligne ayant un zéro encadré dans une colonne marquée.
* *
Agent 1 Agent 2 Agent 3 Agent 4 Agent 5 Agent 6
Tâche 1 27 25 73 81 0 51 *
Tâche 2 0 12 0 16 61 30
Tâche 3 51 Ø 39 43 2 0
Tâche 4 11 16 55 0 56 12 *
Tâche 5 40 0 73 0 70 2
Tâche 6 73 16 23 1 0 68 *

→ Nous soustrayons ce nombre de tous les éléments découverts et l'ajoutons à tous les
éléments qui sont sur l’intersection des lignes et des colonnes barrées (faites attention c’est
barré non des lignes marquées)
* *
Agent 1 Agent 2 Agent 3 Agent 4 Agent 5 Agent 6
Tâche 1 16 14 62 81 0 40 *
Tâche 2 0 12 0 27 72 30
Tâche 3 51 0 39 54 13 0
Tâche 4 0 5 44 0 56 1 *
Tâche 5 40 0 73 11 81 2
Tâche 6 62 5 12 1 0 57 *

→ On encadre et on barre les zéro on commence par les zéro les plus haut et au droite puis
on barre celui qui en bas ou à la gauche de ce zéro encadré sur la même ligne ou clone

Agent 1 Agent 2 Agent 3 Agent 4 Agent 5 Agent 6


Tâche 1 16 14 62 81 0 40
Tâche 2 Ø 12 0 27 72 30
Tâche 3 51 Ø 39 54 13 0
Tâche 4 Ø 5 44 0 56 1
Tâche 5 40 0 73 11 81 2
Tâche 6 62 5 12 1 Ø 57

→ Une affectation complète n’est pas encore faite, alors on continué

Etape 7°° : Procédure de marquage ; le plus petit nombre découvert est 1.


*
Agent 1 Agent 2 Agent 3 Agent 4 Agent 5 Agent 6
Tâche 1 16 14 62 81 0 40 *
Tâche 2 0 12 0 27 72 30
Tâche 3 51 0 39 54 13 0
Tâche 4 0 5 44 0 56 1
Tâche 5 40 0 73 11 81 2
Tâche 6 62 5 12 1 0 57 *

Etape 6 : Amélioration de la nouvelle matrice des couts


Nous soustrayons 1 de tous les éléments découverts et l'ajoutons à tous les éléments qui sont
à l’intersection des lignes et colonnes barrées :
*
Agent 1 Agent 2 Agent 3 Agent 4 Agent 5 Agent 6
Tâche 1 15 13 61 80 0 39 *
Tâche 2 0 12 0 27 73 30
Tâche 3 51 0 39 54 14 0
Tâche 4 0 5 44 0 57 1
Tâche 5 40 0 73 11 82 2
Tâche 6 61 4 11 0 0 56 *
Tableau 13
Une affectation complète est bien faite, alors : chaque agent possède une affectation (tache),
donc la solution est optimale.
Agent 1 Agent 2 Agent 3 Agent 4 Agent 5 Agent 6
Tâche 1 15 13 61 80 0 39
Tâche 2 0 12 0 27 73 30
Tâche 3 51 0 39 54 14 0
Tâche 4 0 5 44 0 57 1
Tâche 5 40 0 73 11 82 2
Tâche 6 61 4 11 0 0 56

Tableau 14 : Affectation complète


Fin de L’algorithme : La valeur optimale est égale à 134.

Agent 1 Agent 2 Agent 3 Agent 4 Agent 5 Agent 6


Tâche 1 31 42 93 83 2 58
Tâche 2 24 49 40 38 83 57
Tâche 3 73 35 77 63 22 25
Tâche 4 37 55 97 24 80 41
Tâche 5 47 20 96 5 75 12
Tâche 6 84 40 50 10 9 82

Tableau 15 : Affectation des valeurs constituant la solution optimale

. Figure 6 : Représentation de la solution optimale

Vous aimerez peut-être aussi