Introduction à la programmation en variables entières Cours 3

Documents pareils
Programmation Linéaire - Cours 1

Optimisation Discrète

Programmation linéaire

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

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

Programmation linéaire

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

Cours de Master Recherche

Chapitre 7. Récurrences

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

Programmation linéaire et Optimisation. Didier Smets

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

Introduction à la Programmation par Contraintes (PPC) Ruslan Sadykov LIX, École Polytechnique

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

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

Programmation Par Contraintes

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

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

Programmation par contraintes. Laurent Beaudou

Cours de recherche opérationnelle I

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

Jean-Philippe Préaux

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

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

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

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

Les équations différentielles

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

Résolution d équations non linéaires

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

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

Annexe 6. Notions d ordonnancement.

Probabilités sur un univers fini

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

Travaux dirigés n 1. Programmation linéaire

Stratégie de recherche adaptative en programmation par contrainte

Contrainte de flot pour RCPSP avec temps de transfert

Arbres binaires de décision

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Les arbres binaires de recherche

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

Principes d implémentation des métaheuristiques

INFO-F Algorithmique 3 et Recherche Opérationnelle

L apprentissage automatique

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Éditorial. Tangente ÉDUCATION. Scratch, AlgoBox, Python. Trimestriel - n 15 - janvier 2011 Numéro spécial 16 activités TICE pour le lycée

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

RECHERCHE OPERATIONNELLE

Gestion de Production

Optimisation des fonctions de plusieurs variables

Quelques tests de primalité

CORRECTION EXERCICES ALGORITHME 1

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

Optimisation for Cloud Computing and Big Data

Cours d analyse numérique SMI-S4

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

Cours 1 : Qu est-ce que la programmation?

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

GENCOL : une équipe et un logiciel d optimisation

LES PROBLEMES D'ORDONNANCEMENT

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

LES MÉTHODES DE POINT INTÉRIEUR 1

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

3 Approximation de solutions d équations

Licence Sciences et Technologies Examen janvier 2010

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

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

Dualité dans les espaces de Lebesgue et mesures de Radon finies

1 Introduction et modèle mathématique

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

Chapitre 3. Les distributions à deux variables

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

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

Exercices - Polynômes : corrigé. Opérations sur les polynômes

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

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

Mlle Yasmin A. RÍOS SOLÍS

Couplage Planification et Ordonnancement : Approche hiérarchique et décomposition

= constante et cette constante est a.

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

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane

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

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

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Introduction à l étude des Corps Finis

avec des nombres entiers

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

Théorème du point fixe - Théorème de l inversion locale

Examen optimisation Centrale Marseille (2008) et SupGalilee (2008)

LE PROBLEME DU PLUS COURT CHEMIN

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

Plus courts chemins, programmation dynamique

PLANIFICATION DU RÉSEAU D ACCÈS POUR L AMÉLIORATION DE LA RENTABILITÉ DE L INFRASTRUCTURE D UN RÉSEAU FTTN

CHAPITRE VIII : Les circuits avec résistances ohmiques

Technique de compression des images médicales 4D

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

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

Algorithmique et Programmation

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

Quelques algorithmes simples dont l analyse n est pas si simple

Transcription:

Introduction à la programmation en variables entières Cours 3 P. Pesneau pierre.pesneau@math.u-bordeaux1.fr Université Bordeaux 1 Bât A33 - Bur 265

Sommaire Arbre d énumération 1 Arbre d énumération 2 3

Approche des problèmes combinatoires Reconnaître les problèmes faciles. Exploiter la frontière de complexité : hypothèses simplificatrices sur les données. décomposition. Calculer (se contenter) de solutions approchées. Développer des énumérations intelligentes basées sur des estimations de la valeur optimale.

Arbre d énumération L arbre est généralement représenté avec sa racine en heut et son feuillage en bas. La racine de l arbre représente le problème initial. Une branche représente une restriction spécifique sur les solutions Un nœud intermédiaire représente un sous-problème, c est-à-dire le problème initial restreint au sous-ensemble de solutions définit par les branches menant à ce nœud. Une feuille représente un sous-problème conquis (un sous-problème pour lequel on a une solution optimale).

Règle de branchement Pour un problème d optimisation combinatoire donné, l arbre d énumération n est pas unique. Il dépend de la règle de branchement choisie. Une règle de branchement définit : le type de restriction que l on va appliquer aux branche de l arbre. l ordre dans lequel on va considérer ces restrictions.

Règle de branchement Soit X 0 l espace des solutions associé à un nœuds. Un branchement doit diviser X en sous-ensembles X 1,...,X k tels que : X i X j pour i,j = 0,...,k, X 0 = k i=1 X i. Pour qu une règle de branchement soit efficace, il est préférable qu elle satisfasse les conditions suivantes : X i X j = pour i,j = 1,...,k, k ne doit pas être trop grand (au pire en O(n)). Si k = 2, on dit qu on a un arbre de branchement binaire.

Exemples d arbres d énumération Problème de sac-à-dos : Règle de branchement : On choisit un objet et on décide ou non de le prendre. On considère les objets dans l ordre décroissant de leur utilité. Problème du voyageur de commerce : Règle de branchement 1 : On choisit une position dans le circuit à laquelle on n a pas affecté de ville et on y place les differentes villes possibles. On considère les positions dans l ordre croissant. Règle de branchement 2 : On choisit deux villes i et j et on décide ou non si l on va directement de la ville i à la ville j. On considère les paires de villes dans l ordre croissant de leur distances.

Sommaire Arbre d énumération 1 Arbre d énumération 2 3

Algorithme de Appelé aussi algorithme de séparation et évaluation. Le principe de la méthode consiste à construire nœud par nœud l arbre d énumération tout en faisant usage de bornes (primales et duales) afin d éviter la génération de tous les nœuds de l arbre. Mécanismes : Séparer (Brancher, Branch) : Diviser les problèmes en sous-problèmes ( diviser pour règner ). Evaluer (Borner, Bound) : Calculer une estimation de la solution optimale d un sous-problème. Le calcul d une bonne solution réalisable (borne primale) est un élément qui peut se révéler important.

Du bon usage des bornes Borne primale : toute solution réalisable va donner une borne primale sur la solution optimale du problème initial. Borne duale : à chaque sous-problème (nœud de l arbre d énumération), on va calculer une borne duale (une estimation) de la solution optimale du sous-problème, c est-à-dire sur l ensemble des solutions satisfaisant aux restrictions imposées par l arbre de d énumération.

Du bon usage des bornes A chaque étape de l algorithme, on va traiter un nœud de l arbre : on va créer les nœuds fils du nœud dans l arbre d énumération et on va évaluer chacun de ces nœuds fils. La borne duale associée à chaque nœud va donner une indication du nœud où pourrait se trouver la solution optimale. Elle donne donc un ordre dans lequel traiter les nœuds. La combinaison de bornes duales et de bornes primales va nous permettre d éviter de traiter tous les nœuds : un nœud dont la borne duale est moins bonne que la borne primale (plus grande pour un problème de minimisation, plus petite pour un problème de maximisation) ne peut pas contenir la solution optimale. Il n est donc pas nécessaire de le traiter.

Evaluation des nœuds Une bonne évaluation des nœuds est importante : elle va permettre de bien organiser l ordre de traitement des nœuds. plus cette évaluation sera précise, plus elle permettra de couper l arbre d énumération. mais attention à ce que cette évaluation ne soit pas trop longue à calculer. Pour cela la règle de branchement d un algorithme de est très liée à l évaluation des nœuds : Les restrictions imposées par la règle de branchement doivent avoir un impact non négligeable sur l évaluation des nœuds fils. De plus, un nœud dont on connaît la solution optimale (soit parce que le nœud est réduit à cette solution, soit parce que la borne duale est également réalisable) n a plus besoin d être traité.

Exemple Arbre d énumération

Sommaire Arbre d énumération 1 Arbre d énumération 2 3

Comment implémenter un en programmation linéaire en nombres entiers? Z PLNE = max{cx : Ax b,x 0,x Z}, Evaluation : relaxation linéaire du PLNE. Revient à résoudre un PL. Règle de branchement : Choisir une variable ˆx i fractionnaire dans la solution de la relaxation linéaire. Créer deux sous-problèmes : Le premier en ajoutant la contrainte x i ˆx i, Le second en ajoutant la contrainte x i ˆx i. S il y a plusieurs variables fractionnaires, choisir, par exemple, la plus fractionnaire.

Exemple Arbre d énumération max 17x 1 + 12x 2 t.q. 10x 1 + 7x 2 40 x 1 + x 2 5 x 1, x 2 0 x 1, x 2 N

Autres possibilités Evaluation : Relaxation linéaire (bien choisir sa formulation) Autre type de relaxation Règles de branchement : Variable la plus fractionnaire Brancher sur des contraintes Parcours de l arbre : meilleure borne (limiter le nombre de nœuds) parcours en profondeur (émergence de solution entières + économie pour la réoptimisation) Usage d heuristique : au départ à chaque nœud de l arbre

Qualité de formulation d un PLNE Contrairement à la PL, un problème entier peut généralement se formuler de differentes manières. Une bonne formulation est une formulation pour laquelle le polyèdre associé à la relaxation linéaire est serré. Avec une bonne formulation, la relaxation linéaire du problème donne une bonne borne duale et eventuellement une bonne approximation de la solution entière (heuristique d arrondi). Attention, une formulation trop précise, peut être coûteuse à calculer (trop de contraintes, trop de variables).