Sujet 1: Introduction des logiciels pour l optimisation



Documents pareils
Formation Excel, Niveau initiation, module 1 DUREE DE LA FORMATION OBJECTIFS DE LA FORMATION

La Clé informatique. Formation Excel XP Aide-mémoire

Initiation à Excel. Frédéric Gava (MCF)

Se Perfectionner à Excel

Antidote et vos logiciels

L apport des logiciels d optimisation des stocks multi-échelons

Plan de formation des Personnels en CUI-CAE Année

CUEEP Département Mathématiques E 821 : Problèmes du premier degré 1/27

REMISE A NIVEAU DES SAVOIRS DE BASE INFORMATIQUE

Annexe : La Programmation Informatique

Environnements de développement (intégrés)

TP1 : Initiation à Java et Eclipse

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

CALENDRIER DES FORMATIONS

Optimisation et Processus métier

La famille Symphony. Click to add text. Vincent Perrin IBM Collaboration Solutions Architect IBM Corporation

Introduction à Microsoft InfoPath 2010

4.2 Unités d enseignement du M1

Comment créer et utiliser une fonction

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES

CALENDRIERS DES FORMATIONS LILLE

CALENDRIER DE FORMATION 2015

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Importer un fichier CSV

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Messagerie & Groupeware. augmentez l expertise de votre capital humain

--- SIDOMTECH (Auto-Entreprise) ---

IFT2255 : Génie logiciel

Valeur cible et solveur. Les calculs effectués habituellement avec Excel utilisent des valeurs numériques qui constituent les données d'un problème.

CATALOGUE DE FORMATIONS

Introduction au développement SharePoint. Version 1.0

Vous venez d acquérir un fichier de données issues de la Base de données SIRENE. Comment utiliser votre fichier?

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

Paul FLYE SAINTE MARIE

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

PRESENTATION. Parcours de formation à distance A destination des personnels en contrats aidés

N Cour Exam Thème Durée New Installing and Configuring Windows Server J New Administering Windows Server J

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

TP1 : Initiation à Java et Eclipse

Les méthodes itératives. Hugues MEUNIER

1 er SEMESTRE 2012 CALENDRIER DES FORMATIONS

Créez votre propre Archive Darwin Core

Mathcad Ces capacités font de Mathcad l outil de calcul technique le plus utilisé au monde.

Z i e d Z a i e r ( )

Programmation Linéaire - Cours 1

1 Introduction et installation

NOS FORMATIONS EN BUREAUTIQUE

... Conseil. Exp er tise. I ngénierie. Formation

UE Programmation Impérative Licence 2ème Année

Génie logiciel (Un aperçu)

SHAREPOINT PORTAL SERVER 2013

Méthodologie de conceptualisation BI

MSDN Academic Alliance Département SRC Vichy

Securexam pour le programme CPA,CGA

Le cas «BOURSE» annexe

Jean-Philippe VIOLET Solutions Architect

TP1 - Prise en main de l environnement Unix.

Catalogue des formations

L2T SMS RESELLER MANUEL D UTILISATION ESPACE CLIENT AVERTISSEMENT

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

Thibault Denizet. Introduction à SSIS

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Formations EViews FORMATIONS GENERALES INTRODUCTIVES INTRO : INTRODUCTION A LA PRATIQUE DE L ECONOMETRIE AVEC EVIEWS

Évaluation et implémentation des langages

Notre Catalogue des Formations IT / 2015

Le passé, le présent et l avenir des logiciels intelligents de programmation mathématique*

Abonnement DreamSpark Premium

modélisation solide et dessin technique

Migration du pack office Planification, préparation, déploiement et formation

Le cas «BOURSE» annexe

Catalogue des formations. Depuis 15 ans, nous soutenons votre évolution. Leadership et potentiel humain Amélioration des processus

Media planning TV et optimisation : du statique au (très) dynamique

ArcGIS. for Server. Sénégal. Comprendre notre monde

Introduction aux Systèmes et aux Réseaux, Master 2 CCI

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Business Intelligence avec SQL Server 2012

Easy to. report. Connexion. Transformation. Stockage. Construction. Exploitation. Diffusion

Comment faire des étiquettes d adresse avec LIBREOFFICE, à partir d un fichier EXEL ou CALC

Intégration de l interface graphique de Ptidej dans Eclipse

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Lancement de la plateforme de private cloud IBM Connections en partenariat avec. 04 Novembre 2010

EXCEL TUTORIEL 2012/2013

Explorer et apprendre à utiliser la clé USB Île-de-France

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

W4 - Workflow La base des applications agiles

Bibliothèque Numérique L'intégrale Collection Ressources Informatiques

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur Le 23 novembre 2012

Introduction à la B.I. Avec SQL Server 2008

UE 8 Systèmes d information de gestion Le programme

Utiliser Access ou Excel pour gérer vos données

Le cycle de vie d'un projet en intelligence d'affaires

IBM Tivoli Monitoring, version 6.1

Chapitre I Notions de base et outils de travail

Guide d Intégration PPM et ERP:

1. Considérations sur le développement rapide d'application et les méthodes agiles

Transcription:

Sujet 1: Introduction des logiciels pour l optimisation MSE3113: Outils et logiciels pour l optimisation Andrew J. Miller Dernière mise au jour: October 26, 2011

Tous les fichiers peuvent être téléchargé à http://www.math.u-bordeaux1.fr/~amiller/cours/.

Dans ce sujet... 1 Logiciels pour l optimisation 2 Tableurs et langues algébraiques de modélisation (LAMs) 3 Planification de production à Ajax

1 Logiciels pour l optimisation 2 Tableurs et langues algébraiques de modélisation (LAMs) 3 Planification de production à Ajax

Motivations On se trouve souvent dans les situations qui sont trop complexes pour qu un humain puisse considérer tous les aspects importants de la situation, et tous les relations entre eux, en même temps. On a besoin de résoudre des modèles avec une quantité de donées réalistes, c est à dire trop grand pour trouver une solution réalisable de bonne qualité sans aide informatique. On a aujourd hui la capacité de ramener, garder, et acceder aux quantités de données énormes. logiciels de base de données variété et capacité des réseaux informatiques De plus en plus on a accès a une capacité de calcul énorme. On a des capacités et ressources informatiques immenses. On a besoin de les utiliser. Mais...

Comment utiliser ces ressources?...ça ne sert pas à grande chose si on ne peut pas utiliser ces ressources pour prendre des meilleures décisions. Il faut savoir utiliser des outils qui peuvent fournir l aide à la décision. Beaucoup de ces outils sont des logiciels d optimisation.

Trois ingrédients Chaque outil de calcul qu on peut utiliser pour optimiser des problèmes de taille pratique comprend trois éléments: un solveur : le moteur qui fait l optimisation une langue de modélisation : l interface qui nous permet de communiquer le modèle au solveur un environnement de dévéloppement : des editeurs et autres logiciels qui nous permet de créer le modèle que le solveur va lire. Ces ingrédients peuvent aussi se trouver (et s acheter) séparément.

Solveurs C est la module qui fait le calcul mathémathique. Vous apprenez les méthodes qu emploient les solveurs dans les autres cours (programmation linéaire et non-linéaire, optimisation de flots des réseaux, programmation en variables entières, etc.).

Langues de modélisation La langue est composée de la vocabulaire, la syntaxe, etc., qui définissent un modèle pour le solveur, et qui donnent le solveur les commandes de résoudre le modéle et de sortir des données. Important : Il s agit toujours d une langue formelle. Le solveur comprends exactement ce que vous le communiquez et non pas ce que vous voulez communiquer!

Environnements de développement Un environnement de développement aide l utilisateur aux activitiés suivantes écrire un modèle correctement dans la langue associée utiliser la bonne syntaxe trouver et corriger des erreurs lancer le solveur sortir et analyser les résultats, etc.

1 Logiciels pour l optimisation 2 Tableurs et langues algébraiques de modélisation (LAMs) 3 Planification de production à Ajax

Tableurs Exemples de logiciels Tableurs : Excel, IBM Lotus Symphony, OpenOffice.org Calc, Gnumeric,... Solveurs de Tableurs : Solveur, What s Best (Lindo), Premium Solver Platform (Frontline Systems),...

Tableurs Le solveur est un macro complémentaire qui fait le calcul sur les données et le modéle precisés dans les cellules d un fichier tableur. La langue de modélisation est ici le format du fichier.xls. L environnement de développement est le logiciel qui ouvre et montre les fichiers.xls (Microsoft Office, Lotus Notes, etc.) En pratique, ces deux éléments sont inséparables pour les logiciels de tableur.

Tableurs: exemple voir Ajax.xls

Langue algébraique de modélisation (LAM) Un des grands problèmes avec un tableur 1, c est que la logique spatiale imposée par le logiciel ne correspond pas du tout à la logique du modèle. La structure du modèle se voit souvent beaucoup plus clairement dans une formulation algébraique. Les langues algébraiques de modélisation sont conceptualisées pour permettre de voir cette structure aussi dans les fichiers qui sont créés pour être passés au solveur. 1 Nous en verrons beaucoup d autres.

Langues algébraiques de modélisation (LAMS) Dans ce cours, on va utiliser plutot la suite des logiciels de FICO Xpress : http://www.fico.com/en/products/dmtools/pages/ FICO-Xpress-Optimization-Suite.aspx La langue algébraique de modélisation appartenant à cette suite s appelle Mosel. Les trois composants (en gros) de cette suite de logiciel sont environnement: Xpress-IVE (Integrated Visual Environment) langue: Xpress-Mosel solveur: Xpress-Optimizer (orthographe à l américain maintenant)

Langues algébraiques de modélisation Autres LAMs disponible sur le marché : GAMS (General Algebraic Modeling System) environnement: environnement GAMS langue: format.gms solveurs: CPLEX, Conopt, MINOS, etc. AMPL (http://www.ampl.com/) environnement: AMPL Studio, experimental graphical interfaces variées langue: formats.mod (modèle) et.dat (donnèes) solveurs: CPLEX, Conopt, GuRoBi, MINOS, etc. ILOG (http://www.ilog.com/products/cplex/) environnement: OPL Development Studio langue: OPL (Optimization Programming Language) solveur: ILOG CPLEX

Langues algébraiques de modélisation A remarquer: Les solveurs qu utilisent GAMS et AMPL viennent tous des autres entreprises. On peut même appeler Xpress-Optimiser de l environnement GAMS ou pour résoudre les fichiers.gms; c est pareil pour AMPL. Ce n est pas le cas avec Xpress-MOSEL, ni avec ILOG OPL. Souvent, on n est pas obligé à utiliser l environnement associé à une LAM n est pas fixée, lui non plus. Même dans ces cas, c est presque toujours mieux à utiliser l environnement associé. Attention! Toutes les versions de ces logiciels ne marche pas sous tous les systèmes d exploitation. Par exemple, et notamment, Xpress-Optimizer et Xpress-Mosel marchent sous Unix, mais non pas Xpress-IVE.

Langues algébraiques de modélisation: exemple voir Ajax.mos

Pourquoi utiliser un tableur? Facilité et ubiquité d utilisation: Il est relativement facile à l apprendre. On n est pas obligé a acheter encore une license de logiciel. Facilité de manipulation des données: Des prototypes pour tester des idées se font vite. Les données sont souvent sauveguardées dans les formats tableurs. Même s il s agit de manipuler des données sauveguardées par les logiciels de base de données (Access, Oracle, etc.), c est (normalement) relativement facile à les transporter entre ces logiciels et des tableurs.

Pourquoi utiliser une LAM? Maintenance: Il est beaucoup plus facile à identifier, trouver, et corriger des erreurs avec une LAM. C est surtout le cas si le modèle sera modifié. Documentation: Un modèle se comprend plus facilement par ceux qui ne l ont pas fait, s il est écrit dans une LAM au lieu d un tableur. Séparation de modèle et de données: Une LAM nous exige à bien distinguer entre le modèle, qui décrit la structure du problème, et les données, qui représentent les characteristiques du problème qui peuvent changer d une résolution à l autre. Augmentation de taille Augmentation de dimension

Résumé des avantages/inconvénients des tableurs Avantages Facilité et ubiquité d utilisation Facilité de manipulation des données Inconvénients Facilité d introduction des erreurs Difficultés de modification Difficultés de maintenance Grandes difficultés de distinction entre les données (qui peuvent tous changer) et le modèle (qui incorpère la structure du problème)

Résume des avantages//inconvénients des LAMs Avantages Séparation de modèle mathématique et des données L expression du modèle dans la langue se rassemble à l expression algébraique (meilleure abstraction) Facilité relative d identifier des erreurs, et de distinguer entre erreurs de modélisation, erreurs de syntaxe, et erreurs de données Beaucoup plus facile à àjouter des données (agrandir la taille) ou d àjouter des dimensions (agrandir la complexité) sans faire des erreurs Inconvénients Des efforts sont nécéssaires pour apprendre la syntaxe et la vocabulaire de la langue. Les licenses sont souvent payantes, et surtout pour des problèmes qu on s intéresse à résoudre.

1 Logiciels pour l optimisation 2 Tableurs et langues algébraiques de modélisation (LAMs) 3 Planification de production à Ajax

Une situation simplifiée 3 produits deux lignes de fabrication Chacun a sa capacité limitée. Produits 1 et 2 se font sur ligne A, produit 3 sur ligne 3. capacité de main d oeuvre Il faut maximiser le profit.

RAPPEL: Principes des modélisation Dans chaque programme mathématique, il faut bien distinguer et définir Indices : Les dimensions du modèle; les ensembles pour lesquelles toutes les autres éléments sont définis. Données : Les éléments du modèle qu on ne peut pas changer Variables Fonction objective Contraintes Pour utiliser (correctement) des logiciels, il est très important de ne pas confondre ces éléments.

Modèle algébraique max s.à 3 (R i C i )x i i=1 x 1 + x 2 ACAP x 3 CCAP 3 H i x i L i=1 x i 0, i = 1,..., 3

Une modification Comment modéliser le problème s il y a aussi des coûts fixes? [20000, 15000, 15000] A voir: les fichiers Ajax.xls, Ajax.mod, Ajax_fixedcosts.mod

A souvenir Trois ingrédients d un logiciel pour l optimisation environnement langue solveur Avantages et inconvénients des tableurs et ceux des LAMs Rappel : principes de modélisation Syntaxe fondamental des modèles utilisés