TRAVAUX PRATIQUES : PROGRAMMATION LINEAIRE



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

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

Première partie. Modélisation des problèmes en programmes linéaires notés PL

Programmation linéaire

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

OUTILS EN INFORMATIQUE

Programmation Linéaire - Cours 1

Bases de données documentaires et distribuées Cours NFE04

1 Complément sur la projection du nuage des individus

de calibration Master 2: Calibration de modèles: présentation et simulation d

Programmation linéaire

Quelles sont les principales formules utiles pour l étude de cas de vente?

Interface COMPTABILITEEXPERT

Excel Avancé. Plan. Outils de résolution. Interactivité dans les feuilles. Outils de simulation. La valeur cible Le solveur

Livret de l évaluateur : Calcul niveau 2

Bilan des émissions de gaz à effet de serre de la société Fromageries BEL SA

Introduction à MATLAB R

1 RÉPUBLIQUE FRANÇAISE MINISTÈRE DE L EMPLOI, DE LA COHÉSION SOCIALE ET DU LOGEMENT ARRÊTÉ

Travaux dirigés n 1. Programmation linéaire

Diviser un nombre décimal par 10 ; 100 ; 1 000

Pôle de Dakar S IMUL ATIONS. 1 Utiliser un taux d accroissement pour une simulation

Base de données PEGASE

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

LE PRIX DE L ENERGIE

Programmation linéaire et Optimisation. Didier Smets

Stockage et distribution de Liquides inflammables

Théorie et codage de l information

Optimisation Discrète

Fonctions linéaires et affines. 1 Fonctions linéaires. 1.1 Vocabulaire. 1.2 Représentation graphique. 3eme

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

Plus courts chemins, programmation dynamique

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

44 Taux de liquidation, calcul de la pension, décote, surcote, minimum garanti...

SECTEUR 4 - Métiers de la santé et de l hygiène

Master IAD Module PS. Reconnaissance de la parole (suite) Alignement temporel et Programmation dynamique. Gaël RICHARD Février 2008

Journal officiel de l'union européenne


Exercices Corrigés Premières notions sur les espaces vectoriels

Fonctions de plusieurs variables

Calcul Formel et Numérique, Partie I

Limitations of the Playstation 3 for High Performance Cluster Computing

Analyse en Composantes Principales

Chapitre 14 Cours à terme et futures. Plan

Formules et Approches Utilisées dans le Calcul du Coût Réel

Traitement des données avec Microsoft EXCEL 2010

Direction des Études et Synthèses Économiques Département des Comptes Nationaux Division des Comptes Trimestriels

Quelles perspectives de développement pour le gaz naturel dans les transports?

ACTIONS GLOBALES. Optimisation des trajets de véhicules de moins de 3,5 tonnes ACTIONS SOCIALES ET SOCIETALES

L offre d énergie: une comparaison France, Allemagne et Japon. Par Pierre Lasserre, Sciences économiques Université du Québec à Montréal

EXPLOITATIONS PEDAGOGIQUES DU TABLEUR EN STG

Quel système d équations traduit cette situation? x : la hauteur du rectangle. y : l aire du rectangle. C) y = 4x + 25.

STATISTIQUES DESCRIPTIVES

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

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

Méthode de calcul fiscal et écologique du prix de leasing

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.

ARCHITECTE-FICHES RESSOURCES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Saisie des chauffe-eau thermodynamiques à compression électrique

TARIF DES DOUANES - ANNEXE IV - 1

Annexe B : Exemples. Avis de vente aux enchères liées Système de plafonnement et d échange de droits d émission de gaz à effet de serre (GES)

*"&# +',-./! -! " #$$%&'$## '( '$## ) *! " '%+,&,( '-. #/,(0 )0 ) 1 0 5%6'7'0 5%6'7-0 5%6'760 5%6'7+0 5%6'7%0 5%6'7(0

Analyse des visites énergie réalisées par les CCI de Rhône-Alpes en 2011 et 2012

Polynômes à plusieurs variables. Résultant

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

Contents. 1 Introduction Objectifs des systèmes bonus-malus Système bonus-malus à classes Système bonus-malus : Principes

DIPLOME UNIVERSITAIRE DE TECHNOLOGIE, SPÉCIALITÉ GESTION LOGISTIQUE ET TRANSPORT

allianceautopropane.com

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

U N I O N D E S P R O F E S S E U R S D E P H Y S I Q U E E T D E C H I M I E 719 Les voitures électriques

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Chaînes de Markov au lycée

L INDUSTRIE PÉTROLIÈRE FRANÇAISE EN 2014 ET PERSPECTIVES 2015 CONFÉRENCE DE PRESSE DU 10 MARS 2015

Représentation des Nombres

Chapitre 3. Les distributions à deux variables

Correction de l examen de la première session

RECHERCHE OPERATIONNELLE

Les émissions de GES au quotidien et les gains possibles

4.2 Unités d enseignement du M1

FORMULES DE CALCUL. Prix = PV TTC = PV HT x (1 + taux de TVA) TVA = PV HT x taux de TVA PV HT = PV TTC 1 + taux de TVA

Simulation d application des règles CNAV AGIRC ARRCO sur des carrières type de fonctionnaires d Etat

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

Transmission d informations sur le réseau électrique

Energie Nucléaire. Principes, Applications & Enjeux. 6 ème /2015

INF6304 Interfaces Intelligentes

2Exemplaire à conserver par le destinataire

Matériels de Formation du GCE Inventaires Nationaux de Gaz à Effet de Serre. Secteur de l'energie Combustion de Combustibles

CONTROLE DE GESTION. DUT GEA, 2 èm e année option PMO

Chapitre 5 : Flot maximal dans un graphe

Besoin d approfondissement des méthodologies d évaluation Le cas de la voiture électrique

Taille optimale dans l industrie du séchage du bois et avantage compétitif du bois-énergie : une modélisation microéconomique.

4 ème PHYSIQUE-CHIMIE TRIMESTRE 1. Sylvie LAMY Agrégée de Mathématiques Diplômée de l École Polytechnique. PROGRAMME 2008 (v2.4)

Projet Matlab : un logiciel de cryptage

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

Infos. Indicateurs analogiques encastrables pour installation à courants forts. Série M W/P/ LSP BWQ BGQ TP TG WQ /0S WQ /2S FQ /2 W BI BIW DFQ

CHAPITRE 5. Stratégies Mixtes

Guide d établissement des budgets des propositions soumises aux appels à projets de

Exercice du cours Gestion Financière à Court Terme : «Analyse d un reverse convertible»

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

Transcription:

Optimisation TP1 - Programmation linéaire 1 TRAVAUX PRATIQUES : PROGRAMMATION LINEAIRE Programmation linéaire Les problèmes de cette partie sont à traiter à l aide du logiciel MATLAB. La fonction à utiliser est la fonction linprog. La commande help linprog donne accès à l aide sur cette fonction. Il est important de remarquer que linprog résout un problème de minimisation. Donc, le maximum d une fonction z sera cherché comme le minimum de la fonction z. La commande linprog met en oeuvre deux types d algorithmes : Medium Scale Algorithms et Large Scale Algorithms. Pour les exercices de ce TP, seul le premier type est utilisé (il implémente la méthode du simplexe. Le second type s utilise dans des conditions précises, des matrices de grande taille, qui ne sont pas réunies ici ; il utilise une méthode de points intérieurs ; son utilisation peut provoquer des résultats erronés). Pour cela, on désélectionne l option implicite à l aide de la commande : options=optimset( LargeScale, off ); Problème 1 Problème de nougats. Un confiseur dispose de 4800 kg de miel, 10800 kg de sucre et 3300 kg d amandes. Il se propose de fabriquer du nougat mou et du nougat dur avec 2 machines : Avec 300 g de miel, 900 g de sucre et 300 g d amandes, la machine n 1 produit 25 barres de nougat mou et 80 barres de nougat dur. Avec 600 g de miel, 1200 g de sucre et 300 g d amandes, la machine n 2 produit 160 barres de nougat mou et 32 barres de nougat dur. La vente d une barre de nougat mou rapporte 0,40 euro, celle de nougat dur 0,50 euro. Comment répartir la production entre les deux machines pour maximiser le bénéfice? Quel est alors le bénéfice maximum? Formuler ce problème comme un problème de programmation linéaire. Le résoudre sous matlab. Voici, à titre d exemple, les commandes utilisées pour résoudre ce problème : z=[-50-80] % le maximum cherché est le minimum de z1 A=[1 1;3 4;1 2] % coefficients de la matrice des contraintes b=[11000 36000 16000] % second membre des contraintes [X1,zval1]=linprog(z,A,b,[],[],[0 0],[],[],options) La réponse est obtenue sous la forme suivante : X1 = 1.0e+003 * 4.0000 6.0000 zval1 = -6.8000e+005

Optimisation TP1 - Programmation linéaire 2 Problème 2 Soit la fonction économique : z = x 1 + 3x 2 + 5x 3 + x 4 + 4x 5. Les variables sont positives et sont soumises aux contraintes suivantes : x 1 + x 2 x 3 + x 4 = 1 2x 1 + 4x 3 + 2x 4 + x 5 = 7 x 1 + 6x 2 + x 3 + 2x 5 = 19 1 ) - Les variables sont réelles, trouver le maximum de z. 2 ) - Les variables sont réelles, trouver le minimum de z. Réponse à la première question Commandes : %%% 1 ) - maximum de z zmax=[-1-3 -5-1 -4]; Aeq=[1 1-1 1 0;2 0 4 2 1;1 6 1 0 2]; beq=[1 7 19]; [X2,z2max]=linprog(zmax,[],[],Aeq,beq,[0 0 0 0 0],[],[],options) réponse obtenue : X2 = 0 0.9000 0.0000 0.1000 6.8000 z2max = -30.0000 Réponse à la deuxième question Commandes : %%% 2 ) - minimum de z zmin=[1 3 5 1 4]; Aeq=[1 1-1 1 0;2 0 4 2 1;1 6 1 0 2]; beq=[1 7 19]; [X2,z2min]=linprog(zmin,[],[],Aeq,beq,[0 0 0 0 0],[],[],options) réponse obtenue : X2 = 0 2.0000 1.0000 0 3.0000 z2min = 23.0000

Optimisation TP1 - Programmation linéaire 3 Problème 3 Dans ce problème, les variables sont réelles et positives. 1 ) - Trouver le minimum de la fonction : z = 50x 1 + 40x 2 + 10x 3 + 6x 4 5x 1 + 3x 2 + 3x 3 + 2x 4 50 16x 1 + 12x 2 152 3x 3 + 2x 4 6 0 x 1 5 0 x 2 8 0 x 3 2 0 x 4 2 2 ) - Trouver le maximum de la fonction : z = 16x 1 + 12x 2 5x 1 + 3x 2 + 3x 3 + 2x 4 50 50x 1 + 40x 2 + 10x 3 + 6x 4 600 16x 1 + 12x 2 30x 3 20x 4 0 0 x 1 5 0 x 2 8 0 x 3 2 0 x 4 2 Essayer plusieurs points initiaux : (0, 0, 0, 0), (1, 1, 1, 1), (2, 2, 2, 2) par exemple. Pouvez vous expliquer les résultats? Problème 4 On désire déterminer la composition, à coût minimal, d un aliment pour bétail obtenu en mélangeant au plus 3 produits bruts : orge, arachide, sésame. L aliment ainsi conditionné devra comporter au moins 22 % de protéines et 3,6 % de graisses. Le tableau ci-dessous indique les pourcentages de protéines et de graisses contenus dans les 3 produits bruts : produit brut orge arachide sésame % de protéines 12 % 52 % 42 % % de graisses 2 % 2 % 10 % coût par tonne 25 F 41 F 39 F On notera x j la fraction de tonne de produit brut j contenu dans une tonne d aliment. Formuler le problème. Montrer qu il est possible d en réduire la dimension. Le résoudre. Problème 5 Une usine fabrique quatre produits A, B, C, D au moyen de deux machines M 1 et M 2. Les temps machine requis par unité de volume de chacun de ces produits sont donnés ci-dessous ainsi que les bénéfices unitaires correspondants : A B C D M 1 7 mn 10 mn 4 mn 9 mn M 2 3 mn 40 mn 1 mn 1 mn Bénéfice 45 100 30 50 La disponibilité journalière de M 1 est de 1200 mn et celle de M 2 est de 800 mn. On suppose qu aucun problème d ordonnancement ne vient compliquer les choses (utilisation simultanée des machines, etc...) 1 ) - Quelle quantité de chaque produit faut-il fabriquer chaque jour de façon à rendre le bénéfice maximum?

Optimisation TP1 - Programmation linéaire 4 2 ) - Que devient la solution si les bénéfices unitaires associés à A et D passent de 45 à 40 et de 50 à 60 respectivement? 3 ) - Même question, le bénéfice unitaire associé à C baissant de 30 à 25, les autres restant les mêmes qu au 1 )? 4 ) - Que devient la solution si les disponibilités journalières des machines M 1 et M 2 sont portées de 1200 mn à 1500 mn et de 800 mn à 100 mn respectivement? Problème 6 Une raffinerie peut traiter trois types de pétrole brut. Les proportions de produits finis qu elle obtient, pour chacun de ces pétroles, sont précisées dans le tableau ci dessous. La dernière colonne indique ses capacités maximales annuelles (en tonnes) de production et la dernière ligne, ses bénéfices par tonne de brut traité (unité monétaire sans importance) Brut 1 Brut 2 Brut 3 Capacités Gaz 0.02 0 0.06 300000 Essence 0.2 0.25 0.3 1050000 Gazole 0.4 0.25 0.3 1350000 Fioul lourd 0.3 0.5 0.3 1800000 Divers 0.08 0 0.04 180000 Bénéfices 4 5 5 Déterminer l approvisionnement pour chaque type de brut qui donnera le bénéfice maximum. Problème 7 On veut approvisionner en carburant 5 bases militaires à partir de 3 dépôts. Le tableau ci dessous indique les coûts de transport unitaires du dépot D i vers la base B j. La dernière ligne précise les quantités d unités (en milliers de litres) à livrer obligatoirement et la dernière colonne les quantités d unités disponibles dans chaque dépôt B 1 B 2 B 3 B 4 B 5 Disponibilités D 1 3 5 4 7 8 600 D 2 8 7 9 1 2 50 D 3 3 1 2 6 5 100 Demande 30 50 40 30 40 Comment organiser les livraisons de façon à minimiser les coûts de transport?

Optimisation TP1 - Programmation linéaire 5 Correction des problèmes posés Problème 3 1 ) - Pour x 1 = 5, x 2 = 6, x 3 = 0.6667, x 4 = 2, on obtient z min = 508.6667 2 ) - En utilisant différents points initiaux pour l algorithme, on obtient différents points maximums en lesquels la fonction vaut 100. Il est intéressant de remarquer que pour toutes ces solutions x 3 = x 4 = 2. Dans cet hyperplan, le problème se réduit à un problème à deux variables dans lequel seule la troisième contrainte est active : 16x 1 + 12x 2 100 (outre les bornes des variables). Pour plusieurs points initiaux essayés de la forme (a, b, 2, 2), le maximum est la projection du point initial sur la contrainte active. Problème 4 En posant x 1 pourcentage d orge, x 2 pourcentage d arachide et x 3 pourcentage de sésame (variables positives), la fonction à minimiser (coût minimal) est : z = 25x 1 + 41x 2 + 39x 3 somme des pourcentages : x 1 + x 2 + x 3 = 1 protéines : 0.12x 1 + 0.52x 2 + 0.42x 3 0.22 graisses : 0.02x 1 + 0.02x 2 + 0.1x 3 0.036 Le minimum de z vaut 29.4 pour x 1 = 0.7 x 2 = 0.1 x 3 = 0.2. La contrainte égalité permet de supprimer une variable mais cela n a que peu d intérêt compte tenu des logiciels utilisés. Problème 5 Sans indication supplémentaire sur la nature des produits fabriqués, on considère que les variables sont réelles (et positives). On pose a (resp. b, c, d) la quantité de produit A (resp. B, C, D) fabriquée chaque jour. 1 ) - La fonction z à maximiser (bénéfice maximum) est : z = 45a + 100b + 30c + 50d machine M 1 : 7a + 10b + 4c + 9d 1200 machine M 2 : 3a + 40b + c + d 800 Le maximum de z vaut 9333.33 pour a = 0 b = 13.33 c = 266.7 d = 0 Les questions suivantes se traitent de façon identique : 2 ) - Le maximum de z vaut 9333.33 pour a = 0 b = 13.33 c = 266.7 d = 0 3 ) - Le maximum de z vaut 8000 pour a = 160 b = 8 c = 0 d = 0 4 ) - Le maximum de z vaut 5000 pour a = 0 b = 0 c = 0 d = 100 Problème 6 Le maximum de z vaut 20 500 000 pour : Brut 1=1 500 000 t, Brut 2 = 2 400 000 t et Brut 3 = 500 000 t. Problème 7 Ce problème comporte 15 variables, des contraintes inégalité et des contraintes égalité. Avec les notations des exercices précédents, on note les contraintes inégalité à l aide des matrices : 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 600 A = 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 et b = 50 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 100

Optimisation TP1 - Programmation linéaire 6 et les contraintes égalité à l aide des matrices : 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 Aeq = 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 30 50 et beq = 40 30 40 La réponse X7 est donnée sous la forme d un vecteur colonne à 15 lignes. Il est intéressant de la mettre sous la forme d une matrice (3, 5) pour la lisibilité du résultat : zmin=[3 5 4 7 8 8 7 9 1 2 3 1 2 6 5]; A=[1 1 1 1 1 0 0 0 0 0 0 0 0 0 0; 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0; 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]; b=[600 50 100]; Aeq=[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0; 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 ; 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 ; 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 ; 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 ]; beq=[30 50 40 30 40]; lb=zeros(1,15); [X7,z7min]=linprog(zmin,A,b,Aeq,beq,lb,[],[],options) Y=transpose(reshape(X7,5,3)) Y = 30.0000 0 10.0000 0 0 0 0 0 30.0000 20.0000 0 50.0000 30.0000 0 20.0000 z7min = 410.0000