I am looking for a C++ library, and I am dealing with convex objective and constraint functions.
If the bounds on the variables restrict the domain of the objective and constraints to a region where the functions are convex, then the overall problem is convex.
Scheduling of flights: Flight scheduling is an example convex optimization problem. It involves finding flight times that minimize costs like fuel, pilot/crew costs, etc. while maximizing the number of passengers.
Because the optimization process / finding the better solution over time, is the learning process for a computer. I want to talk more about why we are interested in convex functions. The reason is simple: convex optimizations are "easier to solve", and we have a lot of reliably algorithm to solve.
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With