1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire...

46
Introduction aux méta-heuristiques © E. Taillard 2007 1 INTRODUCTION AUX MÉTA-HEURISTIQUES Éric Taillard 3 e 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

Transcript of 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire...

Page 1: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 2: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 3: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 4: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 5: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 6: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 7: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 8: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 9: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 10: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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)

Page 11: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 12: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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.

Page 13: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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*

Page 14: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 15: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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.

Page 16: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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*

Page 17: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 18: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 19: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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.

Page 20: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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.

Page 21: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 22: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 23: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 24: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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–( )⋅=

Page 25: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 26: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 27: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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 !

Page 28: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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+( )=

Page 29: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 30: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 31: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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.

Page 32: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 33: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

β⋅

Page 34: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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.

Page 35: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 36: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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)

Page 37: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 38: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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)

Page 39: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 40: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 41: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 42: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 43: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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)

Page 44: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 45: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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

Page 46: 1. L - Centre Universitaire d'Informatique (CUI) - UNIGEcui.unige.ch/tcs/conferences/Seminaire Romand d'Informatique... · Introduction aux méta-heuristiques © E. Taillard 2007

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