ms-solver-foundation – Microsoft Solver Foundation是否符合我的需求?

前端之家收集整理的这篇文章主要介绍了ms-solver-foundation – Microsoft Solver Foundation是否符合我的需求?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在研究线性和非线性规划(优化)框架的选项.

要求是:

>支持线性和非线性编程问题. 100-1000个变量和约1000个约束(我收集的很简单).非线性问题具有涉及多个变量的乘法或除法的约束 – 没有比这更复杂.
>与MS环境(sql Server,MS Access,.NET,Excel)集成良好
很高兴能够支持临时问题定义(即某种脚本语言或支持在Excel前端定义和解决问题)
>我将使用Excel单独,但我也需要编程方式(.NET环境)接口到解决方案的更大的问题的能力.

对于编程访问,我打算为求解器开发一个抽象界面(所以我们可以在需要的时候改变求解器).然后我偶然发现已经有这个界面的MS Solver Foundation(http://code.msdn.microsoft.com/solverfoundation).我想知道是否符合我们其他要求的法案,以及用户对此的意见.

那么事实证明,Microsoft Solver Foundation不支持非线性编程.截至2010年1月,该队的 official word是他们正在考虑的,但并不在于他们的直接计划.

所以我已经将AMPL作为建模语言界面和KNITRO求解算法. KNITRO看起来不错,因为它包含三个算法(Interior Point Method的2个变种和Active Set method的1个).另见维基百科页面KNITRO.

我们在美国国家科学基金会和美国能源部门资助的优秀门户网站上,在美国Argonne National Laboratory号称为NEOS的美国门户网站上试用了两个评估版本后,才决定使用AMPL和KNITRO.NEOS提供了一个网络界面,用于使用AMPL上传您的数学模型或GAMS(以及某些解决者等等),然后通过结果网页和电子邮件获取您的结果.据说有一个用于提交问题的电子邮件界面,但是我没有成功地让它工作.

现在,这一切都花钱. KNITRO和AMPL是商业产品.最终解决方案的成本约为8000美元.不便宜.如果您正在寻找免费的解决方案,我认为这些选项几乎局限于解决方案的IPOPT(我也尝试过NEOS,发现它运行良好,但由于其他非技术原因我无法选择它)正在进行AMPL接口.您可以通过IPOPT的API设置您的问题.与Micrsoft Solver Foundation的API不同,IPOPT接口有点复杂,而且最具挑战性的是,它要求您的呼叫应用程序实现计算模型非线性方程的第一个(也可能是第二个)导数的回调.建模语言界面(如AMPL)为您照顾,因为它们能够从使用其语言编写的所有方程中计算符号派生词.

猜你在找的Windows相关文章