Vous êtes sur la page 1sur 11

Projet Optimisation Combinatoire 2003-2004

PAGEOT Gregory TIVOLI Daugoh

Heuristique pour le problme du voyageur de commerce

Universit de marne-la-valle

1 / 11

Projet Optimisation Combinatoire 2003-2004

1. SOMMAIRE
1. SOMMAIRE .................................................................................................................2 2. INTRODUCTION .........................................................................................................3 Rappel :...........................................................................................................................3 Algorithmes a implmenter :......................................................................................3 3. DESCRIPTION DES ALGORITHMES .......................................................................4 PLUS PROCHE VOISIN................................................................................................4 INSERTION AU MOINDRE COUT..............................................................................5 2-CHANGE OU 2-OPT................................................................................................6 L'LASTIQUE................................................................................................................7 LE RECUIT SIMUL.....................................................................................................8 4. ANALYSE DES RESULTATS OBTENUS ................................................................9 ANALYSE DU TEMPS................................................................................................10 ANALYSE DU COUT...................................................................................................... .......................................................................................................................................11 5. CONCLUSION............................................................................................................11

2 / 11

Projet Optimisation Combinatoire 2003-2004

2. INTRODUCTION
Ce projet consiste implanter diffrentes heuristiques pour le problme du voyageur de commerce. Ensuite, il s'agit de comparer, de manire exprimentale, la qualit de la solution calcule, le temps de calcul et, la taille des problmes traits. L'volution de la solution calcule sera reprsent graphiquement.

Rappel :
Le problme du voyageur de commerce consiste trouver un circuit de poids minimal qui passe par tous les points une seule fois exactement. Une variante de ce problme autorise passer plusieurs fois par certains points s'il en rsulte une meilleure solution.

Algorithmes a implmenter :
Deux types d'heuristiques sont a implmenter : les heuristiques approches et un heuristiques exacte. Heuristiques approches :

Plus proche voisin Insertion au moindre cout 2-change L'lastique Le recuit simul mthode sparation et valuation

Heuristique exacte :

3 / 11

Projet Optimisation Combinatoire 2003-2004

3. DESCRIPTION DES ALGORITHMES


Note : Pour plus de description, voir la javadoc !

PLUS PROCHE VOISIN

Le Plus Proche Voisin est une mthode assez simple. A partir d'un sommet de dpart, on se dplace, chaque tape, sur le sommet le plus proche qui n'a pas encore t visit. Il s'agit l de la mthode la plus nave. Lorsqu'on applique cette mthode au problme du voyageur de commerce, on obtient une solution approche.

On cree le nouveau parcour avec l'algorithme du plus proche voisin Le point designe par l'indice PointDepart a t visit Ajout du point design par le parametre dans le parcour Tant que la taille du parcours est inferieure au nombre de point du tableau de point On initialise le coutminimum au maximum On cherche le point le plus proche du point selectionn si le point n'a pas encore t visit et si le cout du point est inferieur a celui deja trouv On sauvegarde sont indice et son cout On ajoute le nouveau element On deplace le point de depart de l'algorithme Fin tant que Affichage

4 / 11

Projet Optimisation Combinatoire 2003-2004

INSERTION AU MOINDRE COUT

L'Insertion Au Moindre Cot dbute par un circuit ne comportant qu'un seul sommet. Ensuite, pour chaque tape, il s'agit d'insrer le sommet qui va minimiser l'augmentation de poids du circuit. Construction d'un nouveau parcours, a partir d'un point de depart, suivant l'algorithme du moindre cot :
Le point designe par l'indice PointDepart a t visit Ajout du point design par le parametre dans le parcour Si la liste de points contient au moin 2 points sinon on retourne juste le premier point On creer la premiere droite a partir de PointDepart On insere le point trouve dans le parcour On met ce point comme visit Sinon on retourne le point Si la liste de points contient au moin 3 points On recherche la droite minimum a partir du premier point On recherche la droite minimum a partir du deuxieme point On insere le point correspondant a cette nouvelle droite On le met comme visit On reaffiche Si le nombre de point est different de 1 On ferme la boucle On reaffiche Tant que la taille du parcours est inferieure au nombre de point du tableau de point On cherche la droite de cout minimum a partir du point courant On insere dans le parcour le deuxieme point de la droite On met ce nouveau point comme visit On re-affiche On retourne le parcour calcul

5 / 11

Projet Optimisation Combinatoire 2003-2004

2-CHANGE OU 2-OPT

Les mthodes d'changes se base sur un circuit initial, calcul par un autre heuristique, qu'elles essaient d'amliorer. Le 2-opt change deux artes non conscutive si cette action permet de diminuer le cot.

On creer le nouveau parcour avec l'algorithme du 2 echange On creer un nouveau parcours a partir de l'algo du PPv On rafraichi On recupere la premiere droite On recupere la derniere droite Tant que la droite courante n'est pas l'avant derniere On affecte la droite d'arrivee a la deuxieme suivante Tant que celle-ci est differente de la derniere droite Si le cout calcul est plus petit que le cout calcule au depart On inverse les droites Affichage Si on a modifier par rapport au resultat du plus proche voisin et quond est pas sur la dernier droite Si le deuxieme point de la droite courante n'est pas le premier point du parcours Si le cout calcul est plus petit que le cout calcule au depart On inverse les droites Affichage Si il y a eu des modifications On se place sur la derniere droite du parcour Sinon on avance On retourne le parcour calcul

6 / 11

Projet Optimisation Combinatoire 2003-2004

L'LASTIQUE

La mthode de l'Elastique consiste dformer un cercle pour l'obliger passer par un ensemble de points. Creation d'un nouveau parcours a partir de l'algorithme de l'elastique :
On ajuste l'elastique au point On calcul le cout du parcours On retourne le parcour calcul

Algorithme d'initialisation de l'lastique :


Rayon de depart de l'elastique a 50 Initilisation du tableau de points et des tableaux de coordones Initilisation du barycentre Calcul du point 0 -> util pour les autres points Affectation des tableaux coordonnes avec le cercle de rayon 50 Affectation des tableaux points avec les coordonnes calcules au dessus

Algorithme d'ajustement de l'elastique :


Affichage Tant qu'on s'arrete pas Pour tous les points On recupere le delta On affecte la place du point en fonction de l'ancien et du delta On stocke les coords du point calcule en coords ecran On reduit K d'un pourcent Affichage Si la variation est inferieur a la borne On sort de la boucle

7 / 11

Projet Optimisation Combinatoire 2003-2004

LE RECUIT SIMUL

Le Recuit Simul se fonde sur une analogie entre les problmes d'optimisation et ceux de la physique statistique. On explore, de manire alatoire, et en appliquant une transformation, une seule partie des configurations possibles de manire trouver une solution approche de la solution exacte. Creation d'un nouveau graphe suivant l'algorithme du recuit simul :

On initialise avec l'algorithme du plus proche voisin Tant que la temperature n'est pas inferieur au minima On creer un clone du parcour courant, on initsialize son cout On appele la fonction echangeAleatoire Si le cout de la difference a entrainer un cout superieur a celui d'origne Si une valeur aleatoire est inferieur a la formule exp(-(Difference de cout)racine((nbpoint du parcour)/temperature)) On affecte le parcour courant a celui change et on affiche Sinon on affecte le parcour courant a celui change et on affiche Si on a change aleatoirement K fois On mutiplie la temperature par mu On remet le compteur d'iteration a 0 Sinon on increment le compteur d'iteration On retourne le parcours ainsi calcul

8 / 11

Projet Optimisation Combinatoire 2003-2004

4. ANALYSE DES RESULTATS OBTENUS

10 points Cot Plus proche voisin Moindre cot 2-change Recuit simul Elastique Sparation et valuation Temps (en ms) 2360,8 2231 2233,7 2342 2233 2309 7 21 65 82 209 37

100 points Cot Temps (en ms) 7388 6868,9 5965,8 5943,4 483 622 626 20897 > 5 min. 5872 21863

1000 points Cot Temps (en ms) 20118 21244,4 4350 110375 > 5 min. > 5 min. > 5 min. > 5 min.

ANALYSE DU TEMPS

De toute evidence, qu'elle que soit le nombre de points utiliss, la mthode la plus rapide est de loin celle du Plus Proche Voisin. En effet, elle s'excute en peine 7 ms sur 10 points et seulement 4350 ms sur 1000 points. En deuxime position, on retrouve la mthode du Moindre Cot. Cependant, bien qu'elle soit la deuxime plus rapide, ses temps d'excutions sont dj beaucoup plus importants que la mthode du Plus Proche Voisin avec un coefficient multiplicateur d'ordre 3. La diffrence est donc de plus en plus visible lorsqu'on augmente le nombre de points de test. A l'oppos, bien que notre tableau de relevs ne le mette pas en vidence, on peut dire que la mthode la plus lente reste l'Elastique. Avec un

9 / 11

Projet Optimisation Combinatoire 2003-2004

temps de 209 pour seulement 10 points, sa vitesse de ralisation augmente trs trs rapidement. Aussi, c'est pourquoi nous n'avons pas pu obtenir de rsultats concrets concernant cette mthode. C'est d'ailleurs le mme problme que l'on rencontre pour les mthodes de Sparation et Evaluation, Recuit Simul et, 2changes, quand on augmente trop le nombre de points exprimentaux.

ANALYSE DU COUT

En terme de cot, la mthode de sparation et valuation tire son pingle du jeu. C'est une mthode trs longue mais qui a l'avantage de gnrer des circuits peu coteux. Cette mthode se distingue des autres heuristiques par le fait qu'elle soit classe comme une heuristique exacte. Plus le nombre de points augmentera, plus elle se distinguera des autres mthodes par son faible cot. La mthode du Plus Proche Voisin est certes la plus rapide mais il faut savoir qu'elle gnre des cots assez levs. Pour un faible nombre de points, la mthode du Moindre Cot est la plus conseille.

5. CONCLUSION

10 / 11

Projet Optimisation Combinatoire 2003-2004

Finalement, nous avons russit implmenter l'ensemble des algorithmes d'heuristiques. Par contre il reste un petit problme sur l'affichage de l'lastique. On peut effectivement trouver plusieurs solutions approches au problme du voyageur de commerce. Cependant, les cots et les temps d'excution sont extrmements varis en fonction de l'heuristique employe mais aussi en fonction du nombre de points experimentaux. Pour un cot assez proche, deux heuristiques peuvent prsenter de trs fortes diffrences de temps. Aussi, le choix d'un heuristique particuliers va tre motiv par les performances que l'on souhaite atteindre. En effet, on ne prendra pas le mme algorithme si l'on souhaite obtenir des rsultats au niveau de la vitesse ou si l'on souhaite obtenir des rsultats au niveau du cots. Les mthodes les plus rapides peuvent s'avrer les plus coteuses. Inversement. La solution obtenue l'aide de la Sparation et Evaluation reste la moins coteuse car cette heuristique permet de gnrer des solutions exactes.

11 / 11

Vous aimerez peut-être aussi