Voyager à l’aide de l’optimisation combinatoire Simon de Givry

Slides:



Advertisements
Présentations similaires
Introduction à la Théorie des graphes
Advertisements

La recherche de chemin optimal
Comparaison de deux algorithmes d’approximation
Théorie des graphes.
Soutenance du stage de DEA.
Chap. 14 : La relativité du mouvement.
Fabrice Lauri, François Charpillet, Daniel Szer
Algorithmes et structures de données avancés
Introduction à l’Algorithmique
Introduction à la Théorie des graphes
Métaheuristiques pour l’optimisation combinatoire
Cours d’Algorithmique
Cours d’Algorithmique
Cours d'algorithmique 11 / Intranet 1 9 janvier 2006 Cours dAlgorithmique N P - complétude.
Les diagrammes d’interactions
Application de réseaux bayésiens à la détection de fumées polluantes
Modélisation par le concept de graphe
Mise à Niveau en Recherche Opérationnelle
A.Faÿ 1 Recherche opérationnelle Résumé de cours.
Heuristiques, métaheuristiques et systèmes de voisinage Application à des problèmes théoriques et industriels de type TSP et ordonnancement. Présenté.
1 Page de garde présentation Propriétés des cycles dominants pour des cellules robotisées sans attente Fabien Mangione (GILCO) Nadia Brauner (Leibniz-IMAG)
Plus rapide chemin bicritère : un problème d’aménagement du territoire
Recherche heuristique de similitudes dans les séquences dADN École Jeunes Chercheurs en Algorithmique et Calcul Formel Laurent Noé
3. Algorithme Colonies de fourmis.
Optimisation Par Colonie De Fourmies
UNIVERSITE DES SCIENCES ET DE LA TECHNOLOGIE D’ORAN
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
Algorithmes Branch & Bound
Heuristiques A. Introduction B. Recherche d ’une branche
Méthode des k plus proches voisins
Calcul de la position du CG d’un solide
DISTANCE - TANGENTE - BISSECTRICE
GPA750 Les ateliers multigammes Chapitre 5
Courbes de Bézier.
Algorithmes d ’approximation
PROBLEMES DE DEGRE-DIAMETRE DE GRAPHES DANS LE CAS GENERAL
Deux méthodes incrémentales pour le maintien dun arbre de connexion Nicolas Thibault Christian Laforest
Recherche Opérationnelle
Page de garde présentation
1 Protection des arbres multicast avec une forêt duale Mohand Yazid SAIDI Bernard COUSIN Miklós MOLNÁR 15 Février 2006.
21 février 2006Cours de graphes 2 - Intranet1 Cours de graphes Les plus courts chemins, les chemins les plus légers : à laide de la vague, à laide de la.
2. Algorithme de Recherche Tabou
8INF8061 Conception et analyse des algorithmes Comment comparer deux problèmes?

ASI 3 Méthodes numériques pour l’ingénieur
Coupes efficaces pour la relaxation lagrangienne
Quelques exemples de nombre chromatique d’un graphe.
Comment construire des vecteurs vitesse et des vecteurs accélération ?
Graphes 1. Introduction 2. Définition 3. Représentation mémoire
Arbres et graphes.
les méthodes de recherche locale
Programmation dynamique
Bin packing/covering avec contrainte de Distance : application au calcul volontaire et au placement de réplicats Hubert Larchevêque, Olivier Beaumont,
Programmation linéaire en nombres entiers
Complexité des Problèmes Combinatoires Module IAD/RP/RO/Complexité Philippe Chrétienne.
Algorithmes Branch & Bound
2008/ Plan du cours 1.Introduction –Contenu du cours 2.Logique mathématique –Calcul propositionnel –Calcul des prédicats –Logique floue et aide à.
Problème de double digestion
Recherches locales et méta-heuristiques
Mercredi 22 avril 2015Page 1 PFA Optimisation des Trajets de Collecte Réalisé par : Eymat Loïc Grange Benoît Fournier Jérémy Moutmir Hamza Garon Sébastien.
Algorithmes génétiques en optimisation combinatoire
Présenté par : ABED Djemaa; BAKHOUIA Roqiya.

Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
31/05/2007Projet Master 11 Présentation ludique de la recherche opérationnelle à la fête de la science Année universitaire 2006/2007 Sylvain FIX Julien.
Génération de routes optimales Sujets Introduction TSP Colonies de fourmis (voir autre présentation Informs Healhcare) PIF6004 Sujets Spéciaux en informatique.
Problème de voyageur de commerce
Introduction à la Théorie des graphes
Algorithmes Branch & Bound Module IAD/RP/RO Master d ’informatique Paris 6 Philippe Chrétienne.
Cycle, Cocycle, Arbre et Arborescence
Transcription de la présentation:

Voyager à l’aide de l’optimisation combinatoire Simon de Givry Carthagène Voyager à l’aide de l’optimisation combinatoire Simon de Givry

Trouver un tour passant par toutes les villes une seule fois et ayant une distance totale minimale

Matrice des distances (km)

Trouver un ordre des marqueurs qui maximise la vraisemblance

Matrice des distances 2-points (Haldane)

i,j,k distance(i,j) ? distance(i,k) + distance(k,j) Lien M1 M2 M3 M4 M5 M6 M7 i,j,k distance(i,j) ? distance(i,k) + distance(k,j) =, …0… Mfictif Vraisemblance multi-points (avec manquants)  la distance entre deux points dépend du tour

Problème du voyageur de commerce Traveling Salesman Problem (TSP) Graphe complet Poids positifs sur chaque arête Cas symétrique dist(i,j) = dist(j,i) Inégalité triangulaire dist(i,j)  dist(i,k) + dist(k,j) Distance euclidienne Trouver le plus court cycle Hamiltonien

15 8 7

Distance totale = xxx km

Problème du voyageur de commerce Intérêt théorique Problème NP-complet 1993-2001: +150 articles sur le TSP dans INFORMS & Decision Sciences Intérêt applicatif Extension au problème de tournées de véhicules Ordonnancement de marqueurs Carthagène, NCBI/Concorde, ...

Variantes Euclidean Traveling Salesman Selection Problem Asymmetric Traveling Salesman Problem Symmetric Wandering Salesman Problem Selective Traveling Salesman Problem TSP with distances 1 and 2, TSP(1,2) K-template Traveling Salesman Problem Circulant Travelling Salesman Problem On-line Traveling Salesman Problem Time-dependent TSP The Angular-Metric Traveling Salesman Problem Maximum Latency TSP Minimum Latency Problem Max TSP Traveling Preacher Problem Bipartite TSP Remote TSP Precedence-Constrained TSP Exact TSP The Tour Cover problem ...

Plan Introduction du TSP Construction d ’un tour Amélioration d ’un tour Construction arborescente

Construction d’un tour

Heuristique « plus proche voisin » (Nearest Neighbor)

Heuristique « plus petite distance 2-points » (Greedy, multifragment heuristic)

Heuristique « meilleure fusion » (Savings, Clarke-Wright 1964)

Heuristiques Distance moyenne à l’optimum Meilleure fusion : 11% (Savings) Plus petite distance 2-pts : 12% (Greedy) Plus proche voisin : 26% (Nearest Neighbor)

Savings : un sommet e1 est choisi comme le hub et on cree n-1 tours élémentaires e1-ei -e1. On fusionne (met bout a bout) en N-2 etapes deux sous tours e1-ei1-eik-e1 et e1-ej1-ejl-e1 en e1-ei1-eik-ej1-ejl-e1 tel que d(eik,1) + d(1,ej1) - d(eik,ej1) soit maximum

Amélioration d’un tour

Quelle modification locale peut-on faire pour améliorer ce tour ?

Effacer deux arêtes et reconstruire un tour  inversion d’une séquence de marqueurs

Modification 2-change

Effacer trois arêtes et reconstruire un tour (7 possibilités)  échange l ’ordre de deux séquences de marqueurs

Recherche locale « gloutonne » 2-opt Remarque : une succession finie de « 2-change » permet d ’atteindre n’importe quel tour, y compris un tour optimum Stratégie : sélection du meilleur 2-change parmi N*(N-1)/2 voisins (2-move) répétition tant que la distance totale diminue

2-opt

Recherches locales gloutonnes Distance moyenne à l’optimum 2-opt : 9% 3-opt : 4% LK (k-opt bridé) : 1% Complexité 2-opt : ~N3 3-opt : ~N4 LK (k-opt bridé) : <N4 ?

Complexités n = nombre de sommets

Implémentation efficace du 2-opt : v Pour chaque arête (uv), maintenir la liste des sommets w tels que dist(w,v) < dist(u,v)

Lin & Kernighan (1973) k-change : e1->f1,e2->f2,... => Sumki=1( dist(ei) - dist(fi) ) > 0 Il existe un ordre sur les i tel que toutes les sommes partielles soient positives : Sl = Sumli=1( dist(ei) - dist(fi) ) > 0 => Construit un cycle alterné valide augmentant : xx ’->yx ’, yy’ -> zy’, zz’ -> wz’, etc. dist(f1)<dist(e1),dist(f1)+dist(f2)<dist(e1)+dist(e2),.. + Backtrack sur le choix de y et z + Restart

y parmi 5 meilleurs voisins de x’, idem pour z et w. (maximisation) x’ e1 x w’ f4 e4 f1 z w f2 f3 e3 y z’ e2 y’ {x,y,z,w,..} ^ {x’,y’,z’,w’,..} = 0 y parmi 5 meilleurs voisins de x’, idem pour z et w.

Est-ce que le tour 2-opt est un tour optimum ?

2-opt + réinsertion de sommet

Optimum local versus global

Recherches locales & « méta-heuristiques » Recherche Taboue Sélection du meilleur voisin même s ’il dégrade la qualité du tour Interdiction temporaire de refaire une modification locale faite précédemment liste de modifications « taboues » Ré-initialisation avec différents tours de départ lorsque la recherche sélectionne un tour déjà vu construction aléatoire d ’un tour

Expérimentations ds CartaGène N=50 K=100 Err=30% Abs=30% Légende : partial 2-opt = arrêt prématuré , guided 2-opt 25% = arrêt prématuré & trie avec X = 25 %

Expérimentations - suite

Autres méta-heuristiques Recuit simulé (simulated annealing) Choix aléatoire des modifications locales Acceptation d’un voisin en fonction de sa qualité ; processus de + en + glouton Algorithmes génétiques Population d’individus (tours) Mutation, croisement,…

Recherche locale Démonstration

Construction arborescente

Arbre de recherche M1,M2,M3 M1 M2 M3 M2 M3 M1 M3 M1 M2 M3 M2 M3 M1 M2 racine M1,M2,M3 Profondeur 1: M1 M2 M3 nœud = point de choix branches = alternatives Profondeur 2: M2 M3 M1 M3 M1 M2 Profondeur 3: M3 M2 M3 M1 M2 M1 feuilles = solutions

Recherche globale Complexité : n!/2 ordres différents Éviter les ordres symétriques (1ère moitié de l’arbre) Utilisation des heuristiques gloutonnes pour ordonner les alternatives Algorithme de « séparation & évaluation » Élagage des branches qui ne conduisent pas vers une solution meilleure Possibilité de combiner recherche locale et recherche globale

Elagage de branche Arbre couvrant de poids minimum Algorithme de Prim (1957) Algorithme de Held & Karp (arbre plus « filiforme ») (1971)  linear programming relaxation of TSP, LB(I)/OPT(I)  2/3

Heuristique de Christofides (1976) => A(I) / OPT(I)  3/2 (avec inégalité triangulaire)

Complexité Complexité Ordinateur de référence Ordinateur 100 fois plus rapide Ordinateur 1000 fois plus rapide N N1 100*N1 1000*N1 N2 10*N2 31,6*N2 N3 4,64*N3 10*N3 2N N4 N4+6,64 N4+9,97 3N N5 N5+4,19 N5+6,29

Méthodes complètes 1954 : 49 villes 1971 : 64 villes 1975 : 100 villes 2001 : 15.112 villes (585936700 sec.  19 ans CPU)