Cours de Master Recherche



Documents pareils
Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases)

Cours de Master Recherche

Problème à résoudre. min f(s) s.c. s S

Cours des Méthodes de Résolution Exactes Heuristiques et Métaheuristiques

Méthaheuristiques pour l optimisation combinatoire et l affectation sous contraintes

Jean-Philippe Préaux

La programmation à mémoire adaptative ou l évolution des algorithmes évolutifs

Principes d implémentation des métaheuristiques

Un modèle réactif pour l optimisation par colonies de fourmis : application à la satisfaction de contraintes

Programmation Par Contraintes

Système Immunitaire Artificiel Parallèle appliqué aux Flow Shop Hybride (FSH)

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

LES MÉTA-HEURISTIQUES : quelques conseils pour en faire bon usage

Chp. 4. Minimisation d une fonction d une variable

Quantification Scalaire et Prédictive

Problèmes d ordonnancement dans les systèmes de production. Journée Automatique et Optimisation Université de Paris Mars 2003


Atelier Transversal AT11. Activité «Fourmis» Pierre Chauvet.

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Resolution limit in community detection

Chapitre 5 : Flot maximal dans un graphe

Modélisation multi-agents - Agents réactifs

Ordonnancement en temps réel d un jobshop par métaheuristique hybride : étude comparative

Architecture des Systèmes d Information Architecture des Systèmes d Information

Algorithmes de recherche

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. address: Nicolas.Thiery@u-psud.fr URL:

Programmation linéaire

Laboratoire d Automatique et Productique Université de Batna, Algérie

Une application des algorithmes génétiques à l ordonnancement d atelier

Hela Boukef. To cite this version: HAL Id: tel

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Annexe 6. Notions d ordonnancement.

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire Gérard Verfaillie ONERA/DCSD/CD, Toulouse

$SSOLFDWLRQGXNULJHDJHSRXUOD FDOLEUDWLRQPRWHXU

Optimisation multi-objectif par colonies de fourmis : cas des problèmes de sac à dos

ARBRES BINAIRES DE RECHERCHE

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Algorithmique et structures de données I

Optimisation for Cloud Computing and Big Data

THÈSE DE DOCTORAT DE L UNIVERSITÉ PARIS 12-VAL DE MARNE UFR de Sciences et Technologie. par. Walid TFAILI. pour obtenir le grade de

Algorithme des fourmis appliqué à la détection et au suivi de contours dans une image

La classification automatique de données quantitatives

Problème d ordonnancement de véhicules en variables booléennes

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

Les colonies de fourmis : apprentissage coopératif pour le problème du voyageur de commerce

Programmation Linéaire - Cours 1

Cours d analyse numérique SMI-S4

Approche d'évaluation pour les problèmes d'ordonnancement multicritères : Méthode d'agrégation avec direction de recherche dynamique

Apprentissage par renforcement (1a/3)

Initiation à LabView : Les exemples d applications :

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Ministère de l Enseignement Supérieur et de la Recherche Scientifique. Mémoire de fin d études. Thème

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

TABLE DES MATIÈRES. PRINCIPES D EXPÉRIMENTATION Planification des expériences et analyse de leurs résultats. Pierre Dagnelie

Sommaire. Introduction. I. Notions de routage a) Technologies actuelles b) Avantages et désavantages

THÈSE. présentée à l Université d Avignon et des Pays de Vaucluse pour obtenir le diplôme de DOCTORAT

Figure 3.1- Lancement du Gambit

Stratégie de recherche adaptative en programmation par contrainte

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Recherche locale pour un problème d optimisation de tournées de véhicules avec gestion des stocks

DES FOURMIS POUR LIVRER DU MAZOUT

Optimisation des performances d échangeurs de chaleur.

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

de calibration Master 2: Calibration de modèles: présentation et simulation d

Chaînes de Markov au lycée

FIMA, 7 juillet 2005

Introduction au maillage pour le calcul scientifique

Cours d Analyse. Fonctions de plusieurs variables

COORDINATION NON COOPÉRATIVE: MÉTHODES D ENCHÈRES

Couplage efficace entre Optimisation et Simulation stochastique Application à la maintenance optimale d une constellation de satellites

Équations non linéaires

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Rapport d'analyse des besoins

Algorithmes pour la planification de mouvements en robotique non-holonome

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

L exclusion mutuelle distribuée

Plus courts chemins, programmation dynamique

Pi, poker et informatique ; une «épuisante» alliance pour des projets en mathématiques

Programmation linéaire

Principe de symétrisation pour la construction d un test adaptatif

Un couplage métaheuristique / simulation appliqué au problème du job shop avec transport

Big Data et Graphes : Quelques pistes de recherche

Création intuitive des éléments d un paysage

TP N 57. Déploiement et renouvellement d une constellation de satellites

Etude comparative de différents motifs utilisés pour le lancé de rayon

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Echantillonnage Non uniforme

Big Data et Graphes : Quelques pistes de recherche

La problématique des tests. Cours V. 7 mars Comment quantifier la performance d un test? Hypothèses simples et composites

Filtrage stochastique non linéaire par la théorie de représentation des martingales

Transcription:

Cours de Master Recherche Spécialité CODE : Résolution de problèmes combinatoires Christine Solnon LIRIS, UMR 5205 CNRS / Université Lyon 1 2007

Rappel du plan du cours 1 - Introduction Qu est-ce qu un problème complexe? Exemples de problèmes complexes 2 - Approches complètes Structuration de l espace de recherche en Arbre Structuration de l espace de recherche en Treillis 3 - Approches incomplètes basées sur les instances Recherche locale Algorithmes génétiques 30/10/2007 : Guillaume Beslon 4 - Approches incomplètes basées sur les modèles Algorithmes gloutons aléatoires Optimisation par colonies de fourmis (ACO) Algorithmes par estimation de distribution (EDA)

Plan de la troisième partie : approches incomplètes basées sur les instances 1 Introduction 2 Voisinage 3 Paysage de recherche 4 Stratégies de recherche locale

Approches incomplètes Contexte Approches pour résoudre des pb d optimisation P = (E, f ) E = Ensemble des combinaisons candidates Espace de recherche f : E R = Fonction objectif à maximiser (ou minimiser) But = chercher e E tel que f (e ) soit maximal Résolution de problèmes de satisfaction recherche de la combinaison maximisant la satisfaction Caractéristiques des approches incomplètes Exploration opportuniste de l espace de recherche E Intensifier la recherche autour des zones prometteuses diversifier la recherche pour explorer de nouvelles zones Pas de garantie d optimalité... mais complexité polynomiale trouvent rapidement de bonnes combinaisons Approches anytime qualité améliorée au fil du temps

Approches incomplètes Contexte Approches pour résoudre des pb d optimisation P = (E, f ) E = Ensemble des combinaisons candidates Espace de recherche f : E R = Fonction objectif à maximiser (ou minimiser) But = chercher e E tel que f (e ) soit maximal Résolution de problèmes de satisfaction recherche de la combinaison maximisant la satisfaction Caractéristiques des approches incomplètes Exploration opportuniste de l espace de recherche E Intensifier la recherche autour des zones prometteuses diversifier la recherche pour explorer de nouvelles zones Pas de garantie d optimalité... mais complexité polynomiale trouvent rapidement de bonnes combinaisons Approches anytime qualité améliorée au fil du temps

Deux familles d approches incomplètes Approches basées sur les instances Nouvelles combinaisons construites à partir de comb. existantes croisements et mutations algorithmes génétiques modifications élémentaires recherche locale Approches étudiées dans cette partie Approches basées sur les modèles Nouvelles combinaisons construites à l aide de modèles modèles gloutons modèles gloutons aléatoires modèles évolutifs basés sur les distributions EDA modèles évolutifs basés sur la phéromone ACO Approches étudiées dans la quatrième partie

Deux familles d approches incomplètes Approches basées sur les instances Nouvelles combinaisons construites à partir de comb. existantes croisements et mutations algorithmes génétiques modifications élémentaires recherche locale Approches étudiées dans cette partie Approches basées sur les modèles Nouvelles combinaisons construites à l aide de modèles modèles gloutons modèles gloutons aléatoires modèles évolutifs basés sur les distributions EDA modèles évolutifs basés sur la phéromone ACO Approches étudiées dans la quatrième partie

Approches incomplètes basées sur les instances Principe général Génération de 1 ou plusieurs combinaisons initiales aléatoirement ou à l aide d un modèle Tant que qualité insuffisante et temps max non atteint : Sélectionner 1 ou plusieurs combinaisons existantes Créer 1 ou plusieurs comb. à partir de ces comb. Deux instanciations de ce principe général Algorithmes génétiques Sélection des meilleures combinaisons de la population Création de combinaisons par croisement + mutation Cours de Guillaume Beslon Recherche locale : Sélection de la dernière combinaison créée Création d une combinaison par mouvement

Approches incomplètes basées sur les instances Principe général Génération de 1 ou plusieurs combinaisons initiales aléatoirement ou à l aide d un modèle Tant que qualité insuffisante et temps max non atteint : Sélectionner 1 ou plusieurs combinaisons existantes Créer 1 ou plusieurs comb. à partir de ces comb. Deux instanciations de ce principe général Algorithmes génétiques Sélection des meilleures combinaisons de la population Création de combinaisons par croisement + mutation Cours de Guillaume Beslon Recherche locale : Sélection de la dernière combinaison créée Création d une combinaison par mouvement

Approches incomplètes basées sur les instances Principe général Génération de 1 ou plusieurs combinaisons initiales aléatoirement ou à l aide d un modèle Tant que qualité insuffisante et temps max non atteint : Sélectionner 1 ou plusieurs combinaisons existantes Créer 1 ou plusieurs comb. à partir de ces comb. Deux instanciations de ce principe général Algorithmes génétiques Sélection des meilleures combinaisons de la population Création de combinaisons par croisement + mutation Cours de Guillaume Beslon Recherche locale : Sélection de la dernière combinaison créée Création d une combinaison par mouvement

Plan de la troisième partie : approches incomplètes basées sur les instances 1 Introduction 2 Voisinage 3 Paysage de recherche 4 Stratégies de recherche locale

Graphe de voisinage Définition d un graphe de voisinage G = (E, V ) Soit un espace de recherche E = ensemble de combinaisons Soit une approche incomplète basée sur les instances A Graphe de voisinage G = (E, V ) induit par A pour E : V = {(e i, e j ) / A peut créer e j à partir de e i } e j est une combinaison voisine de e i Notation pour le voisinage d une combinaison e i V (e i ) = {e j / (e i, e j ) V } Propriétés d un graphe de voisinage G = (E, V ) En général, G n est pas orienté (mouvements symétriques) G doit être connexe possibilité d atteindre n importe quelle combinaison

Graphe de voisinage Définition d un graphe de voisinage G = (E, V ) Soit un espace de recherche E = ensemble de combinaisons Soit une approche incomplète basée sur les instances A Graphe de voisinage G = (E, V ) induit par A pour E : V = {(e i, e j ) / A peut créer e j à partir de e i } e j est une combinaison voisine de e i Notation pour le voisinage d une combinaison e i V (e i ) = {e j / (e i, e j ) V } Propriétés d un graphe de voisinage G = (E, V ) En général, G n est pas orienté (mouvements symétriques) G doit être connexe possibilité d atteindre n importe quelle combinaison

Ex. de voisinages : le voyageur de commerce Rappel du problème Soit un graphe G = (S, A) et une fonction d : A R Espace de recherche E = ensemble des permutations de S Objectif : min. somme des distances des arêtes Quels voisinages?

Changer (1,4) et (3,2) en (1,2) et (3,4) Supprimer le chemin allant de 2 à 3, et l insérer entre 6 et 5 Ex. de voisinages : le voyageur de commerce Rappel du problème Soit un graphe G = (S, A) et une fonction d : A R Espace de recherche E = ensemble des permutations de S Objectif : min. somme des distances des arêtes Voisinage k-opt (k 2) V (e i ) = {e j E/e j est obtenu en changeant k arêtes de e i } Voisinage par supp./insertion de k sommets consécutifs V (e i ) = {e j E/e i = u.x.u, e j = v.x.v, x = k, u.u = v.v } 1 2 1 4 3 4 6 2 3 5

Exemples de voisinages : la clique maximum Rappel du problème Soit un graphe G = (S, A) et une fonction d : A R Espace de recherche E (S) = ens. des cliques de S Objectif : maximiser f (e i ) = e i Quels voisinages?

Exemples de voisinages : la clique maximum Rappel du problème Soit un graphe G = (S, A) et une fonction d : A R Espace de recherche E (S) = ens. des cliques de S Objectif : maximiser f (e i ) = e i Voisinage par k ajouts / suppressions : V (e i ) = {e j obtenus en ajoutant ou supp. k sommets de e i } Voisinage par échange k/k + 1 : V (e i ) = {e j obtenus en remplacant k sommets de e i par k + 1 sommets de S {e i }}

Exemples de voisinages : SAT Rappel du problème Soient n variables booléennes et p clauses Espace de recherche E = {vrai, faux} n Objectif : maximiser f (e i ) = nombre de clauses satisfaites par e i Quels voisinages?

Exemples de voisinages : SAT Rappel du problème Soient n variables booléennes et p clauses Espace de recherche E = {vrai, faux} n Objectif : maximiser f (e i ) = nombre de clauses satisfaites par e i Voisinage par k changements d affectations de variables : V (e i ) = {e j obtenus en flippant la valeur de k var de e i }

Exemples de voisinages : CSP Rappel du problème Soit un CSP (X, D, C) Espace de recherche E = D(X 1 )... D(X n ) si X = {X 1,..., X n } Objectif : maximiser f (e i ) = nombre de contraintes de C satisfaites par e i Quels voisinages?

Exemples de voisinages : CSP Rappel du problème Soit un CSP (X, D, C) Espace de recherche E = D(X 1 )... D(X n ) si X = {X 1,..., X n } Objectif : maximiser f (e i ) = nombre de contraintes de C satisfaites par e i Voisinage par k changements d affectations de variables : V (e i ) = {e j obtenus en changeant la valeur de k var ds e i }

Plan de la troisième partie : approches incomplètes basées sur les instances 1 Introduction 2 Voisinage 3 Paysage de recherche 4 Stratégies de recherche locale

Définition d un paysage de recherche Définition d un paysage de recherche : un problème d optimisation P = (E, f ) + un graphe de voisinage G = (E, V ) Représentation graphique d un paysage de recherche Chaque configuration de l espace de recherche E = 1 point La fonction objectif f donne l altitude des points Le voisinage V positionne les points dans les autres dimensions

Définition d un paysage de recherche Définition d un paysage de recherche : un problème d optimisation P = (E, f ) + un graphe de voisinage G = (E, V ) Représentation graphique d un paysage de recherche Chaque configuration de l espace de recherche E = 1 point La fonction objectif f donne l altitude des points Le voisinage V positionne les points dans les autres dimensions

Optima locaux et plateaux (1) Définitions Optimum local = point dont tous les voisins sont moins bons e i E tel que e j V (e i ), f (e j ) < f (e i ) Plateau = ensemble de points connexes dans le graphe G = (E, V ) ayant tous la même valeur pour f Bassin d attraction d un optimum local e points que l on peut atteindre depuis e sans jamais monter

Optima locaux et plateaux (2) Influence sur le choix d une stratégie Paysage avec 1 seul optimum local et pas de plateau Stratégie = intensifier Paysage rugueux = nombreux optima + distrib. uniforme pas de corrélation entre qualité et distance à l opt. global Stratégie = diversifier Paysage de type massif central Stratégie = intensifier et diversifier

Plan de la troisième partie : approches incomplètes basées sur les instances 1 Introduction 2 Voisinage 3 Paysage de recherche 4 Stratégies de recherche locale

Principe de base de la recherche locale Algorithme Recherche Locale (E, V, f ) e une combinaison de E e e Tant que f (e ) < borne et temps max non atteint : choisir e V (e) e e Si f (e) > f (e ) Alors e e Retourner e

Principe de base de la recherche locale Algorithme Recherche Locale (E, V, f ) e une combinaison de E e e Tant que f (e ) < borne et temps max non atteint : choisir e V (e) e e Si f (e) > f (e ) Alors e e Retourner e Différentes stratégies possibles pour choisir un voisin

Recherche locale gloutonne (greedy local search) (Aussi appelée Hill climbing et montée de gradient ) Stratégie pour choisir e V (e) choisir une combinaison e V (e) tq f (e ) > f (e) (ou f (e ) f (e)) Best improvement choisir le voisin qui maximise f First improvement choisir le premier voisin améliorant Intensification maximale converge sur un optimum local...ou tourne en rond sur un plateau Peut être répété à partir de plusieurs combinaisons différentes Exemples d algorithmes : GSAT [Selman, Levesque, Mitchell 92] pour SAT Min Conflict [Minton 92] pour les CSP

Recherche locale gloutonne (greedy local search) (Aussi appelée Hill climbing et montée de gradient ) Stratégie pour choisir e V (e) choisir une combinaison e V (e) tq f (e ) > f (e) (ou f (e ) f (e)) Best improvement choisir le voisin qui maximise f First improvement choisir le premier voisin améliorant Intensification maximale converge sur un optimum local...ou tourne en rond sur un plateau Peut être répété à partir de plusieurs combinaisons différentes Exemples d algorithmes : GSAT [Selman, Levesque, Mitchell 92] pour SAT Min Conflict [Minton 92] pour les CSP

Recherche locale random walk Stratégie pour choisir e V (e) Introduire la proba. p noise de choisir un mouvement aléatoire Soit x un nombre tiré aléatoirement entre 0 et 1 Si x < p noise Alors // diversification Choisir aléatoirement e dans V (e) Sinon // intensification Choisir e V (e) qui maximise f Paramètre p noise La valeur de p noise détermine la diversification / intensification p noise = 1 aléatoire pur p noise = 0 glouton pur En général, 0.01 p noise 0.1

Recherche locale random walk Stratégie pour choisir e V (e) Introduire la proba. p noise de choisir un mouvement aléatoire Soit x un nombre tiré aléatoirement entre 0 et 1 Si x < p noise Alors // diversification Choisir aléatoirement e dans V (e) Sinon // intensification Choisir e V (e) qui maximise f Paramètre p noise La valeur de p noise détermine la diversification / intensification p noise = 1 aléatoire pur p noise = 0 glouton pur En général, 0.01 p noise 0.1

Recherche locale : threshold accepting Stratégie pour choisir e V (e) Introduire un seuil d acceptation τ Choisir le premier voisin e tel que f (e ) f (e) > τ Paramètre τ La valeur de τ détermine la diversification / intensification τ aléatoire pur τ 0 les mouvements dégradant la solution sont interdits Le seuil d acceptation τ peut augmenter au fil du temps gloutoniser l algorithme pour le faire converger

Recherche locale : threshold accepting Stratégie pour choisir e V (e) Introduire un seuil d acceptation τ Choisir le premier voisin e tel que f (e ) f (e) > τ Paramètre τ La valeur de τ détermine la diversification / intensification τ aléatoire pur τ 0 les mouvements dégradant la solution sont interdits Le seuil d acceptation τ peut augmenter au fil du temps gloutoniser l algorithme pour le faire converger

Recherche locale : simulated annealing (1) Idée [Kirkpatrick 82] : inspiration = recuit simulé en métallurgie (équilibre énergétique lors de la cristallisation des métaux) Diversifier la recherche en autorisant des mouvements moins bons, en fonction d une probabilité d acceptation qui décroit avec le temps Stratégie pour choisir e V (e) Introduction d un paramètre T qui décroit à chaque mouvement Choisir le premier voisin e tel que soit f (e ) f (e) // intensification soit x < e (f (e) f (e ))/T où x est un nombre choisi aléatoirement dans [0; 1] // diversification

Recherche locale : simulated annealing (2) Rôle de T diversification / intensification T e (f (e) f (e ))/T 1 aléatoire pur T 0 e (f (e) f (e ))/T 0 glouton pur Au début, T grand Forte diversification Au fur et à mesure de la recherche, T diminue Intensification progressive autour des zones intéressantes Quand T proche de 0, système gelé sur un optimum local La vitesse avec laquelle la température diminue détermine le temps de convergence... et la qualité de la solution finale Paramètres Valeur initiale de T ; Taux de diminution de T ; Seuil de gel Influence sur la qualité de la solution trouvée Paramétrage optimal dépend du pb à résoudre

Recherche locale : simulated annealing (2) Rôle de T diversification / intensification T e (f (e) f (e ))/T 1 aléatoire pur T 0 e (f (e) f (e ))/T 0 glouton pur Au début, T grand Forte diversification Au fur et à mesure de la recherche, T diminue Intensification progressive autour des zones intéressantes Quand T proche de 0, système gelé sur un optimum local La vitesse avec laquelle la température diminue détermine le temps de convergence... et la qualité de la solution finale Paramètres Valeur initiale de T ; Taux de diminution de T ; Seuil de gel Influence sur la qualité de la solution trouvée Paramétrage optimal dépend du pb à résoudre

Recherche locale Taboue (1) Idée [Glover 86] : Toujours choisir le meilleur mouvement... mais mémoriser les derniers mouvmts faits dans une liste taboue... et interdire les mouvmts inverses afin de ne pas tourner en rond Stratégie pour choisir e V (e) Introduire une liste taboue l initialisée à vide A chaque itération, ajouter le dernier mouvement effectué dans l (mouvement = opération faite pour passer de e à e ) Ne garder dans l que les k derniers mouvements effectués Choisir la combinaison e V (e) telle que le mouvement e e l // diversification f (e ) soit maximal // intensification

Recherche locale Taboue (2) La liste taboue contient les k derniers mouvements effectués (... et non les k dernières solutions visitées) moins coûteux à vérifier et stocker Exemples : Clique : mémoriser les sommets ajoutés/supprimés SAT : mémoriser les variables flippées Possibilité d ajouter un critère d aspiration : accepter un mouvement tabou s il permet d obtenir une combinaison meilleure que e k détermine la diversification / intensification k = 0 Glouton pur k petit risque de blocage dans un bassin d attraction Plus k augmente, et plus la recherche est diversifiée... mais on risque de s interdire de monter sur le pic optimal Là encore, le paramétrage est un point délicat...

Recherche locale réactive (1) La longueur de la liste Taboue est un point déterminant Trop courte Intensification trop forte blocage de la recherche autour d un optimum local Trop longue Diversification trop forte la recherche risque de passer à coté des meilleures combinaisons La longueur optimale de la liste varie d un problème à l autre d une instance à l autre d un même problème au cours de la résolution d une même instance [Battiti, Protasi 2001] : adapter cette longueur dynamiquement Besoin de diversification augmenter la longueur Besoin d intensification diminuer la longueur

Recherche locale réactive (1) La longueur de la liste Taboue est un point déterminant Trop courte Intensification trop forte blocage de la recherche autour d un optimum local Trop longue Diversification trop forte la recherche risque de passer à coté des meilleures combinaisons La longueur optimale de la liste varie d un problème à l autre d une instance à l autre d un même problème au cours de la résolution d une même instance [Battiti, Protasi 2001] : adapter cette longueur dynamiquement Besoin de diversification augmenter la longueur Besoin d intensification diminuer la longueur

Recherche locale réactive (1) La longueur de la liste Taboue est un point déterminant Trop courte Intensification trop forte blocage de la recherche autour d un optimum local Trop longue Diversification trop forte la recherche risque de passer à coté des meilleures combinaisons La longueur optimale de la liste varie d un problème à l autre d une instance à l autre d un même problème au cours de la résolution d une même instance [Battiti, Protasi 2001] : adapter cette longueur dynamiquement Besoin de diversification augmenter la longueur Besoin d intensification diminuer la longueur

Recherche locale réactive (2) Principe Utiliser une table de Hachage pour mémoriser (en temps constant) les clés des combinaisons visitées Collision dans la table besoin de diversification allonger la liste taboue Longue période sans collision besoin d intensification raccourcir la liste taboue Paramètres de l algorithme : Longueurs initiale, minimale et maximale de la liste Taille de l allongement de la liste Taille de la période sans collision Taille du raccourcissement de la liste Plus de paramètres que la recherche taboue non réactive... mais paramétrage plus robuste en pratique

Recherche locale réactive (2) Principe Utiliser une table de Hachage pour mémoriser (en temps constant) les clés des combinaisons visitées Collision dans la table besoin de diversification allonger la liste taboue Longue période sans collision besoin d intensification raccourcir la liste taboue Paramètres de l algorithme : Longueurs initiale, minimale et maximale de la liste Taille de l allongement de la liste Taille de la période sans collision Taille du raccourcissement de la liste Plus de paramètres que la recherche taboue non réactive... mais paramétrage plus robuste en pratique

Recherche à voisinage variable / Variable Neighborhood Search (VNS) Motivation Plusieurs voisinages possibles pour un même problème Un opt. local pour un voisinage n est pas opt. dans un autre vois. changer de voisinage quand on arrive sur un opt. local Stratégie pour choisir e dans un voisinage de e Soient V 1, V 2, V 3,... une suite de voisinages V t (e) = voisins de e pour le t ieme voisinage En général, V t (e) > V t 1 (e) t 1 Tant que max{f (e )/e V t (e)} f (e)} : t t + 1 e meilleure combinaison de V t (e)

Recherche à voisinage variable / Variable Neighborhood Search (VNS) Motivation Plusieurs voisinages possibles pour un même problème Un opt. local pour un voisinage n est pas opt. dans un autre vois. changer de voisinage quand on arrive sur un opt. local Stratégie pour choisir e dans un voisinage de e Soient V 1, V 2, V 3,... une suite de voisinages V t (e) = voisins de e pour le t ieme voisinage En général, V t (e) > V t 1 (e) t 1 Tant que max{f (e )/e V t (e)} f (e)} : t t + 1 e meilleure combinaison de V t (e)

Recherche à très grand voisinage / Very Large Neighborhood Search (VLNS) Idée Définir un voisinage très large Utiliser une approche complète pour explorer ce voisinage trouver le meilleur voisin Approche gloutonne intensification Très grand voisinage diversification

Recherche locale / plusieurs points de départ Un processus de recherche locale peut être itéré plusieurs fois, à partir de points différents : Multi-start local search : Les points de départs sont indépendants Iterated local search : Le point de départ d une recherche locale est une perturbation de la meilleure solution de la dernière recherche locale effectuée Go with the winner : Plusieurs recherches locales en parallèle (particules) Les moins bonnes sont redistribuées autour des meilleures Genetic local search (scatter search) : Une population de solutions évolue par sélections/croisements/mutations Chaque nouvelle solution générée est améliorée par recherche locale