1 / 10

Concert Technology + CPLEX

Concert Technology + CPLEX. Céline Gicquel Réunion du 10 juin 2009. Modeleurs/solveurs au laboratoire. Concert Technogogy. Installation : Installation Visual Studio 2005 Installation CPLEX (répertoire C:ILOG) Vérification licence. Concert Technogogy. Mise en œuvre :

Download Presentation

Concert Technology + CPLEX

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Modeleurs/solveurs au laboratoire

  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

More Related