Octeract

benchmarks

The Octeract benchmark consists of over 3,000 test problems from the literature, namely all problems from the industry standard MINLPLib, PrincetonLib, the entire COCONUT Benchmark, and 360 problems from QPLib. It also includes approximately 50 of our own problems, most of which are designed to break solvers in various ways (e.g. this problem will crash nearly every solver). You can read details about how the benchmark was set up here.
Although many different metrics have been proposed to measure performance (e.g. performance profiles) they tend to be quite uninformative with respect to real-world performance. Therefore, the information presented here is meant to answer a single question:
“Will Octeract Engine solve my problem?”
It’s extremely likely. Let us see why.
The latest version of the engine (0.9.27.1b) solves 47% of the entire test set of 3,000+ problems to global optimality within 30 minutes (30min timeout per problem), using just one processor and default settings.
In addition, the engine locates a feasible solution for 74% of all problems until timeout. In the upcoming version of the engine (0.9.27.2b), the feasibility rate is increased to an impressive 83% due to the addition of new MINLP heuristics and other improvements.

Multicore advantage

The engine has native support for distributed computing. Using more cores results in significant speedups in solution time and feasibility rate. In serial mode we couldn’t find a solution for about 7% of the problem set within 30 mins. Since these are some of the toughest problems out there, we want to see if additional computing power can help locate feasible solutions. To investigate this, we re-ran all problems that timed out in the 30 min 1 single core benchmark using 8 processors per problem. This allowed us to locate a feasible solution for 20% of those problems within the same time limit, increasing the feasibility rate to 85%.