我在查找開放源代碼在Java中實現了對非線性多變量函數進行約束優化的方法。Java中的非線性多變量函數的約束優化
回答
有幾種開源Java實現,可以做到這一點,如:
- OptaPlanner(Apache許可證,100%的java,大量的例子和文檔)
- jacop
- 巧克力
- ...
IPOPT是最強大的解算器,我知道的。
它有一個Java interface雖然我不知道有多好就是,我只使用C++ API。
我對IPOPT的經驗是,它是我用於處理大型稀疏凸面問題的最高性能的開源解算器。不幸的是,這個庫不是線程安全的,並且容易出現段錯誤或者更糟糕的情況,如果你做了一些微小的錯誤,那麼就會破壞你的內存並導致JVM在稍後發生段錯誤,這幾乎不可能從Java進行調試。最後,我決定將使用IPOPT的代碼隔離到用C++編寫的單獨進程中更好。 – Owen
@Owen有趣。自從我廣泛使用Java API以來,它的工作可靠;沒有段錯誤,沒有內存損壞,沒有內存泄漏。但是,我同意:如果可以的話,只需將其放入一個單獨的過程中,並完全避免接口故障。 – Ali
你可能是對的。我結束了跟蹤我的內存腐敗的事實,即'Ipopt'的終結器正在另一個線程上調用(通常是終結器)。所以我想這可能都回來的事實,Ipopt是不是線程安全的,[這是記錄(https://projects.coin-or.org/Ipopt/ticket/167)。 – Owen
你可以看看Choco,在Java中實現約束規劃的框架。
我最近移植邁克爾·鮑威爾的COBYLA2免費衍生的優化非線性目標函數和約束到Java。你會發現源代碼here。
- 1. 具有約束條件的Java多變量非線性優化程序庫
- 2. 如何解決Matlab中的非線性約束優化問題?
- 3. C++ WITH約束條件下的順序非線性優化庫
- 4. 如何在c中解決非線性約束優化問題#
- 5. 如何使用optaplanner解決非線性約束多變量方程 - Java的
- 6. 約束線性優化設置
- 7. java/cplex約束的線性化
- 8. 二次函數的約束優化
- 9. matlab中的fmincon的非線性約束
- 10. fPortfolio工作中的非線性約束?
- 11. scipy.optimize與非線性約束
- 12. R中的約束優化
- 13. python中的約束優化
- 14. 多變量函數總和的優化
- 15. 約束的非線性優化微軟求解基礎VS Matlab的fmincon
- 16. 非線性約束條件參數matlab
- 17. 非類型變量約束
- 18. Matlab:多維約束非線性最小化,如Nelder-Mead?
- 19. Python中的約束整數優化
- 20. 變量的cplex約束函數
- 21. 具有兩個非線性相等約束的最小二乘法優化
- 22. R優化線性函數
- 23. Gurobi優化器(Python):線性化二次約束?
- 24. 約束下的優化
- 25. 優化給定的約束
- 26. MATLAB R2015a多變量函數優化
- 27. 如何在線性優化中使用二元約束?
- 28. R中的非線性離散優化
- 29. 聲明非線性約束作爲匿名函數
- 30. 約束優化R建立約束
有你看了阿帕奇百科全書數學?我似乎記得一些非線性優化實用程序... –
你能舉出一個你想要解決的問題嗎? –
你想解決的問題是否有離散變量或連續變量? – willem