Les méthodes de résolution approchées pour le Programmation en nombres entiers

Documents pareils
Jean-Philippe Préaux

Programmation linéaire

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

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

Cours de Master Recherche

Programmation Linéaire - Cours 1

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

Programmation linéaire

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Optimisation Discrète

Principes d implémentation des métaheuristiques

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

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

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

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

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

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

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

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

4.2 Unités d enseignement du M1

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

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

Algorithmes de recherche

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

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

Plus courts chemins, programmation dynamique

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

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

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

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


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

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

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

Théorie et codage de l information

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

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

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Définitions. Numéro à préciser. (Durée : )

Quantification Scalaire et Prédictive

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

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

Travaux dirigés n 1. Programmation linéaire

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Quelques algorithmes simples dont l analyse n est pas si simple

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

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

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

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Programmation linéaire et Optimisation. Didier Smets

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

ITIL Gestion de la capacité

Cours de recherche opérationnelle I

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

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

L apprentissage automatique

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

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

AVERTISSEMENT. D'autre part, toute contrefaçon, plagiat, reproduction encourt une poursuite pénale. LIENS

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

Optimisation for Cloud Computing and Big Data

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

Concept totale. parfaitement compatibles permettant de jeter un «nouveau regard sur le marketing & les ventes».

Représentation des Nombres

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

Circuits RL et RC. Chapitre Inductance

Corrigé des TD 1 à 5

Quelles sont les principales formules utiles pour l étude de cas de vente?

Séparation et Evaluation pour le problème d ordonnancement avec blocage.

Stratégie de recherche adaptative en programmation par contrainte

Bases de données documentaires et distribuées Cours NFE04

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

physicien diplômé EPFZ originaire de France présentée acceptée sur proposition Thèse no. 7178

Annexe 6. Notions d ordonnancement.

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

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

Optimisation des performances d échangeurs de chaleur.

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

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

Dimensionnement Introduction

Chp. 4. Minimisation d une fonction d une variable

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

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

Algorithme. Table des matières

Manuel de validation Fascicule v4.25 : Thermique transitoire des structures volumiques

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

1 Recherche en table par balayage

INFO-F Algorithmique 3 et Recherche Opérationnelle

Semestre 1. Objectifs Approfondissement de l environnement Java et de son interface de programmation d applications : réseaux, et processus.

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

MAITRISE DE LA CHAINE LOGISTIQUE GLOBALE (SUPPLY CHAIN MANAGEMENT) Dimensionnement et pilotage des flux de produits

$SSOLFDWLRQGXNULJHDJHSRXUOD FDOLEUDWLRQPRWHXU

Accessibilité ERP Guide des obligations liées à l accessibilité des personnes handicapées dans les bâtiments ERP existants.*

Algorithmes récursifs

Transmission d informations sur le réseau électrique

Minimisation de la somme des retards dans un jobshop flexible

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

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

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

Transcription:

Les méthodes de résolution approchées pour le Programmation en nombres entiers Amélie Lambert Cnam ECE 2016-2017 Amélie Lambert (Cnam) ECE 2016-2017 1 / 63

1 Introduction et définition 2 Les algorithmes approchés : heuristiques Heuristique par Séparation-Evaluation avortée Heuristique par arrondi de la solution Heuristique par méthode gloutonne Heuristique par recherche locale 3 Les métaheuristique La métaheuristique Variable Neihborhood Descent (VND) La métaheuristique Variable Neihborhood Search (VNS) La métaheuristique Tabou Amélie Lambert (Cnam) ECE 2016-2017 2 / 63

1 Introduction et définition 2 Les algorithmes approchés : heuristiques Heuristique par Séparation-Evaluation avortée Heuristique par arrondi de la solution Heuristique par méthode gloutonne Heuristique par recherche locale 3 Les métaheuristique La métaheuristique Variable Neihborhood Descent (VND) La métaheuristique Variable Neihborhood Search (VNS) La métaheuristique Tabou Amélie Lambert (Cnam) ECE 2016-2017 3 / 63

Rappel : Comment dérober le maximum? Un malfaiteur arrive à s introduire à l intérieur d une banque Amélie Lambert (Cnam) ECE 2016-2017 4 / 63

Rappel : Comment dérober le maximum? Un malfaiteur arrive à s introduire à l intérieur d une banque Il peut voler des barres d or des liasses de billets Problème : Son sac à dos a : un volume max : 32 litres une charge max : 20kg Amélie Lambert (Cnam) ECE 2016-2017 4 / 63

Rappel : Comment dérober le maximum? Un malfaiteur arrive à s introduire à l intérieur d une banque Il peut voler une barre d or : 300000 $, 8kg, 6litres des barres d or un paquet de billets : 100000 $, 3kg, 6litres des liasses de billets Problème : Son sac à dos a : un volume max : 32 litres une charge max : 20kg Amélie Lambert (Cnam) ECE 2016-2017 4 / 63

Rappel : Comment dérober le maximum? Un malfaiteur arrive à s introduire à l intérieur d une banque Il peut voler une barre d or : 300000 $, 8kg, 6litres des barres d or un paquet de billets : 100000 $, 3kg, 6litres Modélisation du problème des liasses de billets Problème : Son sac à dos a : un volume max : 32 litres une charge max : 20kg Amélie Lambert (Cnam) ECE 2016-2017 4 / 63

Modélisation du problème Utilisation de la programmation linéaire en nombres entiers. Variables : variable x 1 nombre de barres d or (300000$, 8 kg, 6 litres) variable x 2 nombre de paquets de billets (100000$, 3 kg, 6 litres) Amélie Lambert (Cnam) ECE 2016-2017 5 / 63

Modélisation du problème Utilisation de la programmation linéaire en nombres entiers. Variables : variable x 1 nombre de barres d or (300000$, 8 kg, 6 litres) variable x 2 nombre de paquets de billets (100000$, 3 kg, 6 litres) (PLNE) max f (x 1, x 2 ) = 3x 1 + x 2 Maximiser le profit 8x 1 + 3x 2 20 Contrainte de charge 6x 1 + 6x 2 32 Contrainte de volume x 1, x 2 N Contraintes d intégrité Amélie Lambert (Cnam) ECE 2016-2017 5 / 63

Un algorithme de résolution approché Algorithme : Remplir le sac avec le maximum d or et compléter avec des billets. Amélie Lambert (Cnam) ECE 2016-2017 6 / 63

Un algorithme de résolution approché Algorithme : Remplir le sac avec le maximum d or et compléter avec des billets. Avec ces données le voleur a intérêt à dérober 2 barres d or et 1 paquet de billets pour gagner 700000 $. Amélie Lambert (Cnam) ECE 2016-2017 6 / 63

Un algorithme de résolution approché Algorithme : Remplir le sac avec le maximum d or et compléter avec des billets. Avec ces données le voleur a intérêt à dérober 2 barres d or et 1 paquet de billets pour gagner 700000 $. On trouve une solution, mais on ne sait pas si c est la meilleure solution pour toute les instances de ce problème notre algorithme est Heuristique Amélie Lambert (Cnam) ECE 2016-2017 6 / 63

Un algorithme dit "heuristique" Définition 1 : Une solution réalisable d un (PLNE) est une solution x qui satisfait les contraintes du problème. Amélie Lambert (Cnam) ECE 2016-2017 7 / 63

Un algorithme dit "heuristique" Définition 1 : Une solution réalisable d un (PLNE) est une solution x qui satisfait les contraintes du problème. Définition 2 : Un algorithme de résolution Heuristique est un algorithme qui fournit une solution réalisable en un temps polynomial pour un problème N P-difficile. Amélie Lambert (Cnam) ECE 2016-2017 7 / 63

Comment dérober le maximum Un malfaiteur arrive à s introduire à l intérieur d une banque Amélie Lambert (Cnam) ECE 2016-2017 8 / 63

Comment dérober le maximum Un malfaiteur arrive à s introduire à l intérieur d une banque Caractéristiques : une barre d or : 300000 $, 8kg, 6litres un paquet de billets : 100000 $, 3kg, 6litres Solution heuristique : l or d abord 2 lingots + 1 liasse profit : 2 3 + 1 1 = 7 Amélie Lambert (Cnam) ECE 2016-2017 8 / 63

Résolution approchée d un problème Résoudre un P(L)NE peut prendre longtemps! Mais si on a besoin d une solution rapidement? Idée : rechercher une "bonne" solution admissible (borne primale). Cette solution n est pas nécessairement optimale, mais meilleure que la plupart des autres solutions admissibles! Intérêt : recherche rapide Ces solutions (et les algorithmes pour les rechercher) sont dit(e)s approché(e)s, ou heuristiques Possibilité de validation par des bornes duales (et même recommandé!) Amélie Lambert (Cnam) ECE 2016-2017 9 / 63

Algorithmes approchés Algorithmes approchés particuliers (heuristiques) Méthodes par Séparation-Evaluation avortées, méthode gloutonne, arrondi de la solution optimale de la relaxation continue, algorithme par recherche locale,... Amélie Lambert (Cnam) ECE 2016-2017 10 / 63

Algorithmes approchés Algorithmes approchés particuliers (heuristiques) Méthodes par Séparation-Evaluation avortées, méthode gloutonne, arrondi de la solution optimale de la relaxation continue, algorithme par recherche locale,... Méthodes génériques (métaheuristiques) Algorithmes mono-solution : Variable Neighborhood Descent (VND), Variable Neighborhood Search (VNS), recherche tabou, recuit simulé,... Algorithmes multi-solutions Algorithmes génétiques, colonies de fourmis,... Amélie Lambert (Cnam) ECE 2016-2017 10 / 63

1 Introduction et définition 2 Les algorithmes approchés : heuristiques Heuristique par Séparation-Evaluation avortée Heuristique par arrondi de la solution Heuristique par méthode gloutonne Heuristique par recherche locale 3 Les métaheuristique La métaheuristique Variable Neihborhood Descent (VND) La métaheuristique Variable Neihborhood Search (VNS) La métaheuristique Tabou Amélie Lambert (Cnam) ECE 2016-2017 11 / 63

1 Introduction et définition 2 Les algorithmes approchés : heuristiques Heuristique par Séparation-Evaluation avortée Heuristique par arrondi de la solution Heuristique par méthode gloutonne Heuristique par recherche locale 3 Les métaheuristique La métaheuristique Variable Neihborhood Descent (VND) La métaheuristique Variable Neihborhood Search (VNS) La métaheuristique Tabou Amélie Lambert (Cnam) ECE 2016-2017 12 / 63

Méthodes par Séparation-Evaluation avortées Principe : exécuter partiellement une méthode par Séparation-Evaluation, et à l arrêter quand un critère d arrêt est vérifié : Temps limite : risque de ne pas avoir de solution réalisable (borne primale)! Ecart prédéfini entre borne primale / borne duale Critère mixte : temps limite si borne primale existe OU écart prédéfini entre borne primale/duale Amélie Lambert (Cnam) ECE 2016-2017 13 / 63

1 Introduction et définition 2 Les algorithmes approchés : heuristiques Heuristique par Séparation-Evaluation avortée Heuristique par arrondi de la solution Heuristique par méthode gloutonne Heuristique par recherche locale 3 Les métaheuristique La métaheuristique Variable Neihborhood Descent (VND) La métaheuristique Variable Neihborhood Search (VNS) La métaheuristique Tabou Amélie Lambert (Cnam) ECE 2016-2017 14 / 63

Heuristique par arrondi de la solution Principe : mettre à 1 toutes les variables qui valent 1 dans la solution optimale de la RC (et à 0 les autres). Amélie Lambert (Cnam) ECE 2016-2017 15 / 63

Heuristique par arrondi de la solution Principe : mettre à 1 toutes les variables qui valent 1 dans la solution optimale de la RC (et à 0 les autres). Fournit-il une bonne solution entière? Amélie Lambert (Cnam) ECE 2016-2017 15 / 63

Exemple : le sac à dos n max c i x i i=1 (SAD) n a i x i b i=1 x {0, 1} n Amélie Lambert (Cnam) ECE 2016-2017 16 / 63

Exemple : le sac à dos n max c i x i i=1 (SAD) n a i x i b i=1 Résolution de la relaxation continue : x {0, 1} n 1 Trier les objets dans l ordre décroissant des ratios c i a i 2 Charger le sac à dos dans cet ordre jusqu à sa capacité maximale mettre à 1 toutes les variables possible et couper la dernière Amélie Lambert (Cnam) ECE 2016-2017 16 / 63

Exemple : le sac à dos n max c i x i i=1 (SAD) n a i x i b i=1 Résolution de la relaxation continue : x {0, 1} n 1 Trier les objets dans l ordre décroissant des ratios c i a i 2 Charger le sac à dos dans cet ordre jusqu à sa capacité maximale mettre à 1 toutes les variables possible et couper la dernière Algorithme 1 : arrondir la solution continue pour obtenir une solution entière : = mettre à 1 toutes les variables qui valent 1 dans la solution optimale de la RC (et à 0 les autres). Amélie Lambert (Cnam) ECE 2016-2017 16 / 63

Exemple : le sac à dos Soit le sac à dos suivant : max x + (b 1)y (SAD) x + by b x, y {0, 1} 2 Amélie Lambert (Cnam) ECE 2016-2017 17 / 63

Exemple : le sac à dos Soit le sac à dos suivant : max x + (b 1)y (SAD) x + by b x, y {0, 1} 2 On prend x = 1 et y = 0, car 1 1 > b 1 b Amélie Lambert (Cnam) ECE 2016-2017 17 / 63

Exemple : le sac à dos Soit le sac à dos suivant : max x + (b 1)y (SAD) x + by b x, y {0, 1} 2 On prend x = 1 et y = 0, car 1 1 > b 1 b Valeur de la solution (entière) obtenue par l algorithme 1 = 1 Amélie Lambert (Cnam) ECE 2016-2017 17 / 63

Exemple : le sac à dos Soit le sac à dos suivant : max x + (b 1)y (SAD) x + by b x, y {0, 1} 2 On prend x = 1 et y = 0, car 1 1 > b 1 b Valeur de la solution (entière) obtenue par l algorithme 1 = 1 Mais, valeur de la solution (entière) optimale = b 1! Amélie Lambert (Cnam) ECE 2016-2017 17 / 63

Exemple : le sac à dos Algorithme 2 : prendre la meilleure de 2 solutions suivantes : la solution de l algorithme 1 Choisir le 1er objet non inclus dans le SAD dans l algorithme 1 le premier qui à une valeur < 1, on note j + 1 son indice Amélie Lambert (Cnam) ECE 2016-2017 18 / 63

Exemple : le sac à dos Algorithme 2 : prendre la meilleure de 2 solutions suivantes : la solution de l algorithme 1 Choisir le 1er objet non inclus dans le SAD dans l algorithme 1 le premier qui à une valeur < 1, on note j + 1 son indice Algorithme 1 : valeur j i=1 Algorithme 2 : valeur c j+1 Solution approchée de valeur max{ c i j c i, c j+1 } i=1 Amélie Lambert (Cnam) ECE 2016-2017 18 / 63

Algorithme approché spécifique : le sac-à-dos (3/3) Avec cette variante, on peut prouver que la valeur de la solution admissible calculée est au moins la moitié de la valeur d une solution optimale! Amélie Lambert (Cnam) ECE 2016-2017 19 / 63

Algorithme approché spécifique : le sac-à-dos (3/3) Avec cette variante, on peut prouver que la valeur de la solution admissible calculée est au moins la moitié de la valeur d une solution optimale! Cela nous fournit une garantie de performance a priori, mais l algorithme peut être bien meilleur en pratique Amélie Lambert (Cnam) ECE 2016-2017 19 / 63

Exercice 1 appliquez ces deux algorithmes sur le problème suivant : (SAD) max x 1 + x 2 + 5x 3 + 3x 4 3x 1 + 2x 2 + 4x 3 + 2x 4 5 x {0, 1} 4 Amélie Lambert (Cnam) ECE 2016-2017 20 / 63

1 Introduction et définition 2 Les algorithmes approchés : heuristiques Heuristique par Séparation-Evaluation avortée Heuristique par arrondi de la solution Heuristique par méthode gloutonne Heuristique par recherche locale 3 Les métaheuristique La métaheuristique Variable Neihborhood Descent (VND) La métaheuristique Variable Neihborhood Search (VNS) La métaheuristique Tabou Amélie Lambert (Cnam) ECE 2016-2017 21 / 63

Heuristique par méthode gloutonne Définition 3 : Un algorithme glouton fait, étape par étape, le choix d un optimum local. Amélie Lambert (Cnam) ECE 2016-2017 22 / 63

Heuristique par méthode gloutonne Définition 3 : Un algorithme glouton fait, étape par étape, le choix d un optimum local. Le problème du sac à dos. Approche gloutonne Trier les objets dans l ordre décroissant des ratios c i a i Tant qu il reste de la place dans le sac à dos faire Charger le sac à dos dans cet ordre jusqu à sa capacité maximale mettre à 1 toutes les variables possible Amélie Lambert (Cnam) ECE 2016-2017 22 / 63

Exercice 2 Appliquez cet algorithme sur le problème suivant : (SAD) max x 1 + x 2 + 5x 3 + 3x 4 3x 1 + 2x 2 + 4x 3 + 2x 4 5 x {0, 1} 4 Amélie Lambert (Cnam) ECE 2016-2017 23 / 63

1 Introduction et définition 2 Les algorithmes approchés : heuristiques Heuristique par Séparation-Evaluation avortée Heuristique par arrondi de la solution Heuristique par méthode gloutonne Heuristique par recherche locale 3 Les métaheuristique La métaheuristique Variable Neihborhood Descent (VND) La métaheuristique Variable Neihborhood Search (VNS) La métaheuristique Tabou Amélie Lambert (Cnam) ECE 2016-2017 24 / 63

Le voisinage d une solution Définition 6 : 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. Amélie Lambert (Cnam) ECE 2016-2017 25 / 63

Le voisinage d une solution Définition 6 : 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. Observation 3 : 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. Amélie Lambert (Cnam) ECE 2016-2017 25 / 63

Le voisinage d une solution Définition 6 : 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. Observation 3 : 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. Définition 7 : Une solution est un optimum local si elle est meilleure que toutes les autres solutions d un voisinage prédéfini Amélie Lambert (Cnam) ECE 2016-2017 25 / 63

Le voisinage d une solution Définition 6 : 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. Observation 3 : 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. Définition 7 : 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" Amélie Lambert (Cnam) ECE 2016-2017 25 / 63

Voisinage et transformations élémentaires Définir le voisinage correspond à définir la/les transformation(s) élémentaire(s)! Amélie Lambert (Cnam) ECE 2016-2017 26 / 63

Voisinage et transformations élémentaires Définir le voisinage correspond à définir la/les transformation(s) élémentaire(s)! Une transformation élémentaire doit être suffisamment simple Amélie Lambert (Cnam) ECE 2016-2017 26 / 63

Voisinage et transformations élémentaires Définir le voisinage correspond à définir la/les transformation(s) élémentaire(s)! Une transformation élémentaire doit être suffisamment simple Sac à dos : Echanger (au plus) k objets : cela correspond à modifier au moins une valeur dans le vecteur solution : 0 1 0 0 La distance dite de "Hamming" correspond nombres de bits qui diffèrent. 1 1 0 0 Amélie Lambert (Cnam) ECE 2016-2017 26 / 63

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 sol. x Recherche locale() DEBUT Choisir une solution initiale x 0 (obtenue par une méthode heuristique par exemple) x x 0 TANT QUE x n est pas un minimum local FAIRE Choisir x V (x) tel que f (x ) < f (x) x x FIN TANT QUE FIN Amélie Lambert (Cnam) ECE 2016-2017 27 / 63

Illustration du voisinage local Remarques : La solution initiale x 0 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 Lambert (Cnam) ECE 2016-2017 28 / 63

Illustration du voisinage local Remarques : La solution initiale x 0 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 Lambert (Cnam) ECE 2016-2017 29 / 63

Illustration du voisinage local Remarques : La solution initiale x 0 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 Lambert (Cnam) ECE 2016-2017 30 / 63

Illustration du voisinage local Remarques : La solution initiale x 0 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 Lambert (Cnam) ECE 2016-2017 31 / 63

Illustration du voisinage local Remarques : La solution initiale x 0 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 Lambert (Cnam) ECE 2016-2017 32 / 63

Exercice 3 En partant de la solution x = (0, 0, 0, 0), appliquez cet algorithme sur le problème suivant : (SAD) max x 1 + x 2 + 5x 3 + 3x 4 3x 1 + 2x 2 + 4x 3 + 2x 4 5 x {0, 1} 4 Amélie Lambert (Cnam) ECE 2016-2017 33 / 63

Optimalité locale vs globale Définition 8 : 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. Amélie Lambert (Cnam) ECE 2016-2017 34 / 63

Optimalité locale vs globale Définition 8 : 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 Amélie Lambert (Cnam) ECE 2016-2017 34 / 63

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 Amélie Lambert (Cnam) ECE 2016-2017 35 / 63

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 Piège à éviter : rester bloqué dans un optimum local, loin du global Amélie Lambert (Cnam) ECE 2016-2017 35 / 63

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 Piège à éviter : rester bloqué dans un optimum local, loin du global Pour cela, il faut bien définir le voisinage ET réussir à s extraire du voisinage d un optimum local : utilisation des métaheuristiques. Amélie Lambert (Cnam) ECE 2016-2017 35 / 63

1 Introduction et définition 2 Les algorithmes approchés : heuristiques Heuristique par Séparation-Evaluation avortée Heuristique par arrondi de la solution Heuristique par méthode gloutonne Heuristique par recherche locale 3 Les métaheuristique La métaheuristique Variable Neihborhood Descent (VND) La métaheuristique Variable Neihborhood Search (VNS) La métaheuristique Tabou Amélie Lambert (Cnam) ECE 2016-2017 36 / 63

Les métaheuristiques Définition 4 : Un algorithme de résolution métaheuristique est un algorithme heuristique "générique" qu il faut adapter à chaque problème. Amélie Lambert (Cnam) ECE 2016-2017 37 / 63

Les métaheuristiques Définition 4 : Un algorithme de résolution métaheuristique est un algorithme heuristique "générique" qu il faut adapter à chaque problème. Il peut être basé sur plusieurs principes communs : Voisinage Recherche locale Amélie Lambert (Cnam) ECE 2016-2017 37 / 63

Les métaheuristiques Définition 4 : Un algorithme de résolution métaheuristique est un algorithme heuristique "générique" qu il faut adapter à chaque problème. Il 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. Amélie Lambert (Cnam) ECE 2016-2017 37 / 63

Les métaheuristiques Définition 4 : Un algorithme de résolution métaheuristique est un algorithme heuristique "générique" qu il faut adapter à chaque problème. Il 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. Amélie Lambert (Cnam) ECE 2016-2017 37 / 63

Comment s extraire d un optimum local? Algorithmes mono-solutions : 1 En faisant se basant sur plusieurs voisinages : Variable Neihborhood Descent (VND) : definition de plusieurs structures de voisinages, pour tenter d atteindre une solution meilleure. Amélie Lambert (Cnam) ECE 2016-2017 38 / 63

Comment s extraire d un optimum local? Algorithmes mono-solutions : 1 En faisant se basant sur plusieurs voisinages : Variable Neihborhood Descent (VND) : definition de plusieurs structures de voisinages, pour tenter d atteindre une solution meilleure. 2 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é. Amélie Lambert (Cnam) ECE 2016-2017 38 / 63

Comment s extraire d un optimum local? Algorithmes mono-solutions : 1 En faisant se basant sur plusieurs voisinages : Variable Neihborhood Descent (VND) : definition de plusieurs structures de voisinages, pour tenter d atteindre une solution meilleure. 2 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é. 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.) Amélie Lambert (Cnam) ECE 2016-2017 38 / 63

Quelle métaheuristique choisir? Quelle est la plus efficace? : Aucune, et toutes à la fois : cela dépend du problème! En "moyenne", toutes ont la même efficacité : seul résultat théorique réellement applicable Amélie Lambert (Cnam) ECE 2016-2017 39 / 63

Quelle métaheuristique choisir? Quelle est la plus efficace? : Aucune, et toutes à la fois : cela dépend du problème! En "moyenne", toutes ont la même efficacité : seul résultat théorique réellement applicable Comment en choisir une, pour un problème donné? Pas de règle absolue pour : choisir une métaheuristique ou régler ses paramètres Expérience (savoir-faire) et/ou expérimentations (comparaison expérimentale)! Amélie Lambert (Cnam) ECE 2016-2017 39 / 63

Mise en oeuvre de métaheuristiques 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 Amélie Lambert (Cnam) ECE 2016-2017 40 / 63

Mise en oeuvre de métaheuristiques 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! Amélie Lambert (Cnam) ECE 2016-2017 40 / 63

Mise en oeuvre de métaheuristiques 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 Amélie Lambert (Cnam) ECE 2016-2017 40 / 63

1 Introduction et définition 2 Les algorithmes approchés : heuristiques Heuristique par Séparation-Evaluation avortée Heuristique par arrondi de la solution Heuristique par méthode gloutonne Heuristique par recherche locale 3 Les métaheuristique La métaheuristique Variable Neihborhood Descent (VND) La métaheuristique Variable Neihborhood Search (VNS) La métaheuristique Tabou Amélie Lambert (Cnam) ECE 2016-2017 41 / 63

Variable Neihborhood Descent (VND) Principe : 1 On définit k voisinages v k tels que v 1 < v 2 <... < v k. 2 On cherche une meilleure solution que x 0 dans v 1, pui dans v 2, etc... 3 Lorsqu une telle solution x best est trouvée, on tente de l améliorer d abord dans le voisinage v 1, puis dans v 2, etc... 4 On s arrête lorsqu on de peut plus améliorer x best. Amélie Lambert (Cnam) ECE 2016-2017 42 / 63

Variable Neihborhood Descent (VND) VND() DEBUT Choisir une solution initiale x 0 x best x 0 TANT QUE x best peut être amélioré FAIRE POUR i allant de 1 à k FAIRE POUR TOUT x v i (x) FAIRE SI f (x ) < f (x best ) ALORS x best x arrêter la boucle POUR arrêter la boucle FIN SI FIN POUR FIN TANT POUR FIN TANT QUE FIN POUR Amélie Lambert (Cnam) ECE 2016-2017 43 / 63

Illustration Remarques : Il n y a pas forcement v 1 v 2... v k 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. Amélie Lambert (Cnam) ECE 2016-2017 44 / 63

Illustration Remarques : Il n y a pas forcement v 1 v 2... v k 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. Amélie Lambert (Cnam) ECE 2016-2017 45 / 63

Illustration Remarques : Il n y a pas forcement v 1 v 2... v k 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. Amélie Lambert (Cnam) ECE 2016-2017 46 / 63

Illustration Remarques : Il n y a pas forcement v 1 v 2... v k 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. Amélie Lambert (Cnam) ECE 2016-2017 47 / 63

1 Introduction et définition 2 Les algorithmes approchés : heuristiques Heuristique par Séparation-Evaluation avortée Heuristique par arrondi de la solution Heuristique par méthode gloutonne Heuristique par recherche locale 3 Les métaheuristique La métaheuristique Variable Neihborhood Descent (VND) La métaheuristique Variable Neihborhood Search (VNS) La métaheuristique Tabou Amélie Lambert (Cnam) ECE 2016-2017 48 / 63

Variable Neihborhood Search (VNS) Principe : 1 On définit k voisinages v k tels que v 1 < v 2 <... < v k. 2 On cherche une meilleure solution que x 0. Pour cela on va appliquer VND. 3 Si une telle solution x best est trouvée, on tente de l améliorer d abord dans le voisinage v 1, puis dans v 2,.. 4 Sinon on est bloqué sur un optimum local, on tire au hasard une solution qui va devenir la solution à améliorer. 5 On s arrête lorsqu on de peut plus améliorer x best. Amélie Lambert (Cnam) ECE 2016-2017 49 / 63

Variable Neihborhood Search (VNS) VNS() DEBUT Choisir une solution initiale x 0 x best x 0 TANT QUE x best peut être amélioré FAIRE POUR i allant de 1 à k FAIRE Générer un point x au hasard dans le i eme voisinage de x (x v i (x)) Appliquer VND en partant de x, on note x l optimum local trouvé. SI f (x ) < f (x best ) ALORS x best x i 1 FIN SI FIN POUR FIN TANT QUE FIN Amélie Lambert (Cnam) ECE 2016-2017 50 / 63

Illustration Remarques : Il n y a pas forcement v 1 v 2... v k 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. Amélie Lambert (Cnam) ECE 2016-2017 51 / 63

Illustration Remarques : Il n y a pas forcement v 1 v 2... v k 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. Amélie Lambert (Cnam) ECE 2016-2017 52 / 63

Illustration Remarques : Il n y a pas forcement v 1 v 2... v k 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. Amélie Lambert (Cnam) ECE 2016-2017 53 / 63

Illustration Remarques : Il n y a pas forcement v 1 v 2... v k 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. Amélie Lambert (Cnam) ECE 2016-2017 54 / 63

Exercice 4 En partant de la solution x = (0, 1, 0, 1) et pour k = 3, appliquez cet algorithme sur le problème suivant : (SAD) max x 1 + x 2 + 5x 3 + 3x 4 3x 1 + 2x 2 + 4x 3 + 2x 4 5 x {0, 1} 4 Amélie Lambert (Cnam) ECE 2016-2017 55 / 63

1 Introduction et définition 2 Les algorithmes approchés : heuristiques Heuristique par Séparation-Evaluation avortée Heuristique par arrondi de la solution Heuristique par méthode gloutonne Heuristique par recherche locale 3 Les métaheuristique La métaheuristique Variable Neihborhood Descent (VND) La métaheuristique Variable Neihborhood Search (VNS) La métaheuristique Tabou Amélie Lambert (Cnam) ECE 2016-2017 56 / 63

Recherche tabou (RT) - Tabu search (1/4) Principe : associer un mécanisme de mémoire à une recherche locale classique Amélie Lambert (Cnam) ECE 2016-2017 57 / 63

Recherche tabou (RT) - Tabu search (1/4) Principe : associer un mécanisme de mémoire à une recherche locale classique Plus précisément, on construit une liste T (liste tabou) contenant les p dernières sol. visitées : p dépend du pb et des instances considéré(es) Amélie Lambert (Cnam) ECE 2016-2017 57 / 63

Recherche tabou (RT) - Tabu search (1/4) Principe : associer un mécanisme de mémoire à une recherche locale classique Plus précisément, on construit une liste T (liste tabou) contenant les p dernières sol. visitées : p dépend du pb et des instances considéré(es) A partir de la solution courante, on parcourt le voisinage, et on se déplace vers le meilleur voisin, tout en modifiant la liste tabou au besoin Amélie Lambert (Cnam) ECE 2016-2017 57 / 63

Recherche tabou (RT) - Tabu search (2/4) RT() DEBUT Choisir une solution initiale x x best x T = TANT QUE x best peut être amélioré FAIRE Appliquer une recherche locale en partant x sur le voisinage de x moins les éléments T. Soit x la solution obtenue T T x (éliminer si besoin le plus ancien élément de T ). SI f (x ) < f (x best ) ALORS x best x FIN SI FIN TANT QUE FIN Amélie Lambert (Cnam) ECE 2016-2017 58 / 63

Recherche tabou (RT) - Tabu search (3/4) Paramètre (choix concepteur) : taille p de la liste tabou T, qui est gérée comme une file (FIFO) (typiquement, p [5, 10]) Amélie Lambert (Cnam) ECE 2016-2017 59 / 63

Recherche tabou (RT) - Tabu search (3/4) Paramètre (choix concepteur) : taille p de la liste tabou T, qui est gérée comme une file (FIFO) (typiquement, p [5, 10]) En pratique, on stocke les transformations dans T, et non les solutions complètes Efficacité (temps, espace) vs perte d information Amélie Lambert (Cnam) ECE 2016-2017 59 / 63

Recherche tabou (RT) - Tabu search (3/4) Paramètre (choix concepteur) : taille p de la liste tabou T, qui est gérée comme une file (FIFO) (typiquement, p [5, 10]) En pratique, on stocke les transformations dans T, et non les solutions complètes Efficacité (temps, espace) vs perte d information Capacité de la RT à s extraire des min. locaux? Si min f (x ) > f (x), on "remonte" (on effectue une transformation x V (x) qui accroît la fonction objectif f) Ce mécanisme est susceptible de permettre d échapper à un minimum local Amélie Lambert (Cnam) ECE 2016-2017 59 / 63

Recherche tabou (RT) - Tabu search (4/4) Conditions d arrêt : Amélie Lambert (Cnam) ECE 2016-2017 60 / 63

Recherche tabou (RT) - Tabu search (4/4) Conditions d arrêt : Conditions déjà évoquées V (x) = (rare) Nb maximum d itérations sans améliorations Amélie Lambert (Cnam) ECE 2016-2017 60 / 63

Exercice 5 En partant de la solution x = (0, 1, 0, 1) et en considérant un voisinage avec une distance de hamming de 1 et une liste taboue de taille 3, appliquez cet algorithme sur le problème suivant : (SAD) max x 1 + x 2 + 5x 3 + 3x 4 3x 1 + 2x 2 + 4x 3 + 2x 4 5 x {0, 1} 4 Amélie Lambert (Cnam) ECE 2016-2017 61 / 63

Avantages des métaheuristiques Souvent efficaces en pratique Amélie Lambert (Cnam) ECE 2016-2017 62 / 63

Avantages des métaheuristiques Souvent efficaces en pratique Pas d algorithme spécifique à concevoir pour chaque problème Amélie Lambert (Cnam) ECE 2016-2017 62 / 63

Avantages des métaheuristiques Souvent efficaces en pratique Pas d algorithme spécifique à concevoir pour chaque problème N utilisent pas la formulation P(L)NE, donc indépendantes d une éventuelle non linéarité. Amélie Lambert (Cnam) ECE 2016-2017 62 / 63

Avantages des métaheuristiques Souvent efficaces en pratique Pas d algorithme spécifique à concevoir pour chaque problème N utilisent pas la formulation P(L)NE, donc indépendantes d une éventuelle non linéarité. La diversité des métaheuristiques existantes offre une certaine souplesse, car si une métaheuristique est inefficace sur un problème donné, on peut en essayer d autres, avec une mise en oeuvre rapide. Amélie Lambert (Cnam) ECE 2016-2017 62 / 63

Avantages des métaheuristiques Souvent efficaces en pratique Pas d algorithme spécifique à concevoir pour chaque problème N utilisent pas la formulation P(L)NE, donc indépendantes d une éventuelle non linéarité. La diversité des métaheuristiques existantes offre une certaine souplesse, car si une métaheuristique est inefficace sur un problème donné, on peut en essayer d autres, avec une mise en oeuvre rapide. Peuvent être utilisées avant une méthode par Séparation-Evaluation Amélie Lambert (Cnam) ECE 2016-2017 62 / 63

Inconvénients des métaheuristiques : Garantie de performance a posteriori (la plupart du temps, pas d analyse théorique possible) Amélie Lambert (Cnam) ECE 2016-2017 63 / 63

Inconvénients des métaheuristiques : Garantie de performance a posteriori (la plupart du temps, pas d analyse théorique possible) Nécessité de régler des paramètres spécifiques aux pb par des expérimentations (pas d anticipation). Amélie Lambert (Cnam) ECE 2016-2017 63 / 63

Inconvénients des métaheuristiques : Garantie de performance a posteriori (la plupart du temps, pas d analyse théorique possible) Nécessité de régler des paramètres spécifiques aux pb par des expérimentations (pas d anticipation). Comme pour les algorithmes approchés spécifiques, difficiles (impossibles?) à utiliser si trouver une borne primale (solution initiale) est difficile pour le problème considéré. Amélie Lambert (Cnam) ECE 2016-2017 63 / 63