带有约束的C++中的顺序非线性优化库

pyC*_*hon 5 c++ nonlinear-optimization

c ++中是否有任何好的库用于带约束的顺序非线性优化?

我正在寻找不等式约束和/或上限和下限.

已经有一个stackoverflow问题,但并非所有问题都有约束.

我知道NLopt,但它对我的具体问题不起作用.还有其他人吗?


我终于找到了我正在寻找的解决方案,如果有人对lpOpt感兴趣的

And*_*son 6

您可以尝试的一种SQP算法是DONLP2.它最初是用Fortran 77编写的,但也有ANSI C版本.它使用密集代数,因此主要适用于中小型问题.它是免费的学术用途.您需要直接从作者请求代码,请按照链接中的说明进行操作.

更新 顺序二次规划只是一种用约束来求解非线性目标函数的方法,例如还有内点法.应用内点方法的一个非常好的大规模开源C++替代方案是Ipopt(在另一个答案中已经提到).还有例如商业包装KNITRO.如果您不能或不想提供目标函数和约束渐变,您还可以查看COBYLA2,其中可以在此处下载C版本.

如需进一步的灵感,您还可以参考Decision Tree For Optimization Software,其中列出了适用于各种不同问题的不同优化代码.

  • @pyCthon我注意到你自己找到了Ipopt.我根据您的发现编辑了我的答案,还包括一些其他链接.虽然有点晚了,但我希望你仍然觉得它们很有用. (2认同)