Le problème du Voyageur de Commerce
Transcription
Le problème du Voyageur de Commerce
Le problème du Voyageur de Commerce Johanne Cohen [email protected] Laboratoire LORIA „ Le probleme du Voyageur de Commerce – p.1/14 Ennoncé du problème Un représentant doit visiter villes. Le représentant souhaite faire une tournée en visitant chaque ville au moins exactement 1 fois et en terminant à sa ville de départ. „ Le probleme du Voyageur de Commerce – p.2/14 Traduction en un problème de décision un rationnel une fonction cout un graphe complet I NSTANCE : Q UESTION : Existe-t-il un tournée de coût au plus égale à ? Th« eor„ eme 1: Le problème du Voyageur de Commerce est NP-complet. „ Le probleme du Voyageur de Commerce – p.3/14 Inégalité triangulaire D« efinition: La fonction de coût vérifie l’inégalité triangulaire si , arbitraires de pour 3 sommets , , Le problème du Voyageur de Commerce avec la fonction de coût vérifiant l’inégalité triangulaire est NP-complet. Th« eor„ eme 2: „ Le probleme du Voyageur de Commerce – p.4/14 une fonction cout S ORTIE : un cycle hamiltonien. E NTR « EE: un graphe complet et un rationnel Algorithme comme racine. à partir dans 2. Construire un arbre couvrant minimal de la racine . 1. coisir un sommet A LGORITHME : qui visite les sommets 4. retourner le cycle hamiltonien. dans l’ ordre de 3. Soit la liste des sommets visités lors d’ un parcours préfixe. „ Le probleme du Voyageur de Commerce – p.5/14 Illustration de l’algorithme a a d d e f b c e g f b g c h instance h arbre couvrant „ Le probleme du Voyageur de Commerce – p.6/14 Illustration de l’algorithme a d a d e f b e g f b g c c h arbre couvrant h parcours préfixe „ Le probleme du Voyageur de Commerce – p.6/14 Illustration de l’algorithme a a d d e e f b c g f b g c h parcours préfixe h solution „ Le probleme du Voyageur de Commerce – p.6/14 Facteur d’approximation L’algorithme retourne une solution à un facteur de l’optimal. Th« eor„ eme 2: arbre couvrant minimal: Soit Il reste donc à prouver que la tournée optimale Soit Preuve: Soit le parcours de l’arbre (ajout d’un sommet dans la liste dès que l’on les rencontre lors su parcours). „ Le probleme du Voyageur de Commerce – p.7/14 Facteur d’approximation L’algorithme retourne une solution à un facteur de l’optimal. Th« eor„ eme 2: arbre couvrant minimal: Soit Preuve: Soit le parcours de l’arbre (ajout d’un sommet dans la liste dès que l’on les rencontre lors su parcours). „ Le probleme du Voyageur de Commerce – p.8/14 Facteur d’approximation L’algorithme retourne une solution à un facteur de l’optimal. Th« eor„ eme 2: arbre couvrant minimal: Soit Preuve: Soit le parcours de l’arbre (ajout d’un sommet dans la liste dès que l’on les rencontre lors su parcours). a d f & % ' % $ ()! b $ % # ! " ! parcours " e g c h „ Le probleme du Voyageur de Commerce – p.8/14 + * * ? grâce à (1) et (2). 3. Donc (liste des sommets dès car 1 arête est visitée 2 fois. 2. Soit le parcours de l’arbre que l’ on les rencontre). arbre couvrant minimal: 1. Soit Preuve: 5. Donc , 4. On peut supprimer sommet de sans augmenter le coût ( grâce à l’inégalité triangulaire). „ Le probleme du Voyageur de Commerce – p.9/14 Plus précisement, , On peut supprimer sommet de (grâce à l’inégalité triangulaire). sans augmenter le coût b b c c h h ( ( ( # " " # " - - - " # # " " # # " car " ....b c h b.... ....b c b h b.... grâce à l’inégalité triangulaire „ Le probleme du Voyageur de Commerce – p.10/14 Pb. général du Voyageur de Commerce 2 , . 0 . / Si et , il n’existe aucun algorithme d’approx. en tps polynomial de borne pour le problème général du voyageur de commerce. Preuve: par l’ absurde. Supposons qu’il existe un algo. d’approx. de borne . Construisons une instance du voyageur de commerce à partir d’une instance du problème du cycle hamiltonien. % =; < % !; ' ? > # : B D < @EDA C 1 C , 79866 @A , 4 766 : 5 1 3 1 1 Th« eor„ eme 2: „ Le probleme du Voyageur de Commerce – p.11/14 : C C 3 1 C ayant en entrée 1 C D < @EDA I ! & 3. retourner H @A !A la tournée calculée par 2. Soit C 1 C , HE F C G C C a un cycle hamiltonien, . 4 : Algo. polynomial déterminant si 1 C , 2 2. Sinon, le coût d’1 tournée 1. a une tournée de C C 1. Si a un cycle hamiltonien, coût : Suite (1/3) „ Le probleme du Voyageur de Commerce – p.12/14 Suite (2/3) |V| C C 1 C ayant en entrée 1 C D < 3 0 @EDA I ! & 3. retourner H @A !A la tournée calculée par 2. Soit : 4 a un cycle hamiltonien, . 1. : Algo. polynomial déterminant si ρ|V| solutions possibles „ Le probleme du Voyageur de Commerce – p.13/14 |V| C C C C C H C 0 , est un cycle hamiltonien , cela signifie que 1 C H 2. Si C , cela signifie que C 1 C 1. Si Suite (3/3): Remarque , est un cycle non-hamiltonien ρ|V| solutions possibles „ Le probleme du Voyageur de Commerce – p.14/14