Métaheuristiques pour l’optimisation combinatoire

Slides:



Advertisements
Présentations similaires
Théorie des graphes.
Advertisements

Algorithmes et structures de données avancées Cours 7
Algorithmes et structures de données avancés
Recherche de motifs par méthodes exploratoires: Comparaisons de performances et statistiques sur le score.
Calcul géométrique avec des données incertaines
Introduction à l’Algorithmique
Calculs de complexité d'algorithmes
Cours d’Algorithmique
Cours d’Algorithmique
Cours d’Algorithmique
Cours d'algorithmique 11 / Intranet 1 9 janvier 2006 Cours dAlgorithmique N P - complétude.
Equipe optimisation TempoSoft
Optimisation dans les télécommunications
Application aux NK-landscape...
A.Faÿ 1 Recherche opérationnelle Résumé de cours.
Ordonnancement des mouvements de deux robots
Plus rapide chemin bicritère : un problème d’aménagement du territoire
Optimisation globale non déterministe
Travail d’Etude et de Recherche :
Améliorer les performances du chiffrage à flot SYND
UNIVERSITE DES SCIENCES ET DE LA TECHNOLOGIE D’ORAN
Ministère de l’enseignement supérieur et de la recherche scientifique Université des Sciences et de la Technologie d’Oran (Mohamed Boudiaf) Faculté des.
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.
Application des algorithmes génétiques
CHALLENGE ROADEF 2001 Résolution par une métaheuristique à base de recherche à voisinage variable et propagation par contraintes Fabrice BUSCAYLET Fabrice.
Algorithmes Branch & Bound
Heuristiques A. Introduction B. Recherche d ’une branche
Programmation linéaire
Méthode des k plus proches voisins
III – Convergence Asymptotique
Optimisation en nombres entiers Recherche Opérationnelle GC-SIE.
Optimisation non linéaire sans contraintes
4. Algorithme de Recuit Simulé
II- L’algorithme du recuit simulé (pseudo-code)
GPA 750 Chapitre 3 : Les méthodes d’ordonnancement génériques
IFT Complexité et NP-complétude
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
Courbes de Bézier.
Génération d’un segment de droite
Algorithmes d ’approximation
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
Extraction Automatique de formes complexes : Application à la création de modèle anatomique de la tête J. Piovano, T. Papadopoulo Séminaire Odyssee 9,
Programmation dynamique
2. Algorithme de Recherche Tabou
Structures de données IFT-2000 Abder Alikacem La récursivité Semaine 5 Département dinformatique et de génie logiciel Édition Septembre 2009.
Programmation linéaire en nombres entiers : les méthodes de troncature
MAXIMISER les RESULTATS
Introduction Objet de la programmation mathématique, construction d'un modèle mathématique, problème général de programmation mathématique et classification,
Heuristiques C. Recherche de la meilleure branche . Branch And Bound
1 Notations Asymptotiques Et Complexité Notations asymptotiques : 0 et  Complexité des algorithmes Exemples de calcul de complexité.
les méthodes de recherche locale
Tutorat 7 - Introduction au Routage et OSPF
Programmation linéaire en nombres entiers
Algorithmes Branch & Bound
Foued Mnasri Weal Rekik
STATISTIQUES – PROBABILITÉS
Exploration systématique de graphes
Travaux Pratiques Optimisation Combinatoire
Recherches locales et méta-heuristiques
Recherche de motifs par projections aléatoires
Algorithmes génétiques en optimisation combinatoire
Programmation dynamique
Présenté par : ABED Djemaa; BAKHOUIA Roqiya.
ANNEE UNIVERSITAIRE :2010/2011
1 Logiciels de confection automatique d’horaires.
Problème du Car Sequencing
Recuit simulé Une métaheuristique venue de la métallurgie.
Problème de voyageur de commerce
Algorithmes Branch & Bound Module IAD/RP/RO Master d ’informatique Paris 6 Philippe Chrétienne.
Métaheuristiques pour l’optimisation combinatoire Sébastien Verel Manuel Clergue.
Transcription de la présentation:

Métaheuristiques pour l’optimisation combinatoire Sébastien Verel Manuel Clergue

Optimisation Combinatoire S : ensemble de solutions potentielles de cardinal au plus dénombrable (souvent fini de grande taille) Problème combinatoire : Trouver la ou les solutions de S convenable Optimisation combinatoire : f : S -> R fonction à optimiser (ou de coût) Trouver la ou les solutions de S donnant la ou les plus grandes (ou plus petites) valeurs pour f.

Optimisation Combinatoire Exemples : Affectation de fréquence en téléphonie Le problème du sac-à-dos Couverture d’ensemble Découpage de verre sans perte Routage de véhicules Le voyageur de commerce Yield management : gestion de ressource Horaire de train … … ………………. et même plus…..

Heuristiques Du grec heuriskein : trouver/découvrir (heureka) Une heuristique est plutôt une méthode qui cherche (stratégie)… puisqu’on ne peut garantir le résultat Définition : une heuristique est une méthode qui cherche de bonne solution (proche de l’optimalité) Remarques : Temps de calcul raisonnable Sans garantir faisabilité ou l’optimalité. Très large succès : de « un aveu d’impuissance » à « des techniques performantes de résolution »

Heuristiques Exemple (très) naïf : l’énumération Sur le TSP N villes : (N-1)!/2 solutions possibles Si N=20 prend 1 heure de calcul N=21 prend 20 heures N=22 prend 17,5 jours N=25 prend 6 siècles !

Métaheuristiques Classification : Méthodes exactes de construction : branch and bound, simplex Algorithme évolutifs : Algo. Génétiques Programmation Génétique Stratégies d’évolution Recherche locale Méthode de descente (Hill-Climbing) Recuit Simulé Tabou …

Évaluation des MétaHeuristiques Le problème n’est pas tellement de générer une solution, mais de connaître sa qualité Évaluation en moyenne (et écart-type) Évaluation en meilleur solution obtenue Évaluation du compromis entre qualité/coût

Recherche Locale Notion de voisinage : Fonction de voisinage N : S -> 2^S Indique les voisins d’une solution Exemple: S = {0,1}^N , chaînes binaires de longueur N s1 appartient à N(s2) ssi distHamming(s1,s2) = 1

Recherche Locale Algorithme général : Initialisation de s appartenant à S Choisir s’ dans N(s) Aller à l’étape 2 si la condition d’arrêt n’est pas vérifiée en générale l’étape 2 distingue les métaheuristiques

Recherche Locale Remarques : On peut mémoriser la « meilleure » solution rencontrée Utilisation d’une évaluation incrémentale pour améliorer les temps de calcul

Recherche Locale Choix à faire : Représentation de l’Espace des solutions faisables Fonction à optimiser, de coût Structure du voisinage Tous ces choix peuvent être critiques!..

Recherche Locale Le problème et son modèle Problème P et NP Solution exacte à un modèle approximatif ? Solution approximative à un modèle exact ? Problème P et NP Problèmes de décision Transformabilité (réductibilité) NP-dur et NP-complets P=NP ?? PNP ??

Hill-Climber ou Steepest descent Initialisation aléatoire s appartenant à S Choisir le voisin s’ le plus performant de N(s) pour tout s1 de N(s) f(s1) <= f(s’) Aller à l’étape 2 si une amélioration est possible Remarque: S’arrête sur optimum local On peut choisir le premier plus performant au lieu du performant

Recuit Simulé (SA) Simulated Annealing (Kirkpatrick 83) Inspirer par la physique statistique et les refroidissement des métaux Autorise les déplacements qui dégradent en fonction d’une probabilité qui dépend d’une température Paccept = exp(-E / T) Si l’énergie décroît, le système accepte la perturbation Si l’énergie croît, le système accepte la perturbation selon Paccept

Recuit Simulé (SA) Sélectionner une solution initiale s Sélectionner une température initiale t > 0 2. Sélectionner au hasard s’  N(s);  = f(s’) – f(s); si  < 0 alors s = s’ sinon x=hasard([0,1]); if x < exp(-/t) alors s = s’ Aller à l’étape 2 si la condition d’arrêt n’est pas vérifiée actualiser la température t

Recuit Simulé (SA) Paramètre de la recherche : Température initiale : De façon à avoir 80% d’acceptation de descente au début Schéma de refroidissement : T(n+1) = alpha * T(n) Changement à un nombre fixe d’itération Changement à un nombre fixe de descente ou de montée Condition d’arrêt : nombre maximale d’itération température finale convergence vers une solution

Recherche Tabou (TS) Méthode proposée par F. Glover en 1986 Future Paths for Integer Programming and links to Artificial Intelligence Introduire une notion de mémoire dans la stratégie d’exploration de l’espace de recherche Recherche tabou parce qu’il y a interdiction de reprendre des solutions récemment visitées

Recherche Tabou (TS) A chaque itération, « le moins mauvais » voisin est choisit Pour éviter les cycles, c’est à dire la répétition infinie d’une séquence de mouvements, les L derniers mouvements sont considérés comme interdits, L étant la taille de la liste tabou À chaque itération, le mouvement effectué est donc le moins mauvais mouvement non tabou

Recherche Tabou (TS) 1.Initialisation Une solution initiale s, s* = s0, c*=f(s) TL =  2. s’  N(s) tel que x  N(s), f(x)f(s’) et s’ TL Si f(s) < c* alors s*= s , c* = f(s) Mise à jour de TL 3. Aller à l’étape 2 si la condition d’arrêt n’est pas vérifiée

Recherche Tabou (TS) Stratégie d’intensification : Les meilleures solutions rencontrées sont mémorisées Les propriétés communes en sont dégagées On oriente la recherche vers les régions ainsi définies Stratégie de diversification : On mémorise les solutions les plus visitées On impose un système de pénalités Les mouvements les moins utilisés sont favorisés

Recherche Tabou (TS) Aspiration : Taille de la liste tabou : Consiste à lever le statut Tabou d’un mouvement, si il se révèle intéressant En général, le mouvement est choisi quelque soit son état si il conduit à une amélioration de la meilleure solution Taille de la liste tabou : La taille L est à déterminer empiriquement Ni trop longue, ni trop petite Règles statiques/dynamiques

Recherche Tabou (TS) Sélection du meilleur voisin : Best Fit : le voisinage est exploré en entier First Fit : un partie du voisinage est explorée Utilisation d’une table de calculs : Pour éviter de calculer entièrement le coût de chaque voisin, à chaque itération on mémorise dans une table les modifications au coût de la solution courante associées à chacun des mouvements possibles

Paysage de Fitness Définition : (Wrigth 1932) (S,f,V) est un paysage de fitness où : S Ensemble des solutions f : S -> R fonction à optimiser V Relation de voisinage

Paysage de Fitness Problème d’optimisation: Trouver Sopt, f(sopt) = max { f(s) | s in S } Maximum local: Sloc Pour tout s in V(sloc), f(s) <= f(sloc) In recent years, a new view of evolutionary search dynamics based upon neutral selection has arisen to challenge the traditional ‘hill- climbing’ paradigm. This new view has been prompted by research in molecular evolution that suggests a large proportion of mutations at a molecular level are selectively neutral. A revaluation is needed of the idea that populations evolve by converging upon local optima in the fitness landscape. Much of the inspiration for the investigation of neutral landscapes came from research into the structure of RNA folding landscapes in molecular biology (Huynen, Stadler & Fontana 1996). The discovery of neutral features in the search spaces of several real world problems, such as evolving neural nets and hardware evolution, has further established the validity of this approach (Harvey & Thompson 1996).

Paysage de Fitness et Rugosité Présence optima locaux Régularité du paysage (smooth)  Difficulté d’optimisation In recent years, a new view of evolutionary search dynamics based upon neutral selection has arisen to challenge the traditional ‘hill- climbing’ paradigm. This new view has been prompted by research in molecular evolution that suggests a large proportion of mutations at a molecular level are selectively neutral. A revaluation is needed of the idea that populations evolve by converging upon local optima in the fitness landscape. Much of the inspiration for the investigation of neutral landscapes came from research into the structure of RNA folding landscapes in molecular biology (Huynen, Stadler & Fontana 1996). The discovery of neutral features in the search spaces of several real world problems, such as evolving neural nets and hardware evolution, has further established the validity of this approach (Harvey & Thompson 1996).

Mesures de Rugosité Nombre d’optima locaux Distribution des optima locaux Distances entre optima Par marche adaptative ou analytiquement In recent years, a new view of evolutionary search dynamics based upon neutral selection has arisen to challenge the traditional ‘hill- climbing’ paradigm. This new view has been prompted by research in molecular evolution that suggests a large proportion of mutations at a molecular level are selectively neutral. A revaluation is needed of the idea that populations evolve by converging upon local optima in the fitness landscape. Much of the inspiration for the investigation of neutral landscapes came from research into the structure of RNA folding landscapes in molecular biology (Huynen, Stadler & Fontana 1996). The discovery of neutral features in the search spaces of several real world problems, such as evolving neural nets and hardware evolution, has further established the validity of this approach (Harvey & Thompson 1996).

Micro exemples OneMax : S = {0,1}^N f(s) = #1 Fonction « trap »: …voir tableau In recent years, a new view of evolutionary search dynamics based upon neutral selection has arisen to challenge the traditional ‘hill- climbing’ paradigm. This new view has been prompted by research in molecular evolution that suggests a large proportion of mutations at a molecular level are selectively neutral. A revaluation is needed of the idea that populations evolve by converging upon local optima in the fitness landscape. Much of the inspiration for the investigation of neutral landscapes came from research into the structure of RNA folding landscapes in molecular biology (Huynen, Stadler & Fontana 1996). The discovery of neutral features in the search spaces of several real world problems, such as evolving neural nets and hardware evolution, has further established the validity of this approach (Harvey & Thompson 1996).

Autocorrélation Autocorrélation (Weinberger) : (s0, s1, s2, s3, ….) marche aléatoire Rho(l) = cov(f(sn), f(sn+l)) / (sig[f(sn)]sig[f(sn+l)]) Longueur de corrélation : 1 / ln(Rho(1)) In recent years, a new view of evolutionary search dynamics based upon neutral selection has arisen to challenge the traditional ‘hill- climbing’ paradigm. This new view has been prompted by research in molecular evolution that suggests a large proportion of mutations at a molecular level are selectively neutral. A revaluation is needed of the idea that populations evolve by converging upon local optima in the fitness landscape. Much of the inspiration for the investigation of neutral landscapes came from research into the structure of RNA folding landscapes in molecular biology (Huynen, Stadler & Fontana 1996). The discovery of neutral features in the search spaces of several real world problems, such as evolving neural nets and hardware evolution, has further established the validity of this approach (Harvey & Thompson 1996).

Rugosité - Dynamique Rugosité : Vision d’un grimpeur Rugosité : Notion d’information locale In recent years, a new view of evolutionary search dynamics based upon neutral selection has arisen to challenge the traditional ‘hill- climbing’ paradigm. This new view has been prompted by research in molecular evolution that suggests a large proportion of mutations at a molecular level are selectively neutral. A revaluation is needed of the idea that populations evolve by converging upon local optima in the fitness landscape. Much of the inspiration for the investigation of neutral landscapes came from research into the structure of RNA folding landscapes in molecular biology (Huynen, Stadler & Fontana 1996). The discovery of neutral features in the search spaces of several real world problems, such as evolving neural nets and hardware evolution, has further established the validity of this approach (Harvey & Thompson 1996).

Cause de la rugosité Epistasie : lien entre les gènes ou variables, degré de non linéarité Epistasie équivalent à rugosité NK-Fitness landscapes In recent years, a new view of evolutionary search dynamics based upon neutral selection has arisen to challenge the traditional ‘hill- climbing’ paradigm. This new view has been prompted by research in molecular evolution that suggests a large proportion of mutations at a molecular level are selectively neutral. A revaluation is needed of the idea that populations evolve by converging upon local optima in the fitness landscape. Much of the inspiration for the investigation of neutral landscapes came from research into the structure of RNA folding landscapes in molecular biology (Huynen, Stadler & Fontana 1996). The discovery of neutral features in the search spaces of several real world problems, such as evolving neural nets and hardware evolution, has further established the validity of this approach (Harvey & Thompson 1996).

Conclusion Très bons résultats sur certains types de problèmes Algorithmes faciles à mettre en œuvre Il faut faire les bons choix de paramétrage Solution non garantie Tendance : hybridation des métaheuristiques