Pytanie biblioteka optymalizacji matematycznej dla Java - bezpłatne czy otwarte zalecenia źródłowe? [Zamknięte]


Czy ktokolwiek wie o takiej bibliotece, która wykonuje optymalizację matematyczną (programowanie liniowe, optymalizacja wypukła lub bardziej ogólne typy problemów)? Szukam czegoś takiego jak MATLAB, ale z możliwością radzenia sobie z większymi problemami. Czy muszę napisać własne implementacje lub kupić jeden z tych komercyjnych produktów (CPLEX i tym podobne)?


15
2017-09-27 04:52


pochodzenie




Odpowiedzi:


Dobra odpowiedź jest zależna od tego, co masz na myśli, mówiąc "wypukłe" i "bardziej ogólne". Jeśli próbujesz rozwiązywać duże lub trudne problemy z optymalizacją liniową lub wypukłą-kwadratową (zwłaszcza z dyskretnym komponentem), trudno jest pokonać główne solwery komercyjne, gurobi, cplex i Dziarskość chyba że pieniądze są dla ciebie dużym problemem. Wszystkie mają czyste interfejsy JNI i są dostępne na większości głównych platform.

The monety lub projekt ma kilka optymalizatorów i ma projekt interfejsu JNI. Jest całkowicie bezpłatny (EPL licencja), ale zajmie więcej pracy przy konfiguracji i prawdopodobnie nie da takiej samej wydajności.


11
2017-09-28 18:22





Istnieje liniowe narzędzie optymalizacji o nazwie lpsolve. Jest napisany w C (chyba), ale jest dostarczany z wrapperami JNI / JNI (API nie jest bardzo OO, ale wykonuje to zadanie). Jest bardzo łatwy w użyciu i miałem go uruchomiony całkiem szczęśliwie i stabilnie w systemie na żywo przez ostatni rok.


5
2017-09-28 15:23





Możesz spróbować JOptimizer, open source i odpowiednie dla ogólnych problemów z optymalizacją wypukłości (programowanie liniowe, programowanie kwadratowe, qcqp, programowanie stożkowe, programowanie seminefinite, ect


2
2017-12-13 15:24





OptaPlanner (Java, open source, ASL) radzi sobie z dużymi problemami i nie ma ograniczeń typu ograniczenia (takich jak liniowy i wypukły).


2
2018-04-13 11:47



Te koncepcje zyskują dużo trakcji w ostatnich dniach. Byłoby świetnie wiedzieć, czy istnieje nowy zestaw bibliotek lub interfejsów API w tym obszarze w java. - Gana
Tak, jest Choco, jacop, jsprit, itp. OptaPlanner jest zdecydowanie najczęściej pobieranym afaik (jestem jednak stronniczy). Najnowsza wersja 7.0 przeznaczona jest dla wersji 8 i 9 (Lamba itp.). - Geoffrey De Smet


Możesz na to patrzeć JScience, wygląda całkiem kompletnie. (Struktury matematyczne, rozwiązywanie algebry liniowej itp.)


1
2017-09-27 05:07



Dzięki za odpowiedź. Niestety JScience przestaje faktycznie wdrażać algorytmy optymalizacji. - Zach Scrivena
lol............. - Nicholas Hamilton


Zbadać AMPL. Podstawowa edycja jest darmowa, ale kosztuje większe problemy. Nie płacisz za język; płacisz za solverów. Możliwe jest również przesłanie kodu i uruchomienie go na swoich serwerach.


0
2017-09-27 17:18





IPOPT ma interfejs dla Java. Możesz także być w stanie dostosować język modelowania APMonitor dla Javy. Pracuję nad tą platformą, więc chętnie pomogę z kimś, jeśli zechcą stworzyć nowy interfejs dla Javy. To już ma API Python oraz interfejs MATLAB i zawiera rozwiązania takie jak IPOPT, APOPT, BPOPT i inne, które mogą obsługiwać systemy wielkoskalowe.


0
2018-05-09 15:47