Programmation linéaire Séance 4 Dualité et critères multiples. Philippe Morignot

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

Optimisation Discrète

Programmation linéaire

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

Programmation linéaire et Optimisation. Didier Smets

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

Programmation linéaire

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

Optimisation des fonctions de plusieurs variables

Travaux dirigés n 1. Programmation linéaire

RECHERCHE OPERATIONNELLE

Programmation Linéaire - Cours 1

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

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie

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

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

Cours de Master Recherche

LES MÉTHODES DE POINT INTÉRIEUR 1

Chapitre 5 : Flot maximal dans un graphe

INFO-F Algorithmique 3 et Recherche Opérationnelle

Relation d ordre. Manipulation des relations d ordre. Lycée Pierre de Fermat 2012/2013 Feuille d exercices

Théorèmes de Point Fixe et Applications 1

Chapitre 3. Les distributions à deux variables

GENCOL : une équipe et un logiciel d optimisation

OPTIMISATION À UNE VARIABLE

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

L apport du HPC pour l optimisation. Eric Jacquet-Lagrèze. FORUM TERATEC 28 juin 2011

Fonctions de plusieurs variables

Cours de recherche opérationnelle I

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

Programmation linéaire

CCP PSI Mathématiques 1 : un corrigé

Arbres binaires de décision

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

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

Les équations différentielles

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

Fonctions de plusieurs variables

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

Corrigé des TD 1 à 5

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.

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Principes d implémentation des métaheuristiques

Équations non linéaires

Cours d analyse numérique SMI-S4

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

3 décembre Négociations DECFO-SYSREM Séance n 5. Service du personnel. Rue Caroline Lausanne

Plus courts chemins, programmation dynamique

La demande Du consommateur. Contrainte budgétaire Préférences Choix optimal

Apprentissage par renforcement (1a/3)

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

4.2 Unités d enseignement du M1

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

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

LE PROBLEME DU PLUS COURT CHEMIN

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

CHAPITRE 5. Stratégies Mixtes

Continuité en un point

Cours d Analyse. Fonctions de plusieurs variables

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

Programmation par contraintes. Laurent Beaudou

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

CHOIX OPTIMAL DU CONSOMMATEUR. A - Propriétés et détermination du choix optimal

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

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

Optimisation for Cloud Computing and Big Data

Calcul différentiel sur R n Première partie

Contrainte de flot pour RCPSP avec temps de transfert

Agrégation de liens xdsl sur un réseau radio

Cours 9. Régimes du transistor MOS

Premier modèle - Version simple

FONCTION DE DEMANDE : REVENU ET PRIX

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

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

INTRODUCTION AU DATA MINING

= constante et cette constante est a.

Théorie et codage de l information

Annexe 6. Notions d ordonnancement.

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

Quantification Scalaire et Prédictive

PROSPECTUS N 1 CRÉDIT À LA CONSOMMATION

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

Soutenance de stage Laboratoire des Signaux et Systèmes

données en connaissance et en actions?

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

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

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

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

Votre partenaire idéal

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

Data 2 Business : La démarche de valorisation de la Data pour améliorer la performance de ses clients

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

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

Introduction : Les modes de fonctionnement du transistor bipolaire. Dans tous les cas, le transistor bipolaire est commandé par le courant I B.

Pourquoi l apprentissage?

LES MÉTA-HEURISTIQUES : quelques conseils pour en faire bon usage

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

1 Introduction et modèle mathématique

Joueur B Pierre Feuille Ciseaux Pierre (0,0) (-1,1) (1,-1) Feuille (1,-1) (0,0) (-1,1) Ciseaux (-1,1) (1,-1) (0.0)

Transcription:

Programmation linéaire Séance 4 Dualité et critères multiples Philippe Morignot pmorignot@yahoo.fr

Plan des séances 1. Programmation linéaire 2. Programmation linéaire en nombres entiers 3. Modélisation 4. Dualité et critères multiples + QCM 5. Contrôle

Dualité Définitions (1/2) Pour un programme linéaire minf(x) telquex X, onobtientf(x opt ) pouruncertainx opt X. Quesepassetilsionmodifielégèrementles données d entrée? Une contrainte est dite saturée ssi sa variable d écart est nulle. La valeur duale associée à une contrainte est la quantité dont varie la fonction de coût/ objectif quand onfaitvarierd uneunitélavaleurdusecondmembre.

Programme primal : Dualité Définitions (2/2) Programme dual : min C x tel que : max t By tel que : A x B t Ay t C x 0 y 0 t y i t x j b i c j a i,j b i a j,i c j

Dualité Propriétés Le problème dual du problème dual est le problème primal. Programme primal Programme dual Programme non réalisable Programme non borné Programme non borné Programme non réalisable Programme optimum Programme optimum Coût opt. primal = coût opt. dual Coût opt. dual = coût opt. primal Contrainte isaturée y i 0 Contrainte inon saturée y i = 0 x j 0 Contrainte jsaturée x j = 0 Contrainte jnon saturée (Démonstrations disponibles dans le cours IFT2505 de Jacques Ferland.)

Dualité Conséquences Si on cherche la valeur optimale de la fonction de coût / objectif, résoudre le programme linéaire primal est équivalent à résoudre le programme linéaire dual. Pour un programme linéaire primal, l algorithme du simplexe donne à l optimum les valeurs des variables duales. Il n est pas nécessaire de résoudre le programme linéaire dual pour connaître les variables duales à l optimum. Si le programme dual est plus facile à résoudre que le programme primal, le résoudre et prendre les variables duales du programme dual. Modifier une contrainte (b i ) dans le programme linéaire primal est équivalent à modifier un coût (b i ) dans la fonction de coût / objectif du programme linéaire dual. Modifier une contrainte peut rendre le programme linéaire primal non réalisable(sans solution), alors que changer un coût est simple.

Dualité Exemple (1 / 2) J ai 3h sur une machine 1 et 5h sur une machine 2. Pour produire 1 tonne de produit A, il me faut 2h sur la machine 1 et 1h sur la machine 2. Pour produire 1 tonne de produit B, il me faut 2h sur la machine 2 et 1h sur la machine 1. Le produit A se vend 600 /tonne et le produit B 700. Quelle est la production optimale? Programme primal: Programme dual: 2x+ y 3 2u+ v 6 x+2y 5 u+2v 7 max(6x+7y) min(3u+5v)

Dualité Exemple (2 / 2) 2x+ y 3 2u+ v 6 x+2y 5 u+2v 7 max(6x+7y) min(3u+5v) Interprétation du programme dual : 3u+5v est une quantité qui, à l optimum, vaut l optimum du primal et qui est exprimée en, puisque6 et7 sontdes. 3 et 5 sont les disponibilités (en h) des machines, donc u et v sont les coûts(puisque il s agit d une minimisation) horaires de non-exploitation. La première contrainte 2u+v 6 signifie que ne pas utiliser la machine 1 pendant 2h et la machine 2 pendant 1h coûte au moins 600, puisque sinononpourraitproduire1tonnedeproduita. (u,v) opt =(5/3,8/3) Chaque heure inutilisée de la machine 1 (resp., 2) coût 167 (resp., 267 ). Le programme dual mesure l impact de la mauvaise utilisation des ressources(en sciences économiques et gestion).

Optimisation multicritère Introduction Dans un problème de planification de ressources humaines, on veut maximiser le gain en euros, la qualité de service et les relations sociales. Gain en euros Relations sociales Qualité de service Mais interdépendance des critères : comment trouver la solutionoptimale?etqueveutdire«optimale»?

Optimisation multicritère Formulation Programme linéaire monocritère : Programme linéaire multicritère : min ( (% ' & &) tel que : i, () *,& ' & b i j, ' & 0 k,min (, - = (% &, - ' &) tel que : i, ) *,& ' & ( b i j, ' & 0

Optimisation multicritère Définition (1/2) Pour un programme linéaire de minimisation, la solution x domine la solution y: x D y k, F k (x) F k (y) F 2 F 2 y y x x x domine y F 1 x ne domine pas y F 1

Optimisation multicritère Définition (2/2) F 2 s 5 s 4 s 3 s 2 s 1 s 6 s 7 s 8 s 9 s 10 F 1 Le front de Pareto est constitué par les solutions efficaces du problème. Comment les départager?

Méthodes de départage (1/3) Agrégation de critères 1. Une nouvelle fonction de coût Fest la combinaison linéaire des critères F i : 6 789 min F(x) avec F(x) = 5 *,*(') 2. Résolution monocritère avec F. Avantage : Désavantages : Simple. -On n atteint pas forcément un optimum. -Comment choisir les coefficients p i?

Méthodes de départage (2/3) Sérialisation (1)Fixerunordresurlescritèreset(2)lesrésoudreunàundanscet ordre. Hypothèse (programme linéaire non compensatoire) : la qualité du critèrek nepeutpasêtredévaloriséeparlecritèrek+1. Procédure SERIALISATION() POURTOUTk de1àk 1. Fixerlecritèrek-1(onsupposequ un0 e critèreestfixé). 2. Résoudre le programme linéaire pour le critère k. (Un programme linéaire est équivalent à un critère.) Avantages : efficacité ; décompose le problème en sousproblèmes. Désavantages : K programmes linéaires à résoudre ; la solution optimale obtenue varie suivant l ordre.

Méthodes de départage (3/3) Tableau des gains 1. RésoudreséparémentchacundesKcritèresF k : Critère Solution 1 Solution 2 Solution K F 1 F 1,1 F 1,2 F 1,K F 2 F 2,1 F 2,2 F 2,K F K F K,1 F K,2 F K,K Le point idéal (F 1,1, F 2,2,, F K,K ) est inaccessible parce que tous lescritèresf i,i nepeuventpasêtreatteintsenmêmetemps. 2. Chercherleminimumdel écartmaximumaupointidéal: min λ tel que : k, F kk -f k λ(f kk -min i (F k,i )) // Normerle 1 er terme. k, - f = % &, - ' & // f k est la fonction objectif. i, x i 0 // Solution non nec. réalisable

Coût réduit d une variable Définition Le coût réduit j d une variable x j est : j = c j - 7) *, & > * t x j c j Apport Pertes a i,j b i y i Dans un programme linéaire primal(avec maximisation): Dansl algorithmedusimplexe,si j >0,alorslavariablex j entre en base. Lecritèred arrêtdel algorithmedusimplexeest: j, j 0

Génération de colonnes Principe Utile si, dans un programme linéaire, le nombre de variables est grand et que beaucoup de variables sont nulles. Décomposer le problème: Avoir un problème maître Audébut,aucunevariable;leplussimplepossible. Programmation par but (pour que le programme linéaire reste réalisable). Avoir un problème esclave. 1variablededécision=1colonne.

Génération de colonnes Algorithme (1/2) 1. Résoudre le programme linéaire maître(sur R). 2. TANT QUE il existe un coût réduit négatif, reporter les variables duales y i à l optimum dans le problème esclave. a) Siunevariabledualey i estnulle,lacontraintei peut être améliorée. b) Si une variable duale y i est positive, la contrainte i est saturée. 3. Résoudre le problème esclave. 4. Reporter les solutions du problème esclave dans leproblèmemaître,etgoto1.

Génération de colonnes Algorithme (2/2) Problème maître : Problème esclave : y i <10 000 variables t x j c j Virtuellement, > 10 000 variables. Créées à la demande. a i,j b i x j Tant que j / j < 0

Génération de colonnes En variables entières (1 / 2) Comment résoudre un grand programme linéaire en variables entières? 1 e idée : séparation / évaluation (branch & bound) avec une génération de colonnes sur chaque nœud pour trouver la solution relâchée. Désavantage: À chaque nœud du B&B, n algorithmes du simplexe (avec n grand) doivent être lancés. Beaucoup trop long en général, car le nombre de variables est grand.

Génération de colonnes En variables entières (2 / 2) Algorithmedebranch&cut: Commel algorithmedebranch&boundmais,dansun nœud, ne développer qu un seul nœud-fils, et non considérer les 2 nœuds-fils possibles. A chaque nœud, choisir la variable la plus proche d unevaleurentièreetlafixeràcettevaleur. Caractéristiques: Algorithme plus rapide que la génération de colonnes en variables entières. Mais solution sous-optimale.

Conclusion Les variables duales permettent de détecter quand une contrainte ne peut plus être améliorée. Dans un programme linéaire multicritère, la dominance et le front de Pareto permettent de représenter les solutions efficaces du problème. Agrégation, sérialisation et tableau des gains sont des méthodes pour trouver un compromis. Pour un programme linéaire contenant beaucoup de variables, le séparer en un problème maître et un problème esclave et itérer (plus efficace qu avec un algorithme du simplexe).