begin process at 2008 07 05 21:16:08
1 205 339 membres
308 nouveaux aujourd'hui
14 119 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ALGORITHME HONGROIS PROPOSÉ PAR KUHN


Information sur la source

Description

Il s'agit de l'algorithme Hongrois proposé par Kuhn.
Il s'agit d'une matrice carré, là où les valeurs infinies restent inchangées.
L'algorithme procède en trois étapes successives.
1- éliminer le plus petit élément de chacune des colonnes  puis celui de chacune des lignes de la matrice des coûts.
2- Si, cette solution n'est pas optimale, on considère la ligne ayant un nombre minimal de zéros. On encadre l'un des zéros de cette ligne, puis on barre les zéros qui se trouvent sur la même ligne ou la même colonne que le zéro encadré. On procède de même pour toutes les lignes.
3- On marque toutes les lignes qui ne contiennent aucun zéro encadré
On marque les lignes qui ont un zéro encadré dans une colonne marqué
On marque les colonnes qui ont un ou plusieurs zéros barrés dans une ligne marquée.
On répète ces trois marquages successifs jusqu'à ce que l'on ne puisse plus affecter de nouveaux marquages.
On barre ensuite, les lignes non marquées ainsi que les colonnes marquées.
Dans le tableau réduit obtenu, on retranche la valeur de l'élément le plus petit aux colonnes non barrées et on l'ajoute aux lignes barrées.
On poursuit la procédure de traitement sur la matrice résultante en reprenant à la seconde phase jusqu'à l'obtention d'une solution optimale.

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de nosferaltu0 le 14/05/2008 16:10:47

    J'aimerais juste avoir un ou deux exemple(s) concret(s) de l'utilisation de l'algorithme.

    Merci.

    PS : La note que je met ne correspond à rien puisque je n'ai pas regardé les sources.
    <a href="http://en.wikipedia.org/wiki/Hungarian_algorithm">Un peu plus d'information sur l'algo<a> (en anglais)

  • signaler à un administrateur
    Commentaire de zizofredj le 15/05/2008 12:46:30

    Etant donné n tâches à réaliser sur m  machines et sachant que l'on connaît le coût de réalisation Cij de la tâche ti par la machine mj (pour tous les couples (ti,mj) possibles, si la tâche ti ne peut être effectuée par la machine mj, on pose Cij=?), on cherche une permutation ? de {1,2,.,n} conduisant à un coût total :
    somme(Ci,?(i))  minimum. Ceci est obtenu en cherchant une solution à coût nul (un seul zéro dans chaque colonne et dans chaque ligne).
    La matrice ci-dessous illustre ce que je viens de dire :
    1 2 3 4 5
    A 7 3 5 7 10
    B 6 ? ? 8 7
    C 6 5 1 5 ?
    D 11 4 ? 11 15
    E ? 4 5 2 10

    La solution optimale est alors obtenue grâce aux éléments :
    C2,A1= C2,B5= C2,C3= C2,D2= C2,E4=0
    Si l'on revient aux données initials, on obtient:
    CA1+ CB5+ CC3+ CD2+ CE4=7+7+1+4+2=21

  • signaler à un administrateur
    Commentaire de nosferaltu0 le 15/05/2008 13:34:49

    Donc si je comprend bien en mettant des ? dans la diagonale on retombe sur le problème du voyageur de commerce.(VDC ou TSP http://en.wikipedia.org/wiki/Travelling_salesman_problem)

    Merci.

  • signaler à un administrateur
    Commentaire de zizofredj le 20/05/2008 13:00:06

    Salut,
    Désolé mais des il y a des caractères non reconnus par l'éditeur texte ce qui justifie les ? mal placés. Voilà donc le texte intégrale.
    Etant donné n tâches à réaliser sur m  machines et sachant que l'on connaît le coût de réalisation Cij de la tâche ti par la machine mj (pour tous les couples (ti,mj) possibles, si la tâche ti ne peut être effectuée par la machine mj, on pose Cij=infini), on cherche une permutation 's' de {1,2,.,n} conduisant à un coût total :
    somme(Ci,s(i))  minimum. Ceci est obtenu en cherchant une solution à coût nul (un seul zéro dans chaque colonne et dans chaque ligne).
    si on pose I=infini
    La matrice ci-dessous illustre ce que je viens de dire :
    1 2 3 4 5
    A 7 3 5 7 10
    B 6 I I 8 7
    C 6 5 1 5 I
    D 11 4 I 11 15
    E I 4 5 2 10

    La solution optimale est alors obtenue grâce aux éléments :
    C2,A1= C2,B5= C2,C3= C2,D2= C2,E4=0
    Si l'on revient aux données initials, on obtient:
    CA1+ CB5+ CC3+ CD2+ CE4=7+7+1+4+2=21
    Bon un problème d'affectation est un cas particulier du problème de transport sans capacité.

  • signaler à un administrateur
    Commentaire de nosferaltu0 le 20/05/2008 17:18:14

    les ? n'empèchait pas la comprension, ce n'etait qu'un nom de variable. Je trouve que l'utilisation de la lettre C et l'appellation de la fonction cout C sans paranthèse est plus génante pour la comprehension.

Ajouter un commentaire

Pub



Appels d'offres

Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€
creation de marque et ...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS