bibliothèque d'optimisation mathématique pour les recommandations Java - libre ou open source? [fermé]

est-ce que quelqu'un connaît une telle bibliothèque qui effectue l'optimisation mathématique (programmation linéaire, optimisation convexe, ou des types plus généraux de problèmes)? Je cherche quelque chose comme MATLAB, mais avec la capacité de gérer de plus gros problèmes. Est-ce que je dois écrire mes propres implémentations, ou acheter un de ces produits commerciaux (CPLEX et similaires)?

15
demandé sur David Nehme 2008-09-27 08:52:44

7 réponses

une bonne réponse dépend de ce que vous voulez dire par" convexe "et" plus général "si vous essayez de résoudre les problèmes d'optimisation linéaire ou convexe-quadratique grande ou difficile (en particulier avec un composant discret à eux), alors il est difficile de battre les principaux solveurs commerciaux, gurobi , cplex et Dash à moins que l'argent est un grand problème pour vous. Ils ont tous des interfaces JNI propres et sont disponibles sur la plupart des plate.

le projet coin-ou a plusieurs optimiseurs et ont un projet pour l'interface JNI. Il est totalement gratuit (licence EPL ), mais il faudra plus de travail pour le configurer et probablement pas vous donner la même performance.

11
répondu David Nehme 2018-05-08 16:20:25

il existe un outil d'optimisation linéaire appelé lpsolve . Il est écrit en C (je pense) mais est livré avec un Java/JNI wrapper (API n'est pas très OO mais il fait le travail). C'est assez facile à utiliser et je l'ai fait fonctionner assez heureusement et de façon stable dans un système en direct depuis un an.

5
répondu oxbow_lakes 2008-09-28 15:23:50

vous pouvez essayer JOptimizer , open source et adapté pour les problèmes généraux d'optimisation convex (programmation linéaire, programmation quadratique, qcqp, programmation de cône, programmation semidefinite, ect

2
répondu este 2012-12-13 15:24:13

OptaPlanner (Java, open source, ASL) peut gérer de gros problèmes et n'a pas de limitations de type de contrainte (comme linear vs convex).

2
répondu Geoffrey De Smet 2015-07-17 08:47:10

vous pouvez regarder JScience , il semble assez complet. (Structures mathématiques, résolution d'algèbre linéaire,etc.)

1
répondu Ryan 2008-09-27 05:07:22

Regarder dans AMPL . L'édition de base est gratuite, mais elle coûte de l'argent pour des problèmes plus importants. Vous ne payez pas pour la langue; vous payez pour les solveurs. Il est également possible de télécharger votre code et l'exécuter sur leurs serveurs.

0
répondu Scottie T 2008-09-27 17:18:17

IPOPT a une interface pour Java . Vous pouvez également adapter le langage de modélisation D'APMonitor pour Java. Je développe cette plate-forme donc je serai heureux de travailler avec quelqu'un s'ils veulent créer une nouvelle interface vers Java. Il dispose déjà d'une interface API Python et MATLAB et comprend des solveurs tels que IPOPT, APOPT, BPOPT, et d'autres qui peuvent gérer des systèmes à grande échelle.

0
répondu John Hedengren 2013-05-12 00:23:31