c# – Microsoft Solver基础与Matlab fmincon的约束非线性优化

前端之家收集整理的这篇文章主要介绍了c# – Microsoft Solver基础与Matlab fmincon的约束非线性优化前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
任何人都可以在Microsoft Solver Foundation 3.0中为我显示约束非线性优化的例子或评论?与Matlab的fmincon相比如何?还是有更好的.net库用于约束非线性优化?谢谢,

解决方法

2012年2月25日重要更新:

MSF 3.1现在通过NelderMeadSolver求解器支持带有界变量的非线性优化:http://msdn.microsoft.com/en-us/library/hh404037(v=vs.93).aspx

对于一般线性约束,Microsoft求解器基础仅支持线性规划和通过其内点解算器进行二次规划.对于这个求解器,请参阅Tomas提到的SVM帖子.

MSF具有一般的非线性规划求解器,有限存储器BFGS,但不支持任何限制.该求解器还需要显式梯度函数.对于此求解器,请参阅:

Logistic regression in F# using MSF

Tomas提到的F#ODSL只支持线性规划.我有一个QP扩展,可在codexplex.

回到你的问题 – 用线性约束(类似于fmincon)优化f(x),我没有看到任何有这种能力的免费库. NMath.NET(商业)似乎有一个.我试图解决一个高度非线性的优化,但它不适用于我.最后我诉诸于在DotNumerics中实施的B-LBFGS.

我想你也会对以下SO问题感兴趣:

Open source alternative to MATLAB’s fmincon function?

答案指向SciPy,优化cobyla,这似乎是类似于fmincon的东西.但主要的信息是,对于您的具体问题,也许fmincon太笼统.您可以使用更具体的求解器,例如LBFGS或QP.如果您的初始值不好,通用求解器有时也不起作用.

猜你在找的C#相关文章