Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Non-linear programming library in C++

I'm looking for recommendations for C++ libraries for non-linear programming (not just for integers!).

Preference is for actively maintained F/OSS solutions, but actively maintained commercial solutions offering free evaluation versions are acceptable.

Thanks in advance!

Edit: As requested, here are more details:

The application I'm working on is simple, and it's about minimizing polynomials of degree 4 and higher (up to 11) with a small set (~20) of constraints expressed as inequalities (again, as polynomials, degree <= 4). I might also, occasionally, have to throw in some trigonometric function, though. In any case, it's always continuous, differentiable functions I'm dealing with. The number of variable ranges from 1 to 12, for now, and won't go much beyond that.

Finally, I need a solution that works on Windows, but cross-platform ones would be preferable.

like image 347
em70 Avatar asked Apr 20 '12 09:04

em70


1 Answers

I'm not sure, but maybe ROOT from CERN will be suitable for you. This is really huge library (ROOT::Math::Polynomial class, for example) from CERN itself.

I must say, it's not a 'one-minute-to-learn' library indeed, but has both: console to work with all math stuff in real time (looks similar to MathCAD cmd line) and libs and dlls you can link with your code statically. And it's a cross platform library. More to say, the most powerful feature of the ROOT is that you can build almost all kind of charts and plots.

like image 77
Sergei Danielian Avatar answered Oct 21 '22 01:10

Sergei Danielian