Question

I am looking for a C++ library, and I am dealing with convex objective and constraint functions.

Was it helpful?

Solution

I am guessing your problem is non-linear. Where i work, we use SNOPT, Ipopt and another proprietary solver (not for sale). We have also tried and heard good things about Knitro.

As long as your problem is convex, all these solvers work well.

They all have their own API, but they all ask for the same information : values, first and second derivatives.

OTHER TIPS

Assuming your problems are nonlinear, you can use free and open-sourced OPT++, available from Sandia Lab. I have used it in one project in C++ and it was easy to use and worked well.

From what I know, the CPLEX solver is the best convex optimization solver. Its the state of the art in LP solvers. Does convex optimization really well. While looking for it, I see that its IBM's software now. You can find it here : http://www-01.ibm.com/software/integration/optimization/cplex/

You can use GSL (GNU Scientific Library) with the package NLopt which is a nonlinear optimization package with unconstrained, bound-constrained, and general nonlinear inequality constraints.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top