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

Java Discussion :

Bibiliothèque Java (CHOCO) pour la résolution d'un problème de programmation linéaire


Sujet :

Java

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 7
    Points : 11
    Points
    11
    Par défaut Bibiliothèque Java (CHOCO) pour la résolution d'un problème de programmation linéaire
    Bonjour à tous,

    Je suis à la recherche d'une bibliothèque Java (Gratuite) permettant de résoudre un problème de programmation linéaire de type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Minimize  x1 + 3 x2
    Subject to:
              2 x1 + 4 x2 >= 8
             -1 x1 + 3 x2 <= 2
    J'ai trouvé la bibliothèque "CHOCO", les exemples proposés ne correspondent pas à mon problème, j'avoue que j'ai du mal à l'adapter.

    Si qlq'un possède un exemple d'utilisation de cette bibliothèque pour un tel problème je suis preneur, de mon côté je continue mes recherches.

    NB: Je suis preneur de toute solution avec d'autre bibliothèque.

  2. #2
    Membre averti Avatar de Razgriz
    Profil pro
    Professeur / chercheur en informatique / mathématiques
    Inscrit en
    Avril 2006
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Professeur / chercheur en informatique / mathématiques

    Informations forums :
    Inscription : Avril 2006
    Messages : 391
    Points : 306
    Points
    306
    Par défaut
    Tu as jeté un oeil dans les API's Jakarta?
    Ils doivent surement avoir fait un truc.

    Par exemple ici
    On a toujours besoin d'un plus bourrin que soi

    Oui il y a quelques bugs dans ma librairie de Sécurité, mais les classes postées ne sont pas celles de la dernière version, et j'ai la flemme de tout modifier. Je vous donnerai avec plaisir la dernière version du jar par mp.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 103
    Points : 110
    Points
    110
    Par défaut
    Salut,

    Tu cherches des solutions entières ou réelles ?
    Si tu cherches une solution réelle, la programmation de l'algorithme du simplex est très pédagogique

    Choco est une librairie de Programmation par contraintes, donc elle peut résoudre ce type de problème mais un solveur de programmation linéaire serait mieux adapter.

    J'ai l'impression que le lien précédent pointe vers une libraire qui utilise des algorithmes d'approximation.

    Le solveur de référence pour la programmation mathématique est ILOG CPLEX, hélas il est payant et même plutôt cher.
    Tu peux essayer GLPK qui est libre. De plus, il y a une interface pour modéliser les problèmes avec java.
    Je n'ai jamais rencontré de problème ni avec l'un ni avec l'autre.


    Si tu souhaites utiliser la programmation par contraintes et choco, tu pourras modéliser ton problème très facilement. Par contre, la résolution sera moins efficace car la PPC n'est pas dédiée à l'optimisation.

  4. #4
    Membre à l'essai
    Inscrit en
    Octobre 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 7
    Points : 11
    Points
    11
    Par défaut
    Merci de votre aide

    J'ai trouvé la bibliothéque "lpsolve55j" qui repond parfaitement.

    Merci beaucoup

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par Gonat Voir le message
    Je suis à la recherche d'une bibliothèque Java (Gratuite) permettant de résoudre un problème de programmation linéaire
    Choco est un moteur de propagation de contraintes très général capable de manipuler des contraintes complexes, il peut aussi résoudre des problèmes de programmation linéaire mais un moteur de programmation linéaire sera beaucoup plus efficace pour de gros problèmes. lp_solve que tu viens de mentionner est bien adapté dans ce cas. D'autres moteurs du même type sont GLPK (Gnu) et CLP (Coin-OR) avec une interface Java malheureusement très mal documentée.

    La difficulté principale avec ce type de moteurs est leur API matricielle qui rend pénible l'écriture et la compréhension des programmes: dès que tu as plus d'une poignée de variables et de contraintes, il est difficile de s'y retrouver. Le langage OptimJ permet l'expression de modèles lp_solve sous une forme intuitive dans un environnement Java: l'environnement de développement est payant, mais il existe des versions d'évaluation et d'enseignement gratuites.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JAVA] Quel EDI JAVA choisir pour Mac OS X ?
    Par didi dans le forum Développement OS X
    Réponses: 18
    Dernier message: 29/09/2007, 23h07
  2. Réponses: 3
    Dernier message: 22/11/2005, 20h23
  3. [CSS] style externe pour differente résolution d'écran
    Par bor1s dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 05/11/2005, 01h04
  4. [debutant] correspondance JAVA C++ pour pointeur de fonction
    Par davidoff_tls dans le forum Langage
    Réponses: 7
    Dernier message: 15/04/2004, 10h13

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