Photo by Vincentas Liskauskas on Unsplash

Bounded Curation: Optimization - Solvers

Berk Orbay
berk-orbay
Published in
3 min readMay 8, 2023

--

Here, I list some solvers (algorithms to solve various optimization problems) which I was not fully aware of, before. See the end of this post for more information about Bounded Curations.

Optimization — Solvers

- Octeract

Octeract dubs its engine as “the best MINLP (Mixed Integer Non-Linear Programming) solver in the world.” Its reference for this claim is the infamous Mittelmann Benchmarks.

It is a commercial solver. On the website, you also get some authentic attitude.

- LocalSolver

LocalSolver is another high performing solver solution used by many big brands such as Amazon, Engie, Microsoft and Starbucks (according to their logos on references).

This one is also a commercial solver.

- NVIDIA cuOpt

This one is interesting. NVIDIA’s logistics solver uses GPU instead of CPU.

It is still on early access phase.

- NLOpt

A free/open-source Nonlinear optimization library. It has a collection of algorithms under its hood.

Its license is GNU LGPL.

- Optaplanner

Optaplanner is another open source “solver” shining on several planning problems. It is Java based with a Python API.

Update: Its founder left the project and founded a company called Timefold. Here is the detailed story.

- Z3

I actually had no time to opportunity to explore Z3, a
Satisfiability Modulo Theories (SMT) solver.

This is not a link to the solver but a link to a tutorial.

- Ceres Solver

Ceres Solver is a C++ library used to solver large scale non-linear optimization problems.

Supported by Google, under New BSD license.

- Artelys Knitro

Knitro is another successful MINLP solver used by many different projects especially in the energy domain.

- SciPy with HiGHS

Back in the day, not so long ago, HiGHS solver was not still adapted by popular Python libraries. SciPy was one of the exceptions.

You need HiGHS solver for this method to work. But I think there are much better ways than to use SciPy function now.

Nevergrad

Although its name might seem to suggest “do not go to masters or phd”, it is a “gradient-free” optimization algorithm by Facebook Research.

It is actually not a “solver” but an optimizer. It is under MIT license.

What is a “Bounded Curation”?

When I conduct research on something I collect stuff: Articles, links to software, repositories, books etc. This is a deliberate collection (“Curation”) on some topic, which I have some information about but I wish to expand on some more.

Items in this collection are not comprehensive (“Bounded”) and neither should you expect it to be. This is not a literature survey, not even a properly academic post. Please take it at face value and you may enrich the curation in the comments with additional sources.

Bounded Curations are usually (not always) extra to my prior knowledge. So, if you don’t see some extremely popular sources it is because “I” was aware of those. If you see your link here, it usually means “I” wasn’t aware of your solution before. Either way, my knowledge should not be a gauge of popularity.

A final note: I do not publish Bounded Curations real time. They might be stale for months even years.

--

--

Berk Orbay
berk-orbay

Current main interests are #OR and #RL. You may reach me at Linkedin.