mathematische Optimierungs-Bibliothek für Java — freie oder open-source-Empfehlungen?
Kennt jemand so eine Bibliothek, führt mathematische Optimierung (lineare Programmierung, konvexe Optimierung, oder mehr Allgemeine Typen von Problemen)? Ich bin auf der Suche nach so etwas wie MATLAB, aber mit der Fähigkeit, größere Probleme. Muss ich schreiben, dass meine eigenen Implementierungen, oder kaufen Sie eines dieser kommerziellen Produkte (CPLEX und dergleichen)?
InformationsquelleAutor der Frage Zach Scrivena | 2008-09-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eine gute Antwort ist davon abhängig, was du meinst, durch "konvex" und "mehr allgemein", Wenn Sie versuchen, Sie zu lösen großen oder schwierigen linear oder konvex-quadratische Optimierungsprobleme (insbesondere mit einer diskreten Komponente, um Sie), dann ist es schwer zu schlagen die wichtigsten kommerziellen Löser, gurobicplex und Strich es sei denn Geld ist ein großes Problem für Sie. Sie alle haben sauber JNI-Schnittstellen zur Verfügung und sind auf den meisten gängigen Plattformen.
Den Münze-oder Projekt hat mehrere Optimierer und haben ein Projekt für die JNI-Schnittstelle. Es ist völlig kostenlos (EPL Lizenz), aber auch mehr Arbeit und wahrscheinlich nicht geben Ihnen die gleiche Leistung.
InformationsquelleAutor der Antwort David Nehme
Gibt es eine lineare Optimierungs-tool namens lpsolve. Es ist in C geschrieben (glaube ich), aber kommt mit einem Java/JNI-wrapper (API ist nicht sehr OO aber es macht den job). Es ist ziemlich einfach zu bedienen und ich habe es läuft ganz gut und stabil in ein live-system für das Letzte Jahr.
InformationsquelleAutor der Antwort oxbow_lakes
Können Sie versuchen,JOptimizeropen source und eignet sich für Allgemeine konvexe Optimierungsprobleme lineare Programmierung, quadratische Programmierung, qcqp, Kegel Programmierung, semidefinite Programmierung, ect
InformationsquelleAutor der Antwort este
OptaPlanner (Java, open source, ASL) verarbeiten kann große Probleme und haben nicht eine Einschränkung geben Einschränkungen (wie z.B. lineare vs. konvex).
InformationsquelleAutor der Antwort Geoffrey De Smet
Möchten Sie vielleicht zu schauen,JSciencees sieht ziemlich komplett. (Mathematische Strukturen, lineare algebra, Problemlösung, etc.)
InformationsquelleAutor der Antwort Ryan
Blick in AMPL. Die basic edition ist kostenlos, aber es kostet Geld für größere Probleme. Sie bezahlen nicht für die Sprache; Sie zahlen für die Löser. Es ist auch möglich, laden Sie Ihr code und haben es auf Ihren Servern.
InformationsquelleAutor der Antwort Scottie T
IPOPT ist ein Schnittstelle für Java. Sie können auch in der Lage sein, um die Anpassung der APMonitor modeling language for Java. Ich entwickle diese Plattform, so werde ich froh sein, mit jemandem zu arbeiten, wenn Sie möchten, erstellen Sie eine neue Schnittstelle zu Java. Es hat schon eine Python-API und MATLAB-Schnittstelle und enthält Solver, wie z.B. IPOPT, APOPT, BPOPT, und andere, die verarbeiten kann Großanlagen.
InformationsquelleAutor der Antwort John Hedengren