1 / 18

Recherche Tabou pour la coloration de graphe - TP Metaheuristiques et Optimisation -

Recherche Tabou pour la coloration de graphe - TP Metaheuristiques et Optimisation -. Plan. Cette présentation a 2 parties: Description théorique de problème Présentation des expérimentations à mener. Coloration et K-coloration. K-coloration:

ismet
Télécharger la présentation

Recherche Tabou pour la coloration de graphe - TP Metaheuristiques et Optimisation -

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Recherche Tabou pour la coloration de graphe - TP Metaheuristiques et Optimisation -

  2. Plan • Cette présentation a 2 parties: • Description théorique de problème • Présentation des expérimentations à mener

  3. Coloration et K-coloration • K-coloration: • Coloration : déterminer le nombre minimal K tel que le graphe G est K-coloriable • Un graphe G=(V,E) et K-coloriable si on peut étiqueter tous les sommets avec exactement K couleurs de sorte que n'importe quels sommets adjacents ont deux couleurs différentes • nombre chromatique χ(G)

  4. Représentation et codage • Configuration C = un vecteur <c1,|c2|…,|c|V||> de couleurs • Nombre de conflitsde C: • Nombre d’arêtes avec les deux extrémités de la même couleur • Problème de K-coloration ≈ trouver la configuration C* en minimisant le nombre de conflits • Le problème est résolu si C* n'a pas de conflits Configuration C=<3|1|1|1|2> nombre de conflits = 2 (V3-V2 et V3-V4)

  5. Descente “pure” • Partir d'une configuration aléatoire • A chaque itération: la configuration courante est remplacée par la meilleure dans le voisinage • Arrêt quand il n'est plus possible de trouver un meilleur voisin (minimum local) L L G=Minimum global L=Minimum local L L L G

  6. Descente « pure »: plusieurs cas

  7. Recherche Tabou • Descente qui considère aussi les mouvements augmentant le nombre de conflits • Quand on ne peux plus descendre (minimum locale), la recherche monte • Risque: cycler dans un plateau => liste tabou : liste de mouvements interdites

  8. Recherche Tabou: évolution du nombre de conflits Graphe = dsjc250.5 K = 27 Meilleur K trouvé = 28

  9. Recherche Tabou: évolution du nombre de conflits

  10. Recherche Tabou: évolution du nombre de conflits

  11. Nouvelle fonction d'évaluation • Généralement, toutes les configurations sont évaluées avec la fonction d'évaluation classique f • Les conflits ne sont pas associés à la même difficulté de résolution : • Des arêtes avec des conflits faciles(V3-V4) • simplement changer la couleur sur une extrémité de l’arête • Des arêtes avec des conflits difficiles (V3-V2) • Un changement de couleur sur une extrémité génère des nouveaux conflits

  12. Evaluation basée sur le degré • {i,j} conflit facile  {i,k} conflit difficile • sommet V1: degré=1   sommet V2: degré=6  Chaque arête a un poids/pénalisation en accord avec le degré des extrémités

  13. Longueur de la liste Tabou • Le rôle de la liste tabou est d'empêcher l'algorithme de cycler dans un plateau local • Longueur: tl = RandomInt(0,10) + f • A chaque mouvement m, on empêche l'algorithme de re-appliquer m sur les tl mouvements suivants • tl = 2suffisant pour détruire un cycle de longueur 2 Col(v)=1 Col(v)=4 Col(v)=1

  14. Longueur de la liste Tabou • La même longueur 2 n'est plus suffisante pour détruire un cycle plus grand • Liste Tabou longue pour les grands plateaux et petite pour les petits plateaux

  15. Expérimentations À Mener 1 • Problème: comparer 3 algorithmes Tabou: • La recherche Tabou classique (alg. A1) • La recherche Tabou avec la nouvelle fonction d’évaluation (alg. A2) • La recherche Tabou avec la nouvelle fonction d’évaluation ET le mécanisme pour ajuster la longueur de la liste Tabou • Objectif : dire si une méthode est meilleure que les autres, si oui, dans quels cas et pourquoi?

  16. Expérimentations À Mener 2 Méthodologie : • Établir les critères de comparaison (quelles sont les informations nécessaires lors des expérimentations?) • Mettre au point le protocole expérimental pour effectuer une comparaison correcte (comparaison « équitable » des méthodes) et effectuer les calculs • Présenter de façon rigoureuse les résultats et les conclusions

  17. Fichiers fournis • Main.cpp – un exemple d’un appel de l’algorithme Tabou, le seul fichier qu’on a besoin à changer • config.txt – une liste de nombres de couleurs (un nombre de couleurs est associé à chaque graphe) • ./input/ – le répertoire de graphes • ./src/ - le répertoire de toutes les sources

  18. Compiler et lancer • Compilation • make lib • make • Execution • Appeler main • Normalement, on lance Tabou pour tous les graphes dans le répertoire input • Note: lire README avant de commencer

More Related