1 / 31

Métaheuristiques pour l’optimisation combinatoire

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

sutton
Download Presentation

Métaheuristiques pour l’optimisation combinatoire

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. Métaheuristiquespour l’optimisation combinatoire Sébastien Verel Manuel Clergue

  2. 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.

  3. 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…..

  4. 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 »

  5. 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 !

  6. 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 • …

  7. É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

  8. 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

  9. 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

  10. 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

  11. 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!..

  12. Recherche Locale • Le problème et son modèle • 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 ??

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. Recherche Tabou (TS) • Aspiration : 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

  22. 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

  23. 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

  24. 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)

  25. Paysage de Fitness et Rugosité • Présence optima locaux • Régularité du paysage (smooth) •  Difficulté d’optimisation

  26. Mesures de Rugosité • Nombre d’optima locaux • Distribution des optima locaux • Distances entre optima • Par marche adaptative ou analytiquement

  27. Micro exemples • OneMax : S = {0,1}^N • f(s) = #1 • Fonction « trap »: • …voir tableau

  28. 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))

  29. Rugosité - Dynamique • Rugosité : Vision d’un grimpeur • Rugosité : Notion d’information locale

  30. Cause de la rugosité • Epistasie : • lien entre les gènes ou variables, degré de non linéarité • Epistasie équivalent à rugosité • NK-Fitness landscapes

  31. 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

More Related