Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 微软求解器非线性约束优化与Matlab FMICON 可以在微软Sover基金会3中给我展示约束非线性优化的例子或评论吗?它与Matlab的fmincon相比如何?还是有更好的约束非线性优化.net库?谢谢,< p>我自己对微软解决方案基金会没有太多的经验,但是有一篇很好的文章演示了如何使用F ^:< /P> < f >,也有一个嵌入的建模语言——这允许你把你的约束写为普通的F表达式(包含在引文中),并且这个语言的解释器调用微软Sover基金会,创建适当的约束(我认为这非常棒!): 2012年2月25日的重要更新:_C#_.net_Matlab_F#_Mathematical Optimization - Fatal编程技术网

C# 微软求解器非线性约束优化与Matlab FMICON 可以在微软Sover基金会3中给我展示约束非线性优化的例子或评论吗?它与Matlab的fmincon相比如何?还是有更好的约束非线性优化.net库?谢谢,< p>我自己对微软解决方案基金会没有太多的经验,但是有一篇很好的文章演示了如何使用F ^:< /P> < f >,也有一个嵌入的建模语言——这允许你把你的约束写为普通的F表达式(包含在引文中),并且这个语言的解释器调用微软Sover基金会,创建适当的约束(我认为这非常棒!): 2012年2月25日的重要更新:

C# 微软求解器非线性约束优化与Matlab FMICON 可以在微软Sover基金会3中给我展示约束非线性优化的例子或评论吗?它与Matlab的fmincon相比如何?还是有更好的约束非线性优化.net库?谢谢,< p>我自己对微软解决方案基金会没有太多的经验,但是有一篇很好的文章演示了如何使用F ^:< /P> < f >,也有一个嵌入的建模语言——这允许你把你的约束写为普通的F表达式(包含在引文中),并且这个语言的解释器调用微软Sover基金会,创建适当的约束(我认为这非常棒!): 2012年2月25日的重要更新:,c#,.net,matlab,f#,mathematical-optimization,C#,.net,Matlab,F#,Mathematical Optimization,MSF 3.1现在通过其NelderMeadSolver解算器支持有界变量的非线性优化: 对于一般线性约束,微软求解器基础只支持线性规划和二次规划,通过其内点求解器。对于这个解算器,请参阅Tomas提到的SVM帖子 MSF有一个通用的非线性规划求解器,有限的内存BFGS,但是它不支持任何约束。该解算器还需要一个显式梯度函数。有关此解算器,请参见: Tomas提到的F#ODSL只支持线性规划。我有一个QP扩展,可在 回到你的问题——用线性约束优化f(x)(类似于fmincon),我还没有看到任何

MSF 3.1现在通过其NelderMeadSolver解算器支持有界变量的非线性优化:

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

MSF有一个通用的非线性规划求解器,有限的内存BFGS,但是它不支持任何约束。该解算器还需要一个显式梯度函数。有关此解算器,请参见:

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

回到你的问题——用线性约束优化f(x)(类似于
fmincon
),我还没有看到任何免费的库具有这种能力。(商业)似乎有一个。我试着用它来解决一个高度非线性的优化问题,但它对我不起作用。最后,我求助于在DotNumerics中实现的B-LBFGS

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


答案指向
SciPy。​优化​cobyla
,它似乎类似于
fmincon
。但主要信息是,对于您的特定问题,可能
fmincon
过于笼统。您可以使用更具体的解算器,例如LBFGS或QP。此外,如果初始值不好,一般解算器有时也不起作用

我最近将Michael Powell的无导数代码COBYLA2(非线性目标函数,非线性约束)和BOBYQA(非线性目标函数,可变边界)移植到C#。当优化问题只包含可变边界时,BOBYQA算法的速度要快得多

我已经公开了这两个代码;您可以在Github上找到它们:和

如果您喜欢基于导数的算法,我还实现了一个适配器。它被调用,也可以从Github获得


这些算法中没有求解器基础接口,我不能说它们与FMICON相比有多好(我本人不是Matlab用户),但希望这些代码对优化工作有帮助。

< P>我意识到这是一个老问题,但是这里的答案是不准确的和/或过时的。以下是有关如何在MSSF中使用约束非线性解算器的权威教程:

此示例使用默认的非线性解算器,称为


(不过,我对fmincon不太熟悉,所以我不能这么说。)

谢谢你的回答和你的博客。我希望无国界医生可以做禁药LBFGS或类似的。这个答案不再准确。MSF确实支持约束非线性规划。本教程演示了这一点:@kmote你知道MSF是否停止开发了吗?@LayGonzález:不幸的是,这是正确的。内森·布里修斯(负责无国界医生组织的首席工程师)于2012年回国。此后不久,他就离开了微软,所有的工作都停止了。