我正在寻找一个C ++库,我正在处理凸目标和约束函数。
答案 0 :(得分:12)
我猜你的问题是非线性的。在我工作的地方,我们使用SNOPT,Ipopt和其他专有解算器(非出售)。我们也尝试过关于Knitro的好消息。
只要您的问题是凸的,所有这些解算器都能正常工作。
他们都有自己的API,但他们都要求相同的信息:价值,一阶和二阶导数。
答案 1 :(得分:4)
假设您的问题是非线性的,您可以使用Sandia Lab提供的免费开源OPT++。我在C ++的一个项目中使用它,它很容易使用并且运行良好。
答案 2 :(得分:1)
据我所知,CPLEX求解器是最好的凸优化求解器。它是LP解算器的最先进技术。凸优化是否真的很好。在寻找它时,我现在看到它的IBM软件。您可以在此处找到它:http://www-01.ibm.com/software/integration/optimization/cplex/
答案 3 :(得分:1)
您可以将GSL
(GNU Scientific Library)与the package NLopt
一起使用,这是一个非约束,约束约束和一般非线性不等式约束的非线性优化包。