Variable Neighborhood Search



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


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

Sujet 4: Programmation stochastique propriétés de fonction de recours

Resolution limit in community detection

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

Corrigé des TD 1 à 5

Principes d implémentation des métaheuristiques

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

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

Équations non linéaires

Quantification Scalaire et Prédictive

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

A GRASPxELS approach for the Job Shop with generic time-lags and new statistical determination of the parameters

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

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

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

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

Agrégation des portefeuilles de contrats d assurance vie

MCMC et approximations en champ moyen pour les modèles de Markov

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

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

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

Algorithmes de recherche d itinéraires en transport multimodal

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

Jean-Philippe Préaux

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

Examen Médian - 1 heure 30

CHAPITRE 5. Stratégies Mixtes

Chapitre 7. Récurrences

3 Approximation de solutions d équations

Résolution de systèmes linéaires par des méthodes directes

Les structures de données. Rajae El Ouazzani

Organigramme / Algorigramme Dossier élève 1 SI

Programmation linéaire

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

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

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

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

IFT3245. Simulation et modèles

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Projet de Traitement du Signal Segmentation d images SAR

Enseignement secondaire technique

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

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

Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

Mathématique et Automatique : de la boucle ouverte à la boucle fermée. Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans

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

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

Outils logiciels pour la combinaison de vérification fonctionnelle et d évaluation de performances au sein de CADP

Application 1- VBA : Test de comportements d'investissements

Juin

LES MÉTHODES DE POINT INTÉRIEUR 1

Programmation Linéaire - Cours 1

Initiation à l algorithmique

L apport du HPC pour l optimisation. Eric Jacquet-Lagrèze. FORUM TERATEC 28 juin 2011

FIMA, 7 juillet 2005

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

Conception de réseaux de télécommunications : optimisation et expérimentations

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

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

TRAITEMENT DES DONNEES MANQUANTES AU MOYEN DE L ALGORITHME DE KOHONEN

La nouvelle planification de l échantillonnage

Algorithmique I. Algorithmique I p.1/??

Annexe 6. Notions d ordonnancement.

Ordonnancement temps réel

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

Java Licence Professionnelle CISII,

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Cours de Master Recherche

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

Cours d analyse numérique SMI-S4

UE Programmation Impérative Licence 2ème Année

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

Master Modélisation Aléatoire Paris VII, Cours Méthodes de Monte Carlo en nance et C++, TP n 2.

Programmation linéaire

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

K. Ammar, F. Bachoc, JM. Martinez. Séminaire ARISTOTE - 23 octobre Palaiseau

Contrat didactique Mathématiques financières

Arbres binaires de recherche

Object Removal by Exemplar-Based Inpainting

Programmer en JAVA. par Tama

Analyse stochastique de la CRM à ordre partiel dans le cadre des essais cliniques de phase I

Plan. 1 Cycles de développement. 2 Méthodes agiles, principes généraux. 3 Comment se passe un Sprint?

Amphi 3: Espaces complets - Applications linéaires continues

Cours d algorithmique pour la classe de 2nde

Quatrième partie IV. Test. Test 15 février / 71

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

Logiciels de Gestion de Projet: Guide de sélection

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

Rétablissement d un réseau cellulaire après un désastre

Cryptologie et physique quantique : Espoirs et menaces. Objectifs 2. distribué sous licence creative common détails sur

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

Théorèmes de Point Fixe et Applications 1

Classification non supervisée

Qualité du logiciel: Méthodes de test

Résolution d équations non linéaires

PLANIFICATION DU TRANSPORT DE CHARGES PARTIELLES D UN DÉPÔT : RÉPARTITION, LIVRAISON ET REVENU DE RETOUR

Transcription:

Variable Neighborhood Search () Universite de Montreal 6 avril 2010

Plan Motivations 1 Motivations 2 3 skewed variable neighborhood search variable neighborhood decomposition search 4

Le probleme d optimisation. On essaye de resoudre le probleme suivant : min{f (x) x X, X S} S : espace de solution (probleme combinatoire si S finie et tres grand ) X : ensemble de solutions realisables f : fonction objective a valeur reelle solution optimale x X : f (x ) f (x), x X trouver une solution optimale, une preuve de son optimalite et en un temps fini

Resolution par recherche locale Methode classique de resolution : definir une structure de voisinage N definir un operateur de transformation pour ce voisinage chercher iterativement une meilleure solution dans l espace defini par le voisinage eventuellement intensification et diversification La procedure mene a un optimum x : x X : f (x ) f (x), x N

Resolution par recherche locale Methode classique de resolution : definir une structure de voisinage N definir un operateur de transformation pour ce voisinage chercher iterativement une meilleure solution dans l espace defini par le voisinage eventuellement intensification et diversification La procedure mene a un optimum x : x X : f (x ) f (x), x N Probleme : la solution obtenue est optimale relativement au voisinage N (pas X!)

Motivations Optimisation par une modification systematique du voisinage et une phase de perturbation permettant de s eloigner des (mauvais) minima locaux basee sur les faits suivants :. 1 Un optimum relativement a un voisinage n est pas necessairement optimal par rapport a un autre voisinage 2 Un optimum global est optimal relativement a toute structure de voisinage 3 Pour plusieurs problemes, les minima relativements a differents voisinages sont proches les uns des autres.

Motivations Optimisation par une modification systematique du voisinage et une phase de perturbation permettant de s eloigner des (mauvais) minima locaux basee sur les faits suivants :. 1 Un optimum relativement a un voisinage n est pas necessairement optimal par rapport a un autre voisinage 2 Un optimum global est optimal relativement a toute structure de voisinage 3 Pour plusieurs problemes, les minima relativements a differents voisinages sont proches les uns des autres.

Motivations Optimisation par une modification systematique du voisinage et une phase de perturbation permettant de s eloigner des (mauvais) minima locaux basee sur les faits suivants :. 1 Un optimum relativement a un voisinage n est pas necessairement optimal par rapport a un autre voisinage 2 Un optimum global est optimal relativement a toute structure de voisinage 3 Pour plusieurs problemes, les minima relativements a differents voisinages sont proches les uns des autres.

Motivations Optimisation par une modification systematique du voisinage et une phase de perturbation permettant de s eloigner des (mauvais) minima locaux basee sur les faits suivants :. 1 Un optimum relativement a un voisinage n est pas necessairement optimal par rapport a un autre voisinage 2 Un optimum global est optimal relativement a toute structure de voisinage 3 Pour plusieurs problemes, les minima relativements a differents voisinages sont proches les uns des autres.

Motivations Optimisation par une modification systematique du voisinage et une phase de perturbation permettant de s eloigner des (mauvais) minima locaux basee sur les faits suivants : 1 Un optimum relativement a un voisinage n est pas necessairement optimal par rapport a un autre voisinage 2 Un optimum global est optimal relativement a toute structure de voisinage 3 Pour plusieurs problemes, les minima relativements a differents voisinages sont proches les uns des autres. Solution : Resoudre le probleme en utilisant plusieurs voisinages {N k } de facon deterministe, stochastique ou mixte.

Structure des voisinages

changement de voisinage 1 2 3 4 5 6 L idee centrale se trouve dans le changement de voisinage selon la procedure : Algorithm 1: NeighborhoodChange(x, x, y) if f (x ) < f (x) then x x // modifier la solution courante; k 1 // voisinage initial; else k k + 1 // prochain voisinage; return x, k

Structure generale du 1 2 3 4 5 6 7 8 9 10 Algorithm 2: (t max ) repeat k 1 // k indice du voisinage; repeat x ChoixSolutionInitiale(k) ; x TrouverMeilleurSolution(x) ; x,k ChangementVoisinage(x,x,k) ; until k = k max ; t cputime() until t > t max ; return x

Structure generale du 1 2 3 4 5 6 7 8 9 10 Algorithm 3: (t max ) repeat k 1 // k indice du voisinage; repeat x ChoixSolutionInitiale(k) ; x TrouverMeilleurSolution(x) ; x,k ChangementVoisinage(x,x,k) ; until k = k max ; t cputime() until t > t max ; return x la nature deterministe ou stochastique de l algorithme depend de l implementation de (4) et (5)

Methode deterministe : VND 1 2 3 4 5 Variable Neighborhood Descent : effectuer changement de voisinage N k, k = 1,..., k max de facon deterministe. Algorithm 4: VND(x, k max, t max ) k 1 repeat x arg min y Nk (x) f (y) // meilleur voisin ; x,k NeighborhoodChange(x,x,k) ; until k = k max ; return x x X : f (x ) f (x), k, x N k La solution obtenue est probablement plus proche de l optimum global.

Reduced Variable Neighborhood Search (R) R : Methode plus adaptée aux problemes de grandes tailles dans lesquels une descente exhaustive dans chaque voisinage coute cher selection aleatoire (au lieu d une descente) d une solution dans le voisinage critere arret : temps d execution maximal ou nombre d iterations maximal entre 2 ameliorations comparable a une methode de monte carlo mais plus systematique le nombre de voisinage utilise est generalement 2 ou 3

Reduced Variable Neighborhood Search (R) R : Methode plus adaptée aux problemes de grandes tailles dans lesquels une descente exhaustive dans chaque voisinage coute cher selection aleatoire (au lieu d une descente) d une solution dans le voisinage critere arret : temps d execution maximal ou nombre d iterations maximal entre 2 ameliorations comparable a une methode de monte carlo mais plus systematique le nombre de voisinage utilise est generalement 2 ou 3

Reduced Variable Neighborhood Search (R) R : Methode plus adaptée aux problemes de grandes tailles dans lesquels une descente exhaustive dans chaque voisinage coute cher selection aleatoire (au lieu d une descente) d une solution dans le voisinage critere arret : temps d execution maximal ou nombre d iterations maximal entre 2 ameliorations comparable a une methode de monte carlo mais plus systematique le nombre de voisinage utilise est generalement 2 ou 3

Reduced Variable Neighborhood Search (R) R : Methode plus adaptée aux problemes de grandes tailles dans lesquels une descente exhaustive dans chaque voisinage coute cher selection aleatoire (au lieu d une descente) d une solution dans le voisinage critere arret : temps d execution maximal ou nombre d iterations maximal entre 2 ameliorations comparable a une methode de monte carlo mais plus systematique le nombre de voisinage utilise est generalement 2 ou 3

Reduced Variable Neighborhood Search (R) R : Methode plus adaptée aux problemes de grandes tailles dans lesquels une descente exhaustive dans chaque voisinage coute cher selection aleatoire (au lieu d une descente) d une solution dans le voisinage critere arret : temps d execution maximal ou nombre d iterations maximal entre 2 ameliorations comparable a une methode de monte carlo mais plus systematique le nombre de voisinage utilise est generalement 2 ou 3

Methode stochastique : R 1 2 3 4 5 6 7 8 9 Reduced Variable Neighborhood Search : Algorithm 5: R(x, k max ) repeat k 1; repeat x Shake(x, k) // choix aleatoire ; x,k NeighborhoodChange(x,x,k) ; until k = k max ; t cputime() until t > t max ; return x

Methodes mixtes Ameliorer les methodes precedentes en combinant changement de voisinage deterministe et stochastique : 1 choisir une solution initial x 2 trouver une direction de descente a partir de x (dans un voisinage N(x)) 3 se deplacer vers le minimum dans N(x) dans cette direction

Methodes mixtes Ameliorer les methodes precedentes en combinant changement de voisinage deterministe et stochastique : 1 choisir une solution initial x 2 trouver une direction de descente a partir de x (dans un voisinage N(x)) 3 se deplacer vers le minimum dans N(x) dans cette direction 1 2 3 4 5 Algorithm 6: BestImprovement(x) repeat x x ; x arg min y Nk (x) f (y) ; until f (x) f (x ) ; return x

Basic variable Neighborhood Search (B) 1 2 3 4 5 6 7 8 9 10 Algorithm 7: B(x, k max, t max ) repeat k 1; repeat x Shake(x, k) // choix aleatoire ; x BestImprovement(x ) recherche deterministe; x,k NeighborhoodChange(x,x,k) ; until k = k max ; t cputime() until t > t max ; return x variante : remplacer BestImprovement par FirstImprovement

General variable Neighborhood Search (G) 1 2 3 4 5 6 7 8 9 10 G : remplacer la recherche locale par une descente sur un certain nombre de voisinages Algorithm 8: G(x, k max, l max, t max ) repeat k 1; repeat x Shake(x, k) // choix aleatoire ; x VND(x, l max ) //descente; x,k NeighborhoodChange(x,x,k) ; until k = k max ; t cputime() until t > t max ; return x

large valleys problem skewed variable neighborhood search variable neighborhood decomposition search

solving the problem Motivations skewed variable neighborhood search variable neighborhood decomposition search 1 2 3 4 5 6 Contraindre le deplacement vers des solutions eloignees en modifiant la procedure de changement de voisinage : Algorithm 9: NeighborhoodChange(x, x, y) if f (x ) αρ(x, x ) < f (x) then x x // modifier la solution courante; k 1 // voisinage initial; else k k + 1 // prochain voisinage; return x, k

skewed variable neighborhood search variable neighborhood decomposition search Skewed Variable Neighborhood Search (S) 1 2 3 4 5 6 7 8 9 10 11 12 Algorithm 10: S(x, k max, l max, t max, α) repeat k 1; repeat x Shake(x, k) // choix aleatoire ; x FirstImprove(x, l max ) // descente; x,k NeighborhoodChange(x,x,k) ; until k = k max ; x best keepbest(x best, x) ; x x best ; t cputime(); until t > t max ; return x

Principe du VNDS Motivations skewed variable neighborhood search variable neighborhood decomposition search generer des sous problemes en fixant certaines composantes (garder k composantes libres) effectuer une recherche locale sur les k composantes libres

skewed variable neighborhood search variable neighborhood decomposition search Variable Neighborhood Decomposition Search 1 2 3 4 5 6 7 8 9 10 11 12 Algorithm 11: VDNS(x, k max, l max, t max, t d ) repeat k 1; repeat x Shake(x, k) // choix aleatoire ; t FreeComponents(x, x ); t FirstImprovement(t); x InjecComponents(t, s ) //mise a jour de s ; x,k NeighborhoodChange(x,x,k) ; until k = k max ; t cputime() until t > t max ; return x

Decisions de conception L application du a un probleme necessite de choisir : 1 nombre et type de voisinage a utiliser 2 ordre d exploration des voisinages pendant la recherche 3 strategie de changement de voisinage 4 methode de recherche locale 5 critere d arret

Decisions de conception L application du a un probleme necessite de choisir : 1 nombre et type de voisinage a utiliser 2 ordre d exploration des voisinages pendant la recherche 3 strategie de changement de voisinage 4 methode de recherche locale 5 critere d arret

Decisions de conception L application du a un probleme necessite de choisir : 1 nombre et type de voisinage a utiliser 2 ordre d exploration des voisinages pendant la recherche 3 strategie de changement de voisinage 4 methode de recherche locale 5 critere d arret

Decisions de conception L application du a un probleme necessite de choisir : 1 nombre et type de voisinage a utiliser 2 ordre d exploration des voisinages pendant la recherche 3 strategie de changement de voisinage 4 methode de recherche locale 5 critere d arret

Decisions de conception L application du a un probleme necessite de choisir : 1 nombre et type de voisinage a utiliser 2 ordre d exploration des voisinages pendant la recherche 3 strategie de changement de voisinage 4 methode de recherche locale 5 critere d arret

Decisions de conception L application du a un probleme necessite de choisir : 1 nombre et type de voisinage a utiliser 2 ordre d exploration des voisinages pendant la recherche 3 strategie de changement de voisinage 4 methode de recherche locale 5 critere d arret

Exemple : TSP Motivations Application au Trading Salesman Problem avec les choix : 1 definition de voisinage k-opt, i.e, N k (x) est l ensemble des solutions ayant k arcs differents de x 2 la methode de recherche locale utilisee est 2-opt 3 changement de voisinage dans l ordre des indices k

Exemple : TSP Motivations Application au Trading Salesman Problem avec les choix : 1 definition de voisinage k-opt, i.e, N k (x) est l ensemble des solutions ayant k arcs differents de x 2 la methode de recherche locale utilisee est 2-opt 3 changement de voisinage dans l ordre des indices k

Exemple : TSP Motivations Application au Trading Salesman Problem avec les choix : 1 definition de voisinage k-opt, i.e, N k (x) est l ensemble des solutions ayant k arcs differents de x 2 la methode de recherche locale utilisee est 2-opt 3 changement de voisinage dans l ordre des indices k

Exemple : TSP Motivations Application au Trading Salesman Problem avec les choix : 1 definition de voisinage k-opt, i.e, N k (x) est l ensemble des solutions ayant k arcs differents de x 2 la methode de recherche locale utilisee est 2-opt 3 changement de voisinage dans l ordre des indices k

Exemple : TSP Motivations Application au Trading Salesman Problem avec les choix : 1 definition de voisinage k-opt, i.e, N k (x) est l ensemble des solutions ayant k arcs differents de x 2 la methode de recherche locale utilisee est 2-opt 3 changement de voisinage dans l ordre des indices k Remarque : de meilleures performances peuvent etre obtenues en utilisant GENIUS

Annexes Bibliographie Annexe I Variable Neighborhood Search P. Hansen et al. Handbook of Metaheuristics. Springer New York, 2003.