La recherche locale. INF6953 La recherche locale 1

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

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

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

Principes d implémentation des métaheuristiques

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

Jean-Philippe Préaux

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

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

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

Chp. 4. Minimisation d une fonction d une variable

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

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

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

Programmation linéaire

Resolution limit in community detection

Introduction au maillage pour le calcul scientifique

Quantification Scalaire et Prédictive

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

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

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

Chapitre 5 : Flot maximal dans un graphe

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

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


Modélisation multi-agents - Agents réactifs

Texte Agrégation limitée par diffusion interne

Algorithmique et structures de données I

Université Paris-Dauphine DUMI2E 1ère année, Applications

Programmation linéaire

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

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

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

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

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

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

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

Programmation parallèle et distribuée

Figure 3.1- Lancement du Gambit

FaceBook aime les Maths!

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

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

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

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

Cours de Master Recherche

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

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

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

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

FIMA, 7 juillet 2005

Sommaire. Introduction Définition Historique Domaine d application.2. 4.Les Travaux réalisés sur les domaines d application.

Chapitre 2 : Systèmes radio mobiles et concepts cellulaires

Les algorithmes de base du graphisme

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

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Créer le schéma relationnel d une base de données ACCESS

Programmation Par Contraintes

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

Analyse en Composantes Principales

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

Une nouvelle approche de détection de communautés dans les réseaux sociaux

DES FOURMIS POUR LIVRER DU MAZOUT

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

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

1 Recherche en table par balayage

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

L exclusion mutuelle distribuée

Programmation Objet - Cours II

Eléments de Théorie des Graphes et Programmation Linéaire

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Programmation linéaire et Optimisation. Didier Smets

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

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

Fonctions de plusieurs variables

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

LE PROBLEME DU PLUS COURT CHEMIN

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

UNIVERSITÉ DU QUÉBEC À CHICOUTIMI UNIVERSITÉ DU QUÉBEC À MONTRÉAL

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

INF601 : Algorithme et Structure de données

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

UNIVERSITÉ DU QUÉBEC MÉMOIRE PRÉSENTÉ À L'UNIVERSITÉ DU QUÉBEC À CHICOUTIMI COMME EXIGENCE PARTIELLE DE LA MAÎTRISE EN INFORMATIQUE

Plus courts chemins, programmation dynamique

Deux stratégies parallèles de l'optimisation par colonie de fourmis

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

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

Big Data et Graphes : Quelques pistes de recherche

CHAPITRE 5. Stratégies Mixtes

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

Fonction inverse Fonctions homographiques

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

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Ordonnancement temps réel

Quelques algorithmes simples dont l analyse n est pas si simple

Cours d Analyse. Fonctions de plusieurs variables

Programmation Linéaire - Cours 1

Modules InnovationCRM

Transcription:

La recherche locale INF6953 La recherche locale 1

Sommaire Recherche locale et voisinage. Fonction de voisinage, optimum local Fonction de voisinage et mouvements Fonction de voisinage et mouvements Exemples : FAP, SAT, TSP Algorithme de descente Algorithme de descente avec relances Idées pour faire mieux que la descente INF6953 La recherche locale 2

Recherche locale et voisinage La recherche locale est une famille de métaheuristiques fondée sur la notion de voisinage. La recherche locale comprend les techniques de descente, mais aussi des métaheuristiques plus évoluées telles que le recuit simulé, tabou, etc. Pour résoudre un problème d optimisation (S, f) par la recherche locale avec - Un espace de solution S - Une fonction de coût f : S -> R On doit successivement - Définir une fonction de voisinage - Choisir un mécanisme de visite des configurations, i.e. une métaheuristique (descente, recuit simulé, tabou, etc. INF6953 La recherche locale 3

Fonction de voisinage, optimum local Une fonction de voisinage N : S -> P(S) associe à toute configuration S de S l ensemble N(S) des voisins de S (le voisinage de S). Le voisinage N est le plus souvent symétrique : S appartient à N(S) ssi S appartient à N(S ). On appelle optimum local (relativement au voisinage N) toute configuration S de S telle que f(s) f(s ), pour tout S élément de N(S). INF6953 La recherche locale 4

Fonction de voisinage et mouvements Plutôt que de définir une fonction de voisinage, on définit souvent des mouvements. On commence (généralement) par définir un ensemble de mouvements M. Pour toute configuration S, on définit l ensemble M(S) des mouvements applicables à la configuration S. - La configuration obtenue en appliquant le mouvement m à S être notée S (+) m. Le voisinage d une configuration S correspond à l ensemble des configurations qu on peut atteindre en utilisant un mouvement applicable à S : N(S) = { S (+) m m appartient à M(S) } INF6953 La recherche locale 5

Voisinage : exemple du k-coloriage de graphe Espace de recherche - Une configuration S est une fonction S : V -> {1..k} Fonction d évaluation (à minimiser) - Pour toute configuration S, f(s) représente le nombre d arêtes violées dans S. Voisinage - Un mouvement consiste à changer la couleur d un sommet unique. On représente un couple sommet / couleur. - Le mouvement <x, v> consiste à remplacer la couleur courante S(x) du sommet x par la nouvelle couleur v. INF6953 La recherche locale 6

Voisinage : exemple de Max-SAT Espace de recherche - Une configuration est une fonction S : {x1 xn} -> {VRAI, FAUX} Fonction d évaluation (à maximiser) - f(s) représente le nombre de clauses satisfaites dans S. Voisinage - Un voisinage possible consiste à inverser la valeur d une variable booléenne. Un tel mouvement peut être représenté par le nom de la variable modifiée. - Le mouvement <x> consiste à remplacer la valeur S(x) de la variable x dans la configuration courante S par son inverse. INF6953 La recherche locale 7

Voisinage : exemple du TSP Espace de recherche - Une configuration est un cycle hamiltonien quelconque (tournées). Fonction d évaluation (à minimiser) - Pour toute configuration S, f(s) représente la longueur de la tournée S (somme des longueurs des arêtes qui composent la tournée). Voisinage - Un voisinage possible est le voisinage 2-échange. - Un mouvement de type 2-échange consiste à - remplacer deux arêtes non adjacentes (a, b) et (c, d) - par les deux nouvelles arêtes (a, c) et (b, d). INF6953 La recherche locale 8

Paysage de recherche locale Étant donné l espace de recherche S, la fonction de coût f et la fonction de voisinage N, on peut se représenter le triplet (S, f, N) comme un graphe parfois appelé paysage de recherche locale avec : - S : ensemble de sommets - N : ensemble des arêtes - f(s) indique l altitude du sommet associé à la configuration S Un algorithme de recherche locale simplifié consiste à engendrer une chaîne de recherche locale S0, S1, - On engendre au départ une configuration initiale S0. - A chaque étape, on choisit Si+1 dans le voisinage N(Si) de la configuration courante Si. Le choix du voisin est guidé par la connaissance que l on a de l évaluation (altitude) des différents éléments de N(Si) INF6953 La recherche locale 9

Schéma d algorithme de recherche locale Engendrer une configuration initiale S0 S := S0 Répéter Engendrer un ensemble {S 1, S 2, } de voisin de S Calculer f(s 1, f(s 2)), Choisir S dans l ensemble {S 1, S 2, } S := S Jusqu à <condition fin> Retourner la meilleure configuration trouvée INF6953 La recherche locale 10

Algorithme de descente La métaheuristique de recherche locale la plus simple est l algorithme de descente (ou amélioration itérative). L algorithme de descente consiste, à chaque itération, à choisir un voisin qui améliore strictement la fonction de coût. Remarque - L algorithme de descente s arrête nécessairement quand un optimum local est atteint. Plusieurs manières de choisir le voisin : - Choix aléatoire d un voisin parmi ceux qui améliorent (first improvement). - Choix du meilleur voisin qui améliore (best improvement). INF6953 La recherche locale 11

Schéma d algorithme de descente Engendrer une configuration initiale S0 S := S0 Tant que S n est pas un optimum local, répéter Choisir S de N(s) tel que f(s ) < f(s) S := S Retourner S INF6953 La recherche locale 12

Algorithme de descente avec relances Typiquement, on observe que : - l algorithme de descente se termine rapidement. - La solution trouvée est de qualité médiocre. On peut poursuivre la recherche en acceptant des mouvements à coût égal. A noter que, dans ce cas, il faut définir un autre critère de terminaison. Pour poursuivre la recherche, on peut relancer plusieurs fois l algorithme de descente, en repartant à chaque fois d une nouvelle solution engendrée de manière aléatoire. C est l algorithme de descente avec relances. INF6953 La recherche locale 13

Schéma d algorithme de descente avec relances Répéter Engendrer une configuration initiale S0 S := S0 Tant que S n est pas un optimum local, répéter Choisir S de N(s) tel que f(s ) < f(s) S := S Jusqu à <condition fin> Retourner le meilleur optimum local trouvé INF6953 La recherche locale 14

Algorithme de descente avec relances La technique de relance possède l avantage de permettre d explorer différentes régions de l espace de recherche : bonne propriété d exploration. Inconvénient - Une relance consiste à repartir d une configuration aléatoire totalement nouvelle. On ne tire donc aucun profit des optima locaux déjà trouvés. Autrement dit, toute l expérience acquise pendant la recherche est oubliée. - En particulier, il est généralement plus efficace de ressortir du bassin d attraction de l optimum local atteint et d atteindre un optimum local «voisin». C est ce qui fait que cette technique est généralement assez peu efficace, en comparaison avec des techniques plus évoluées. INF6953 La recherche locale 15

Idées pour faire mieux que la descente On ajoute en permanence de l aléatoire à la technique de descente (randomisation). Autrement dit, on effectue en général un mouvement qui améliore, mais on accepte parfois d effectuer un mouvement qui dégrade la fonction de coût. Ce type de stratégie est adopté par le recuit simulé et l amélioration itérative randomisée. On mémorise les configurations ou régions visitées. On évite ensuite d y retourner. Ce type de stratégie est adopté par Tabou et GLS. On effectue une succession de descentes. Quand un optimum local est atteint, on effectue un saut de taille réduite dans l espace de recherche. Ce type de stratégie est adopté par Iterated Local Search et VNS. INF6953 La recherche locale 16

Idées pour faire mieux que la descente Quand un optimum local est atteint, on utilise un autre voisinage, généralement un voisinage plus grand. Ce type de stratégie est adopté par VNS et Large Neihborhood Search. Algorithme hybride - On effectue une succession de descentes. Un algorithme de plus haut niveau permet de construire des configurations en tenant compte des optima locaux déjà trouvés. Ce type de stratégie est adopté les algorithmes mémétiques et les colonies de fourmis. INF6953 La recherche locale 17