I'm looking for a non linear optimization C++ library that satisfies the following requirements:

  • If it's an open source licence it must have LGPL or a less restrictive licence. Open source is preferred but not a requirement.
  • It should not require the optimization parameters to be contiguous in memory, i.e. the user should be able to provide an array of pointers to each parameter.
  • It should preferably have the Levenberg-Marquardt algorithm (not necessary if there is something similar or better).
  • It should be able to handle simple box constraints for the parameters
  • Multi-platform (Windows, Linux, Solaris)

The library I have found so far that come closest to satisfying these requirements is the Ceres Solver. But there are some uncertainties how well it works on Solaris, hence I want to see what other alternatives I have before starting to experiment with Ceres.

  • 2
    Welcome! Please either 1) Make your own answer about the Ceres Solver, explaining how it fits each of the requirements. Or 2) Say what is bad (or not good enough) in the Ceres Solver. Thanks!
    – Nicolas Raoul
    Mar 10 '16 at 7:58
  • Hi @NicolasRaoul and thank you for the warm welcome. I edited my question to make it more clear why I want to explore other alternatives to Ceres. Mar 10 '16 at 10:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.