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