DEVOIR 1. MAT-2920 : recherche opérationnelle Hiver 2015 A remettre vendredi le 13 mars avant 16h00.

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

Programmation linéaire

Programmation Linéaire - Cours 1

Programmation linéaire

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

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

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

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

Programmation linéaire et Optimisation. Didier Smets

Optimisation Discrète

Chapitre 5 : Flot maximal dans un graphe

Introduction à MATLAB R

Chapitre 2 Le problème de l unicité des solutions

Résolution d équations non linéaires

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

Cours d analyse numérique SMI-S4

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.

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Optimisation, traitement d image et éclipse de Soleil

RECHERCHE OPERATIONNELLE

Wrap-éclair?? au poulet grillé 110g , Wrap-éclair?? au poulet grillé avec sauce chipotle

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

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

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

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

Chapitre 3. Les distributions à deux variables

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

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

Programmation linéaire

LES MÉTHODES DE POINT INTÉRIEUR 1

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

Travaux dirigés n 1. Programmation linéaire

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

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b

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

AUTRES ASPECTS DU GPS. Partie I : tolérance de Battement Partie II : tolérancement par frontières

Exercice : la frontière des portefeuilles optimaux sans actif certain

OPTIMISATION À UNE VARIABLE

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

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

Problème 1 : applications du plan affine

Annexe 6. Notions d ordonnancement.

Probabilités sur un univers fini

4.2 Unités d enseignement du M1

Optimisation des fonctions de plusieurs variables

choisir H 1 quand H 0 est vraie - fausse alarme

Cours de recherche opérationnelle I

Fonctions de plusieurs variables

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

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

Cours Informatique Master STEP

Factsheet Qu est-ce que le yogourt?

Amphi 3: Espaces complets - Applications linéaires continues

FORMULAIRE DE STATISTIQUES

Probabilités sur un univers fini

Modèles bi-dimensionnels de coques linéairement élastiques: Estimations de l écart entre leurs solutions.

Analyse en Composantes Principales

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

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

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Thème 17: Optimisation

Fonctions homographiques

Équation de Langevin avec petites perturbations browniennes ou

PROGRAMME AMBASSADEURS LAIT S GO SPORT

Quoi manger et boire avant, pendant et après l activité physique

Indications pour une progression au CM1 et au CM2

Logistique, Transports

TP 1 Introduction à Matlab Février 2009

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

Allégations relatives à la teneur nutritive

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

Mathématiques appliquées à l'économie et à la Gestion

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

Température corporelle d un castor (une petite introduction aux séries temporelles)

Complément d information concernant la fiche de concordance

Fonctions de plusieurs variables

INFO-F Algorithmique 3 et Recherche Opérationnelle

Teneur en glucides des produits de la Réunion. 15 décembre 2011

Procédure d installation de mexi backup

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

COMITE SCIENTIFIQUE DE L AGENCE FEDERALE POUR LA SECURITE DE LA CHAINE ALIMENTAIRE

Modèle de calcul des paramètres économiques

Multichronomètre SA10 Présentation générale

3 Approximation de solutions d équations

Correction de l examen de la première session

DÉRIVÉES. I Nombre dérivé - Tangente. Exercice 01 (voir réponses et correction) ( voir animation )

ESSEC. Cours «Management bancaire» Séance 3 Le risque de crédit Le scoring

Auto-Entreprise : Activités : Eric SOTY - Siret n Formation Bureautique, continue d'adultes. Tél : Fax :

ELEC2753 Electrotechnique examen du 11/06/2012

Présentation du logiciel

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

Le régulateur RC 6170 RC 6170 FORMATION. Formation RC

Algèbre binaire et Circuits logiques ( )

Consommez moins de sodium pour réduire votre pression artérielle. Information sur le sodium alimentaire.

Théorie et codage de l information

CHAPITRE 5. Stratégies Mixtes

Transcription:

DEVOIR 1 MAT-2920 : recherche opérationnelle Hiver 2015 A remettre vendredi le 13 mars avant 16h00. Note: On fera le devoir à l aide du logiciel Matlab. Pour les questions qui n exigent pas Matlab, on répondra dans un document manuscrit. De plus, on enverra par courriel une copie électronique des fichiers Matlab de sorte que le professeur soit capable d exécuter les programmes pour chacune des parties du devoir. Partie A: méthode du simplexe Ecrire un programme Matlab de résolution du problème d optimisation linéaire min z = c t x Ax b, à l aide de la méthode du simplexe en incorporant la phase I et la phase II. La syntaxe de la fonction Matlab sera function [x, zmin, B, T, iter] = nom_du_programme(c,a,b,nmax) où T est le tableau final du simplexe, iter le nombre d itérations de la phase II, x est la solution finale sans les variables d écart, B est la base optimale, nmax le nombre maximal d itérations permises du simplexe et finalement zmin est la valeur minimale du problème. On utilisera la règle usuelle pour le choix de la colonne de pivot. On utilisera les programmes Matlab qui sont disponibles sur le site web du cours. La phase II a déjà été fait lors d une séance de travaux pratiques. Il suffit d ajouter la phase I à votre code. Voici quelques consignes de programmation. Si b 0, on évitera la phase I. 1

Si le problème n admet pas de solution réalisable, on affichera un message d erreur. Si le problème est non borné, on affichera aussi un message d erreur. Le programme devra éviter de boucler indéfiniment. Il faut calculer les variables de base B à chaque étape du simplexe. Ceci est nécessaire pour identifier la solution à partir du tableau final du simplexe. On portera une attention particulière lorsque l on désire vérifier la positivité ou la négativité. Pour éviter les problèmes causés par les erreurs d arrondies, on introduira deux valeurs très petites ɛ 0 et ɛ p qui servirons de tolérance. Par exemple, pour vérifier que c i 0, on écrira c i > ɛ 0. De même, il faut choisir les a ij > 0 pour le choix de la ligne de pivot. On écrira a ij > ɛ p. Plusieurs auteurs suggèrent de prendre les valeurs: ɛ 0 = 10 5 et ɛ p = 10 8. Il est recommandé de valider votre code à partir des séries d exercices. En particulier, il devra pouvoir résoudre le problème suivant de la série 3. Minimiser z = 2x 1 x 2 + x 3 x 4 sous les conditions x 1 + x 2 4x 3 + 4x 4 1, x 1 + x 2 + x 3 x 4 2, x 1 + 3x 2 + 2x 3 2x 4 3, x 1 3x 2 2x 3 + 2x 4 3, x 1, x 2, x 3, x 4 0. 2

Partie B: Application à un problème de diète Il s agit de déterminer la meilleure diète journalière à partir d une série d aliments provenant du restaurant McDonalds. Les données proviennent d un document de Robert Vanderbei. Les aliments de la diète sont dans cet ordre Aliments Prix unitaire en $ US Quart de livre fromage 1.84 Hamburger Deluxe fromage 2.19 Big Mac 1.84 Filet de poisson 1.44 Mac Poulet 2.29 Frites 0.77 Saucisses McMuffin 1.29 Lait 0.60 Jus d orange 0.72 La diète doit respecter une consommation minimale de plusieurs nutriments: Nutriments Seuil minimal Calories 2000 Hydrate de carbone 350 Protéine 55 Vitamine A 100 Vitamine C 100 Calcium 100 Fer 100 A l aide des données du fichier proboptlindiete.m disponible sur le site du cours, le problème s écrit sous la forme min coût = c t x, Ax Seuil, Répondre aux questions suivantes en utilisant obligatoirement votre code de la partie A. Ceci étant dit, on peut toujours vérifier les réponses à l aide de la commande linprog de Matlab. 1. Déterminer le choix des aliments qui minimise le coût. Quel sera le nombre de calories de cette diète? 3

2. Refaire a) en ajoutant une borne sur le nombre de calories: 2000 calories 2500. Il faut ajouter une inégalité au système. 3. Peut-on avoir une diète à 2000 calories? 4. Déterminer le choix des aliments qui minimise le nombre de calories. Pour cela, modifier la fonction objective par les calories et réduire la matrice. Quelle sera le nombre minimal de calories? Quel sera le coût de cette diète? 5. Ajouter de la variété au menu. On impose que le nombre de chaque aliment est limité à 2: 0 x i 2. Résoudre le problème initial en a) avec ces nouvelles contraintes et calculer les calories. Partie C: Problème général avec des contraintes d égalité et des variables libres Considérons le problème général min z = c t x + d t y, Ax + By b, Cx + Dy = g (1) comportant un ensemble de contraintes d inégalitét un autre ensemble de contraintes de type égalité. De plus, il y a un certain nombre de variables libres regroupées sous la variable y. Pour traiter les variables libres, nous allons introduire une seule variable y 0 et poser y = ỹ y 0 e où y 0, ỹ 0 et e = (1, 1,..., 1) t est le vecteur dont toutes les composantes sont égales à 1. Le rôle de la variable supplémentaire y 0 est d absorber la plus grande valeur négative des y i de sorte que y 0 + y i 0 pour tous les i = 1, 2,..., p sachant que y R p. Le problème (1) deviendra min z = c t x + d t (ỹ y 0 e), Ax + B(ỹ y 0 e) b, Cx + D(ỹ y 0 e) = g x, ỹ, y 0 0. (2) 4

Finalement, pour traiter les contraintes d égalité, il est préférable de procéder de la manière suivante. On utilise la propriété z 0 et e t z 0 z = 0. Par conséquent, une contrainte d égalité va s écrire Cx + Dy = g Cx + Dy g et e t (Cx + Dy g) 0 Autrement dit, il suffit d ajouter qu une seule contrainte de plus. La forme générale devient min z = c t x + d t y, Ax + By b, Cx + Dy = g, min z = c t x + d t y, Ax + By b, Cx + Dy g e t (Cx + Dy g) 0 (3) 1. Ecrire le problème (3) sous forme matricielle par rapport aux variables (x, ỹ, y 0 ). 2. Minimiser z = 2x 1 + x 2 + x 3 + 2x 4 sous les conditions x 1 x 2 + x 3 x 4 = 1, x 1 x 2 x 3 x 4 = 3, x 1 + x 2 x 3 + x 4 1, x 1 + x 2 x 3 x 4 1, x 1 x 2 + x 3 + x 4 1, x 1 + x 2 + x 3 x 4 2, x 1, x 4 0. On observera que les variables x 2, x 3 sont libres. On utilisera la formulation décrite ci-dessus. 5

Partie D: Applications On dénotera par A une matrice de format m n, b un vecteur de taille m et x un vecteur de taille n. En général, le système linéaire Ax = b n admet pas de solution. Toutefois, on pourrait calculer la solution x qui s approche au mieux de Ax = b. Ainsi, nous sommes conduit à considérer le problème d approximation en norme l 1, l 2 ou l min Ax b p (4) x sans aucune contrainte sur x pour p = 1 ou p = 2 ou p =. On rappelle que la n norme l 1 est définie par x 1 = x i et que la norme l 2 est x 2 = n x i 2. i=1 Finalement la norme l est définie par x = max i x i Si p = 2, ce problème est bien connu et porte le nom de moindres carrés. Sa solution sous Matlab est fournie par la commande > x = A\b Mais si p 2, le problème d approximation (4) n est pas un problème de programmation linéaire. Toutefois, il est possible de le résoudre à l aide de l optimisation linéaire. On notera le vecteur e = (1, 1,..., 1) t. i=1 1. Considérons le cas p = 1. On introduit les variables supplémentaires z i = (Ax b) i et on considère le problème de programmation linéaire min e t z z Ax b z, z 0 et x libre. (5) (a) Montrer que les deux problèmes (4) et (5) sont équivalents, i.e. admettent la même solution x. (b) Montrer que le problème (5) admet toujours une solution, donc aussi pour (4) si p = 1. Par la suite, on considère le problème de régression linéaire qui consiste à déterminer la meilleure droite d équation y = α + β t 6

qui représente au mieux un ensemble de points {(t i, y i )} m i=1 du plan. En norme l 1, il s agira de minimiser la fonction min (α,β) m α + βt i y i i=1 (c) Ecrire le problème de régression linéaire sous la forme min Ax b 1. Identifier A et x b. (d) En utilisant les données du fichier ex13data.m, résoudre le problème de régression linéaire en norme l 1. 2. Considérons le cas p =. On introduit la variable supplémentaire µ = Ax b et on considère le problème de programmation linéaire min µ µ Ax b µ, µ 0 et x libre. (6) (a) Montrer que les deux problèmes (4) et (6) sont équivalents, i.e. admettent la même solution x. (b) Montrer que le problème (6) admet toujours une solution, donc aussi pour (4) si p =. (c) En utilisant les mêmes données que le problème précédent, résoudre le problème de régression linéaire en norme l. 3. Représenter graphiquement les trois droites de régression en norme l 1, l 2 et l, ainsi que les points {(t i, y i )} m i=1. Commenter les résultats obtenus. 7