一个好的凸优化库是什么?

22
我正在寻找一个C++的库,用于处理凸优化和约束函数。

大多数线性规划求解器都有自己定义问题集的方式。编程接口大多是糖衣包装。 - Ritesh M Nayak
我正在使用cvxopt,为了安装它,我只需从http://www.lfd.uci.edu/~gohlke/pythonlibs/#cvxopt下载预编译库,然后执行pip install(下载wheel),最后在使用之前确保导入numpy。 - Phylliida
@Phylliida:CVXOPT有C++版本/接口吗? - Hans
3个回答

12

我猜测你的问题是非线性的。在我的工作中,我们使用 SNOPTIpopt 和另一个专有求解器(不出售)。我们还尝试过并听说了关于Knitro的好消息。

只要你的问题是凸的,所有这些求解器都能很好地工作。

它们都有自己的API,但它们都需要相同的信息: 值、一阶和二阶导数。


4
假设你的问题是非线性的,你可以使用来自Sandia Lab的免费开源OPT ++。我在一个C++项目中使用过它,它很容易使用并且效果很好。

1

您可以在此处找到其他开源求解器及其性能基准:http://plato.asu.edu/ftp/lpfree.html 此外,不要忘记查看http://code.msdn.microsoft.com/solverfoundation。 - Ritesh M Nayak
线性意味着凸性,而不是反过来。 - Benoît
Cplex解决线性或二次约束的凸问题。它非常快,但不能处理一般的凸问题。 - David Nehme

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接