Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

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

Transcript of Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

Page 1: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

Métaheuristiquespour l’optimisation combinatoire

Sébastien Verel

Manuel Clergue

Page 2: Métaheuristiques pour loptimisation 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.

Page 3: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

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

Page 4: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

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 raisonnableSans garantir faisabilité ou l’optimalité.

Très large succès : de « un aveu d’impuissance »

à « des techniques performantes de résolution »

Page 5: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

Heuristiques

Exemple (très) naïf : l’énumération

Sur le TSPN villes : (N-1)!/2 solutions possibles

Si N=20 prend 1 heure de calculN=21 prend 20 heures

N=22 prend 17,5 jours

N=25 prend 6 siècles !

Page 6: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

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

Page 7: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

É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

Page 8: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

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

Page 9: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

Recherche Locale

Algorithme général :

1. Initialisation de s appartenant à S

2. Choisir s’ dans N(s)

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

Page 10: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

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

Page 11: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

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

Page 12: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

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 ?? PNP ??

Page 13: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

Hill-Climber ou Steepest descent

1. Initialisation aléatoire s appartenant à S

2. Choisir le voisin s’ le plus performant de N(s)pour tout s1 de N(s) f(s1) <= f(s’)

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

Page 14: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

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 perturbationSi l’énergie croît, le système accepte la perturbation selon Paccept

Page 15: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

Recuit Simulé (SA)1. 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’

3. Aller à l’étape 2 si la condition d’arrêt n’est pas vérifiée

actualiser la température t

Page 16: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

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

Page 17: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

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

Page 18: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

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

Page 19: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

Recherche Tabou (TS)

1.InitialisationUne 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

Page 20: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

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

Page 21: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

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

Page 22: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

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

Page 23: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

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

Page 24: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

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)

Page 25: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

Paysage de Fitness et Rugosité

Présence optima locaux

Régularité du paysage (smooth)

Difficulté d’optimisation

Page 26: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

Mesures de Rugosité

Nombre d’optima locaux

Distribution des optima locaux

Distances entre optima

Par marche adaptative ou analytiquement

Page 27: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

Micro exemples

OneMax : S = {0,1}^N

f(s) = #1

Fonction « trap »:

…voir tableau

Page 28: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

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

Page 29: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

Rugosité - Dynamique

Rugosité : Vision d’un grimpeur

Rugosité : Notion d’information locale

Page 30: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

Cause de la rugosité

Epistasie :

lien entre les gènes ou variables, degré de non linéarité

Epistasie équivalent à rugosité

NK-Fitness landscapes

Page 31: Métaheuristiques pour loptimisation combinatoire Sébastien Verel Manuel Clergue.

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