誰能告訴我在微軟求解基礎3.0約束的非線性優化例子或評論?它與Matlab的fmincon相比如何?還是有更好的.net庫進行約束非線性優化?謝謝,約束的非線性優化微軟求解基礎VS Matlab的fmincon
回答
上2012年2月25日重要更新:
MSF 3.1現在支持通過其NelderMeadSolver求解界變量非線性優化:http://msdn.microsoft.com/en-us/library/hh404037(v=vs.93).aspx
對於一般線性約束,微軟解決方案基金會僅通過其內點解算器支持線性編程和二次編程。對於這個求解器,請參閱Tomas提到的SVM帖子。
MSF具有一般非線性規劃求解器,內存有限,BFGS,但是它不支持任何約束。該求解器還需要一個明確的漸變函數。對於該解算器,請參閱:由Tomas提到
Logistic regression in F# using MSF
F#ODSL只支持線性規劃。我有一個QP擴展,可在codexplex。
回到你的問題 - 優化線性約束(類似於fmincon
)F(X),我還沒有看到它有這個能力的任何免費圖書館。 NMath.NET(商業)似乎有一個。我試圖解決一個高度非線性優化,但它不適合我。最後我使用了DotNumerics實現的B-LBFGS。
我想你也會喜歡下面的SO問題:
Open source alternative to MATLAB's fmincon function?
的答案指向SciPy.optimize.cobyla
,這似乎是類似的東西fmincon
。但主要的信息是,對於您的具體問題,也許fmincon
太籠統了。您可以使用更具體的求解器,例如LBFGS或QP。如果你的初始值不好,一般求解器有時也不起作用。
我沒有與微軟求解基金會自己太多的經驗,但有一個很好的文章,演示如何從F#使用它:
對於F#,還有一個嵌入式建模語言 - 這可以讓你只寫你的約束作爲普通的F#表達式(包裹在報價)和這種語言解釋器調用微軟求解基金會與創建適當的約束(我認爲這是完全真棒!):
我意識到這是一個老問題,但這裏的答案是不準確的和/或過時的。下面是關於如何在MSSF使用非線性約束求解的權威教程:
本例使用默認的非線性求解這就是所謂的HybridLocalSearchSover。
(但是,我不熟悉fmincon,所以我不能說那個。)
- 1. 約束fmincon MATLAB
- 2. 如何在c中解決非線性約束優化問題#
- 3. C++ WITH約束條件下的順序非線性優化庫
- 4. MATLAB fmincon約束向量元素
- 5. 非線性微分方程的求解
- 6. 約束線性優化設置
- 7. 用於非線性約束的R求解器
- 8. 求解稀疏線性約束的非線性最小二乘法
- 9. scipy.optimize與非線性約束
- 10. 使用fmincon約束最小化
- 11. 具有邊界約束的非線性最小二乘法求解器
- 12. 微軟求解基礎服務聲明語法
- 13. Matlab:非線性方程求解器
- 14. 微軟XNA基礎知識
- 15. Gurobi優化器(Python):線性化二次約束?
- 16. 在Matlab中使用fmincon進行非線性優化時,無效的索引分配錯誤
- 17. 約束下的優化
- 18. python中的約束優化
- 19. 優化給定的約束
- 20. R中的約束優化
- 21. Julia中的非線性微分免費優化
- 22. 微軟求解基金會半整數
- 23. F#微軟求解基金會 - NelderMeadSolver類
- 24. Mathematica:幫助求解具有不等式約束的非線性方程組
- 25. java/cplex約束的線性化
- 26. 解決整數約束優化問題
- 27. Fmincon在matlab內存不足
- 28. Matlab的 - 正確設置fmincon當目標和非線性制約性需要參數
- 29. 使用NLOPT/Gurobi求解混合約束優化
- 30. 在Python中求解帶約束的線性方程
感謝您的回答和您的博客。我希望無國界醫生可以做LBFGS或類似的事情。 – ahala 2011-06-12 22:28:56
這個答案不再準確。 MSF *支持約束非線性編程。本教程演示了它:https://msdn.microsoft.com/en-us/library/gg261758%28v=vs.93%29.aspx?f=255&MSPPError=-2147217396 – kmote 2016-09-20 23:44:30
@kmote你知道MSF是否停止開發? – 2017-02-10 17:30:05