Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Introduction aux méta-heuristiques © E. Taillard 2007 1
INTRODUCTION AUX MÉTA-HEURISTIQUES
Éric Taillard
3e Cycle romand en informatique, Genève, 5–6 juin 2007
Introduction aux méta-heuristiques © E. Taillard 2007 2
1. LES RECHERCHES LOCALES
Structure de voisinage
Chaînes d’éjections
Recherche en éventail
Recuit simulé
Méthodes de bruitage
Recherche avec tabous
Recherche locale guidées
Principes d’intensification et de diversification
Recherche à voisinage variable
Introduction aux méta-heuristiques © E. Taillard 2007 3
2. LES MÉTHODES À BASE DE POPULATION
Algorithmes évolutifs
Recherche par dispersion
Essaims de particules
Méthode électromagnétique
3. LES MÉTHODES CONSTRUCTIVES
GRASP
Colonies de fourmi artificielles
Construction de vocabulaire
Introduction aux méta-heuristiques © E. Taillard 2007 4
4. LES MÉTHODES DE DÉCOMPOSITION
POPMUSIC
Application au placement de légendes
5. LES MÉTHODES HYBRIDES
Algorithmes mémétiques
Recherche par dispersion
Chemin de liaison
Programmation à mémoire adaptative
Application au TSP
Introduction aux méta-heuristiques © E. Taillard 2007 5
CHAPITRE 0. INTRODUCTION
Introduction aux méta-heuristiques © E. Taillard 2007 6
HEURISTIQUE
Du grec : ηευρισκειν « trouver »
Une méthode heuristique se base sur les connaissances acquises par l’expérience sur un problème donné.
On oppose méthode heuristique (ne fournissant pas forcément la meilleure solution possible) et algorithme
exact (qui garantit une solution optimale).
Exemple de méthode heuristique pour le voyageur de commerce :
Partir de la ville 1
Répéter
Aller à la ville la plus proche non encore visitée
Tant qu’il reste des villes non visitées
Introduction aux méta-heuristiques © E. Taillard 2007 7
MÉTHODE HEURISTIQUE : TRAME GÉNÉRALE
Problème générique Heuristique
Données
Solution
Spécifications, paramètres formels
Paramètres effectifs
Corps : connaissances Résultatsur le problème
Introduction aux méta-heuristiques © E. Taillard 2007 8
MÉTA-HEURISTIQUE
Méta- : du grec µετα « qui dépasse, englobe »
Méta-heuristique : Ensemble limité de concepts, applicables à un large ensemble de problèmes
d’optimisation combinatoire, permettant de créer des heuristiques.
Aide à la conception d’algorithmes approchés, utilisant les connaissances acquises lors de la conception
d’heuristiques pour différents problèmes.
Optimisation
combinatoireMéta-heuristique
Problème
générique
Heuristique
Connaissances sur lestechniques d’optimisation
Introduction aux méta-heuristiques © E. Taillard 2007 9
BIBLIOGRAPHIE SOMMAIRE
Ouvrages généraux présentant des méta-heuristiques
E. Aarts, J. K. Lenstra (éd.), Local search in combinatorial optimization, Princeton Univ. Press, Princeton,
2003 (2e édition).
D. Corne, M. Dorigo, F. Glover, New ideas in optimization, Mc Graw Hill, London 1999.
J. Dréo, A. Pétrowski, P. Siarry, É. Taillard, Métaheuristiques pour l’optimisation difficile, Eyrolles, Paris,
2003.
J. Dréo, A. Pétrowski, P. Siarry, É. Taillard, Metaheuristic for hard combinatorial optimization, Springer,
2005.
F. Glover & G. Kochenberger, Handbook of metaheuristics, Kluwer, 2003.
P. Pardalos, M. G. C. Resende (éditeurs), Handbook of Applied Optimization, Oxford Univ. Press, 2002.
J. Teghem, M. Pirlot (direction), Optimisation approchée en recherche opérationnelle, Lavoisier, Paris,
2002.
Introduction aux méta-heuristiques © E. Taillard 2007 10
Introduction aux méta-heuristiques © E. Taillard 2007 11
CHAPITRE 1. RECHERCHES LOCALES
Introduction aux méta-heuristiques © E. Taillard 2007 12
RECHERCHE LOCALE (LOCAL SEARCH, ITERATIVE IMPROVEMENT)
Observation
Il est généralement facile de trouver une solution (de mauvaise qualité) à un problème
d’optimisation combinatoire
Idée générale
Générer une solution initiale
Modifier légèrement la structure de cette solution pour en obtenir une meilleure
Répéter, tant qu’on trouve des améliorations
Introduction aux méta-heuristiques © E. Taillard 2007 13
MODIFICATION D’UNE SOLUTION : VOISINAGE
Exemple de voisinage sur une permutation : transpositions
Autres voisinages possibles : inversions et déplacements
En général: Pour toute solution s ∈ S du problème, définir un sous-ensemble N(s) ⊂ S
Ou : Définir un ensemble de mouvements M s’appliquant à toute solution s ∈ S
i.e. N(s) = {s’ | s’ = s ⊕ m, m ∈ M}
1 2 3 4 5 6 9 7 8 1 2 7 4 5 6 9 3 8
1 2 3 4 5 6 9 7 8 1 2 3 5 4 6 9 7 8
1 2 3 4 5 6 9 7 8 1 2 3 7 4 5 6 9 8
Introduction aux méta-heuristiques © E. Taillard 2007 14
ESPACE DES SOLUTIONS, STRUCTURE DE VOISINAGE
Espace des permutations de4 éléments avec la structure de voisinage relative aux transpositions. Valeur associée à chaque
3412
3142
3124
1324
1342
1432
4132
3214324134214321
4312
2143
2413
421341
23
142312
431234
4231
2431
2341
2314
21342134
315 327367
296
332
362
286
328
368
304
340370368325
361
391
377
407
331
328
294
351
391341
solution : objectif pour unexemple de problèmed’affectation quadratique.
D
0 6 2 66 0 7 52 7 0 96 5 9 0
=
F
10 4 6 83 4 7 103 1 5 24 10 1 1
=
361
370
Introduction aux méta-heuristiques © E. Taillard 2007 15
DESCENTE VERS UN OPTIMUM LOCAL
213432834123313214341
3421
351
2413362
3142
407
4312
328
1432325
2431
340
4132368
1423
367
1342
361
1234315
1324
391
1243327
4231
370
3214
341
Solution initiale Solution finale
391
Introduction aux méta-heuristiques © E. Taillard 2007 16
DESCENTE VERS UN OPTIMUM LOCAL (MEILLEUR VOISIN)
« Données » : Solution initiale sFonction-objectif à minimiser fEnsemble M de mouvements applicable à toute solution
Initialisations :Continuer := vrai
Boucle principale :Répéter
Continuer := fauxValeur_meilleur_voisin := ∞Pour tout m ∈ M, répéter
Si Valeur_meilleur_voisin > f(s ⊕ m) alorsValeur_meilleur_voisin := f(s ⊕ m)Meilleur_mouvement := m
Fin siFin pourSi Valeur_meilleur_voisin < f(s) alors
Continuer := vrais := s ⊕ Meilleur_mouvement
Fin siTant que Continuer
Retourner : s -- Optimum local relativement à la structure de voisinage M
Introduction aux méta-heuristiques © E. Taillard 2007 17
OPTIMUM LOCAL
La solution retournée par cette procédure n’est en général pas l’optimum global
On appel optimum local (relativement à une structure de voisinage sous-jacente) la solution retournée par
une telle procédure.
21343281432325 1234315
1324
391
1243327
4231
370
3214
341
2143
286
Introduction aux méta-heuristiques © E. Taillard 2007 18
CHOIX DU VOISINAGE : ÉLABORATION DE TOURNÉES DE VÉHICULES (VRP)
La définition d’un bon voisinage est un élément-clé pour le succès d’une méthode d’amélioration
Solution d’un problème de tournées de véhicules : disque noir = dépôt ; cercles = clients, taille = quantité
demandée. Le premier et le dernier trajet de chaque véhicule n’est pas dessiné.
Introduction aux méta-heuristiques © E. Taillard 2007 19
VOISINAGE SIMPLE
Exemples pour le VRP (n clients, m tournées)
Insertion (1-interchange) : O(nm) voisins
Échange (2-interchange) : O(n2) voisins
Généralisation : λ-interchange : O(nλ) voisins.
Introduction aux méta-heuristiques © E. Taillard 2007 20
RESTRICTION DE LA TAILLE DU VOISINAGE
Exemple 1 : Voisinage CROSS : O(n4/m2) voisins
Exemple 2 : Granular tabu search (Toth & Vigo 1998)
Considérer uniquement les arcs les plus courts incidents à chaque sommet (très utilisé
dans le cadre du voyageur de commerce)
O(n2) → O(n)
Introduction aux méta-heuristiques © E. Taillard 2007 21
LISTE DE MOUVEMENTS CANDIDATS
Stratégie proposée par Glover pour la recherche avec tabous
Hypothèse : Un bon mouvement à une itération donnée restera bon pendant quelques itérations
Mise en œuvre :
InitialisationSolution courante sÉvaluer l’ensemble des mouvements M lorsqu’on les applique à sExtraire un sous-ensemble C ⊂ M ayant la meilleure évaluation
Répéter pour Nb_itérations -- Méthode qcq basée sur un voisinageChoisir un mouvement m ∈ C -- Selon la stratégie de la recherche locales := s ⊕ m
Si Numéro d’itération mod c = 0Évaluer l’ensemble des mouvements M lorsqu’on les applique à sMettre à jour C
Introduction aux méta-heuristiques © E. Taillard 2007 22
EXTENSION D’UN VOISINAGE : MOUVEMENTS COMPOSÉS
Chaînes d’éjection (stratégie proposée dans la recherche avec tabous)
Éviter des modifications trop minimes
Étendre la taille du voisinage sans trop accroître la complexité de son évaluation
Effectuer des sauts dans l’espace des solutions
Exemple pour le VRP :
Modèle de flot dans un réseau (Xu & Kelly, Transp. Sci 30, 1996)
Trouver le flot maximum à coût minimum de s à t
cij : coût de transfert du client i dans la tournée j
i
j
cij
ts
ClientsTournées
Introduction aux méta-heuristiques © E. Taillard 2007 23
GRANDS VOISINAGES : « ROTATION »
Trouver la meilleure rotation à l’aide de chaînes d’éjections : O(nm2)
Introduction aux méta-heuristiques © E. Taillard 2007 24
RECHERCHE EN ÉVENTAIL
l
Solution courante
Voisins immédiats
Voisins de p voisins immédiats
etc.
Introduction aux méta-heuristiques © E. Taillard 2007 25
RECUIT SIMULÉ (SIMULATED ANNEALING)
S. Kirkpatrick, C. Gelatt & M. Vecchi, Optimization by simulated annealing, Science 220, 671–680, 1983,
V. Cerny, « Thermodynamical approach to the traveling salesman problem : an efficient simulation
algorithm », J. of Optimization theory and applications 45, 41–51, 1985
Idée générale : Poursuivre tout de même la recherche mais :
De façon non déterministe
Les mouvements améliorants sont toujours acceptés
Plus un mouvement dégrade la solution, plus la probabilité de le choisir est basse
Probabilité : en relation avec celle associée à la modification de l’énergie d’une particule dans un
processus de recuit
Optimum local Meilleur voisin
Introduction aux méta-heuristiques © E. Taillard 2007 26
TRAME GÉNÉRALE DU PROCESSUS DE RECUIT SIMULÉ
« Données », Initialisations :Solution initiale sFonction-objectif à minimiser fEnsemble M de mouvements applicable à toute solutionTempérature initiale T0, température finale TfFacteur de décroissance de la température 0 < α < 1Meilleure solution s* := s ; température courante T := T0
Boucle principale :Répéter
Tirer un mouvement m ∈ M aléatoirementTirer un nombre aléatoire u uniformément entre 0 et 1∆ := f(s ⊕ m) – f(s)Si e–∆/T > u alors -- Si ∆ < 0 on accepte toujours m
s := s ⊕ mSi f(s) < f(s*) alors
s* := sFin si
Fin siT := αT
Tant que T > Tf
Retourner : s*
Introduction aux méta-heuristiques © E. Taillard 2007 27
RECUIT : TRUCS ET ASTUCES
Fixation de la température initiale T0 :
Effectuer un nombre fixé de mouvements aléatoires, calculer la moyenne de leur amplitude ⟨|∆|⟩
Choisir un taux initial d’acceptation τ0 de mouvements dégradants (par exemple 30%)
Poser T0 := –⟨|∆|⟩/ln(τ0) (solution de l’équation τ0 := e–⟨|∆|⟩/T0)
La température courante T n’est pas diminuée à chaque itération, mais par paliers. Exemple :
Poser T := αT après :
Nombre fixé d’itérations (dépendant de la taille du problème et du voisinage e.g. : 100N)
Nombre fixé d’améliorations (e.g. 12N)
Décroissance de la température :
Valeur proche de 1, e.g. α := 0,9
Sortie de la boucle principale :
Fixer un critère d’arrêt ne dépendant pas d’une température Tf mais, par exemple :
Sortir de la boucle si s* n’a pas été améliorée pendant 3 paliers successifs
Réchauffer périodiquement le système ; en général : choisir librement le schéma de recuit
Introduction aux méta-heuristiques © E. Taillard 2007 28
RECUIT SIMULÉ : THÉORÈMES DE CONVERGENCE
Le processus du recuit simulé est considéré comme une Chaîne de Markov
Quelques résultats :
Sous certaines conditions (entres autres : nombre infini d’itérations), le processus du recuit simulé converge
presque sûrement vers l’optimum global.
Sous certaines conditions (entres autres : nombre d’itérations plus grand que le carré du nombre total de
solutions), la distribution stationnaire de la chaîne de Markov peut être approximée avec une précision
arbitraire
Implications pratiques ???
Introduction aux méta-heuristiques © E. Taillard 2007 29
ACCEPTATION À SEUIL, GRAND DÉLUGE
Acceptation à seuil (threshold accepting, Dueck & Scheuer, 1989)
Remplacer la ligne de code :
Si e–∆/T > u alors -- Si ∆ < 0 on accepte toujours mpar :
Si ∆ < T alorsdans la trame du recuit simulé.
Interprétation de T :
Seuil de dégradation acceptable
Algorithme du grand déluge (pour maximiser, Dueck, 1993) :
La même ligne est remplacée par :
Si f(s ⊕ m) > T alors
Interprétation of T :
Niveau de l’eau (qualité de la solution)
Introduction aux méta-heuristiques © E. Taillard 2007 30
MÉTHODES DE BRUITAGE
I. Charon, O. Hudry, « Le bruitage : une méthode prometteuse d’optimisation combinatoire », rapport
technique 92D005, École Nationale Supérieure des Télécommunications, 1992.
Choisir une séquence de fonctions de répartition Bruitk avec (généralement) :
Écart-type(Bruitk+1) < Écart-type(Bruitk)
À l’itération k, ajouter la réalisation d’une variable aléatoire distribuée selon Bruitk :
Soit aux données du problème
Soit à l’évaluation d’un mouvement
Trame de la technique : similaire à une méthode d’amélioration
Propriété :
Les méthodes de bruitage sont des généralisations du recuit simulé, de l’acceptation à seuil, de la méthode
du grand déluge et des recherches locales guidées.
Introduction aux méta-heuristiques © E. Taillard 2007 31
RECHERCHE AVEC TABOUS (TABU SEARCH) (GLOVER 1986)
F.Glover, M. Laguna, Tabu Search, Kluwer, Boston/Dordrecht/London, 1997.
Idée générale
Poursuivre la recherche au-delà du premier optimum local en choisissant le meilleur voisin
Utiliser une mémoire pour guider le processus de recherche dans le but d’
éviter de retourner à une solution déjà visitée
Mémoriser les solutions déjà visitées, ou
Mémoriser l’inverse de mouvements récemment effectués, ou
Mémoriser des caractéristiques de solutions ou de mouvements récemment effectués.
Les composantes mémorisées deviennent interdites (taboues)
Optimum local Meilleur voisin
Introduction aux méta-heuristiques © E. Taillard 2007 32
RECHERCHE AVEC TABOUS : TRAME DE BASE
« Données », Initialisations :Solution initiale sFonction-objectif à minimiser fEnsemble M de mouvements applicable à toute solutionListe circulaire (t éléments max) de mouvements tabous L = ∅Nombre I d’itérationsMeilleure solution s* := s
Boucle principale :Répéter pendant I itérations :
Valeur_meilleur_voisin := ∞Pour tout m ∈ M, m ∉ L répéter
Si Valeur_meilleur_voisin > f(s ⊕ m) alorsValeur_meilleur_voisin := f(s ⊕ m)Meilleur_mouvement := m
Fin siFin pours := s ⊕ Meilleur_mouvementL := L ∪ Meilleur_mouvement–1 -- Inverse du mvnt remplace le plus ancienSi f(s*) < f(s) alors
s* := sFin si
Fin répéter
Retourner : s*
Introduction aux méta-heuristiques © E. Taillard 2007 33
RECHERCHE AVEC TABOUS : TRUCS ET ASTUCES
Évaluation complète du voisinage à chaque itération
Simplifications algébriques pour diminuer la complexité d’une itération
Flowshop Widmer & Hertz (1989) O(n3m)/itération
Taillard (1990) O(n2m)/itération
QAP Sans simplifications O(n4)/itération
Skorin-Kapov (1989) O(n3)/itération
Taillard (1991) O(n2)/itération
Implantations possibles de la liste de tabous
Mémoriser l’inverse des mouvements réalisés dans une liste circulaire de t éléments (pseudo-code)
Effet : on interdit de revenir en arrière pendant t itérations
Mémoriser toutes les solutions énumérées
Effet : on interdit pendant t itérations de revisiter une solution
Difficultés : Place mémoire nécessaire, complexité de la comparaison de solutions
Remède : Fonction de hachage h(s)
Introduction aux méta-heuristiques © E. Taillard 2007 34
EXEMPLE D’IMPLANTATION EFFICACE POUR PROBLÈMES D’AFFECTATION
Solution : permutation p de n éléments
Mouvement m applicable à toute solution p : transposition des objets i et j (m ≡ (i, j), 1 ≤ i < j ≤ n)
i.e. l’objet i, actuellement sur la position pi sera déplacé en position pj et l’objet j sur pi
Définition de l’inverse d’un mouvement :
Replacer simultanément l’objet i sur pi et l’objet j sur pj
Mémorisation des interdictions :
Matrice T = (tir), de taille n × n
Signification de tir : Numéro de l’itération à partir de laquelle on peut à nouveau
mettre l’objet i sur la position r.
(i, j) sur la permutation p est tabou à l’itération k ⇔
Déterminer si le mouvement (i, j) est interdit peut se faire en temps constant.
tipjk>( ) tjpi
k>( )∧
Introduction aux méta-heuristiques © E. Taillard 2007 35
DURÉE DES INTERDICTIONS
Paramètre t petit
On risque de visiter cycliquement un ensemble restreint de solutions
Paramètre t grand
Trop de mouvements interdits et on visite de mauvaises solutions
255000
257500
260000
262500
265000
267500
Val
eur
des
solu
tions
0 5 10 15 20 25 30 35 40 45 50Nombre de mouvements interdits
Moyenne de toutes les solutions visitées
Moyenne des meilleures solutions trouvées
Introduction aux méta-heuristiques © E. Taillard 2007 36
DURÉE ALÉATOIRE DES INTERDICTIONS
Bénéficier simultanément des avantages d’une liste d’interdictions petite et grande
Tirer t aléatoirement entre tmin et tmin + ∆
0 5 10 15 20 25 30 35 40
0
5
10
15
20
25
Delta
Taille minimale
500/500 problèmesrésolus optimalement.Taille du disque dépen-dant du nombre moyend’itérations pour trouverl’optimum
Certains problèmes n’ontpas été résolus optimale-ment. Taille des cerclesproportionnelle aunombre de problèmesrésolus
tmin
∆
Introduction aux méta-heuristiques © E. Taillard 2007 37
MÉMOIRE À LONG TERME
Pénalité sur les fréquences (reprise dans une technique nommée guided local search)
But : Éviter de répéter sans cesse des mouvements de faible coût ne modifiant que très peu
la structure des solutions.
Moyen :
Pour tout mouvement m, mémoriser sa fréquence d’utilisation freq(m)
Ajouter F·freq(m) au coût réel de l’objectif lors de l’évaluation de m
F : nouveau paramètre de la méthode
Obligation d’effectuer un mouvement
But : Casser la structure des solutions visitées par la recherche avec tabous
Moyen :
Identifier les mouvements que l’on n’a jamais effectué (e.g parce qu’ils dégradaient trop
la solution) durant les K dernières itérations (K : paramètre).
Exemple d’implantation pour problème d’affectation : se lit directement dans la matrice T
Introduction aux méta-heuristiques © E. Taillard 2007 38
RECHERCHE AVEC TABOUS : THÉORÈMES DE CONVERGENCE
Quelques résultats :
Il est possible de définir une recherche avec tabous probabiliste pour laquelle les hypothèses de
convergence pour les théorèmes de convergence du recuit simulé sont satisfaites.
Une recherche avec tabous avec une liste exacte (mémorisant toutes les solutions visitée et choisissant la
solution du voisinage la plus anciennement visitée au cas où tous les voisins auraient déjà été visités) passe
au moins une fois par l’optimum global en un nombre fini d’étapes.
Introduction aux méta-heuristiques © E. Taillard 2007 39
PRINCIPES D’INTENSIFICATION ET DE DIVERSIFICATION
Proposé par Glover dans le cadre de la recherche avec tabous
Pour qu’une recherche soit efficace, il faut alterner des phases de
Intensification
On cherche le meilleur optimum local dans un sous-ensemble très restreint de solutions
Recherche agressive
Mise en œuvre : réduire la taille de la liste tabou, liste de candidats, …
Diversification
Effectuer un saut dans l’espace de recherche
Mise en œuvre :
Augmenter la taille de la liste tabou,
Obliger d’effectuer des mouvements jamais utilisés
Pénaliser les mouvements fréquemment utilisés
Introduction aux méta-heuristiques © E. Taillard 2007 40
RECHERCHE LOCALE GUIDÉE (GUIDED LOCAL SEARCH)
C. Voudouris & E. Tsang, « Guided Local Search », Rapport technique CSM-247, Department of Computer
Science, University of Essex, 1995.
Idée : Répéter des recherches locales en modifiant le coût des éléments constitutifs d’une solution en les
pénalisant d’autant plus qu’ils sont fréquemment utilisés et que leur contribution à la dégradation de l’objectif
est élevée.
Les pénalités peuvent être vues comme une technique de diversification
Peut être vue comme une méthode de bruitage
Peut aussi être vue comme une recherche avec tabous utilisant une mémoire basée sur des
fréquences, mais sans liste d’interdiction.
Un mécanisme similaire a déjà été utilisé en 1991 pour une adaptation de recherche avec tabous.
Introduction aux méta-heuristiques © E. Taillard 2007 41
RECHERCHE À VOISINAGE VARIABLE
P. Hansen, N. Mladenovic, « An introduction to variable neighborhood search », in : S. Voss, S. Martello,
I.H. Osman, Meta-heuristics : Advances and Trends in Local search Paradigm for Optimization, Kluwer,
422–458, 1999.
Mise en œuvre simple du principe d’intensification et diversification
Trame
Partir d’une solution localement optimale
Répéter, tant qu’un critère d’arrêt n’est pas satisfait
Effectuer un saut (k mouvements aléatoires) à partir de la meilleuresolution connue -- Plus généralement, dans le kième voisinage
Trouver l’optimum local associé à la solution perturbée
Si le nouvel optimum est meilleur, poser k = 1Sinon, poser k = (k mod p) + 1 (avec p : paramètre)
Introduction aux méta-heuristiques © E. Taillard 2007 42
Introduction aux méta-heuristiques © E. Taillard 2007 43
CHAPITRE 2. MÉTHODES À BASE DE POPULATION
Algorithmes évolutionnaires
Recherche par dispersion
Généralisation, mais pas bio-inspirée ; pourrait être classée dans les méthodes hybrides
Méthodes à particules
Essaims de particules
Méthode électro-magnétique
Introduction aux méta-heuristiques © E. Taillard 2007 44
ALGORITHMES ÉVOLUTIONNAIRES
T. Baeck, D. B. Fogel, Z. Michalewicz, Evolutionary Computation, Institute of Physics Publishing, 2000
Darwin (1859)
L’évolution des êtres vivants repose sur la compétition qui sélectionne les individus les plus adaptés, leur
assurant une descendance, donc une transmission aux enfants des caractéristiques utiles.
Néo-darwinisme :
Il faut encore tenir compte du phénomène des mutations génétiques.
Dès les années 50, on a essayé de simuler ce processus pour résoudre des problèmes d’ingénierie.
Approches qui ont émergé :
Stratégie d’évolution (Schwefel et Rechenberg, 1965)
Optimisation de paramètres continus
Programmation évolutionnaire (Fogel Owens, Walsh, 1966)
Alternative de l’IA pour l’évolution des automates à états finis
Algorithmes génétiques (Holland, 1975)
Compréhension des mécanismes d’auto-adaptation
Introduction aux méta-heuristiques © E. Taillard 2007 45
PROCESSUS D’ÉVOLUTION NATURELLE
Sélection de deux individus dans une population.
Croisement de ces deux individus, de façon aléatoire
Mutations aléatoires pour former un nouvel individu.
Évaluation et incorporation du nouvel individu dans la population.
Remplacement des individus trop faibles, âgés, malades.
Séle
ctio
n
Croi
sem
ent
Mutation
Évaluation
Popu
latio
n de
solu
tions
Remplacement
Introduction aux méta-heuristiques © E. Taillard 2007 46
SCHÉMA DE PRINCIPE
Initialisation Sélection pour lareproduction
Sélection
remplacement
Croisement
Mutation
Stop ?
Évaluationperformancedes individus
pour le
aléatoire dela population
Évaluationperformanceenfants
Non
Meilleur individuOui
µ individus
µ + λ individusµ individus
Introduction aux méta-heuristiques © E. Taillard 2007 47
EXEMPLE D’UNE ÉTAPE D’UN ALGORITHME ÉVOLUTIONNAIRE
Mu
tati
on
s
Cro
isem
ents
Sél
ecti
on
s p
ou
rla
rep
rod
uct
ion
et
app
arie
men
ts
Init
ialis
atio
n :
éval
uat
ion
s d
ela
fo
nct
ion
de
per
form
ance
1
5
-10
-5
11
-11
13
12
-12
-8
1
5
-10
-5
11
-11
13
12
-12
-8
255
231
231
192
156
135
135
112
112
87
12
34
56
78
910
op
érat
ion
dép
end
ante
du
pro
blè
me
op
érat
ion
ind
épen
dan
ted
u p
rob
lèm
e
1
255
-8
192
-10
156
11
135
1
255
-11
135
5
231
12
112
-5
-1
2
7
-10
-3
6
8
12
-14
231-5
-1
2
7
-3
6
255
231
206
251
247
220
-10
156-14
60
12
112
1
255
-5
-1
2
7
-3
6
255
231
206
252
247
220
-8
192
5
Eva
luat
ion
s d
ela
fo
nct
ion
de
per
form
ance
Sél
ecti
on
s p
ou
rla
su
rvie
Initi
alis
atio
nÉv
alua
tion
dela
fonc
tion
depe
rfor
man
ce
Séle
ctio
n po
urre
prod
uctio
n
Cro
isem
ent
Mut
atio
ns
Éval
uatio
n de
la p
erfo
rman
ce
Séle
ctio
n po
urla
surv
ie
Introduction aux méta-heuristiques © E. Taillard 2007 48
OPÉRATEURS DE SÉLECTION POUR LA REPRODUCTION PROPORTIONNELS
Roulette wheel
Échantillonnage aléatoire universel
Rang
p = 1 : sélection aléatoire uniforme ; p > 1 : Meilleurs individus favorisés
aléatoire
1,2391,123 1,123
0,9330,758 0,656
0,6560,5440,544
0,42312 345 67 8910
Aléatoire
offsetaléatoire
1,2391,123 1,123
0,9330,758 0,656
0,6560,5440,544
0,42312 345 67 8910
Décalage aléatoire
r µ 1 U 0 1,( )p–( )⋅=
Introduction aux méta-heuristiques © E. Taillard 2007 49
OPÉRATEURS DE SÉLECTION FOR POUR LE REMPLACEMENT
Générationnel
Seuls les enfants sont sélectionnés dans la population (les parents sont éliminés)
(λ = µ)
Stratégie d’évolution (µ, λ)
Seuls les µ meilleurs enfants sont conservés (λ > µ)
Stationnaire
Remplacer λ parents par des enfants (λ petit, typiquement 1 ou 2)
Élitiste
De la population complète de µ + λ individus, seuls les µ meilleurs sont conservés
Introduction aux méta-heuristiques © E. Taillard 2007 50
OPÉRATEURS DE CROISEMENT
1-point
2-points
Parents Vecteur 0–1 EnfantsPoint 1
1 0 1 1 0 1 0 1 1 0 1 0 1 1 1 0→
0 0 1 0 1 1 1 0 0 0 1 1 0 1 0 1
Parents Vecteur 0–1 EnfantsPoint 1 Point 2
1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1→
0 0 1 0 1 1 1 0 0 0 1 1 0 1 1 0
Permutations : OX (respecter l’ordre relatif)
1 3 8 2 7 4 5 6 8 2 4 7 6 1 5 3→
8 3 4 7 6 1 5 2 3 6 1 2 7 4 5 8
Introduction aux méta-heuristiques © E. Taillard 2007 51
CROISEMENTS UNIFORMES
Parents Vecteurs 0–1 Enfants
1 0 1 1 0 1 0 1 1 0 1 0 0 1 1 1
↔ ↔ ↔ →0 0 1 0 1 1 1 0 0 0 1 1 1 1 0 0
Parents Permutation (respecter la position) Premier enfant
1 3 8 2 7 4 5 6 ⇒ 1 3 4 2 6 5
⇓
8 3 4 7 6 1 5 2 1 3 4 2 6 7 5 8
Introduction aux méta-heuristiques © E. Taillard 2007 52
OPÉRATEURS DE MUTATION
Vecteur 0 – 1 :
Modifier chaque bit aléatoirement, avec une certaine probabilité (taux de mutation)
Modifier un certain nombre de bits aléatoirement
Autres cas :
cf. concept de mouvement en recherche locale
Introduction aux méta-heuristiques © E. Taillard 2007 53
DÉRIVE GÉNÉTIQUE
En répétant la boucle sélection — croisement — remplacement, on observe que la population tend à
s’homogénéiser
Finalement, la population peut ne contenir que des répliques d’individus identiques.
Diminution de la rapidité de convergence
Augmenter la taille de la population
Diminuer la pression de sélection des meilleurs individus (reproduction et remplacement)
Augmenter le taux de mutation
Introduction aux méta-heuristiques © E. Taillard 2007 54
CONVERGENCE DES ALGORITHMES ÉVOLUTIONNAIRES
Il y a des théorèmes de convergence (optimum global trouvé).
Parmi les hypothèses : Le taux de mutation n’est pas 0
Conséquence : La probabilité de générer l’optimum (d’un seul coup) n’est pas 0
Pas vraiment plus puissant que la génération de solutions aléatoires !
Introduction aux méta-heuristiques © E. Taillard 2007 55
MÉTHODES À PARTICULES
Particule = solution
En principe une solution est un vecteur x de réels
La particule i est attirée par une force fij vers la particule j
Particle Swarm : La particule a une vitesse
Electromagnetism : La praticule a une charge électrique
La nouvelle position de la particule dépend des forces agissant sur elle
Initialisation :Générer une position aléatoire xi pour toute particule (+ vitesse aléatoire)
RépéterPour toute particule i
Recherche locale -- Pour EMCalcul des forces fijNouvelle position(xi)
Tant qu’un critère d’arrêt n’est pas satisfait
Introduction aux méta-heuristiques © E. Taillard 2007 56
ESSAIMS DE PARTICULES (PARTICLE SWARM OPTIMIZATION, PSO)
Eberhart, R. C. and J. Kennedy, « A new optimizer using particle swarm theory ». Proceedings of the
Sixth International Symposium on Micromachine and Human Science, Nagoya, Japan. pp. 39-43, 1995
Forces :
Vitesse : , Nouvelle position :
i
j
vi
vj
fij
fij
u 0 1,[ ] α xj xi–( )⋅ ⋅ si j est la meilleure de toutes les solutions jamais trouvées
u 0 1,[ ] β xj xi–( )⋅ ⋅ si j est la meilleure des particules
0 sinon
=
vi vi fijj 1=
p
∑+= xi proj xi vi+( )=
Introduction aux méta-heuristiques © E. Taillard 2007 57
MÉTHODE ÉLECTROMAGNÉTIQUE
Birbil, S.I. and Fang, S.C. (2003). An electromagnetism-like mechanism for global optimization. Journal of
Global Optimization, 25, 263-282.
Charge : , où d est la dimension de la solution et p le nombre de particules
Force :
Nouvelle position :
qid f xi( ) f xbest( )–( )–
f xj( ) f xbest( )–
j 1=
p
∑
-----------------------------------------------
exp=
fij f xj( ) f xi( )–( )sgnqi qj⋅
xj xi– 2----------------------⋅=
xi proj xi fijj 1=
p
∑+( )=
Introduction aux méta-heuristiques © E. Taillard 2007 58
Introduction aux méta-heuristiques © E. Taillard 2007 59
CHAPITRE 3. LES MÉTHODES CONSTRUCTIVES
GRASP
Colonies de fourmi artificielles
Pratiquement toujours présentées comme une méthode à base de population
Construction de vocabulaire
Introduction aux méta-heuristiques © E. Taillard 2007 60
GRASP : RECHERCHE GLOUTONNE ADAPTATIVE RANDOMISÉE
Greedy randomized adaptive search
T.A. Feo and M.G.C. Resende « A probabilistic heuristic for a computationally difficult set covering
problem», Operations Research Letters 8, 67–71, 1989.
À ne pas confondre avec :
Graphical Representation and Analysis of Structural Properties
Groupe de Recherche sur les Aspects Sociaux de la santé et de la Prévention
GReat Apes Survival Project
General Robotics, Automation, Sensing and Perception
Group for Research and Application in Statistical Physics
Gravitational Radiation Analysis and Simulation Package
GReece Assistant Stray Pets
Generic seaRch Algorithm for the Satisfiability Problem
General Responsibility Assignment Software Patterns
Given, Required, Analysis, Solution, and Paraphrase
Introduction aux méta-heuristiques © E. Taillard 2007 61
GRASP : TRAME
« Données » : Ensemble E d’éléments constitutifs des solutionsFonctions cs(e) de coûts incrémentaux
Paramètres ...
Répéter pour Nb_Itérationss = ∅Répéter
Évaluer cs(e) pour tout élément e ∈ E admissibleChoisir un e aléatoirement, biaisé vers les plus petits coûtss = s ⊕ e
Tant que s n’est pas une solution complète
Appliquer une recherche locale sur s
Si f(s) > f(s*)s* := s
Mettre à jour une éventuelle mémoire -- Extensions, reactive grasp
Retourner : s*
Trame de base :
Un paramètre , e choisi entre cmin et α(cmax– cmin)0 α 1≤ ≤
Introduction aux méta-heuristiques © E. Taillard 2007 62
COLONIES DE FOURMIS ARTIFICIELLES
M. Dorigo, T. Stützle, Ant colony optimization, The MIT Press, 2004.
Introduction aux méta-heuristiques © E. Taillard 2007 63
OPTIMISATION DE CHEMIN PAR LES FOURMIS
Nourriture
Fourmilière
Évolution
La fourmilière est séparée d’une source de nourriture par deux tubes différents. Après un certain temps, les fou
mis empruntent le tube le plus court, les phéromones dans celui-ci augmentant plus rapidement.
Nourriture
Fourmilière
Introduction aux méta-heuristiques © E. Taillard 2007 64
ANT SYSTEM (COLORNI, MANIEZZO, DORIGO, 1991)
Trame de base : GRASP parallèle avec mémoire
Intérêt a posteriori : Associer à chaque élément e constitutif des solutions une quantité τe qui dépendra du
nombre de fois que e a été utilisé dans une solution ainsi que de la qualité de cette dernière.
Intérêt a priori : Associer à e une valeur fixe ηe inversement proportionnelle au coût d’utilisation de e
Formule magique : Lors de la construction d’une solution, choisir un élément e admissible avec une
probabilité proportionnelle à , où et sont des paramètres.
Évaporation : Après avoir construit k solutions à l’aide de la formule magique, multiplier tous les τe par ρ,
où k est un paramètre fixant le nombre de processus parallèles (fourmis) et un paramètre.
Renforcement : Pour chacune des k solutions sj construites à une itération et chaque élément e de ces
solutions, ajouter Q/f(sj) à τe, où Q est un cinquième paramètre.
Ant Colony System : Lors de la phase de construction, on choisit l’élément e avec le τe le plus élevé avec
probabilité q0 ; la formule magique est utilisée avec probabilité (1 – q0), où q0 est un nouveau paramètre.
Lors de la phase de renforcement, on ajoute également à chaque itération une certaine quantité à τe pour
tous les e constituant la meilleure solution trouvée jusqu’ici par la recherche.
τeα ηe
β⋅ α 0≥ β 0≥
0 ρ 1≤ ≤
Introduction aux méta-heuristiques © E. Taillard 2007 65
ADAPTATION POUR PROBLÈME D’AFFECTATION
Problème : chercher une matrice de permutation X = (xij)
i. e. variables de décision (0, 1) indiquant si l’élément i est affecté à la position j
Traces : τij
Renforcement local : r, auto-ajusté (1 au départ et à chaque amélioration de la meilleures solution connue,
incrémenté si on génère une nouvelle fois cette dernière)
Renforcement global : P
Position
Élém
ent
1 2 3 4 5
1
6
2
3
4
5
6
1 0
0 0
0
00000 0 0 0
000 0 0 0
0
00000
11
11
1
00
000
0
Introduction aux méta-heuristiques © E. Taillard 2007 66
PSEUDO-CODE FANT : FAST ANT
Initialisations :r = 1 -- non standardT = 1 · r
Pour tmax itérations :
Pour chaque fourmi : -- en réalité: une seule fourmiPoser X = 0 Pour chaque élément i:
Choisir une position j non encore affectée avec probabilité :
proportionnelle à τij -- initialement:
Poser xij = 1Fin pour
Améliorer la solution X avec une recherche locale -- Deamon actions (ACO)Si X = X* alors poser r = r + 1, T = 1 · rSi X meilleur que X* alors poser X* = X, r = 1, T = 1 · r
Poser T = T + rX -- Initialement: (1 – ρ)·T + Q(X)·X; mise à j. localeFin pourPoser T = T + P·X* -- P : paramètre. Mise à jour globale
Fin pour
Retourner X*
τijα ηij
β⋅
Introduction aux méta-heuristiques © E. Taillard 2007 67
ÉVOLUTION DES TRACES DE PHÉROMONES
Airplane 1
Gat
e 1
Airplane 2
Gat
e 2
Airplane 3
Gat
e 3
Airplane 4
Gat
e 4
Airplane 5
Gat
e 5
Airplane 6
Gat
e 6
Airplane 7
Gat
e 7
Airplane 8
Gat
e 8
Airplane 9
Gat
e 9
Airplane 10
Gat
e 1
0
Airplane 11
Gat
e 1
1
Airplane 12
Gat
e 1
2
Airplane 13
Gat
e 1
3
Airplane 14
Gat
e 1
4
Airplane 15
Gat
e 1
5
Airplane 16
Gat
e 1
6
Airplane 17
Gat
e 1
7
Airplane 18
Gat
e 1
8
Airplane 19
Gat
e 1
9
Airplane 20
Gat
e 2
0
Airplane 21
Gat
e 2
1
Airplane 22
Gat
e 2
2
Airplane 23
Gat
e 2
3
Airplane 24
Gat
e 2
4
Airplane 25
Gat
e 2
5
Airplane 26G
ate
26
Airplane 27
Gat
e 2
7
Airplane 1
Gat
e 1
Airplane 2
Gat
e 2
Airplane 3
Gat
e 3
Airplane 4
Gat
e 4
Airplane 5
Gat
e 5
Airplane 6
Gat
e 6
Airplane 7
Gat
e 7
Airplane 8
Gat
e 8
Airplane 9G
ate
9Airplane 10
Gat
e 1
0
Airplane 11
Gat
e 1
1
Airplane 12
Gat
e 1
2
Airplane 13
Gat
e 1
3
Airplane 14
Gat
e 1
4
Airplane 15
Gat
e 1
5
Airplane 16
Gat
e 1
6
Airplane 17
Gat
e 1
7
Airplane 18
Gat
e 1
8
Airplane 19
Gat
e 1
9
Airplane 20
Gat
e 2
0
Airplane 21
Gat
e 2
1
Airplane 22
Gat
e 2
2
Airplane 23
Gat
e 2
3
Airplane 24
Gat
e 2
4
Airplane 25
Gat
e 2
5
Airplane 26
Gat
e 2
6
Airplane 27
Gat
e 2
7
Airplane 1
Gat
e 1
Airplane 2
Gat
e 2
Airplane 3
Gat
e 3
Airplane 4
Gat
e 4
Airplane 5
Gat
e 5
Airplane 6
Gat
e 6
Airplane 7
Gat
e 7
Airplane 8
Gat
e 8
Airplane 9
Gat
e 9
Airplane 10
Gat
e 1
0
Airplane 11
Gat
e 1
1
Airplane 12
Gat
e 1
2
Airplane 13
Gat
e 1
3
Airplane 14
Gat
e 1
4
Airplane 15
Gat
e 1
5
Airplane 16
Gat
e 1
6
Airplane 17
Gat
e 1
7
Airplane 18
Gat
e 1
8
Airplane 19
Gat
e 1
9
Airplane 20
Gat
e 2
0
Airplane 21
Gat
e 2
1
Airplane 22
Gat
e 2
2
Airplane 23
Gat
e 2
3
Airplane 24
Gat
e 2
4
Airplane 25
Gat
e 2
5
Airplane 26
Gat
e 2
6
Airplane 27
Gat
e 2
7
Introduction aux méta-heuristiques © E. Taillard 2007 68
THÉORÈMES DE CONVERGENCE
Il y a des théorèmes de convergence :
Parmi les hypothèses: La valeur minimale d’une trace est supérieure à 0
Conséquence : La probabilité de générer du premier coup l’optimum n’est pas 0.
etc.
Introduction aux méta-heuristiques © E. Taillard 2007 69
CONSTRUCTION DE VOCABULAIRE (VOCABULARY BUILDING)
Proposé par Glover dans le cadre de la recherche avec tabous
Idée générale :
Mémoriser un ensemble de parties de solutions (= mots)
Construire de nouvelles solutions (= phrases) avec les mots disponibles
Une très bonne solution d’un exemple de VRP Tournées trouvées après qq itérations de tabou
Introduction aux méta-heuristiques © E. Taillard 2007 70
Introduction aux méta-heuristiques © E. Taillard 2007 71
CHAPITRE 4. MÉTHODE DE DÉCOMPOSITION : POPMUSIC
É. D. Taillard, S. Voss, « POPMUSIC: Partial Optimization Metaheuristic Under Special Intensification
Conditions »; C. Ribeiro, P. Hansen (eds), Essays and surveys in metaheuristics, Kluwer, 2001, 613–629
Trame
Exemples d’applications
VRP
Clustering
Placement de légendes sur des plans
Introduction aux méta-heuristiques © E. Taillard 2007 72
POPMUSIC : IDÉE GÉNÉRALE
Partir d’une solution initiale
Décomposer la solution en parties
Optimiser une portion (plusieurs parties) de la solution
Répéter, jusqu’à ce que les portions optimisées couvrent l’intégralité de la solution
Concepts en relation
Liste de candidats, variables fortement déterminée et consistantes (Glover)
« Chunking » (Woodruff)
Grands voisinages (Shaw)
VNDS (Hansen & Mladenovic)
Introduction aux méta-heuristiques © E. Taillard 2007 73
POPMUSIC : TRAME
Solution S = s1 ∪ s2 ∪ … ∪ sp // p parties disjointes
O = ∅ // Ensemble de parties « optimisées »
Tant que O ≠ S, répéter // Méthode d’amélioration
1. Choisir une partie-germe si ∉ O
2. Créer un sous-problème R composé des r parties ∈ S les plus proches de si // r : paramètre
3. Optimiser le sous-problème R
4. Si R a été amélioré : poser O ← O \ R
Sinon : poser O ← O ∪ si
Introduction aux méta-heuristiques © E. Taillard 2007 74
POPMUSIC : CHOIX
Définition d’une partie
Distance entre deux parties
Paramètre r
Procédure d’optimisation
Variantes :
plus lente : poser O ← ∅ au lieu de poser O ← O \ R
plus rapide : poser O ← O ∪ R au lieu de poser O ← O ∪ si
Introduction aux méta-heuristiques © E. Taillard 2007 75
POPMUSIC POUR LE VRP (TAILLARD 1993, …)
Partie:
Une tournée
Distance entre parties:
Distance polaire entre centres
de gravité
Processus d’optimisation:
Recherche avec tabous de base
Particularité:
Plusieurs optimisation indépendantes en
parallèle
Introduction aux méta-heuristiques © E. Taillard 2007 76
AUTRES ADAPTATIONS POUR LE VRP
Rochat & Semet 1994
Particularité : Répéter un processus POPMUSIC avec un paramètre r croissant
Première approche à voisinage variable (VNS) ?
Shaw 1998 (Grands voisinages)
Partie : Client
Distance : Distance euclidienne + composante aléatoire
Processus d’optimisation :
Réinsertion optimale ou heuristique (avec programmation par contraintes)
Introduction aux méta-heuristiques © E. Taillard 2007 77
POPMUSIC POUR LA CLASSIFICATION AVEC CENTRES
Partie :
Éléments appartenant à un groupe
Distance :
Dissimilarité moyenne entre éléments de
groupes différents, ou
Distance entre centres
Processus d’optimisation :
Méthode d’amélioration basée sur une liste de
candidats (déplacement d’un centre,
stabilisation de la solution) : CLS
Partie-germe
Introduction aux méta-heuristiques © E. Taillard 2007 78
RÉSULTATS NUMÉRIQUES
Objectif : p-médiane. Exemple de problème TSPLIB RL11849
CGHM2004 : T.G. Crainic, M. Gendreau, P. Hansen, N. Mladenovic, « Cooperative Parallel Variable
Neighborhood Search for the p-Median », Journal of Heuristics 10 (3), 2004, 293–314.
Temps de calcul équivalent CGHM2004 : 292000 secondes (= 80 heures, meilleur) 7300 s. (moyenne)
Implantation de POPMUSIC : Ph. Wälti, HEIG-Vd, collaboration Univ. Versailles (F).
p r Meilleur publié (CGHM 2004)
Qualité (% au-dessus meilleur publié) Temps [s] (P.IV 1.8GHz)CVVNS (1 proc.)
POPMUSIC (10)
POPMUSIC (100)
POPMUSIC (10)
POPMUSIC (100)
100 12 5855395.00 0.16 0.46 0.27 269 815200 14 4017110.50 0.17 0.23 0.41 125 499300 15 3210784.00 0.11 0.21 0.08 140 319400 16 2712334.50 0.12 0.09 –0.05 142 277500 16 2367523.00 0.12 0.21 0.14 150 205600 17 2125355.50 0.12 0.04 –0.14 181 223700 17 1932731.75 0.11 –0.01 –0.24 240 263800 18 1775417.62 0.23 0.05 –0.14 299 286900 18 1644025.75 0.18 –0.04 –0.19 328 3061000 18 1531481.88 0.13 0.03 –0.31 376 323
Introduction aux méta-heuristiques © E. Taillard 2007 79
PLACEMENT D’ÉTIQUETTES SUR DES PLANS
Autre problème pouvant être modélisé ainsi : affectation des heure de départ et des niveaux de vol d’avions
de ligne.
LAUSANNEYVERDONORBEORBEORBEORBE
YVERDON YVERDON
YVERDONLAUSANNELAUSANNELAUSANNE
ORBEYVERDON
LAUSANNE
Stable maximal
Introduction aux méta-heuristiques © E. Taillard 2007 80
POPMUSIC : CHOIX
Partie :
Objets à étiqueter
Distanceentre parties:
Nombre minimum d’arêtes pour connecter deux parties dans un graphe construit ainsi :
Sommet ≡ objet
Arête : ∃ un conflit possible entre les étiquettes associées aux objets-sommets
Processus d’optimisation:
Recherche avec tabous bien paramétrée (Yamamoto, Camara, Nogueira Lorena, 2002)
1
1 1
2
22
3
3
2
1
2
2
0
Introduction aux méta-heuristiques © E. Taillard 2007 81
RÉSULTATS NUMÉRIQUES
% placements sans conflit
Méthode Nombre d’objets250 500 750 1000
POPMUSIC 100 99.67 97.72 92.68POPMUSIC rapide 100 99.67 97.46 91.94
LagClus (Ribeiro & Lorena, 2006) 100 99.67 97.65 91.42CGA (best) (Yamamoto, Nogueira Lorena, 2003) 100 99.6 97.1 90.7
CGA(av.) (Yamamoto, Nogueira Lorena, 2003) 100 99.6 96.8 90.4Tabou (Yamamoto, Camara, Nogueira Lorena, 2002) 100 99.2 96.8 90.00
GA avec masque (Verner, Wainwritht, Schönenfeld, 1997) 99.98 98.79 95.99 88.96GA (Verner, Wainwritht, Schönenfeld, 1997) 98.40 92.59 82.38 65.70
Recuit simulé (Christensen et al. 1995) 99.90 98.30 92.30 82.09Zoraster(source : Christensen et al. 1995) 99.79 96.21 79.78 53.06
Hirsh (source : Christensen et al. 1995) 99.58 95.70 82.04 60.243-Opt Gradient Descent (source : Christensen et al. 1995) 99.76 97.34 89.44 77.832-Opt Gradient Descent (source : Christensen et al. 1995) 99.36 95.62 85.60 73.37
Temps CPU (Equiv.)POPMUSIC 0.00 0.01 0.41 0.30
POPMUSIC rapide 0.00 0.01 0.11 2.57LagClus (Ribeiro & Lorena, 2006) 0.12 0.40 54 3843
CGA (meilleur) (Yamamoto, Nogueira Lorena, 2003) 0.06 2.15 22.8 122.7CGA(moyenne) (Yamamoto, Nogueira Lorena, 2003) 0.06 2.15 19.6 98.2Tabou (Yamamoto, Camara, Nogueira Lorena, 2002) 0.62 2.53 5.44 26.2
Introduction aux méta-heuristiques © E. Taillard 2007 82
RÉSOLUTION DE PROBLÈMES DE GRANDE TAILLE
Complexité empirique basse
Ô(n) à Ô(n1.2)
0.001
0.01
0.1
1
10
100
1000
10000
10 100 1'000 10'000 100'000 1'000'000 10'000'000
Number of points
CPU
Tim
e [s
]
pop(asc), p = 2
pop(70), p = 2
pop(10), p = 8
pop(10), p = 4
pop(10), p = 2
Introduction aux méta-heuristiques © E. Taillard 2007 83
CHAPITRE 5 MÉTHODES HYBRIDES
Algorithmes mémétiques
Programmation à mémoire adaptative
Application au TSP
Introduction aux méta-heuristiques © E. Taillard 2007 84
.ALGORITHMES MÉMÉTIQUES
P. Moscato, « On Evolution, Search, Optimization, Genetic Algorithms and Martial Arts — Toward Memetic
Algorithms », Rapport technique 790, Caltech Concurrent Computation Program, 1989.
Faiblesses des algorithmes génétiques :
Codage des données (vecteurs de booléens)
Convergence de la population (dérive génétique)
Solutions non localement optimales
Point fort
Bonne couverture de l’espace des solutions
Point faible des recherches locales
Mauvaise couverture de l’espace des solutions
Bénéficier des avantages des algorithmes évolutionnaires et simultanément des recherches
locales :
Remplacer l’opérateur de mutation par une recherche locale (méthode d’amélioration, recuit,
recherche avec tabous, etc.)
Introduction aux méta-heuristiques © E. Taillard 2007 85
RECHERCHE PAR DISPERSION (SCATTER SEARCH, GLOVER, 1977)
Première approche : Glover 1977 (Pour la programmation linéaire en nombres entiers)
Remplacer le codage binaire par un codage naturel des solutions (vecteurs d’entiers)
Remplacer l’opérateur de croisement par une combinaison linéaire de 2 ou plusieurs vecteurs
Remplacer l’opérateur de mutation par un opérateur de projection/réparation
Gérer « intelligemment » la population pour éviter la dérive génétique (solutions-élites)
Enfants potentiels
Combinaison nonconvexe
Combinaisonconvexe
Enfantgénéré
Réparationdel’enfant
Introduction aux méta-heuristiques © E. Taillard 2007 86
GESTION DE LA POPULATION
Remarque : l’étape de classification peut se réaliser en résolvant un problème de p-médiane
Population initiale(solutions-élites)
Évolution Classification Nouvelles solutions-élites (la meilleure dechaque groupe)
Introduction aux méta-heuristiques © E. Taillard 2007 87
CHEMIN DE LIAISON (PATH RELINKING)
Idée : Choisir 2 solutions dans une population et les relier dans le graphe de l’espace des solution +
structure de voisinage. Chaque solution intermédiaire est améliorée avec une recherche locale.
Application prometteuse : optimisation multi-objectifs
Objectif 2
Objectif 1
Solution 1
Solution 2
Chemin de 1 à 2Rechercheslocales
Introduction aux méta-heuristiques © E. Taillard 2007 88
PROGRAMMATION À MÉMOIRE ADAPTATIVE
É. D. Taillard, L.-M. Gambardella, M. Gendreau, J.-Y. Potvin, « Adaptive Memory Programming: A
Unified View of Meta-Heuristics », European Journal of Operational Research 135 (1), 1–16, 2001.
Trame générale
Intialiser une ou des mémoires
Répéter, jusqu’à ce qu’un critère d’arrêt soit rempli :
Construire une solution provisoire avec l’aide de l’information contenue en mémoire
Améliorer la solution provisoire avec une recherche locale
Mettre la mémoire à jour avec les nouvelle informations ainsi obtenues
Grasp adaptatif Même schéma, mémoire très sommaire
Colonies de fourmis artificielles Mémoire ≡ traces de phéromones
Algorithmes évolutionnaires, rech. par disp. Mémoire ≡ population de solutions
Construction de vocabulaire Mémoire ≡ parties de solutions
Introduction aux méta-heuristiques © E. Taillard 2007 89
GESTION DE PROBLÈMES DYNAMIQUES, PARALLÉLISATION
Gestion de la mémoire
Mémoire adaptative
Données dynamiquesInitialisation
Exploitation
Puissance de calcul non utilisée par le temps réel Gestion « temps réel »
Contrôle bas niveau
Processus d’optimisation
[s]
[ms]
Processus d’optimisation
Introduction aux méta-heuristiques © E. Taillard 2007 90
APPLICATION AU TSP : MÉTHODE DE BRUITAGE ADAPTATIVE PARALLÈLE
Mémoire :
Solutions, classées en 3 catégories : élite, intermédiaire, mauvaise.
(Idée de Le Bouthillier, Crainic, Kropf)
Construction d’une nouvelle solution :
Partir de la meilleures solution en mémoire
Perturber la longueur des arêtes pouvant être utilisées pour « améliorer » la solution
Multiplier par 1 + r la longueur des arêtes des mauvaises solutions
Multiplier par 1 – r la longueur des arêtes des solutions élites
r décroissant de 1 à 0 au fur et à mesure des itérations
Amélioration de la solution :
Chained Lin Kernighan (implantation Concorde)
Parallélisation :
Plusieurs processus d’amélioration
Introduction aux méta-heuristiques © E. Taillard 2007 91
RÉSULTATS NUMÉRIQUES SUR LA TSPLIB
Effort de calcul similaire, 5 processus. Implantation M. Laurent.
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
10 100 1'000 10'000 100'000
Problem size
% a
bove
bes
t kno
wn
Parallel noising
CLK