Variable Neighborhood Descent (VND) Réalisée par Nadia Sassi Eya baghdedi AU
Plan 1.Métaheuristiques 2.Mise en oeuvre de métaheuristiques 3.Variable Neighborhood Descent (VND) 2
1. Métaheuristique 3
Un algorithme de résolution métaheuristique est un algorithme heuristique "générique" qu’il faut adapter à chaque problème. Peut être basé sur plusieurs principes communs : Voisinage Recherche locale Et sur un schéma commun : Un algorithme générique (souvent) stochastique, Un ensemble de paramètres, qui permet d’adapter l’algorithme à chaque problème particulier. Rôle: l’idée est d’utiliser les métaheuristique pour s’extraire d’un optimum local obtenu par une méthode heuristique. Définition 4
L'approche de recherche locale Les méthodes de recherche locale sont des algorithmes itératifs qui explorent l’espace X en se déplaçant pas à pas d’une solution à une autre. Une méthode de ce type débute à partir d’une solution s0 ∈ X choisie arbitrairement ou alors obtenue par le biais d’une méthode constructive. 5
Le voisinage d’une solution Le voisinage d’une solution donnée x est l’ensemble de solutions réalisables du problème de départ qui sont obtenues à partir de x via une transformation élémentaire. On dit que ces solutions sont "proches" de x. La transformation élémentaire nécéssite d’être définie selon les besoins de l’algorithme. La taille d’un voisinage est variable et est au maximum égale au cardinal de l’ensemble des solutions réalisables. Une solution est un optimum local si elle est meilleure que toutes les autres solutions d’un voisinage prédéfini Idée : rechercher une ou des solutions "localement optimales" 6
Trouver un optimum local : par recherche locale (RL) On note : f la fonction objectif que l’on minimise V(x) un voisinage (voisins admissibles) de la solution X 7
Illustration du voisinage local La solution initiale x0 peut être obtenue par une méthode heuristique quelconque Le critère d’arrêt est que le meilleur voisin n’améliore pas --> on a bien un optimum local pour le voisinage Amélie 8
Optimalité locale vs globale Une solution est un optimum global si elle est un optimum local quelque soit le voisinage, et donc en particulier si le voisinage correspond à l’ensemble des solutions réalisables. Attention Un optimal local n’est pas forcément un optimum global 9
Optimalité locale vs globale Intérêt de rechercher des optima locaux ? Il est possible de tomber sur l’optimum global Méthodes relativement efficaces pour le faire 10
Comment s’extraire d’un optimum local ? Algorithmes mono-solutions En faisant se basant sur plusieurs voisinages : Variable Neihborhood Descent (VND) : definition de plusieurs structures de voisinages, pour tenter d’atteindre une solution meilleure. S’autoriser à dégrader la valeur de la fonction objectif : Variable Neihborhood Search (VNS) : du VND avec la possiblité de dégrader la meilleure solution courante. Recherche tabou : Si, après "apprentissage", aucun autre mouvement n’est possible. Recuit simulé : Avec une certaine probabilité. 11
Comment s’extraire d’un optimum local ? Algorithmes multi-solutions : Faire évoluer plusieurs solutions en parallèle (et donc explorer simultanément plusieurs zones) : Algorithmes distribués/évolutifs (génétiques, etc.) 12
2. Mise en oeuvre de métaheuristiques 13
Le réglage des paramètres varie en fonction de l’adaptation au problème : Définir une solution initiale Définir une structure de voisinage Définir les paramètres spécifiques Bon usage : comparer bornes primales et duales ! Critère d’arrêt : Temps limite Ecart de la valeur de la sol. courante à la borne duale Combinaison de ces deux critères 14
3. Variable Neighborhood Descent (VND) 15
Le VND intégré fonctionne comme procédure de recherche locale. VND est utilisé quatre Neighborhoods 1.décalage, 2.Echange, 3. réorganisation, 4. décalage non équilibré Définition 16
Exemple Pickup and Delivery Problem with Time Windows 17
Principes On définit k voisinages vk tels que jv1j<jv2j< : : : <jvk j. On cherche une meilleure solution que x0 dans v1, pui dans v2, etc... Lorsqu’une telle solution xbest est trouvée, on tente de l’améliorer d’abord dans le voisinage v1, puis dans v2, etc... On s’arrête lorsqu’on de peut plus améliorer xbest. 18
Algorithm VND 19
Illustration Il n’y a pas forcement v1 2 v2 2 : : : 2 vk Cet algorithme nécéssite donc la définition de plusieurs structures de voisinage. Le critère d’arrêt est de ne trouver aucune solution améliorante dans les k voisinages. 20
Références 21 An Iterated Variable Neighborhood Descent Algorithm applied to the Pickup and Delivery Problem with Time Windows[Carlo S. Sartori Universidade Federal do Rio Grande do Sul Av. Bento Gonc¸alves, 9500, Porto Alegre - RS - Brazil Marcelo W. Friske Universidade Federal do Rio Grande do Sul Av. Bento Gonc¸alves, 9500, Porto Alegre - RS - Brazil Luciana S. Buriol Universidade Federal do Rio Grande do Sul Av. Bento Gonc¸alves, 9500, Porto Alegre - RS - Brazil ] Les méthodes de résolution approchées pour le Programmation en nombres entiers[Amélie Lambert Cnam ]ECE