Cours 4 Méthodes arborescentes et PLNE

Documents pareils
Cours de Master Recherche

Programmation linéaire

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

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

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

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

Programmation Linéaire - Cours 1

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

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

Optimisation Discrète

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

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

Programmation linéaire

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

Algorithmes d'apprentissage

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

Resolution limit in community detection

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

Programmation linéaire et Optimisation. Didier Smets

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

Application 1- VBA : Test de comportements d'investissements

Les structures de données. Rajae El Ouazzani

OPTIMISATION À UNE VARIABLE

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

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

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

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

Correction du baccalauréat ES/L Métropole 20 juin 2014

Arbres binaires de décision

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

4.2 Unités d enseignement du M1

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Programmation par contraintes. Laurent Beaudou

Théorie et codage de l information

Pourquoi l apprentissage?

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

Etude d un cas industriel : Optimisation de la modélisation de paramètre de production

Le prototype de la fonction main()

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

Bien lire l énoncé 2 fois avant de continuer - Méthodes et/ou Explications Réponses. Antécédents d un nombre par une fonction

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

Cours de recherche opérationnelle I

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

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

chapitre 4 Nombres de Catalan

Licence Sciences et Technologies Examen janvier 2010

Intelligence Artificielle Planification

Programmation linéaire

RECHERCHE OPERATIONNELLE

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Application de K-means à la définition du nombre de VM optimal dans un cloud

Stratégie de recherche adaptative en programmation par contrainte

Revue d article : Dynamic Replica Placement for Scalable Content Delivery

Représentation des Nombres

Quantification Scalaire et Prédictive

Feuille TD n 1 Exercices d algorithmique éléments de correction

LES MÉTHODES DE POINT INTÉRIEUR 1

Quelques algorithmes simples dont l analyse n est pas si simple

Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures)

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

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

Cours 1 : Qu est-ce que la programmation?

Chp. 4. Minimisation d une fonction d une variable

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

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

Théorie des Jeux Et ses Applications

Annexe 6. Notions d ordonnancement.


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

Arbres binaires de recherche

Coup de Projecteur sur les Réseaux de Neurones

1 Année LMD-STSM Algorithmique et Programmation. Série de TD 2

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

Ebauche Rapport finale

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

Parallélisme et Répartition

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

ARBRES BINAIRES DE RECHERCHE

Factorisation Factoriser en utilisant un facteur commun Fiche méthode

Image d un intervalle par une fonction continue

Utilisation du backtrack intelligent dans un branch-and-bound Application au problème d Open-Shop

Ordonnancement robuste et décision dans l'incertain

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Optimisation des fonctions de plusieurs variables

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

Echantillonnage Non uniforme

Les algorithmes de fouille de données

Informatique Générale

Algorithmes de recherche

Apprentissage par renforcement (1a/3)

INFO-F Algorithmique 3 et Recherche Opérationnelle

Jean-Philippe Préaux

Les arbres binaires de recherche

TRACER LE GRAPHE D'UNE FONCTION

Big Data et Graphes : Quelques pistes de recherche

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

Algorithmique et structures de données I

Seconde et première Exercices de révision sur les probabilités Corrigé

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Transcription:

RCP4 Optimisation en Informatique Cours 4 Méthodes arborescentes et PLNE CNAM /3 Sourour Elloumi et Eric Soutif RCP4 Optimisation en Informatique Plan du cours Cours : Introduction Cours : Modélisation Cours 3 : Rappels de Programmation Linéaire (PL) Cours 4 : Méthodes arborescentes et PLNE Cours 5 : Métaheuristiques Cours 6 : Prétraitements

Définition PLNE 3 Programmation linéaire en nombres entiers (PLNE) : Programmation linéaire où certaines variables ne peuvent prendre que des valeurs entières Programmation pure (resp. mixte) en NE : la totalité (resp. un sous-ensemble) des variables sont entières Programmation - ou binaire : les variables entières ne peuvent être que ou Exemple 4 max x +.64x s.c.: 5x + 3x 5 3x x 4 x, x et entiers

Exemple - Suite 5 point optimal continu (.95, 4.9) objectif 5.68 point optimal entier (5, ) objectif 5 Définition PLNE 6 PL et PLNE sont TRÉS différentes Optimisation continue convexe / Optimisation discrète Suite de ce cours : Utilité de la PLNE Résolution des PLNE 3

7 Application : choix d usines et d entrepôts But : choisir de nouveaux emplacements pour construire des usines et des entrepôts Deux emplacements : Lyon et Toulouse On ne peut construire plus d un entrepôt On ne peut construire un entrepôt que dans une ville où l on a aussi une usine On connaît, pour chaque ville : Coefficient de rentabilité usine ou entrepôt Coût de construction usine ou entrepôt Le coût total de construction ne peut pas dépasser Objectif : maximiser la rentabilité Application : données 8 Rentabilité Coût Usine à L 9 6 Usine à T 5 3 Entrepôt à L 6 5 Entrepôt à T 4 4

Application : modèle 9 Variables de décision : x = si une usine est construite à Lyon et sinon x = si une usine est construite à Toulouse et sinon y = si un entrepôt est construit à Lyon et sinon y = si un entrepôt est construit à Toulouse et sinon Application : modèle Contraintes - On ne peut construire plus d un entrepôt y +y - On ne peut construire un entrepôt que dans une ville où l on a aussi une usine y x y x 3- Le coût total de construction ne peut pas dépasser 6x +3x +5y +y Objectif max 9x +5x +6y +4y 5

Application : résumé du modèle et mise en version minimisation min Z = 9 s.c.: y + y y x y x 6x + 3x x, x x 5x + 5y, y, y 6y + y 4y et entiers C est notre exemple de base Exemple de base: résolution par un solveur/modeleur (glpk-gmpl) #Exemple du cours #variables var x binary; var x binary; var y binary; var y binary; #fonction objectif minimize Z : -9*x - 5*x - 6*y - 4*y ; #contraintes subject to c: y + y <= ; c: y <= x; c3: y <= x; c4: 6*x +3*x +5*y +*y <= ; printf "------Début de la résolution -----\n"; solve; printf "------Fin de la résolution -----\n"; display Z; display x; display x; display y; display y; end; 6

3 Exemple de base: résolution par un solveur/modeleur (OPL-Cplex) Valeur optimale : Z* = -4 valeur de x : valeur de x : valeur de y : valeur de y : Langage de modélisation : OPL (Optimization Programming Language) Solveur : Cplex (IBM-Ilog) Résolution des PLNE 4 Nous allons voir comment résoudre les PLNE. Dans le cas particulier des problèmes purement binaires PL. Dans le cas général des PLNE 7

8 Résolution des PL- Exemple de base 5 + + + + = et entiers,,, 5 3 6 s.c.: 4 6 5 9 min y y x x y y x x x y x y y y y y x x Z ère idée : énumération 6 Résolution des PL

Résolution des PL- Énumération 7 Idée : il existe un nombre fini de solutions. Enumérons-les! x x y y Z=!!! Z=-5!! Z=-9!!! Z=-4!!! Z=-9 Résolution des PL- Enumération 8 Pour n variables binaires, n cas possibles Pour n=, plus d un million Pour n=3, plus d un milliard Idée d énumération de tous les cas possibles impraticable en Optimisation Discrète en général 9

Résolution des PL 9 ème idée : encadrement de la valeur optimale Relaxation continue - exemple de base Relaxation continue = on «oublie» le caractère entier des variables On obtient un programme linéaire (continu) qu on sait résoudre, par exemple par la méthode du simplexe : Solution (x, x, y, y )=(5/6,,, ) Valeur optimale : Z = -33/ = -6.5

Relaxation continue: interprétation + Valeurs possibles de toutes les solutions admissibles, entières ou non -6,5 - Relaxation continue: interprétation Conclusion : la valeur optimale (en entier) -6.5 Propriété générale Pour un problème de maximisation : la valeur optimale en entier la valeur optimale en continu Pour un problème de minimisation : la valeur optimale en entier la valeur optimale en continu On dit que la valeur optimale de la relaxation continue est une borne supérieure (si objectif de maximisation) ou une borne inférieure (si objectif de minimisation) de la valeur optimale en entier

Exemple - Rappel (max) 3 point optimal continu (.95, 4.9) objectif 5.68 point optimal entier (5, ) objectif 5 Connaissance d une solution admissible 4 Question : quelle information a-t-on si l on dispose d une solution admissible?

5 Connaissance d une solution admissibleexemple de base Admettons que l on connaisse la solution (x, x, y, y ) = (,,, ) de valeur Z = -9 6 Connaissance d une solution admissibleexemple de base + Valeurs possibles de toutes les solutions admissibles, entières ou non -9 Valeurs possibles de toutes les solutions entières optimales -6,5-3

7 Connaissance d une solution admissibleexemple de base Conclusion : la valeur d une solution optimale est comprise entre -6.5 et -9 Propriété générale : Pour un problème de minimisation, val. optimale en continu val. optimale en entier val. d une solution admissible borne inférieure borne supérieure Pour un problème de maximisation, val. d une solution admissible val. optimale en entier val. optimale en continu 8 Algorithme Branch-and-Bound (Séparation et évaluation) pour résoudre un PLNE Ingrédients de base : encadrement de la valeur optimale (borne inférieure, borne supérieure) énumération limitée dans le but d obtenir un encadrement de plus en plus fin 4

B&B- Exemple de base 9 Dans la solution de la relaxation continue : (x, x, y, y )=(5/6,,, ), x n est pas entier. On va «brancher» selon les deux valeurs possibles de x : et B&B- Exemple de base 3 Solution courante : -9 S : toutes les solutions entières opt -6.5 x = x = S : toutes les solutions entières telles que x = S : toutes les solutions entières telles que x = 5

B&B- Exemple de base 3 Sous-ensemble S : x= min Z = 5x 6y 4 y s.c. : y + y y y x 3x + 5y + y x, y, y et entiers Solution de la relaxation continue : (x, y, y)=(,, ) et Z=-9, et c est une solution entière! B&B- Exemple de base 3 Solution courante : -9 S : toutes les solutions entières opt -6.5 x = x = S : toutes les solutions entières telles que x = opt= -9 S : toutes les solutions entières telles que x = 6

B&B- Exemple de base 33 Sous-ensemble S : x= min Z = 9 5x 6y 4 y s.c. : y + y y y x 3x + 5y + y 4 x, y, y et entiers Solution de la relaxation continue : (x, y, y)=(4/5,, 4/5) et Z=-6. B&B- Exemple de base 34 Solution courante : -9 S : toutes les solutions entières opt -6.5 x = x = S : toutes les solutions entières telles que x = Opt= -9 S : toutes les solutions entières telles que x = opt -6. 7

B&B- Exemple de base 35 Conclusion actuelle : Meilleure solution admissible connue (solution courante) de valeur -9 Meilleure borne inférieure connue : -6. La valeur optimale est donc comprise entre -9 et -6. Comment continuer? B&B- Exemple de base 36 Le noeud S peut être élagué car on connaît la valeur d une solution entière optimale dans cet ensemble (valeur solution courante relaxation continue) S : toutes les solutions entières telles que x = Opt= -9 8

B&B- Exemple de base 37 Pour le noeud S, on applique le même traitement que pour S S : toutes les solutions entières telles que x = opt -6. Solution de la relaxation continue : (x,x, y, y)= (,4/5,, 4/5) et Z=-6.. On va brancher sur x B&B- Exemple de base 38 Sous-ensemble S3 : x = et x = Solution de la relaxation continue : (x,x, y, y )= (,,4/5,) et Z=-3.8 Sous-ensemble S4 : x = et x = Solution de la relaxation continue : (x,x, y, y )= (,,,.5) et Z=-6 9

B&B- Exemple de base 39 S Solution courante : -9 opt -6.5 x = x = S Opt= -9 S opt -6. x = x = S3 opt -3.8 S4 opt -6 B&B- Exemple de base 4 Conclusion actuelle : Valeur meilleure solution connue : -9 Meilleure borne inférieure connue :-6 On ne peut élaguer ni S3 ni S4 On «repart» avec S4 qui a la plus petite borne inférieure. On branche sur y

B&B- Exemple de base 4 Sous-ensemble S5 : x =, x = et y = Solution de la relaxation continue : (x,x, y, y )= (,,,.5) et Z=-6 Sous-ensemble S6 : x =, x = et y = impossible. S6 peut donc être élagué B&B- Exemple de base 4 x = S Opt= -9 S opt - 6.5 S3 opt - 3.8 x = S opt - 6. x = x = S5 opt -6 Solution courante : -9 S4 opt - 6 y = y = S6 impossible

B&B- Exemple de base 43 Conclusion actuelle : Valeur meilleure solution connue : -9 Meilleure borne inférieure connue : -6 On peut repartir soit avec S3 soit avec S5, on repart avec S5, on branche sur y B&B- Exemple de base 44 Sous-ensemble S7 : x=, x=, y= et y= Solution unique entière et Z=-4 (<-9 donc Nouvelle solution courante) Sous-ensemble S8 : x=, x=, y= et y= impossible. S8 peut donc être élagué

45 B&B- Exemple de base x = S Opt= -9 S opt -6.5 x = S opt -6. Solution courante : -4 Peut être élagué car borne inférieure > à val. sol courante Peut être élagué car sol optimale connue S3 opt -3.8 S7 Opt= -4 x = x = S5 opt -6 y = y = S4 opt -6 y = y = S8 impossible S6 impossible B&B- Exemple de base 46 Conclusion : on peut s arrêter car tous les nœuds ont été élagués. On prouve ainsi que la solution de valeur -4 est optimale! 3

47 B&B- Exemple de base, gain par rapport à l énumération complète x x y y Z=!!! Z=-5 Z=-9!! Z=-9!!! Z=-4!!! Algorithme B&B (min)- Résumé 48 Initialisation Calculer une solution admissible de valeur Z* ou poser Z*=+ Résoudre la relaxation continue et mettre à jour éventuellement Z* (évaluation) Appliquer les tests d élagage Tant qu il reste des nœuds non élagués Choisir un nœud non élagué Brancher sur une des variables (séparation) Pour chacun des nouveaux nœuds, résoudre la relaxation continue et mettre à jour éventuellement Z* Appliquer les tests d élagage Fin tant que La solution courante Z* est optimale 4

Algorithme B&B (min)- Résumé- suite 49 Un nœud est élagué si: La relaxation continue n a pas de solution La valeur optimale de la relaxation continue Z* Solution entière de la relaxation continue Pas de solution admissible entière La mise en place de l algorithme nécessite de préciser : La règle de sélection : quel nœud non élagué choisir? La règle de branchement : sur quelle variable brancher? Algorithme B&B (min)- Résumé- suite 5 Dans le cas général des variables entières (non seulement -), on choisit une variable de valeur fractionnaire dans la solution optimale de la relaxation continue et on branche sur l arrondi supérieur et inférieur de cette valeur Exemple : x 5 =3.48 x 5 3 x 5 33 5

Détermination des solutions admissibles 5 Ce n est pas toujours facile (pb général NPcomplet) Il n existe pas de méthode générale rapide On peut se contenter de celles qu on trouve lors de la résolution des relaxations continues Il existe des algorithmes qui fonctionnent bien dans des cas particuliers, par exemple l arrondi Problème d efficacité 5 C est le nombre de nœuds explorés qui déterminera le temps de calcul. À chaque nœud, on résout un programme linéaire (continu) On ne peut pas prévoir à l avance le nombre maximal de nœuds qu il faudra explorer En règle générale, un programme linéaire continu se résout «vite» Un PLNE nécessite du temps 6

Efficacité- Exemple 53 n min Z = c jx j j= s.c. : n a jx j b j= n a jx j b j= x j variables binaires Problème avec n= variables données engendrées aléatoirement Relaxation continue :.3 secondes Résolution en entier : 43 secondes (54 nœuds) 54 Quelques implémentations classiques des B&B Méthode de Balas pour les PL : Ré-écrire z (à minimiser) de sorte que z n ait pas de coefficients négatifs et les variables soient triées en ordre croissant de ces coefficients (tout programme peut être exprimé de cette façon) Séparation : fixer une variable soit à soit à Si un sous-problème a un second-membre positif ou nul, on a déjà une solution réalisable (en fixant toutes les variables restant à ) et c est la solution optimale de ce (sous-)problème Parcourir l arbre en profondeur Plusieurs règles d élagage permettent de savoir qu un problème donné est infaisable ou ne peut donner une solution meilleure d une solution déjà trouvée. 7

55 Quelques implémentations classiques des B&B Méthode de Dakin pour les PLNE : Parcourir l'arbre en profondeur (ce qui a une bonne chance de produire une solution réalisable assez vite) Choisir à chaque itération le problème possédant la meilleure solution de son programme relaxé Séparer sur une nouvelle variable dont la valeur (dans la solution optimale du programme relaxé) est la plus proche d'un entier k. Cette variable a une fourchette de valeurs possibles, disons [min,max]. On construit deux nouveaux problèmes, un avec [min,k], et l'autre avec [k+,max] 8