SlideShare une entreprise Scribd logo
1  sur  9
Télécharger pour lire hors ligne
Par : Abdel YEZZA, Ph.D L A M E T H O D E H O N G R O I S E P A S A P A S
1
LA METHODE HONGROISE POUR
RESOUDRE LE PROBLEME D'AFFECTATION
EXPLIQUEE PAS A PAS
Par : Abdel YEZZA, Ph.D
Date : juillet 2015
Télécharger le fichier EXCEL : assignment-problem.xls
Introduction
Le but du présent article n'est pas de présenter le problème classique d'affectation d'un point de vue
purement mathématique, mais plutôt de mettre l'accent sur son algorithme de résolution le plus connu dit
"Méthode Hongroise" associé à KHÜN MUNKRES (1955).
Vous gérez une entreprise de salariés qui interviennent chez des clients. Tous vos salariés sont qualifiés pour
fournir le même niveau de qualité de prestation chez vos clients. Votre souci est plutôt centré sur les coûts
inhérents aux déplacements de vos salariés chez les clients à partir de leurs domiciles. Par conséquent vous
optez pour des affectations de sorte est ce que les coûts relatifs aux déplacements des salariés
domicile/locaux clients soient les plus bas possible. C'est à cette problématique par exemple que l'algorithme
Hongrois répond. Autrement dit, vous fournir les affectations Salarié/Client de sorte à minimiser la somme
des coûts des déplacements de vos salariés. Afin d'avoir une idée générale sur le problème d'affectation, la
figure suivante illustre ce principe pour 3 salariés et 3 clients :
Par : Abdel YEZZA, Ph.D L A M E T H O D E H O N G R O I S E P A S A P A S
2
D'une manière équivalente la représentation matricielle se présente comme suit :
Le problème d'affectation peut être vu sous deux angles équivalents. Le premier est celui de la théorie des
graphes, plus précisément en tant que graphe biparti dont le but est de minimiser (ou maximiser) les coûts
des affectations 1 à 1 (couples formés des nœuds uniques de départ et d'arrivée (salarié, client)). Le
deuxième est celui de la théorie d'optimisation combinatoire dont le but est de minimiser (ou maximiser) le
coût total des combinaisons possibles avec des contraintes linéaires. La formulation combinatoire peut être
effectuée via une matrice des coûts et c'est cette dernière qui fait l'objet principal de l'algorithme présenté ci-
dessous. Vous l'avez remarqué, je n'ai présenté aucune formulation mathématique du problème, car il ne
s'agit pas de l'objet de ce document, car les centaines de livres académiques et des articles scientifiques le
font brillement.
Par ailleurs, si vous souhaitez voir l'algorithme présenté dans la section suivante opérer sur des données
réelles, je vous recommande le site suivant qui est y entièrement dédié comme son nom l'indique :
http://www.hungarianalgorithm.com pouvant traiter des matrices d'affectation allant jusqu'à 10x10
(affectation de 10 salariés à 10 clients par exemple, 10 tâches à 10 ordinateurs, 10 intervenants à 10 tâches
d'un projet, 10 avions d'une flotte aérienne à 10 trajets etc.).
Par : Abdel YEZZA, Ph.D L A M E T H O D E H O N G R O I S E P A S A P A S
3
Méthode Hongroise pas à pas
L'idée de l'algorithme Hongrois provient du fait que l'on obtient un problème équivalent en translatant la
matrice associée par un même vecteur ou en la multipliant par une constante. Ce qui explique les opérations
ci-dessous effectuées sur la matrice afin d'obtenir la solution optimale.
Pour les personnes ayant déjà une expérience dans la formulation algorithmique, elles sont invitées à
examiner le pseudo-algorithme Hongrois cité ci-dessous avant d'aller examiner les étapes plus bas ou
télécharger le fichier EXCEL qui accompagne cet article.
Algorithme :
Afin d'illustrer l'algorithme Hongrois, les étapes suivantes sont déroulées sur un exemple où les étapes font
référence à l'algorithme ci-dessus.
Par : Abdel YEZZA, Ph.D L A M E T H O D E H O N G R O I S E P A S A P A S
4
A. Données :
La matrice des distances
A/R entre les domiciles des
salariés et les clients est
donnée comme suit :
B. Etapes de
l'algorithme :
Etape 1 :
Ajouter une colonne "Row
Min" contenant le minimum
de chaque ligne de la
matrice.
Puis soustraire chaque
entrée de chaque ligne du
minimum correspondant.
Par : Abdel YEZZA, Ph.D L A M E T H O D E H O N G R O I S E P A S A P A S
5
Etape 2 :
Ajouter une ligne "Col
Min" contenant le minimum
de chaque colonne de la
matrice.
Puis soustraire chaque
entrée de chaque colonne du
minimum correspondant.
Etape 3 (test de la
solution) :
A partir de la matrice
résultante, identifier (en
surlignant en bleu) le
nombre minimum de lignes
horizontales et verticales
afin de couvrir tous les zéros
de la matrice.
On note que le nombre de
lignes et de colonnes
couvrant tous les 0 est de 8
lignes verticales et 1 ligne
horizontale, ce qui donne au
total 9 lignes inférieur à 10
la dimension de la matrice.
Par conséquent nous ne
disposons pas encore de la
solution optimale. Nous
devrons alors passer à une
1ère itération.
Par : Abdel YEZZA, Ph.D L A M E T H O D E H O N G R O I S E P A S A P A S
6
Par : Abdel YEZZA, Ph.D L A M E T H O D E H O N G R O I S E P A S A P A S
7
Etape 4 (a)(b)(c) :
Après ces opérations
constituant une 1ère
itération on passe encore à
l'étape 3 de test de solution.
Etape 3 (test de la
solution) :
Une fois encore, on
remarque que le nombre de
lignes couvrant les zéros =
7X + 2Y = 9 < 10.
Par conséquent, on doit
effectuer une 2éme
itération.
Par : Abdel YEZZA, Ph.D L A M E T H O D E H O N G R O I S E P A S A P A S
8
Etape 4 (a)(b)(c) :
Après les opérations (a), (b)
et (c) constituant la 2ème
itération on passe encore à
l'étape 3 de test de solution.
Etape 3 (test de la
solution) :
On constate que le nombre
minimum de lignes pour
couvrir tous les zéros de la
matrice est égal à 10. Par
conséquent on a une
solution optimale.
Les entrées de la solution
optimale correspondent aux
entrées nulles de la matrice
ci-contre.
La solution optimale est
illustrée ci-dessous.
Autrement dit, les
affectations optimales sont :
Par : Abdel YEZZA, Ph.D L A M E T H O D E H O N G R O I S E P A S A P A S
9
• Salarié 1 affecté au
client 8
• Salarié 2 affecté au
client 6
• Salarié 3 affecté au
client 1
• etc.
D'après vous cette solution
optimale est-elle unique ?

Contenu connexe

Tendances

Conteneurs maritimes
  Conteneurs  maritimes  Conteneurs  maritimes
Conteneurs maritimesRabah HELAL
 
Polycopie_Mecanique_des_sols_1_Licence_2_Genie_Civil_Harichan.pdf
Polycopie_Mecanique_des_sols_1_Licence_2_Genie_Civil_Harichan.pdfPolycopie_Mecanique_des_sols_1_Licence_2_Genie_Civil_Harichan.pdf
Polycopie_Mecanique_des_sols_1_Licence_2_Genie_Civil_Harichan.pdfAbdirazak6
 
Les incotermes
Les incotermesLes incotermes
Les incotermeslkhamisse
 
Curriculum Vitae Abdessamad YADINI
Curriculum Vitae Abdessamad YADINICurriculum Vitae Abdessamad YADINI
Curriculum Vitae Abdessamad YADINIAbdessamad Yadini
 
Le transport maritime
Le transport maritimeLe transport maritime
Le transport maritimeAmal Brioual
 
Saisie conservatoire des navires
Saisie conservatoire des naviresSaisie conservatoire des navires
Saisie conservatoire des naviresRabah HELAL
 
etude de route .ppt
etude de route .pptetude de route .ppt
etude de route .pptAnassbk2
 
Contrat de transport
Contrat de transportContrat de transport
Contrat de transportRabah HELAL
 
Transport de Marchandise
Transport de MarchandiseTransport de Marchandise
Transport de MarchandiseMed El Assi
 
Les coûts et les tarifs des modes de transport et de rupture de charge
Les coûts et les tarifs des modes de transport et de rupture de chargeLes coûts et les tarifs des modes de transport et de rupture de charge
Les coûts et les tarifs des modes de transport et de rupture de chargeAmal Brioual
 
Decret code ism
  Decret   code  ism  Decret   code  ism
Decret code ismRabah HELAL
 
Cout de transport(ihssane,yachaoui,bari)
Cout de transport(ihssane,yachaoui,bari)Cout de transport(ihssane,yachaoui,bari)
Cout de transport(ihssane,yachaoui,bari)Ilham Yachaoui
 
Guide des solutions d 'assainissement
Guide des solutions d 'assainissementGuide des solutions d 'assainissement
Guide des solutions d 'assainissementSouhila Benkaci
 
Les risques liés au transport aérien
Les risques liés au transport aérienLes risques liés au transport aérien
Les risques liés au transport aérienIlham Yachaoui
 
Memoire mona grid_maritime
Memoire mona grid_maritimeMemoire mona grid_maritime
Memoire mona grid_maritimeRabah HELAL
 
Presentation Conducteur De Travaux
Presentation Conducteur De TravauxPresentation Conducteur De Travaux
Presentation Conducteur De Travauxjexpoz
 
Obligations responsabilite du chargeur règles rotterdam
  Obligations responsabilite du chargeur   règles rotterdam  Obligations responsabilite du chargeur   règles rotterdam
Obligations responsabilite du chargeur règles rotterdamRabah HELAL
 

Tendances (20)

Voirie
VoirieVoirie
Voirie
 
Conteneurs maritimes
  Conteneurs  maritimes  Conteneurs  maritimes
Conteneurs maritimes
 
Polycopie_Mecanique_des_sols_1_Licence_2_Genie_Civil_Harichan.pdf
Polycopie_Mecanique_des_sols_1_Licence_2_Genie_Civil_Harichan.pdfPolycopie_Mecanique_des_sols_1_Licence_2_Genie_Civil_Harichan.pdf
Polycopie_Mecanique_des_sols_1_Licence_2_Genie_Civil_Harichan.pdf
 
Les incotermes
Les incotermesLes incotermes
Les incotermes
 
Curriculum Vitae Abdessamad YADINI
Curriculum Vitae Abdessamad YADINICurriculum Vitae Abdessamad YADINI
Curriculum Vitae Abdessamad YADINI
 
Le transport maritime
Le transport maritimeLe transport maritime
Le transport maritime
 
Saisie conservatoire des navires
Saisie conservatoire des naviresSaisie conservatoire des navires
Saisie conservatoire des navires
 
etude de route .ppt
etude de route .pptetude de route .ppt
etude de route .ppt
 
Contrat de transport
Contrat de transportContrat de transport
Contrat de transport
 
Transport de Marchandise
Transport de MarchandiseTransport de Marchandise
Transport de Marchandise
 
Les coûts et les tarifs des modes de transport et de rupture de charge
Les coûts et les tarifs des modes de transport et de rupture de chargeLes coûts et les tarifs des modes de transport et de rupture de charge
Les coûts et les tarifs des modes de transport et de rupture de charge
 
Decret code ism
  Decret   code  ism  Decret   code  ism
Decret code ism
 
Cout de transport(ihssane,yachaoui,bari)
Cout de transport(ihssane,yachaoui,bari)Cout de transport(ihssane,yachaoui,bari)
Cout de transport(ihssane,yachaoui,bari)
 
Guide des solutions d 'assainissement
Guide des solutions d 'assainissementGuide des solutions d 'assainissement
Guide des solutions d 'assainissement
 
Incoterms 2020
Incoterms 2020 Incoterms 2020
Incoterms 2020
 
Les risques liés au transport aérien
Les risques liés au transport aérienLes risques liés au transport aérien
Les risques liés au transport aérien
 
Memoire mona grid_maritime
Memoire mona grid_maritimeMemoire mona grid_maritime
Memoire mona grid_maritime
 
Presentation Conducteur De Travaux
Presentation Conducteur De TravauxPresentation Conducteur De Travaux
Presentation Conducteur De Travaux
 
La logistique et le transport
La logistique et le transportLa logistique et le transport
La logistique et le transport
 
Obligations responsabilite du chargeur règles rotterdam
  Obligations responsabilite du chargeur   règles rotterdam  Obligations responsabilite du chargeur   règles rotterdam
Obligations responsabilite du chargeur règles rotterdam
 

Similaire à Assignment problem algorithm

Cours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfCours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfadeljaouadi
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiquefast xp
 
Programmation lineaire algorithme_du_simplexe
Programmation lineaire algorithme_du_simplexeProgrammation lineaire algorithme_du_simplexe
Programmation lineaire algorithme_du_simplexeJiijishady
 
TP Fouille de données (Data Mining) et Apprentissage Machine
TP Fouille de données (Data Mining) et Apprentissage MachineTP Fouille de données (Data Mining) et Apprentissage Machine
TP Fouille de données (Data Mining) et Apprentissage MachineBoubaker KHMILI
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigramenabildekess
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigramenabildekess
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigramenabildekess
 
Tutoriel tableau de bord excel
Tutoriel tableau de bord excelTutoriel tableau de bord excel
Tutoriel tableau de bord excelHayans Yao
 
optimisation cours.pdf
optimisation cours.pdfoptimisation cours.pdf
optimisation cours.pdfMouloudi1
 
Algorithmique et Programmation - informatique - débutant
Algorithmique et Programmation - informatique - débutantAlgorithmique et Programmation - informatique - débutant
Algorithmique et Programmation - informatique - débutantRidoinBahadi
 
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...Votre Assistante
 

Similaire à Assignment problem algorithm (20)

syntax-matlab.pdf
syntax-matlab.pdfsyntax-matlab.pdf
syntax-matlab.pdf
 
Serie
SerieSerie
Serie
 
Operations research
Operations researchOperations research
Operations research
 
Cours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfCours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdf
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmique
 
Programmation lineaire algorithme_du_simplexe
Programmation lineaire algorithme_du_simplexeProgrammation lineaire algorithme_du_simplexe
Programmation lineaire algorithme_du_simplexe
 
TP Fouille de données (Data Mining) et Apprentissage Machine
TP Fouille de données (Data Mining) et Apprentissage MachineTP Fouille de données (Data Mining) et Apprentissage Machine
TP Fouille de données (Data Mining) et Apprentissage Machine
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigrame
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigrame
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigrame
 
Tp1 matlab
Tp1 matlab Tp1 matlab
Tp1 matlab
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
8 gl1
8 gl18 gl1
8 gl1
 
Tutoriel tableau de bord excel
Tutoriel tableau de bord excelTutoriel tableau de bord excel
Tutoriel tableau de bord excel
 
optimisation cours.pdf
optimisation cours.pdfoptimisation cours.pdf
optimisation cours.pdf
 
Algorithmique et Programmation - informatique - débutant
Algorithmique et Programmation - informatique - débutantAlgorithmique et Programmation - informatique - débutant
Algorithmique et Programmation - informatique - débutant
 
Rapportfinal2x
Rapportfinal2xRapportfinal2x
Rapportfinal2x
 
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
 
Algo inf102 2007
Algo inf102 2007Algo inf102 2007
Algo inf102 2007
 

Dernier

Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEBONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEgharebikram98
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 

Dernier (14)

Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEBONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 

Assignment problem algorithm

  • 1. Par : Abdel YEZZA, Ph.D L A M E T H O D E H O N G R O I S E P A S A P A S 1 LA METHODE HONGROISE POUR RESOUDRE LE PROBLEME D'AFFECTATION EXPLIQUEE PAS A PAS Par : Abdel YEZZA, Ph.D Date : juillet 2015 Télécharger le fichier EXCEL : assignment-problem.xls Introduction Le but du présent article n'est pas de présenter le problème classique d'affectation d'un point de vue purement mathématique, mais plutôt de mettre l'accent sur son algorithme de résolution le plus connu dit "Méthode Hongroise" associé à KHÜN MUNKRES (1955). Vous gérez une entreprise de salariés qui interviennent chez des clients. Tous vos salariés sont qualifiés pour fournir le même niveau de qualité de prestation chez vos clients. Votre souci est plutôt centré sur les coûts inhérents aux déplacements de vos salariés chez les clients à partir de leurs domiciles. Par conséquent vous optez pour des affectations de sorte est ce que les coûts relatifs aux déplacements des salariés domicile/locaux clients soient les plus bas possible. C'est à cette problématique par exemple que l'algorithme Hongrois répond. Autrement dit, vous fournir les affectations Salarié/Client de sorte à minimiser la somme des coûts des déplacements de vos salariés. Afin d'avoir une idée générale sur le problème d'affectation, la figure suivante illustre ce principe pour 3 salariés et 3 clients :
  • 2. Par : Abdel YEZZA, Ph.D L A M E T H O D E H O N G R O I S E P A S A P A S 2 D'une manière équivalente la représentation matricielle se présente comme suit : Le problème d'affectation peut être vu sous deux angles équivalents. Le premier est celui de la théorie des graphes, plus précisément en tant que graphe biparti dont le but est de minimiser (ou maximiser) les coûts des affectations 1 à 1 (couples formés des nœuds uniques de départ et d'arrivée (salarié, client)). Le deuxième est celui de la théorie d'optimisation combinatoire dont le but est de minimiser (ou maximiser) le coût total des combinaisons possibles avec des contraintes linéaires. La formulation combinatoire peut être effectuée via une matrice des coûts et c'est cette dernière qui fait l'objet principal de l'algorithme présenté ci- dessous. Vous l'avez remarqué, je n'ai présenté aucune formulation mathématique du problème, car il ne s'agit pas de l'objet de ce document, car les centaines de livres académiques et des articles scientifiques le font brillement. Par ailleurs, si vous souhaitez voir l'algorithme présenté dans la section suivante opérer sur des données réelles, je vous recommande le site suivant qui est y entièrement dédié comme son nom l'indique : http://www.hungarianalgorithm.com pouvant traiter des matrices d'affectation allant jusqu'à 10x10 (affectation de 10 salariés à 10 clients par exemple, 10 tâches à 10 ordinateurs, 10 intervenants à 10 tâches d'un projet, 10 avions d'une flotte aérienne à 10 trajets etc.).
  • 3. Par : Abdel YEZZA, Ph.D L A M E T H O D E H O N G R O I S E P A S A P A S 3 Méthode Hongroise pas à pas L'idée de l'algorithme Hongrois provient du fait que l'on obtient un problème équivalent en translatant la matrice associée par un même vecteur ou en la multipliant par une constante. Ce qui explique les opérations ci-dessous effectuées sur la matrice afin d'obtenir la solution optimale. Pour les personnes ayant déjà une expérience dans la formulation algorithmique, elles sont invitées à examiner le pseudo-algorithme Hongrois cité ci-dessous avant d'aller examiner les étapes plus bas ou télécharger le fichier EXCEL qui accompagne cet article. Algorithme : Afin d'illustrer l'algorithme Hongrois, les étapes suivantes sont déroulées sur un exemple où les étapes font référence à l'algorithme ci-dessus.
  • 4. Par : Abdel YEZZA, Ph.D L A M E T H O D E H O N G R O I S E P A S A P A S 4 A. Données : La matrice des distances A/R entre les domiciles des salariés et les clients est donnée comme suit : B. Etapes de l'algorithme : Etape 1 : Ajouter une colonne "Row Min" contenant le minimum de chaque ligne de la matrice. Puis soustraire chaque entrée de chaque ligne du minimum correspondant.
  • 5. Par : Abdel YEZZA, Ph.D L A M E T H O D E H O N G R O I S E P A S A P A S 5 Etape 2 : Ajouter une ligne "Col Min" contenant le minimum de chaque colonne de la matrice. Puis soustraire chaque entrée de chaque colonne du minimum correspondant. Etape 3 (test de la solution) : A partir de la matrice résultante, identifier (en surlignant en bleu) le nombre minimum de lignes horizontales et verticales afin de couvrir tous les zéros de la matrice. On note que le nombre de lignes et de colonnes couvrant tous les 0 est de 8 lignes verticales et 1 ligne horizontale, ce qui donne au total 9 lignes inférieur à 10 la dimension de la matrice. Par conséquent nous ne disposons pas encore de la solution optimale. Nous devrons alors passer à une 1ère itération.
  • 6. Par : Abdel YEZZA, Ph.D L A M E T H O D E H O N G R O I S E P A S A P A S 6
  • 7. Par : Abdel YEZZA, Ph.D L A M E T H O D E H O N G R O I S E P A S A P A S 7 Etape 4 (a)(b)(c) : Après ces opérations constituant une 1ère itération on passe encore à l'étape 3 de test de solution. Etape 3 (test de la solution) : Une fois encore, on remarque que le nombre de lignes couvrant les zéros = 7X + 2Y = 9 < 10. Par conséquent, on doit effectuer une 2éme itération.
  • 8. Par : Abdel YEZZA, Ph.D L A M E T H O D E H O N G R O I S E P A S A P A S 8 Etape 4 (a)(b)(c) : Après les opérations (a), (b) et (c) constituant la 2ème itération on passe encore à l'étape 3 de test de solution. Etape 3 (test de la solution) : On constate que le nombre minimum de lignes pour couvrir tous les zéros de la matrice est égal à 10. Par conséquent on a une solution optimale. Les entrées de la solution optimale correspondent aux entrées nulles de la matrice ci-contre. La solution optimale est illustrée ci-dessous. Autrement dit, les affectations optimales sont :
  • 9. Par : Abdel YEZZA, Ph.D L A M E T H O D E H O N G R O I S E P A S A P A S 9 • Salarié 1 affecté au client 8 • Salarié 2 affecté au client 6 • Salarié 3 affecté au client 1 • etc. D'après vous cette solution optimale est-elle unique ?