1 UE Intro Opti L3 INFO UPSud 2015-2016 Programmation linéaire en variables entières (ou mixtes) : résolution approchée par heuristique

Slides:



Advertisements
Présentations similaires
Programmation linéaire
Advertisements

Programmation linéaire en nombres entiers
1 UE Intro. Optimisation L3 INFO UPSud II. Programmation linéaire en variables entières (ou mixtes)
Maitresse Célestine – août 2011 M1Les longueurs  Les unités de mesure L'unité principale de mesure des longueurs est le mètre. Dans la vie courante, on.
1 Chapitre 2 La numération binaire. 2 Chapitre 2 : La numération binaire Introduction 1 - Le système binaire 2 - La conversion des nombres entiers 2.1.
CINI – Li115 1 Semaine 9 Algorithmes de tri ● Introduction ● Tri à bulle ● - principe ● - algorithme ● - efficacité ● Tri par sélection ● - principe, algorithme,
L’ESPRIT DU NOUVEAU PROGRAMME. SERIE SCIENCES ET TECHNOLOGIES DU MANAGEMENT ET DE LA GESTION 1 Document élaboré dans le cadre du cercle de réflexion académique.
1. Introduction.
SITUATION DE REFERENCE
Outils de Recherche Opérationnelle en Génie MTH 8414A
Outils de Recherche opérationnelle en Génie MTH 8414
Suites ordonnées ou mettre de l’ordre
Outils de Recherche Opérationnelle en Génie MTH 8414
Outils de Recherche Opérationnelle en Génie MTH 8414
Outils de Recherche opérationnelle en Génie MTH 8414
COMPLÉMENTS SUR LES MARÉES
Construire des requêtes
Optimisation du PIC par la programmation linéaire dans e-Prelude
Coloration de graphe, backtracking, branch and bound
Deuxième partie : La courbe d’indifférence
Modèles décisionnels en gestion
Planification de la production
Algorithmique Avancée et Complexité Chap2:Complexité et Optimalité
Représentation de l’information en binaire:
Université Abou Bakr Belkaid Faculté des Sciences Département d’informatique Algorithmique Avancée et Complexité Chap5: Les méthodes de résolution exactes.
Techniques d’Optimisation Chapitre 2: Problème de flôt
Simulation des nanostructures à base de nanorubans de graphène
POL1803: Analyse des techniques quantitatives
Microéconomie I.
Plans d’expériences: Plans de mélanges
Techniques d’Optimisation Chapitre 3: Programmation en 0-1 (bivalente)
Plans d’experiences : plans de melanges
Programmation linéaire et Recherche opérationnelle Licence d’Econométrie Professeur Michel de Rougemont
LA THEORIE DU PRODUCTEUR
Université Abou Bakr Belkaid Faculté des Sciences Département d’informatique Algorithmique Avancée et Complexité Chap7: Les méthodes de résolution exactes.
C1 – Interpolation et approximation
Planification de la production
Construire un GANTT.
La méthode du simplexe. 1) Algorithme du simplexe  Cet algorithme permet de déterminer la solution optimale, si elle existe, d’un problème de programmation.
1.2 dénombrement cours 2.
Branch-and-price algorithms for the solution of the multi-trip vehicle routing problem with time windows (MTVRPTW) 1.
1. Introduction.
La gestion des stocks (Modèle de Wilson).
ACP Analyse en Composantes Principales
Statistiques. Moyenne, Moyenne pondérée, Tableur et graphiques.
Systèmes de monnaie.
OPTIMISATION 1ère année ingénieurs
La gestion optimale de la production électrique : un exemple d’application industrielle de l’algorithme de point intérieur S. Charousset, G. Vignal.
I Définition : Elle est définie ...
Présentation 3 : Sondage aléatoire simple
Variable Neighborhood Descent (VND) Réalisée par Nadia Sassi Eya baghdedi AU
2. Méthode du simplexe et son analyse.
Position, dispersion, forme
Chapitre 1 Formulation d’un programme linéaire (PL) Georges Abboudeh BUST 347.
Information, Calcul, Communication
Moteurs de recherches Data mining Nizar Jegham.
CSI 3505 Algorithmes Voraces
Recherche de zero d'une fonction MARMAD ANAS MPSI -2.
PROGRAMMATION SCIENTIFIQUE EN C
Programme d’appui à la gestion publique et aux statistiques
IV- CORRECTION A AVANCE DE PHASE
Chapitre 2 : Représentation de l’information dans la machine Introduction Représentation des nombres négatifs –Signe / valeur absolue –Complément à 1 –Complément.
5. Algorithme du simplexe
CSI 3505 / Automne 2005: Conception et Analyse des Algorithmes I.
Encadrée par: - Mr. Abdallah ALAOUI AMINI Réalisée par : -ERAOUI Oumaima -DEKKAR Amal - ES-SAHLY Samira -Houari Mohammed PROGRAMMATION MULTIOBJECTIFS.
Introduction  La PLNE regroupe l’ensemble des techniques permettant de résoudre des programmes linéaires dont les solutions doivent être entières.  Formellement,
GESTION DE LA PRODUCTION Réalisé par : EL MAROUSSI Mohammed DRIOUCHI Mohammed Abdeljabbar WAKENNOU Salah CRMEF Grand Casablanca Cycle de préparation à.
Outils de Recherche Opérationnelle en Génie MTH 8414
Recherche de chemin et labyrinthe
La programmation dynamique
Transcription de la présentation:

1 UE Intro Opti L3 INFO UPSud Programmation linéaire en variables entières (ou mixtes) : résolution approchée par heuristique

2 Une solution approchée ? En maximisation : si une solution est admissible (de bonne qualité) mais pas optimale, alors C'est une solution approchée et qui fournit une borne inférieure de meilleure qualité peut-être qu'une solution évidente. La relaxation continue fournit une borne supérieure de la valeur optimale. f(heuristique) <= Valeur optimale <= f(relaxation cont.) En minimisation : une solution admissible fournit alors une borne supérieure alors que la relaxation continue du problème fournit une borne inférieure.

3 Algorithme GLOUTON Principe : choisir des solutions locales optimales d'un problème dans le but d'obtenir une solution optimale globale au problème. - Suivant les problèmes pas de garantie d'optimalité - mais peu coûteuse en temps CPU - choix intuitif C'est une bonne approche pour des problèmes difficiles Partons d'un exemple rencontré par tous.

4 Algo. Glouton à travers un exemple Vous passez à la caisse d'un magasin. Le caissier doit vous rendre de l'argent car le montant que vous lui avez donné est supérieur à celui que vous devez payer. Supposons qu'on doive vous rendre la somme de 2,63€. Il y a plusieurs façons de procéder. On peut par exemple vous rendre 263 pièces de 1 cent, 125 pièces de 2 cents et 13 pièces de 1 cent ou encore 5 pièces de 50 cents, une de 10 cents, une de 2 cents et enfin une de 1 cent. Il y a bien évidemment énormément de possibilités pour vous rendre la somme. Il y a fort à parier que les solutions du type "263 pièces de 1 cent" ne vous conviennent pas... Le problème qui se pose est donc de minimiser le nombre de pièces rendues pour un montant fixé.

5 Algo. Glouton à travers un exemple Une solution immédiate (évidente) : énumérer toutes les combinaisons possibles puis sélectionner celles qui impliquent un minimum de pièces et enfin choisir la meilleure. Cette solution fonctionnera toujours mais est très loin d'être efficace. En effet, si elle est simple dans certains cas, elle implique en général un nombre très important de combinaisons différentes, ce qui nuit grandement à l'efficacité de notre solution. Notre tâche va donc être de formuler une solution (algorithmique) plus efficace pour ce type de problème mais pas forcément optimale.

6 Algo. Glouton à travers un exemple La méthode gloutonne vise à optimiser la résolution d'un problème en partant du principe suivant : des choix locaux optimaux, étape après étape, devraient produire un résultat global optimal. Dans notre cas, on va répéter le choix de la pièce de plus grande valeur qui ne dépasse pas la somme restante. Reprenons donc notre exemple de monnaie à rendre : On doit donc nous rendre la somme de 2,63€ et on dispose du système de monnaie européen, à savoir ceci : PIÈCES (en cents) : [1,2,5,10,20,50,100,200]

7 Algo. Glouton à travers un exemple ÉTAPE 1 : - Somme à rendre : 263 cents. - Solution locale : Pièces utilisées : 1*2€. ÉTAPE 2 : - Somme à rendre : 63 cents. - Solution locale : Pièces utilisées : 1*2€ + 1*50cents. ÉTAPE 3 : - Somme à rendre : 13 cents. - Solution locale : Pièces utilisées : 1*2€ + 1*50cents +1*10cents.

8 Algo. Glouton à travers un exemple ÉTAPE 4 : - Somme à rendre : 3 cents. - Solution locale : 2. - Pièces utilisées : 1*2€ + 1*50cents +1*10cents +1*2cents ÉTAPE 5 : - Somme à rendre : 1 cent - Solution locale : 1 - Pièces utilisées : 1*2€ + 1*50cents +1*10cents +1*2cents +1*1cent On a rendu toute la monnaie, on s'arrête là !

9 Algo. Glouton à travers le problème du sac à dos 01 (très connu en Optimisation Combinatoire) On dispose d'un ensemble S contenant n objets. Chaque objet i possède une valeur bi et un poids wi. On souhaiterait prendre une partie T de ces objets dans notre sac-à-dos, malheureusement, ce dernier dispose d'une capacité limitée W. On ne pourra pas toujours mettre tous les objets dans le sac étant donné que la somme des poids des objets ne peut pas dépasser la capacité maximale. On va cependant chercher à maximiser la somme des valeurs des objets qu'on va emporter avec soi.

10 Sac à dos 0-1 Sous forme de programme mathématique : (KP) : maximiser f(x)= ∑ b_i x_i sous les contraintes : ∑ w_i x_i  W x_i ‏ ∈ {0;1}

11 Un glouton pour le KP 0-1 L'idée à suivre, si on veut développer une méthode gloutonne, est d'ajouter les objets de valeurs élevées en premier, jusqu'à saturation du sac. Cette méthode est parfois efficace, mais parfois pas, on verra ses limites dans la prochaine partie. Prenons un exemple, afin d'illustrer cela. Supposons qu'on dispose d'un sac de capacité W=26 et de l'ensemble d'objets suivant

12 Un glouton pour KP 0-1 Suivons le principe de la méthode et prenons les objets de meilleure valeur. Ça nous donne le sous-set d'objets suivant : L(12,10); E(10,7); C(8,5); F(7,4) Notre sac est tout juste saturé et la somme des valeurs des objets qu'il contient est de 37.

13 Un autre glouton pour KP 0-1 Trier les objets par ordre croissant du quotient : Valeur / Poids Dans ce cas, on obtient la liste suivante :

14 Un autre glouton pour KP 0-1 On peut mettre dans le sac les objets : N, J, H,A,F,C,B, I, K pour un poids de 22. Il reste 4 possible mais E a un poids de 10. Donc on passe aux objets suivants qui peuvent être placés dans le sac tout en respectant sa capacité, cad G(1) et M(2). Cette combinaison d'objets a une valeur objective de 46 (meilleure valeur que celle fournie par un glouton de base).

15 Un autre ex. : comparaison B&B et Glouton Un avion cargo a une capacité de chargement de 18 unités de volume. Il doit transporter des conteneurs de marchandises de façon à maximiser la valeur totale de son chargement. Les conteneurs disponibles sont en quantité illimitée pour chaque type, et choisis par la liste suivante : - Conteneur de type A ; valeur 6, volume 2 - Conteneur de type B ; valeur 8, volume 3 - Conteneur de type C ; valeur 13, volume 4 - Conteneur de type D ; valeur 17, volume 5 - Conteneur de type E ; valeur 20, volume 7

16 Un autre ex. : comparaison B&B et Glouton I. résolvons de façon heuristique (avec l'utilisation d'un glouton) II. résolvons avec une méthode exacte de type B&B

17 Un autre ex. : comparaison B&B et Glouton I. résolvons de façon heuristique (avec l'utilisation d'un glouton) II. résolvons avec une méthode exacte de type B&B Notations : c_K : coefficients objectif a_K : coefficients des contraintes

18 Cours III: Le cargo (P) : maximiser f(x)=6 x A +8 x B +13 x C +17 x D + 20 x E sous les contraintes : 2 x A +3 x B +4 x C + 5 x D + 7 x E x 2  18 x A, x B, x C, x D, x E  0 x A, x B, x C, x D, x E entiers

19 Un autre ex. : comparaison B&B et Glouton I. GLOUTON : classons les variables par ordre décroissant des c_K/a_K : c_D/a_D=3.4 c_C/a_C=3.25 c_A/a_A=3 c_E/a_E= c_B/a_B=2.67..

20 Un autre ex. : comparaison B&B et Glouton I. GLOUTON : classons les variables par ordre décroissant des c_K/a_K : - On met à sa valeur maximale la variable x_D dont le terme c_D/a_D est le plus fort : x_D=3 Ayant fixé cette valeur, la variable de plus grand c/a pouvant prendre une valeur entière positive est x_A, d'où : x_A=1 Avec ces deux variables fixées, la capacité résiduelle est 1. Elle ne permet pas qu'une autre variable soit positive.

21 Un autre ex. : comparaison B&B et Glouton I. GLOUTON : classons les variables par ordre décroissant des c_K/a_K : - la solution approchée (sous optimale) est donc : x_D=3, x_A=1 de valeur objective : 57 Cette valeur fournit une borne inférieure pour la solution optimale du problème en nombre entier : 57 <= OPT <= 61.2 [Borne Sup (obtenue via la relaxation continue)]

22 Cours IV : B&B (1) (P) Solution optimale : xD= 3.6 Val. Opt.=61.2, borne = 61 (borne inf=57) (2) (P) avec xD <=3 Solution optimale : xC=0.75 et xD=3 Val. Opt.=60, borne = 60 (3) (P) + xD >=3 (4) (P1) avec xD<=3 et xC<=0 Solution optimale : xC=0,xD=3 et xA=1.5 Val opt : 60, Borne 60 (5) (P1) avec xD =1 (6) (P1) avec xD<=3 et xC<=0 et xA <=1 Solution optimale : xC=0,xD=3 et xA=0 et xE=0.42 Val opt : 59.51, Borne 59 (7) (P1) avec xD<=3 et xC<=0 et xA <=1 et xE <=0 Solution optimale : XD=3 et xB=1 Val opt : 59, Borne 59 OPTIMUM