La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Concert Technology + CPLEX Solver

Présentations similaires


Présentation au sujet: "Concert Technology + CPLEX Solver"— Transcription de la présentation:

1 Concert Technology + CPLEX Solver
Céline Gicquel Réunion du 10 juin 2009

2 Modeleurs/solveurs au laboratoire
Remarques Excel Faible performance Xpress-IVE Version étudiante gratuite de Xpress-MP AMPL ILOG CPLEX Solver Version 11.1 OPL Concert Technology Besoin de Visual Studio 2005 COIN-OR : projets FLOPC++ ou GAMSlink COIN-OR : projet CBC Logiciel libre Besoin de Cygwin + Visual Studio 2005

3 Concert Technogogy Installation : Installation Visual Studio 2005
Installation CPLEX (répertoire C:\ILOG) Vérification licence

4 Concert Technogogy Mise en œuvre :
Création d’un projet Visual Studio 2005 Création d’un fichier source .cpp Modification des propriétés du projet pour le relier aux bibliothèques CPLEX

5 Concert Technogogy Mise en œuvre :
Création d’un projet Visual Studio 2005 Création d’un fichier source .cpp Modification des propriétés du projet pour le relier aux bibliothèques CPLEX

6 Concert Technogogy Prototype de code source
#include <ilcplex/ilocplex.h> void main(){ IloEnv env;      IloModel model(env);     IloNumVarArray x(env, 3);     model.add(IloMaximize(env, x[0] + 2*x[1] + 3*x[2]));   model.add( - x[0] +    x[1] + x[2] <= 20);      model.add(   x[0] - 3 * x[1] + x[2] <= 30); IloCplex cplex(model); cplex.solve(); cout <<   "Z = "  <<cplex.getObjValue() << endl; cout <<   " x0 = "  <<cplex.getValue(x[0]) << endl; } // Librairies CPLEX // Environnement // Modèle // Variables // Fonction objectif // Contraintes // Résolution // Affichage résultats

7 Concert Technogogy Utilisation d’expressions:
IloNumVarArray x (env, N+1) ; IloExpr Exemple(env); for (i=0; i<N+1; i++) { Exemple += A[i]*x[i]; } model.add(Exemple<=B); Pour écrire la contrainte Tableau de variables à plusieurs dimensions IloNumVarArray2 x (env, N+1) ; for (i= 0; i <N+1; i++) { x[i]=IloNumVarArray(env,T+1); } Pour définir des variables

8 ILOG CPLEX Solver Résolution de programmes linéaires Algorithmes :
Dual simplex, primal simplex Network optimizer « Warm start », utilisation d’une base avancée Problèmes numériques Paramètres avec des ordres de grandeurs très différents

9 ILOG CPLEX Solver Résolution de programmes linéaires mixtes
Déclaration des variables en ILOBOOL ou ILOINT Algorithme : Branch & Bound Paramètrage : Stratégie d’exploration de l’arbre de recherche Génération automatique de coupes génériques Possibilité de fournir une solution réalisable connue Possibilité de définir une priorité pour le branchement sur les variables entières Possibilité de définir des coupes « utilisateur »

10 ILOG CPLEX Solver Résolution de programmes quadratiques
Fonction objectif quadratique Contraintes quadratiques Propriétés de convexité nécessaires


Télécharger ppt "Concert Technology + CPLEX Solver"

Présentations similaires


Annonces Google