Outils et Logiciels d`Optimisation - Cours 1
Transcription
Outils et Logiciels d`Optimisation - Cours 1
Introduction Tableurs et solveurs Outils et Logiciels d’Optimisation - Cours 1 P. Pesneau [email protected] Université Bordeaux 1 Bât A33 - Bur 256 P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 1 Introduction Tableurs et solveurs Motivations Systèmes trop complexes pour qu’un humain puisse les résoudre en prenant tout en compte (nombre de variables, nombre de contraintes, ...). La taille des problèmes réels est très grande. Capacité d’accéder à des volumes de données énormes (bases de données, réseau informatique, ...) Accès à de grosses capacités de calcul (Calcul parallèle, calcul distribué, ...). Question : Comment accéder efficacement à ces ressources ? Utiliser des outils d’aide à la décision. Beaucoup de ces outils sont des logiciels d’optimisation. P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 1 Introduction Tableurs et solveurs Trois ingrédients Chaque outil de calcul est peut être composé de 3 éléments : Un solveur : moteur d’optimisation Un langage de modélisation : communiquer avec le solveur Un environnement de développement : éditeurs et logiciels qui permettent de créer le modèle Certains logciels comprennent ces trois ingrédients, mais on peut également les trouver séparément. P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 1 Introduction Tableurs et solveurs Les solveurs C’est le coeur des logiciels d’optimisation. C’est le module qui fait le calcul mathématique. Plusieurs types de solveurs. Voici quelques exemples : Solveurs linéaires (programmation linéaire) : simplex, points intérieurs, ... Solveur non-linéaires (programmation non linéaire) : Newton, algorithmes de gradients, ...) Algorithmes de flots : maximum flot, flot de coût minimum, ... Solveurs pour la programmation entière : Branch-and-Bound, heuristiques, ... P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 1 Introduction Tableurs et solveurs Les langages de modélisation Ils permettent de définir les modèles mathématiques dans un langage compréhensible par le solveur en suivant une syntaxe et un vocabulaire. Il existe plusieurs langages de modélisation, Voici quelques exemples : GNU Mathematical Programming AMPL (A mathematical Programming Language) IBM-ILOG OPL (Optimization Programming Language) Fico Mosel P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 1 Introduction Tableurs et solveurs Les environnements de développement Un environnement de développement aide l’utilisateur aux activités suivantes : écrire un modèle utiliser la bonne syntaxe trouver et corriger les erreurs lancer le solveur sortir et analyser les résultats L’existence d’environnements de développement dépend souvent de la plateforme sur laquelle on travaille (Windows, Mac, Linux). P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 1 Introduction Tableurs et solveurs Plan du cours Dans ce cours, on va essayer de voir : Solveurs intégrés dans les tableurs Logiciels intéractifs Fichiers de transferts Un langage de modélisation (OPL) C++ / Cplex P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 1 Introduction Tableurs et solveurs Tableurs et solveurs De nos jours, plusieurs logiciels permettant de gérer des tableaux intègrent ou sont interfacés avec des solveurs. La plupart des solveurs sont des solveurs linéaires ou en nombres entiers. Certains peuvent gérer des fonctions quadratiques. Exmeples : Excel (solveur intégré, Cplex) OpenOffice.org Calc (solveur intégré) IBM Lotus Symphony (solveur intégré) Gnumeric P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 1 Introduction Tableurs et solveurs Tableurs et solveurs Le solveur est généralement une macro supplémentaire. Le calcul se fait sur des données stockées dans les cellules du tableur. Les contraintes et l’objectif sont également associés à des cellule et correspondent à des produits scalaire de vecteurs. P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 1 Introduction Tableurs et solveurs Exemples Traitons quelques exemples avec OpenOffice.org Calc P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 1 Introduction Tableurs et solveurs Avantages et Inconvénients Avantages : Les tableurs sont très répendus dans les entreprises (pas besoin d’acheter de nouveaux logiciels). Facilité de mise en place d’un petit modèle mathématique. Les données sont souvent sauvegardées au format tableur. Inconvénients : Pas de possibilités d’automatiser la spécification des contraintes. La taille des modèles est limitée (nombre de variables, nombre de contraintes La gestion de plusieurs jeux de données est complexe (nécessite l’écriture de plusieurs modèles). Les solveurs intégrés sont moins performants que des solveurs dédiés à la résolution de programmes linéaires et programmes linéaires en nombres entiers. Outils et Logiciels d’Optimisation - Cours 1 P. Pesneau [email protected] Introduction Tableurs et solveurs Le cas de Microsoft Excel Il peut dorénavent être interfacé avec le solveur linéaire de IBM-ILOG Cplex. Fournit un rapport de sensibilité. Il garde cependant les limites du à l’utilisation d’un tableur pour la gestion des données. P. Pesneau [email protected] Outils et Logiciels d’Optimisation - Cours 1