Optimisation en nombres entiers

Slides:



Advertisements
Présentations similaires
La recherche de chemin optimal
Advertisements

Résolution Graphique d'un Programme Linéaire
La Méthode de Simplexe Standardisation
Fondements du contrôle de gestion
Tris.
Exercice 2, chapitre 3.
Algorithmes et structures de données avancés
Classification et prédiction
Fonctions & procédures
Calculs de complexité d'algorithmes
Les numéros 70 –
Finances Personnelles
Bloc 2 : Modèles d’optimisation par la programmation linéaire
Optimisation algébrique de requêtes relationnelles
CHAPITRE 1 L’OPTIMISATION
Optimisation dans les réseaux Recherche Opérationnelle GC-SIE.
Recherche opérationnelle
LE CHOIX EN CONTEXTE D’INCERTITUDE (suite...)
Professeur Amar Ramudhin, ing. Ph.D
LA DÉDUCTION DES DÉPENSES D’AUTOMOBILE
Économie pour les ingénieurs
44 Contrôle du déroulement du programme. 4-2 Objectifs A la fin de ce cours, vous serez capables de : Utiliser les constructions de prise de décision.
RELATION COÛT-VOLUME-BÉNÉFICE
Le soccer & les turbans Sondage mené par lAssociation détudes canadiennes 14 juin 2013.
Optimisation non linéaire sans contraintes
Programmation linéaire
Optimisation linéaire
Cours Corporate finance Eléments de théorie du portefeuille Le Medaf
Optimisation en nombres entiers Recherche Opérationnelle GC-SIE.
Optimisation non linéaire sans contraintes
Optimisation non linéaire sans contraintes
DataLab® Toute la connaissance client en quelques minutes
Systèmes d’équations du premier degré à deux variables
Algorithme de Bellman-Ford
1 Analyse des décisions sans investissement 1. Les informations pertinentes 2. Facteurs qualitatifs à considérer 3. Les approches 4. Exercices.
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
Algorithmes d ’approximation
Optimisation en nombres entiers Recherche Opérationnelle GC-SIE.
Optimisation dans les réseaux
Optimisation dans les réseaux
Optimisation dans les réseaux
Optimisation linéaire
Optimisation linéaire
Optimisation linéaire
Optimisation linéaire
Optimisation non linéaire sans contraintes Recherche opérationnelle GC-SIE.
Optimisation non linéaire sans contraintes
Introduction à la programmation linéaire
Recherche Opérationnelle
LE CHOIX DU CONSOMMATEUR ET LA DEMANDE… (suite)
Les Algorithmes de Tri Introduction Tri par Sélection
Fonction partie entière
GPA750 – Gestion de Projets
Génération de colonnes pour la résolution des problemes de foresterie
Programmation linéaire en nombres entiers : les méthodes de troncature
Introduction à la programmation linéaire en nombres entiers
MAXIMISER les RESULTATS
Présentation de la méthode des Eléments Finis
Institut Provincial des Arts et Métiers
Coupes efficaces pour la relaxation lagrangienne
Programmation dynamique
Les coûts pertinents Fondements du contrôle de gestion Contrôle de gestion pour les débutants.
Programmation linéaire en nombres entiers
Foued Mnasri Weal Rekik
- 5 - Optimisation linéaire et non-linéaire
Programme linéaire - solution graphique
1 UE Intro. Optimisation L3 INFO UPSud II. Programmation linéaire en variables entières (ou mixtes)
Transcription de la présentation:

Optimisation en nombres entiers Recherche Opérationnelle GC-SIE

Motivation et exemples

Optimisation en nombres entiers Définitions : Un programme en nombres entiers est un programme dont les variables sont contraintes à ne prendre que des valeurs entières. Souvent, elles sont contraintes à prendre les valeurs 0 ou 1. On parle alors d’un programme binaire. Nombres entiers Michel Bierlaire

Optimisation en nombres entiers Définitions : Un programme mixte en nombres entiers est un programme dont certaines variables sont contraintes à ne prendre que des valeurs entières. Nombres entiers Michel Bierlaire

Optimisation en nombres entiers Dans ce cours, on ne considérera que des programmes linéaires en nombres entiers. Approche intuitive immédiate : On ignore les contraintes d’intégralité. On arrondi la solution. En général, cela ne marche pas ! Nombres entiers Michel Bierlaire

Exemple max 3 x1 + 13 x2 sc. 2 x1 + 9 x2 £ 40 11 x1 – 8 x2 £ 82 x1, x2 entiers Nombres entiers Michel Bierlaire

Exemple x*entier=(2,4) 2x1+9x2=40 11x1-8x2 = 82 Voisins non admissibles x*continu=(9.2,2.4) Nombres entiers Michel Bierlaire

Exemple : investissement Une société dispose de 1 400 000 F à investir. Les experts proposent 4 investissements possibles 800 000 1 200 000 2 200 000 1 600 000 Bénéfice 2.67 300 000 Inv. 4 3.00 400 000 Inv. 3 3.14 700 000 Inv. 2 3.20 500 000 Inv. 1 Rendement Coût Nombres entiers Michel Bierlaire

Exemple : investissement Modélisation : Variables de décision : xi, i=1,…,4 xi = 1 si investissement i est choisi xi = 0 sinon Objectif : maximiser bénéfice max 16 x1 + 22 x2 + 12 x3 + 8 x4 Contrainte : budget d’investissement 5 x1 + 7 x2 + 4 x3 + 3 x4 £ 14 Nombres entiers Michel Bierlaire

Exemple : investissement Programme linéaire 1 max 16 x1 + 22 x2 + 12 x3 + 8 x4 s.c. 5 x1 + 7 x2 + 4 x3 + 3 x4 £ 14 x1, x2, x3, x4 ³ 0 Solution : x1 = 2.8, x2 = 0, x3 = 0, x4 = 0 Nombres entiers Michel Bierlaire

Exemple : investissement x1 = 2.8, x2 = 0, x3 = 0, x4 = 0 Problème : comment interpréter cette solution ? Effectuer l’investissement 1. Bénéfice : 1 600 000 F. Coût : 500 000 F Nombres entiers Michel Bierlaire

Exemple : investissement Programme linéaire 2 max 16 x1 + 22 x2 + 12 x3 + 8 x4 s.c. 5 x1 + 7 x2 + 4 x3 + 3 x4 £ 14 x1, x2, x3, x4 ³ 0 x1, x2, x3, x4 £ 1 Solution : x1 = 1, x2 = 1, x3 = 0.5, x4 = 0 Nombres entiers Michel Bierlaire

Exemple : investissement x1 = 1, x2 = 1, x3 = 0.5, x4 = 0 Problème : comment interpréter cette solution ? Effectuer les investissements 1 et 2. Bénéfice : 3 800 000 F. Coût : 1 200 000 F. Plus assez de budget pour l’investissement 3. Nombres entiers Michel Bierlaire

Exemple : investissement Programme en nombres entiers max 16 x1 + 22 x2 + 12 x3 + 8 x4 s.c. 5 x1 + 7 x2 + 4 x3 + 3 x4 £ 14 x1, x2, x3, x4  {0,1} Solution : x1 = 0, x2 = 1, x3 = 1, x4 = 1 Nombres entiers Michel Bierlaire

Exemple : investissement x1 = 0, x2 = 1, x3 = 1, x4 = 1 Solution évidente à interpréter Bénéfice : 4 200 000 F. Coût : 1 400 000 F. Nombres entiers Michel Bierlaire

Exemple : investissement Notes : Les contraintes d’intégralité peuvent modifier significativement la structure de la solution. L’intuition acquise avec les variables continues n’est pas directement utilisable. Dans l’exemple, l’investissement 1 est le plus rentable, mais il n’est pas repris dans la solution optimale. Nombres entiers Michel Bierlaire

Exemple : le sac à dos Jo le campeur part en randonnée dans la montagne. Il ne peut emporter dans son sac à dos qu’un poids limité à P. Chaque article i qu’il peut potentiellement emporter pèse pi et lui procure une utilité ui pour sa randonnée. Question : quels articles emporter pour maximiser son utilité sans dépasser la limite de poids ? Nombres entiers Michel Bierlaire

Problème du sac à dos Variables de décision xi = 1 si Jo emporte l’article i xi = 0 sinon max u1x1+u2x2+…+unxn s.c. p1x1+p2x2+… +pnxn £ P x1,…,xn  {0,1} Nombres entiers Michel Bierlaire

Problème du sac à dos Notes : En général, les problèmes de cette forme portent le nom générique de problème de sac à dos. Le problème d’investissement est un problème de sac à dos. Le nombre de manières de choisir un sous-ensemble de n éléments est 2n. Nombres entiers Michel Bierlaire

Problème du sac à dos Si l’on suppose qu’il faut 1/100 de seconde pour considérer un sous-ensemble, alors il faut plus d’une année pour 32 éléments plus de 100 ans pour 39 éléments plus de 1000 ans pour 42 éléments plus de 10 000 ans pour 45 éléments plus de 100 000 ans pour 49 éléments plus de 1 000 000 ans pour 52 éléments Nombres entiers Michel Bierlaire

Age de l’univers 10 000 000 000 ans Homo Erectus 1 600 000 ans Ere chrétienne 2000 ans

Problème du sac à dos Il est impossible de considérer toutes les possibilités. Un algorithme efficace devrait obtenir la solution optimale en examinant un très petit nombre de solutions. Nombres entiers Michel Bierlaire

Modélisation Reprenons le problème d’investissement La société se voit imposer des contraintes supplémentaires. a) Elle peut opérer au maximum deux investissements Contrainte : x1 + x2 + x3 + x4 £ 2 Nombres entiers Michel Bierlaire

Modélisation b) Si elle décide d’opérer l’invest. 2, elle doit aussi opérer l’invest. 1. Contrainte : x2 £ x1 ou x2 – x1 £ 0 Si x2 = 1, alors x1 ³ 1.Comme x1 {0,1}, alors x1 = 1. Si x2 = 0, alors x1 ³ 0. Pas de restriction sur x1. Nombres entiers Michel Bierlaire

Modélisation c) Si elle décide d’opérer l’invest. 2, elle ne peut pas opérer l’invest. 4. Contrainte : x2 + x4 £ 1 Si x2 = 1, alors x4 £ 0.Comme x4  {0,1}, alors x4 = 0. Si x2 = 0, alors x4 £ 1. Pas de restriction sur x4. Nombres entiers Michel Bierlaire

Modélisation : set-covering Problème : localisation de stations d’incendie dans six villes. Objectif : en installer le moins possible. Contrainte : pouvoir atteindre chaque ville en au moins 15 minutes à partir d’au moins une station. Nombres entiers Michel Bierlaire

Modélisation : set-covering Table des temps de trajet : 1 2 3 4 5 6 10 20 30 25 35 15 14 Nombres entiers Michel Bierlaire

Modélisation : set-covering Variables de décision : xi = 1 si on installe une station dans la ville i (i=1,…6) xi = 0 sinon Objectif : min x1+x2+x3+x4+x5+x6 Nombres entiers Michel Bierlaire

Modélisation : set-covering Contraintes : La ville 1 peut être atteinte en au moins 15 minutes à partir de la ville 1 et de la ville 2. Pour assurer le service de la ville 1, il faut donc une station soit en 1 soit en 2. x1 + x2 ³ 1 Nombres entiers Michel Bierlaire

Modélisation : set-covering Contraintes : La ville 2 peut être atteinte en au moins 15 minutes à partir de la ville 1, de la ville 2 et de la ville 6. Pour assurer le service de la ville 2, il faut donc une station soit en 1, soit en 2, soit en 6. x1 + x2 + x6 ³ 1 Nombres entiers Michel Bierlaire

Modélisation : set-covering Programme : min x1+x2+x3+x4+x5+x6 x1 + x2 ³ 1 x1 + x2 + x6 ³ 1 x3+x4 ³ 1 x3+x4+x5 ³ 1 x4+x5+x6 ³ 1 x2+x5+x6 ³ 1 Nombres entiers Michel Bierlaire

Modélisation : soit-soit Considérons deux contraintes : f(x1,…,xn) £ 0 g(x1,…,xn) £ 0 On veut garantir qu’au moins une des ces contraintes soit vérifiée, mais pas nécessairement les deux. Pour cela, il faut Déterminer M tel que f(x1,…,xn) £ M et g(x1,…,xn) £ M x Introduire une variable binaire y{0,1} Nombres entiers Michel Bierlaire

Modélisation : soit-soit Utilisons les contraintes suivantes : f(x1,…,xn) £ My g(x1,…,xn) £ M(1-y) Si y = 1, alors les contraintes sont f(x1,…,xn) £ M g(x1,…,xn) £ 0 Si y = 0, alors les contraintes sont f(x1,…,xn) £ 0 g(x1,…,xn) £ M Nombres entiers Michel Bierlaire