Résolution approchée de PLNE par des heuristiques

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

Jean-Philippe Préaux

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

Optimisation Discrète

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

Cours de Master Recherche

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

Programmation Linéaire - Cours 1

Programmation linéaire

Plus courts chemins, programmation dynamique

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

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

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

Programmation linéaire

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

4.2 Unités d enseignement du M1

Algorithmes de recherche

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

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

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

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

Chp. 4. Minimisation d une fonction d une variable

LE PROBLEME DU PLUS COURT CHEMIN

Travaux dirigés n 1. Programmation linéaire

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

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

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

Resolution limit in community detection

LES MÉTHODES DE POINT INTÉRIEUR 1

Chapitre 5 : Flot maximal dans un graphe

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

Cours de recherche opérationnelle I

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Algorithmique et Programmation, IMA

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

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

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

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

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

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

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

Programmation linéaire et Optimisation. Didier Smets

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

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

Programmation par contraintes. Laurent Beaudou

Introduction à la théorie des graphes. Solutions des exercices

INFO-F Algorithmique 3 et Recherche Opérationnelle

UNIVERSITE PARIS VII - DENIS DIDEROT U.F.R. D'INFORMATIQUE THESE

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

CHAPITRE 5. Stratégies Mixtes

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

Programmation mathématique Discrète et Modèles Linéaires

Fonctions de plusieurs variables

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

Cours 02 : Problème général de la programmation linéaire

Gestion de Production

Journées Télécom-UPS «Le numérique pour tous» David A. Madore. 29 mai 2015

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

Principes d implémentation des métaheuristiques

Raisonnement par récurrence Suites numériques

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

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

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

3 Approximation de solutions d équations

Une comparaison de méthodes de discrimination des masses de véhicules automobiles

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

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

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48

Optimisation et programmation mathématique. Professeur Michel de Mathelin. Cours intégré : 20 h

Quantification Scalaire et Prédictive

Programmation linéaire

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

Annexe 6. Notions d ordonnancement.

Chapitre 6. Fonction réelle d une variable réelle

Pourquoi l apprentissage?

PROGRAMME PEDAGOGIQUE. SPÉCIALITÉ Logistique Pour la Santé

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

Continuité et dérivabilité d une fonction

THÈSE. En vue de l'obtention du JURY

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

Modélisation multi-agents - Agents réactifs

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

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

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

Contrainte de flot pour RCPSP avec temps de transfert

RECHERCHE OPERATIONNELLE

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

Optimisation for Cloud Computing and Big Data

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

Lagrange, où λ 1 est pour la contrainte sur µ p ).

C f tracée ci- contre est la représentation graphique d une

4 Exemples de problèmes MapReduce incrémentaux

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

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

Table des matières. 1 Programmation linéaire 1

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

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

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

Cours d Analyse. Fonctions de plusieurs variables

Transcription:

Résolution approchée de PLNE par des heuristiques RCP 104 CNAM, 2012-2013

Résolution «approchée»? Résoudre un PLNE peut prendre du temps! Mais si on a besoin d'une solution rapidement? 2 Idée : rechercher une «bonne» solution Solution admissible Pas nécessairement optimale, mais meilleure que la plupart des autres solutions admissibles! Intérêt : recherche rapide (si possible, cf PVC)! Ces sol. (et les algorithmes pour les rechercher) sont dit(e)s approché(e)s, ou heuristiques Possibilité de validation par des bornes inf./sup.

Rappel : définition et propriétés des relaxations Définition limitée à dessein au cadre de ce cours : Un problème (R) est une relaxation d'un PLNE (P) si toute solution de (P) est solution de (R) Région admissible de (R) Région admissible de (P) 3 1. [Min] Si (R) est une relaxation de (P), alors sa valeur optimale est une borne inférieure pour (P) 2. Si (R) n'a pas de solutions admissibles, (P) non plus 3. Si une solution optimale de (R) est admissible pour (P), alors elle est également optimale pour (P)

Rappel : relaxation continue (RC) Soit le PLNE (P)={min f(x), x admissible et entier} Question : relaxation (R) plus simple à résoudre? Le PL (R)={min f(x), x admissible} est appelé relaxation continue (ou linéaire) de (P) Dans (R), on ignore les contraintes d'intégrité de (P) 4 Propriété : (R) est bien une relaxation de (P), car toute solution de (P) est solution de (R)! Corollaire (cf PL1) : si (R) admet une solution optimale entière, cette solution est optimale pour (P)! Intérêt de (R) : (R) est un PL, et peut donc être résolu à l'aide d'algorithmes efficaces (tels le simplexe)!

5 Rappel : encadrement de la valeur optimale d un PLNE Une relaxation d un PLNE fournit une borne inf. (si on min.) ou sup. (si on max.) La valeur d une solution admissible fournit une borne sup. (si on min.) ou inf. (si on max.) La valeur optimale se trouve quelque part entre ces deux bornes! Une heuristique peut donc également être utilisée (par exemple) pour initialiser un B&B (méthode «exacte», c est-à-dire avec garantie d optimalité)

6 Panorama des méthodes de résolution

Algorithmes approchés Différentes méthodes à utiliser : 7 Méthodes par S&E avortées Algorithmes approchés particuliers (adaptés au pb) Méthode/heuristique gloutonne (PVC, Couverture) Heuristique de réparation (SAD, SAD bidimensionnel) Heuristique par recherche locale Autre algorithme/heuristique spécifique Méthodes génériques (métaheuristiques) Recherche tabou (ou avec tabous ) Recuit simulé Algorithmes génétiques Autres : VNS, colonies de fourmis, etc.

8 Méthodes par S&E avortées Consistent simplement à 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 = pas de 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 Avantage : réutilise les méthodes par S&E! Inconvénient : réutilise les méthodes par S&E!

9 Heuristiques gloutonnes Description générale : Principe : faire le choix (afin d obtenir une solution partielle) qui semble être le meilleur à l étape courante, et construire le reste de la solution sans jamais remettre en cause ce choix Avantage : souvent très rapides, et la solution obtenue peut ensuite éventuellement être améliorée Inconvénient : la solution obtenue n est en général pas de très bonne qualité

10 Problème du voyageur de commerce (PVC) Un graphe orienté G=(S,A), dont les n sommets (villes) sont reliés par des arêtes (routes) valuées par des distances PVC = trouver, dans G, un circuit hamiltonien (= passant une et une seule fois par chaque ville) de distance totale minimum Remarque : dans le cas général, trouver un circuit hamiltonien (= une solution admissible) est déjà un problème «difficile», mais si G est «complet» c est un problème trivial.

11 Heuristiques gloutonnes pour le PVC (G complet) Heuristique du plus proche voisin : v := ville initiale v1 (v = ville courante) R := S-{v1} (R = villes pas encore «visitées») Tant que R non vide faire Visiter la ville v de R la plus proche de v R := R-{v } v := v Retourner en v1 Temps d exécution quadratique (en O(n 2 )) : Avantage : simple et relativement rapide Inconvénient : ne tient pas compte des conséquences indirectes du choix consistant à aller à la ville la plus proche (par exemple, revenir à la ville initiale peut avoir un coût prohibitif)

12 Heuristiques gloutonnes pour le PVC (G complet) Heuristique par insertion : idée = construire un tour en introduisant à chaque étape une nouvelle ville dans un sous-tour (ou tour partiel)

13 Heuristiques gloutonnes pour le PVC (G complet) Heuristique par insertion : Choisir arbitrairement deux villes v1 et v2 S := {v1, v2} (S = villes du sous-tour en construction) A := {(v1,v2), (v2,v1)} (A = arêtes du sous-tour en construction) Tant que S < S faire S := S + {une ville v choisie arbitrairement dans S-S } Déterminer les 2 villes v et v consécutives dans S qui minimisent la quantité dist(v,v)+dist(v,v )-dist(v,v ) A := A + {(v,v), (v,v )} (v,v )

14 Heuristiques gloutonnes pour le PVC (G complet) Deux variantes : Plus proche insertion : on choisit la ville v la plus proche du sous-tour courant, çàd qui minimise min{dist(v,v) : v dans S } Plus lointaine insertion : on choisit la ville v la plus éloignée du sous-tour courant, çàd qui maximise min{dist(v,v) : v dans S } Temps d exécution quadratique pour chaque variante La seconde insère au mieux les villes les plus lointaines, qui devront faire partie du tour de toute façon En pratique (c est-à-dire empiriquement), on constate que c est en général cette variante qui est la plus efficace

15 Heuristique gloutonne pour le problème de couverture Problème de couverture : Donnée : un graphe non orienté G=(S,A) Problème : trouver un sous-ensemble de sommets C de S de cardinalité minimale tel que, pour toute arête [u,v] de A, u est dans C ou v est dans C Heuristique gloutonne : C := ensemble vide (couverture en construction) A := A (arêtes pas encore «couverte») Tant que A non vide faire Choisir arbitrairement une arête [u,v] dans A C := C + {u,v} A := A {[u,v]} {arêtes ayant une extrémité en commun avec [u,v]} Au plus A itérations, et la solution C obtenue a au plus deux fois le nombre de sommets d une solution optimale (car les arêtes choisies n ont pas d extrémités en commun) «garantie de performance» de 2 a priori (peut être meilleure en pratique)

16 Heuristiques de réparation Principe : Déterminer une «bonne» solution non admissible (obtenue, par exemple, à l aide d une relaxation) Reconstruire, à partir de cette solution non admissible, une solution admissible sans trop dégrader la valeur de la fonction objectif Plusieurs types de relaxations : Relaxation continue arrondi de la RC Relaxation par agrégation de contraintes Etc.

Algorithme approché spécifique : le sac-à-dos (1/2) Idée : 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? Vérifions sur un exemple : max x+(b-1)y x+by b x,y{0,1} On prend x=1 et y=0, car 1/1>(b-1)/b : Valeur de la solution (entière) obtenue = 1 17 Valeur de la solution (entière) optimale = b-1!

Algorithme approché spécifique : le sac-à-dos (2/2) 2e idée : prendre la meilleure de 2 sol. simples 1ère sol. : la solution précédente (arrondi de la RC) 2e sol. : choisir le 1er objet non inclus dans le SAD Solution admissible, facile à calculer Analyse du pb {max i c i x i : i a i x i b, x i {0,1} i} : Soit j la dernière variable à 1 dans la 1ère solution : 1ère sol. de valeur i=1 à j c i et 2ème sol. de valeur c j+1 Solution approchée de valeur max{ i=1 à j c i, c j+1 } 18 «Garantie de performance» de 2 a priori

Heuristique de réparation pour le sac-à-dos bidimensionnel Sac-à-dos bidimensionnel : Mêmes données et fonction objectif que le sac-à-dos Deux contraintes au lieu d une Principe de l heuristique de réparation : Sommer les 2 contraintes en une seule Résoudre l instance de sac-à-dos obtenue Retirer les objets qui «débordent» du sac, en commençant par les moins «intéressants» 19

20 A retenir... Avantages des algo. approchés spécifiques : Exploitent les particularités du problème Parfois, analyse théorique de l'algo. possible (garantie a priori) Peuvent être utilisés avant une métaheuristique ou même un Branch & Bound (solution initiale) Inconvénients des algo. approchés spécifiques : Exploitent les particularités du pb = non portables! Contrairement aux méthodes par S&E avortées, la conception d'un tel algorithme reste délicate quand trouver une borne primale est difficile (cf PVC dans le cas général)