LA METHODE HONGROISE POUR. Introduction RESOUDRE LE PROBLEME D'AFFECTATION EXPLIQUEE PAS A PAS

Documents pareils
Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

RÉSOLUTION DE SYSTÈMES À DEUX INCONNUES

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

CHAPITRE 5. Stratégies Mixtes

FctsAffines.nb 1. Mathématiques, 1-ère année Edition Fonctions affines

Algorithmes de recherche

Utiliser des fonctions complexes

Résolution d équations non linéaires

Formation Excel, Niveau initiation, module 1 DUREE DE LA FORMATION OBJECTIFS DE LA FORMATION

2.4 Représentation graphique, tableau de Karnaugh

Programmation linéaire

Conception de réseaux de télécommunications : optimisation et expérimentations

Programme détaillé BTS INFORMATIQUE DE GESTION DIPLÔME D ETAT. Objectifs de la formation. Les métiers. Durée de la formation

a) La technique de l analyse discriminante linéaire : une brève présentation. 3 étapes de la méthode doivent être distinguées :

Resolution limit in community detection

RÉALISATION DE GRAPHIQUES AVEC OPENOFFICE.ORG 2.3

Mathématique et Automatique : de la boucle ouverte à la boucle fermée. Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

OPTIMISATION À UNE VARIABLE

Jean-Philippe Préaux

C f tracée ci- contre est la représentation graphique d une

Optimisation, traitement d image et éclipse de Soleil

Qualité du logiciel: Méthodes de test

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. address: Nicolas.Thiery@u-psud.fr URL:

Programmation linéaire

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Mathématiques appliquées à l'économie et à la Gestion

Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases)

Cours de Master Recherche

TABLE DES MATIERES MENTIONS LEGALES INTRODUCTION CHAPITRE 1 : INSTALLATION DE L ALGORITHME CHAPITRE 2 : EXECUTION & OPTIMISATION DU BACKTEST

Chapitre 5 : Flot maximal dans un graphe

Fonctions linéaires et affines. 1 Fonctions linéaires. 1.1 Vocabulaire. 1.2 Représentation graphique. 3eme

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

Analyse en Composantes Principales

CORRECTION EXERCICES ALGORITHME 1

Cours pratique Excel. Dans chacune des feuilles, les donnés sont déjà entrées afin de gagner du temps.

Christophe CANDILLIER Cours de DataMining mars 2004 Page 1

ITIL Gestion de la capacité

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Programmation Linéaire - Cours 1

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

Travaux dirigés n 1. Programmation linéaire

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Programmation linéaire et Optimisation. Didier Smets

LES DÉTERMINANTS DE MATRICES

Valeur cible et solveur. Les calculs effectués habituellement avec Excel utilisent des valeurs numériques qui constituent les données d'un problème.

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

de calibration Master 2: Calibration de modèles: présentation et simulation d

Plus courts chemins, programmation dynamique

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Par Richard Beauregard. Novembre 2011

Programmation linéaire

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

CH.6 Propriétés des langages non contextuels

Raisonnement par récurrence Suites numériques

Atelier Transversal AT11. Activité «Fourmis» Pierre Chauvet.

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

Introduction a l'algorithmique des objets partages. Robert Cori. Antoine Petit. Lifac, ENS Cachan, Cachan Cedex. Resume

Exercices Corrigés Premières notions sur les espaces vectoriels

Introduction à MATLAB R

Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures)

DEFI MATHS EXPRESS n 2. DEFI MATHS EXPRESS n 1. Le compte est bon : Suite de nombres : ?

Business Intelligence

Annexe 6. Notions d ordonnancement.

La (les) mesure(s) GPS

Sommaire. Introduction. I. Notions de routage a) Technologies actuelles b) Avantages et désavantages

Système binaire. Algèbre booléenne

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

Programmation C++ (débutant)/instructions for, while et do...while

ARCHITECTE-FICHES RESSOURCES

Intelligence Artificielle Planification

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version /11/05

Créer son questionnaire en ligne avec Google Documents

BACCALAUREAT GENERAL MATHÉMATIQUES

SEO Campus 2009 : Pagerank et optimisation

BeSpoon et l homme Connecté

Cours 02 : Problème général de la programmation linéaire

Protocoles DHCP et DNS

Documentation utilisateur. [EIP] TransLSF

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Coup de Projecteur sur les Réseaux de Neurones

Logiciel SCRATCH FICHE 02

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

modélisation solide et dessin technique

Lecture graphique. Table des matières

6 ème. Rallye mathématique de la Sarthe 2013/ ère épreuve de qualification : Problèmes Jeudi 21 novembre 2013

LE PROBLEME DU PLUS COURT CHEMIN

Achat V9.7 Dématérialisation des Achats et des Marchés Publics

1.1 Introduction au probleme de la repartition de charge. Un programme parallele peut ^etre vu comme un ensemble de t^aches qui communiquent.

Application 1- VBA : Test de comportements d'investissements

Modèle de calcul des paramètres économiques

Master IAD Module PS. Reconnaissance de la parole (suite) Alignement temporel et Programmation dynamique. Gaël RICHARD Février 2008

Nombre de marches Nombre de facons de les monter

Le management des risques de l entreprise Cadre de Référence. Synthèse

Import de comptes (xls)

Transcription:

LA METHODE HONGROISE POUR RESOUDRE LE PROBLEME D'AFFECTATION EXPLIQUEE PAS A PAS 1 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 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é cidessous. 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.).

Méthode Hongroise pas à pas 3 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 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 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

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 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 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?