IBM ILOG-CPLEX
Concert Technology for C++ users
with Microsoft Visual Studio 2010
Med,bouhamed@live,fr
Plan
med.bouhamed@live.fr
1. Fonctionnement de C++  CPLEX 12.5
2. Installation de Microsoft Visual Studio 2010
& CPLEX 1...
1. Fonctionnement de C++  CPLEX 12.5
med.bouhamed@live.fr
3
Instances
Lire instance
du problème
Modèle
(fichier .lp)
Str...
2. Installation de M.V.S. 2010 & CPLEX 12.5
med.bouhamed@live.fr
Installation de Microsoft Visual 2010
(1) Double cliquer
...
2. Installation de M.V.S. 2010 & CPLEX 12.5
med.bouhamed@live.fr
Installation de CPLEX 12.5
(3) Installer ce fichier si vo...
3. Création d’un projet C++ sous M.V.S. 2010
med.bouhamed@live.fr
(1) Lancer M.V.S. 2010 ensuite aller au menu
Fichier  N...
3. Création d’un projet C++ sous M.V.S. 2010
med.bouhamed@live.fr
(2) Dans la fenêtre « Nouveau Projet » sélectionner
« Vi...
3. Création d’un projet C++ sous M.V.S. 2010
med.bouhamed@live.fr
(5) Dans la fenêtre «Assistant
Application Win32» appuye...
3. Création d’un projet C++ sous M.V.S. 2010
med.bouhamed@live.fr
(7) Afin de créer un fichier
source (exemple
"main.cpp« ...
3. Création d’un projet C++ sous M.V.S. 2010
med.bouhamed@live.fr
(8) Sélectionner « Fichier
C++ »
(9) Préciser le nom de
...
3. Création d’un projet C++ sous M.V.S. 2010
med.bouhamed@live.fr
(10) Cliquer sue Win32 en
suite «Gestionnaire de
Configu...
3. Création d’un projet C++ sous M.V.S. 2010
med.bouhamed@live.fr
(11) Dans la fenêtre
« Gestionnaire de
configuration » c...
3. Création d’un projet C++ sous M.V.S. 2010
med.bouhamed@live.fr
Fichier code source C++
Edition du code source C++
Enfin...
4. Paramétrage de CPLEX 12.5 sous M.V.S.
2010
med.bouhamed@live.fr
14
Pour accéder au paramétrage
CPLEX avec le projet C++...
4. Paramétrage de CPLEX 12.5 sous M.V.S.
2010
med.bouhamed@live.fr
15
(1) Dans la page de
propriétés du projet,
cliquer su...
4. Paramétrage de CPLEX 12.5 sous M.V.S.
2010
med.bouhamed@live.fr
16
1
(3) Dans la fenêtre « Autres répertoires Include »...
4. Paramétrage de CPLEX 12.5 sous M.V.S.
2010
med.bouhamed@live.fr
17
(4) Dans la page de
propriétés du projet, cliquer
su...
4. Paramétrage de CPLEX 12.5 sous M.V.S.
2010
med.bouhamed@live.fr
18
(6) Dans la fenêtre
« Définition de
préprocesseur »,...
4. Paramétrage de CPLEX 12.5 sous M.V.S.
2010
med.bouhamed@live.fr
19
(7) Dans la page de
propriétés du projet, cliquer
su...
4. Paramétrage de CPLEX 12.5 sous M.V.S.
2010
med.bouhamed@live.fr
20
1
(9) Dans la fenêtre « Répertoires de bibliothèques...
4. Paramétrage de CPLEX 12.5 sous M.V.S.
2010
med.bouhamed@live.fr
21
(10) Dans la page de
propriétés du projet, cliquer
s...
4. Paramétrage de CPLEX 12.5 sous M.V.S.
2010
med.bouhamed@live.fr
22
(12) Dans la fenêtre
« Dépendances
supplémentaires»,...
5. Lecture de l’instance du problème
med.bouhamed@live.fr
23
Knapsack Problem with Setup KSP
5. Lecture de l’instance du problème
med.bouhamed@live.fr
24
Knapsack Problem with Setup KSP
5. Lecture de l’instance du problème
med.bouhamed@live.fr
25
Knapsack Problem with Setup KSP
Données
Variablesde
décision
5. Lecture de l’instance du problème
med.bouhamed@live.fr
26
Modèle du KPS
5. Lecture de l’instance du problème
med.bouhamed@live.fr
27
Instance du KPS
test3x10-SC(0).txt
test3x10-SC(1).txt
..
..
....
5. Lecture de l’instance du problème
med.bouhamed@live.fr
28
Structures de données pour les données du KPS
5. Lecture de l’instance du problème
med.bouhamed@live.fr
29
Lecture d’une instance KPS
5. Lecture de l’instance du problème
med.bouhamed@live.fr
30
Lecture d’une instance KPS
5. Lecture de l’instance du problème
med.bouhamed@live.fr
31
Lecture d’une instance KPS
6. Variables et structures propres au modèle
med.bouhamed@live.fr
32
Tableaux des variables de décision
IloNumVarArray : t...
6. Variables et structures propres au modèle
med.bouhamed@live.fr
33
Ouverture de l’environnement CPLEX
Obligatoire pour u...
6. Variables et structures propres au modèle
med.bouhamed@live.fr
34
Tableaux des variables de décision
typedef IloArray<I...
6. Variables et structures propres au modèle
med.bouhamed@live.fr
35
Tableaux des solutions
IloNumArray : tableau où récup...
6. Variables et structures propres au modèle
med.bouhamed@live.fr
36
Tableaux des solutions
typedef IloArray<IloNumArray2>...
6. Variables et structures propres au modèle
med.bouhamed@live.fr
37
Personnalisation des noms des variables
7. Création du modèle
med.bouhamed@live.fr
38
Déclaration du modèle
Obligatoire pour construire le modèle
7. Création du modèle
med.bouhamed@live.fr
39
Principe: Pareil pour la fonction objectif et les
contraintes (sauf pour (3)...
8. Résolution du modèle avec CPLEX 12.5
med.bouhamed@live.fr
40
9. Récupération de la solution
med.bouhamed@live.fr
41
FIN
med.bouhamed@live.fr
Prochain SlideShare
Chargement dans…5
×

Slides ceplex

805 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
805
Sur SlideShare
0
Issues des intégrations
0
Intégrations
9
Actions
Partages
0
Téléchargements
29
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Slides ceplex

  1. 1. IBM ILOG-CPLEX Concert Technology for C++ users with Microsoft Visual Studio 2010 Med,bouhamed@live,fr
  2. 2. Plan med.bouhamed@live.fr 1. Fonctionnement de C++  CPLEX 12.5 2. Installation de Microsoft Visual Studio 2010 & CPLEX 12.5 3. Création d’un projet C++ sous Microsoft Visual Studio 2010 4. Paramétrage de CPLEX 12.5 sous Microsoft Visual Studio 2010 5. Lecture de l’instance d’un problème 6. Variables et structures propres au modèle 7. Construction du modèle 8. Résolution du modèle avec CPLEX 12.5 9. Récupération de la solution 2
  3. 3. 1. Fonctionnement de C++  CPLEX 12.5 med.bouhamed@live.fr 3 Instances Lire instance du problème Modèle (fichier .lp) Structures de données Données du problème Variables de décision Fichier résultat Construction du modèle LP CPLEX Résolution avec CPLEX Récupération de la solution
  4. 4. 2. Installation de M.V.S. 2010 & CPLEX 12.5 med.bouhamed@live.fr Installation de Microsoft Visual 2010 (1) Double cliquer sur autorun.exe (2) Appuyer sur installer 4
  5. 5. 2. Installation de M.V.S. 2010 & CPLEX 12.5 med.bouhamed@live.fr Installation de CPLEX 12.5 (3) Installer ce fichier si votre système Windows est 32 bits (3) Installer ce fichier si votre système Windows est 64 bits 5
  6. 6. 3. Création d’un projet C++ sous M.V.S. 2010 med.bouhamed@live.fr (1) Lancer M.V.S. 2010 ensuite aller au menu Fichier  Nouveau  Projet 6 Création d’un projet
  7. 7. 3. Création d’un projet C++ sous M.V.S. 2010 med.bouhamed@live.fr (2) Dans la fenêtre « Nouveau Projet » sélectionner « Visual C++ » ensuite « Application Console Win32 » (4) Préciser le répertoire de sauvegarde de votre projet ensuite appuyer sur « OK » (3) Préciser le nom de votre projet 2 1 3 4 7 Création d’un projet
  8. 8. 3. Création d’un projet C++ sous M.V.S. 2010 med.bouhamed@live.fr (5) Dans la fenêtre «Assistant Application Win32» appuyer sur le bouton « Suivant » (6) Ensuite, dans la nouvelle fenêtre, cocher «Projet Vide» puis appuyer sur le bouton «Terminer» 8 1 2 Création d’un projet
  9. 9. 3. Création d’un projet C++ sous M.V.S. 2010 med.bouhamed@live.fr (7) Afin de créer un fichier source (exemple "main.cpp« ), cliquer par le bouton droit sur votre projet, ensuite « Ajouter », ensuite « Nouvel élément » 2 1 3 9 Création d’un fichier code source C++
  10. 10. 3. Création d’un projet C++ sous M.V.S. 2010 med.bouhamed@live.fr (8) Sélectionner « Fichier C++ » (9) Préciser le nom de votre fichier source ensuite appuyer sur « Ajouter »2 1 3 10 Création d’un fichier code source C++
  11. 11. 3. Création d’un projet C++ sous M.V.S. 2010 med.bouhamed@live.fr (10) Cliquer sue Win32 en suite «Gestionnaire de Configuration» Effectuer les étapes 10, 11 et 12 uniquement si votre Windows est en 64bits (il faut transformer votre projet en 64 bits) 11
  12. 12. 3. Création d’un projet C++ sous M.V.S. 2010 med.bouhamed@live.fr (11) Dans la fenêtre « Gestionnaire de configuration » cliquer sur « Win32 » ensuite «Nouveau » (12) Dans la fenêtre « Nouvelle plateforme de projet » cliquer sur « Itanium» ensuite «X64» puis appuyer sur « OK » 2 1 3 12 Effectuer les étapes 10, 11 et 12 uniquement si votre Windows est en 64bits (il faut transformer votre projet en 64 bits)
  13. 13. 3. Création d’un projet C++ sous M.V.S. 2010 med.bouhamed@live.fr Fichier code source C++ Edition du code source C++ Enfin vous aurez votre projet crée pour éditer votre code source X64 si votre Windows est en 64 bits 13
  14. 14. 4. Paramétrage de CPLEX 12.5 sous M.V.S. 2010 med.bouhamed@live.fr 14 Pour accéder au paramétrage CPLEX avec le projet C++ crée, cliquer par le bouton droit sur le nom du projet ensuite « Propriétés » 2 1
  15. 15. 4. Paramétrage de CPLEX 12.5 sous M.V.S. 2010 med.bouhamed@live.fr 15 (1) Dans la page de propriétés du projet, cliquer sur « C/C++ », ensuite « Général ». 2 1 (2) Dans « Autres répertoires Include », appuyer sur « Modifier » 3 Désignation des chemins « Include »
  16. 16. 4. Paramétrage de CPLEX 12.5 sous M.V.S. 2010 med.bouhamed@live.fr 16 1 (3) Dans la fenêtre « Autres répertoires Include », Appuyer sur l’icône et donner les deux chemins include de cplex et de concert. Vous devez avoir les deux chemins désignés dans la zone de texte correspondante. Ensuite Apuyer sur « OK » Désignation des chemins « Include » 2
  17. 17. 4. Paramétrage de CPLEX 12.5 sous M.V.S. 2010 med.bouhamed@live.fr 17 (4) Dans la page de propriétés du projet, cliquer sur « C/C++ », ensuite « Préprocesseur ». 1 2 (5) Dans « Définition de préprocesseur », appuyer sur « Modifier » Préprocesseur
  18. 18. 4. Paramétrage de CPLEX 12.5 sous M.V.S. 2010 med.bouhamed@live.fr 18 (6) Dans la fenêtre « Définition de préprocesseur », ajouter dans la zone de texte les deux lignes encadrées en rouge. Ensuite cliquer sur « OK ». Préprocesseur 1 2
  19. 19. 4. Paramétrage de CPLEX 12.5 sous M.V.S. 2010 med.bouhamed@live.fr 19 (7) Dans la page de propriétés du projet, cliquer sur «Editeur de liens», ensuite « Général ». 2 1 (8) Dans « Répertoires des bibliothèques supplémentaires », appuyer sur « Modifier » 3 Désignation des chemins « Include »
  20. 20. 4. Paramétrage de CPLEX 12.5 sous M.V.S. 2010 med.bouhamed@live.fr 20 1 (9) Dans la fenêtre « Répertoires de bibliothèques supplémentaires », Appuyer sur l’icône et donner les deux chemins lib de cplex et de concert. Vous devez avoir les deux chemins désignés dans la zone de texte correspondante. Ensuite appuyer sur « OK » Désignation des chemins « Include » 2
  21. 21. 4. Paramétrage de CPLEX 12.5 sous M.V.S. 2010 med.bouhamed@live.fr 21 (10) Dans la page de propriétés du projet, cliquer sur « Editeur de liens », ensuite « Entrée ». 1 2 (11) Dans « Dépendances supplémentaires», appuyer sur « Modifier » Entrées librairies (lib)
  22. 22. 4. Paramétrage de CPLEX 12.5 sous M.V.S. 2010 med.bouhamed@live.fr 22 (12) Dans la fenêtre « Dépendances supplémentaires», ajouter dans la zone de texte les trois lignes encadrées en rouge. Ensuite cliquer sur « OK ». Entrées librairies (lib) 1 2
  23. 23. 5. Lecture de l’instance du problème med.bouhamed@live.fr 23 Knapsack Problem with Setup KSP
  24. 24. 5. Lecture de l’instance du problème med.bouhamed@live.fr 24 Knapsack Problem with Setup KSP
  25. 25. 5. Lecture de l’instance du problème med.bouhamed@live.fr 25 Knapsack Problem with Setup KSP Données Variablesde décision
  26. 26. 5. Lecture de l’instance du problème med.bouhamed@live.fr 26 Modèle du KPS
  27. 27. 5. Lecture de l’instance du problème med.bouhamed@live.fr 27 Instance du KPS test3x10-SC(0).txt test3x10-SC(1).txt .. .. .. test3x10-SC(n).txt
  28. 28. 5. Lecture de l’instance du problème med.bouhamed@live.fr 28 Structures de données pour les données du KPS
  29. 29. 5. Lecture de l’instance du problème med.bouhamed@live.fr 29 Lecture d’une instance KPS
  30. 30. 5. Lecture de l’instance du problème med.bouhamed@live.fr 30 Lecture d’une instance KPS
  31. 31. 5. Lecture de l’instance du problème med.bouhamed@live.fr 31 Lecture d’une instance KPS
  32. 32. 6. Variables et structures propres au modèle med.bouhamed@live.fr 32 Tableaux des variables de décision IloNumVarArray : tableau des variables de décision à un seul indice Déclaration : IloNumVarArray NOMVAR(ENV, N, BINF, BSUP, TYPE); • NOMVAR: Nom du tableau des variables de décision • ENV: Environnement CPLEX ouvert • N: Taille du tableau (nombre des variable • BINF: Borne inferieure des valeurs des variables • BSUP: Borne supérieure des valeurs des variables • TYPE: Type des variable des décision (Réels, Entières, Booléennes) Déclaration : IloNumVarArray Y(env, N, 0, 1, IloNumVar::Int);
  33. 33. 6. Variables et structures propres au modèle med.bouhamed@live.fr 33 Ouverture de l’environnement CPLEX Obligatoire pour utiliser les fonctionnalités CPLEX!
  34. 34. 6. Variables et structures propres au modèle med.bouhamed@live.fr 34 Tableaux des variables de décision typedef IloArray<IloNumVarArray> IloNumVarArray2; IloNumVarArray2 : tableau des variables de décision à deux indices Exemple : Remarque : On peut définir des variables à 3, 4, 5, … indices. Il suffit de procéder avec la même manière qu’à deux indices.
  35. 35. 6. Variables et structures propres au modèle med.bouhamed@live.fr 35 Tableaux des solutions IloNumArray : tableau où récupérer les valeurs des variables de décision à un seul indice Déclaration : IloNumArray NOMVAL(ENV, N); • NOMVAL: Nom du tableau des valeurs des variables de décision • ENV: Environnement CPLEX ouvert • N: Taille du tableau (nombre des variable Déclaration : IloNumArray VALX(env, N);
  36. 36. 6. Variables et structures propres au modèle med.bouhamed@live.fr 36 Tableaux des solutions typedef IloArray<IloNumArray2> IloNumArray3; IloNumVarArray3: tableau de valeurs des variables de décision à trois indices Remarque : On peut définir des types de tableaux de valeurs à 3, 4, 5, … dimensions. Il suffit de procéder avec la même manière qu’à trois indices. La dimension 2 est prédéfinie pour les tableau à valeurs.
  37. 37. 6. Variables et structures propres au modèle med.bouhamed@live.fr 37 Personnalisation des noms des variables
  38. 38. 7. Création du modèle med.bouhamed@live.fr 38 Déclaration du modèle Obligatoire pour construire le modèle
  39. 39. 7. Création du modèle med.bouhamed@live.fr 39 Principe: Pareil pour la fonction objectif et les contraintes (sauf pour (3)) (1) Déclaration d’une expression IloExpr NOM(env); (2) Construction de l’expression Concaténation des multiplications des données par les variables de décision: NOM+=X[i]*a[i] (3) Ajout de l’expression au modèle Pour le FO: model.add(IloMaximize(env, NOM)); Pour les conbtraintes: model.add(NOM <= CTE); (4) Ecriture du fichier ".lp" IloCplex cplex (model); cplex.exportModel("ksp.lp");
  40. 40. 8. Résolution du modèle avec CPLEX 12.5 med.bouhamed@live.fr 40
  41. 41. 9. Récupération de la solution med.bouhamed@live.fr 41
  42. 42. FIN med.bouhamed@live.fr

×