IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Cplex sous C++ Builder


Sujet :

C++Builder

  1. #1
    Membre confirm�
    Inscrit en
    Mars 2007
    Messages
    148
    D�tails du profil
    Informations personnelles :
    �ge : 40

    Informations forums :
    Inscription : Mars 2007
    Messages : 148
    Par d�faut Cplex sous C++ Builder
    Bonsoir � tous,

    Voil�, j'ai un m�ga probl�me � r�soudre et je ne sais vraiment pas comment l'aborder. Je vais tenter de vous expliquer clairement :

    Je dois r�soudre un programme lin�aire en utilisant Cplex, mais l'interface est sous C++ Builder !!! En cherchant dans le Help de Cplex, j'ai bien trouv� quelque chose, mais quand je l'essaye dans C++ Builder, �a bloque . Bon, dans le Help, ils nous demandent de rajouter la biblioth�que OPL server, que j'ai fait sans soucis. Ils exposent le code suivant pour un exemple donn� :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
    #include <ilsolver/ilcint.h>
    #ifdef ILUSESTL
    #include <iostream>
    #else
    #include <iostream.h>
    #endif
    #include <ilopl/oplcomponent.h>
    #include <ilopl/oplerror.h>
     
    ILCSTLBEGIN
     
    class MyReporter : public OPLerrorReporter {
       void notifySyntaxError(const OPLsyntaxError& err){
          cout << "OPL syntax error near line " 
               << err.getLine() << " : " 
               << err.getMessage() << endl;
       }
       void notifySemanticError(const OPLsemanticError& err){
          cout << "OPL semantic error near line " 
               << err.getLine() << " : " 
               << err.getMessage() << endl;
       }
       void notifyRuntimeError(const OPLruntimeError& err){
          cout << "OPL runtime error near line " 
               << err.getLine() << " : " 
               << err.getMessage() << endl;      
       }
       void notifyInternalError(const OPLinternalError& err){
         cout << "OPL internal error : " 
               << err.getMessage() << endl;
       }
    };
    int main(){
       int status = 0;
       OPLsolver solver;
       MyReporter reporter;
       solver.setErrorReporter(&reporter);
     
       try{
         solver.loadInterpretedModelFileAndDataFile
                                       ("d:\ILOG\OPLSl37\opl\scheduler\bridge.mod",
                                        "d:\ILOG\OPLSl37\opl\scheduler\bridge.dat", 1);
           if(solver.solve()){
             int obj = solver.getObjectiveValueInt();
             double time = solver.getTime();
             cout << "\nObjective: " << obj << endl;
             cout << "Time: " << time << endl << endl;
             OPLenum task = solver.getEnum("Task");
             int nbTasks = task.getCard();
             OPLarray activities = solver.getArray("a");
             OPLenumIterator ite = task.getIterator();
             for(; ite.ok() == 1; ite.next()) {
                OPLenumValue c = ite.get();
                OPLactivity act = activities.getActivity(c);
                cout << "Activity '" << c.getName() << "'";
                cout << " starts at " << act.getStart();
                cout << " with duration " << act.getDuration() << endl;
           }
          }else {
             cout << "No solution found" << endl;
           }
       }
       catch(...){
          cout << "An error occurred" << endl;
          status = -1;
       }
     
       solver.close();
       return status;
    }
    Il faut savoir qu'en Cplex, on a un fichier .mod pour �crire notre mod�le math�matique et un fichier .dat pour les donn�es du probl�me. Dans cet exemple on veut r�soudre "brige" � partir de C++ Builder. Ce code est en C++. J'ai fait un exemple avec juste un bouton et un m�mo pour afficher le r�sultat.

    La question que je me pose est comment je dois traduire ce code afin que je puisse l'utiliser sous C++ Builder ??? Comment r�soudre le probl�me des include (car j'ai des erreurs au tout d�but, alors que j'ai rajout� la biblioth�que demand�e) ???

    J'ai besoin du r�sultat que me donne Cplex pour continuer ma programmation !!!

    J'esp�re que j'�tais assez claire pour que vous puissiez m'aider.

    Merci.

  2. #2
    Membre �prouv� Avatar de uriotcea
    Homme Profil pro
    Ing�nieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par d�faut
    Tu pourais indiquer tes messages d'erreurs, ca pourait aider.

  3. #3
    Membre confirm�
    Inscrit en
    Mars 2007
    Messages
    148
    D�tails du profil
    Informations personnelles :
    �ge : 40

    Informations forums :
    Inscription : Mars 2007
    Messages : 148
    Par d�faut
    Salut,

    Voici les messages d'erreurs que j'ai :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    [C++ Erreur] Unit1.cpp(5): E2209 Impossible d'ouvrir le fichier include 'ilsolver/ilcint.h'
    [C++ Erreur] Unit1.cpp(11): E2209 Impossible d'ouvrir le fichier include 'ilopl/oplcomponent.h'
    [C++ Erreur] Unit1.cpp(12): E2209 Impossible d'ouvrir le fichier include 'ilopl/oplerror.h'
    Je reconnais que je ne sais pas trop utiliser les include, mais j'ai repris l'exemple qui existe dans le Help !!! Par cons�quent, il doit �tre juste.

    J'esp�re que cela vous permet de mieux voir ou se situe l'erreur.

    Merci.

  4. #4
    Membre �prouv� Avatar de uriotcea
    Homme Profil pro
    Ing�nieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par d�faut
    C'est plutot trivial comme erreur,
    Il ne trouve pas les fichiers d'include que tu as precifi�s.
    Tu as 2 choix:
    - Tu mets le nom sans chemin et dans les options de ton projet tu sp�cifie les chemins ou il faut aller chercher les includes
    - Tu mets le chemin complet de tes *.h

  5. #5
    Membre confirm�
    Inscrit en
    Mars 2007
    Messages
    148
    D�tails du profil
    Informations personnelles :
    �ge : 40

    Informations forums :
    Inscription : Mars 2007
    Messages : 148
    Par d�faut
    Bonsoir ou plut�t bonjour,

    J'ai essay� ce que vous m'aviez propos�, et effectivement c'est �a la solution, mais j'ai un autre probl�me maintenant, je ne retrouve pas tous les include demand�s !!! Par exemple :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    [C++ Erreur] oplcomponent.h(16): E2209 Impossible d'ouvrir le fichier include 'ilsolver/ilcint.h'
    [C++ Erreur] oplcomponent.h(19): E2209 Impossible d'ouvrir le fichier include 'ilplan/linear.h'
    Je ne retrouve m�me pas les fichiers ilsolver et ilplan !!! Comment faire dans ce cas ???

    Merci de me r�pondre.

  6. #6
    Membre �prouv� Avatar de uriotcea
    Homme Profil pro
    Ing�nieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par d�faut
    ilsorver et ilplan ne sont pas des fichiers mais des chemin relatif.
    Ceux-ci signifie que tes includes contiennent des chemins relatifs et donc qu'il fallait choisir la solution N�1
    Est-ce bien ce que tu as fait?

  7. #7
    Membre confirm�
    Inscrit en
    Mars 2007
    Messages
    148
    D�tails du profil
    Informations personnelles :
    �ge : 40

    Informations forums :
    Inscription : Mars 2007
    Messages : 148
    Par d�faut
    Salut,

    Non, j'ai choisi la deuxi�me solution, j'essayais de mettre � chaque fois le chemin complet !!! Je vais r�essayer avec la premi�re.

    Merci.

  8. #8
    Membre confirm�
    Inscrit en
    Mars 2007
    Messages
    148
    D�tails du profil
    Informations personnelles :
    �ge : 40

    Informations forums :
    Inscription : Mars 2007
    Messages : 148
    Par d�faut
    Re,

    Je viens d'essayer mais �a ne �arche pas.

    Regardez ce que j'ai fait :

    J'ai rajout� les include suivants :

    C:\ILOG\OPLSt37\include\ilopl, C:\ILOG\Concert20\include\ilconcert

    Je n'ai pas trouv� le fichier "ilsolver" !!!

    Donc mon code sera :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include <vcl.h>
    #pragma hdrstop
    //#include <ilsolver/ilcint.h>
    #ifdef ILUSESTL
    #include <iostream>
    #else
    #include <iostream.h>
    #endif
    #include <oplcomponent.h>
    #include <oplerror.h>
    #include "Unit1.h"
    J'ai � pr�sent des erreurs dans "ilosys.h" qui appartient � "oplcomponent.h", il ne trouve pas "# include <generic.h>" . J'obtiens plein d'erreurs de ce type. Je ne sais pas quoi faire ?!!

    Merci de me proposer une solution, j'en ai vraiment besoin.

  9. #9
    Membre �prouv� Avatar de uriotcea
    Homme Profil pro
    Ing�nieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par d�faut
    A mon avis c'est plutot le chemin suivant qu'il faut metre dans les options: ["Compilateur C++" -> "Chemin d'inclusion" ]

    C:\ILOG\OPLSt37\include

    Apres, si il y encore des erreurs, il faut inclure les chemins ou se trouve les fichiers manquant.
    Et quand un fichier manquant est du type :
    #include <ilsolver/ilcint.h>
    if faut mettre la directory .../ilsolver (remplacer les ... par le chemin complet
    Bon courage

  10. #10
    Membre confirm�
    Inscrit en
    Mars 2007
    Messages
    148
    D�tails du profil
    Informations personnelles :
    �ge : 40

    Informations forums :
    Inscription : Mars 2007
    Messages : 148
    Par d�faut
    Pardon, mais je n'ai pas su comment le faire !!!

    Dans les options du projet, j'ai bien un anglet "compilateur", mais il n'y a pas ou sp�cifier le chemin afin de faire �a ["Compilateur C++" -> "Chemin d'inclusion" ] ?!

    Merci.

  11. #11
    Membre �prouv� Avatar de uriotcea
    Homme Profil pro
    Ing�nieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par d�faut
    Non effectivement c'est pltutot
    ["Compilateur C++" -> "Chemin et d�finition" -> "chemin de recherche d'inclusion" ]
    Mais moi, je suis sous Builder2006

  12. #12
    Membre confirm�
    Inscrit en
    Mars 2007
    Messages
    148
    D�tails du profil
    Informations personnelles :
    �ge : 40

    Informations forums :
    Inscription : Mars 2007
    Messages : 148
    Par d�faut
    Re,

    Dans les options de mon projet, j'ai deux anglets, ils sont repr�sent�s dans les fichiers attach�s. La premi�re fois, j'ai cherch� les fichiers de mes include dans R�pertoires/Conditions->Chemin d'inclusion, mais �a n'a pas march� de cette mani�re. Comme je l'ai d�j� mentionn�, il ne trouve pas tous les include requis . Est-ce que c'est ce que vous m'aviez propos� de faire ???

    Merci pour votre aide.

  13. #13
    Membre �prouv� Avatar de uriotcea
    Homme Profil pro
    Ing�nieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par d�faut
    Oui c'est bien l�.
    Dans tous les cas, tu dois sp�cifier l�, les chemin ou ce trouve les fichiers d'include qu'il a besoin.
    Il n'y a pas d'autre m�thode. Et si apr�s avoir ajouter le chemin d'un fichier qu'il n'arrive pas � trouver, il ne le trouve toujours pas, c'est que tu t'ai tromp� quelquepart en incluant le chemin.
    Mais l� � moin d'etre devant.

    Donne moi un exampe d'include qu'il ne trouve pas et surtout donne moi le chemin que tu as ajouter dans les options

  14. #14
    Membre confirm�
    Inscrit en
    Mars 2007
    Messages
    148
    D�tails du profil
    Informations personnelles :
    �ge : 40

    Informations forums :
    Inscription : Mars 2007
    Messages : 148
    Par d�faut
    Bonsoir,

    Je vais tenter de vous d�crire comment j'ai proc�d� :

    Alors :

    1) J'ai rajout� les include dont je n'ai besoin comme dans l'image R�pertoires.

    2) J'ai �crit les include dans mon programme pour juste tester, comme suit :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    #include <vcl.h>
    #pragma hdrstop
    //#include <ilsolver/ilcint.h>
    #ifdef ILUSESTL
    #include <iostream>
    #else
    #include <iostream.h>
    #endif
    #include <oplcomponent.h> 
    #include <oplerror.h>
    #include "Unit1.h"
    J'ai enlev� isolver car je ne le retrouve pas dans mes fichiers, si je le rajoute j'obtiens une erreur comme dans l'image ilsolver non trouv�.

    3) Quand j'ex�cute ce programme, j'obtiens l'erreur qui est repr�sent�e dans l'image generic non trouv�, pourtant j'ai rajout� dans les options du projet l'include "ilopl" puisque "olpcomponent " se trouve dans cet include, et "ilosyst" dans ce dernier, comme repr�sent� dans l'image olpcomponent.

    Je ne comprends pas pourquoi �a bloque � chaque fois et pourquoi je ne trouve pas tous les inculde ?!

    J'esp�re que j'�tais assez claire.

    Merci.

  15. #15
    Membre �prouv� Avatar de uriotcea
    Homme Profil pro
    Ing�nieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par d�faut
    Je ne pige pas ou tu te gourres parce qu'il faudrait que j'ai le nez dessus. Ce qui m'�tonne c'est que dans tes options, tu n'as pas mis "...\include".
    En g�n�ral inclure ce r�pertoire est suffisante.
    D�sol� de ne pouvoir t'aider plus...A moins de me transmetre tout ton projet et les librairie que j'essaye d'y inclure...

  16. #16
    Membre confirm�
    Inscrit en
    Mars 2007
    Messages
    148
    D�tails du profil
    Informations personnelles :
    �ge : 40

    Informations forums :
    Inscription : Mars 2007
    Messages : 148
    Par d�faut
    Salut,

    Merci pour votre aide.

    Effectivement, je pense que c'est une bonne id�e que je vous envoie les include et que vous essayez de les ajouter.

    Je n'ai pas de projet pour l'instant, justement j'attends de r�soudre ce probl�me pour d�marrer parce que sinon je programme soit le tout en C++ Builder, soit je combiner avec MatLab (que je ne sais pas faire �galement, mais je crois que cette mani�re de proc�der est plus utilis�e, compar�e au Cplex). Essayez juste d'ex�cuter en rajoutant les include, pour tester si �a marche . Je vous envoie donc les include en pi�ce attach�e. Je ne peux malheureusement tout envoyer d'un coup, alors je vais le faire en plusieurs �tapes.

    Merci.

  17. #17
    Membre confirm�
    Inscrit en
    Mars 2007
    Messages
    148
    D�tails du profil
    Informations personnelles :
    �ge : 40

    Informations forums :
    Inscription : Mars 2007
    Messages : 148
    Par d�faut
    Re,

    Voici le deuxi�me include.

  18. #18
    Membre confirm�
    Inscrit en
    Mars 2007
    Messages
    148
    D�tails du profil
    Informations personnelles :
    �ge : 40

    Informations forums :
    Inscription : Mars 2007
    Messages : 148
    Par d�faut
    Re Re,

    Voici le dernier.

    Je viens de me rendre compte que je ne peux pas vous envoyer la biblioth�que olpServer.dll, parce que sinon � mon avis �a ne marche pas.

    J'attends votre r�ponse.

    Merci.

  19. #19
    Membre �prouv� Avatar de uriotcea
    Homme Profil pro
    Ing�nieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par d�faut
    Bonjour,

    Je ne comprend pas trop ce que vous m'avez envoy�!
    Si je prend le premier fichier "cplcomponent.h" il contient de include du type :
    #include <ilconcert/ilosys.h>
    #include <ilsolver/ilcint.h>
    #include <ilsolver/ilcfloat.h>
    ...
    ..
    faisant r�f�rence � des chemins "ilconcert", "imlsorver" n'apparaissant nulle par dans ce que vous m'avez transmis et de plus les fichier "ilosys.h" , "ilcint.h" n'existe nulle part non plus dans vos zip. Dans ces conditions pas �tonnant que le compilateur ne les trouve pas!

  20. #20
    Membre confirm�
    Inscrit en
    Mars 2007
    Messages
    148
    D�tails du profil
    Informations personnelles :
    �ge : 40

    Informations forums :
    Inscription : Mars 2007
    Messages : 148
    Par d�faut
    Bonsoir,

    L� je ne comprends plus rien .

    Quand je rajoute les include dans R�peroires/Conditions, et bien je ne peux rajouter que les trois fichiers que je vous ai envoy�s, je ne peux pas les ouvrir pour inclure ceux qui sont � l'int�rieur !!!

    Effectivement, l'include ilsolver est introuvable, comme plusieurs d'autres d'ailleurs !!!

    Apparemment, il n'y a pas d'espoir pour que �a marche, compte tenu qu'il y a des include qui manquent, n'est-ca pas ???

    Merci encore.

Discussions similaires

  1. [PowerBuilder] Client Telnet sous Power builder 10
    Par ppronzola dans le forum Powerbuilder
    R�ponses: 1
    Dernier message: 30/01/2006, 14h22
  2. application style xp sous c++ builder
    Par sofiane44 dans le forum C++Builder
    R�ponses: 1
    Dernier message: 08/01/2006, 15h17
  3. Debug de dll sous C++ Builder
    Par N�grier dans le forum C++Builder
    R�ponses: 5
    Dernier message: 26/09/2005, 19h12
  4. Comment on connecte un modem sous C++ Builder?
    Par Snipeyes dans le forum C++Builder
    R�ponses: 2
    Dernier message: 28/01/2005, 20h21
  5. DLL sous C++ builder 6
    Par ovdz dans le forum C++Builder
    R�ponses: 3
    Dernier message: 05/08/2003, 14h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo