Guide to Solving a MINLP Problem

A Solver with Suggestions

A solver with the ability to solve any MINLP problem out of the box doesn’t exist. In fact, solvers can only take you so far. In general, users need to pick up from where the solver left off to figure out why the problem wasn't solved. Octeract Engine breaks this mould. It goes a step further by ending the guessing game.

The Engine guarantees no dead-end when solving a MINLP.


Well, the Engine is intelligent; it identifies issues during solving and what can be done about them. This takes the form of a suggestion system which exposes users to how the solver works and provides access to making a problem more solvable by tweaking the algorithms.

How This Works

There is a three step process to solving a MINLP problem with Octeract Engine. The best way to demonstrate this is by using an example.

Run a MINLP problem
Let’s say that after downloading and installing Octeract Engine, you decide to run a MINLP problem. An example of how this could look can be found below:

MINLP problem

The Engine logs issues encountered
This output shows a breakdown of what happens during solving. Instead of hitting a brick wall in the solving process, the Engine shows a breakdown of what has happened and detects what went wrong.

In this case, the Engine has identified a crossover between the LLB and BUB. It recommends adjusting USE_AUTOMATIC_EXPANSION and FORCE_EXPANSION to avoid this crossover. Furthermore, the Engine offers a suggestion regarding the bounds calculation and how time spent on this could be reduced with an increase in the UB_FREQUENCY value.

Tweak the algorithms
It doesn’t stop there. There are links that accompany each suggestion so you can learn more about the algorithm that needs tweaking and how to do this by setting options. The links direct to our online knowledge base where more context to the suggestions can be found.

In this way, the suggestion system goes the extra mile in ensuring that it is useful and can be applied by the user. Once you have this knowledge in hand, you can tweak the algorithmic behaviour to perfection and rerun your problem.

Why This is Valuable

There is no plug and play when it comes to solving MINLP problems. The real-world is, however, nonlinear so working with this type of problem is often unavoidable.

With most solvers, these problems are not solved out of the box and that is the end of the road. With Octeract Engine’s suggestion system, the journey continues. Users have an idea of what actually happened during the solving process and why exactly the problem didn’t solve. This, in itself, is an advancement in optimisation technology.

The intelligence of this system saves time and frustration by providing a clear path in what would have been the end of the road. This is the dawn of a new era in solving MINLPs.

Was this helpful?
Please make sure you fill the comments section before sending.

Thank you for your comments.
Please contact us if you need any further support.