Software:Octeract Engine

From HandWiki
Octeract Engine
Developer(s)Octeract
Stable release
4.7.1
TypeTechnical computing
LicenseSubscription
Websiteocteract.gg

Octeract Engine is a proprietary massively parallel deterministic global optimization solver for general Mixed-Integer Nonlinear Programs (MINLP) and the current world record holder in MINLP performance.[1]

It uses MPI as a means of accelerating solution times.[2] It is known for breaking four consecutive performance world records in the Mittelmann MINLPLIB[3] benchmark, as well as its native parallelism and high degree of configurability. The latest world records were set in April 2023, when it became the first optimization solver to ever solve all problems in the benchmark, with a world record setting unscaled shifted geometric mean of 36.8.[1]

History

Octeract Engine was developed by Nikos Kazazakis and Gabriel Lau.[4] The first public beta version of Octeract Engine was released in August 2019, and it came out of beta in August 2020.

Performance

Octeract Engine exhibits world-leading performance on a single thread, and also has the ability to speed up these single thread solution times by several fold through supercomputing. In 23 July 2022 it ranked first on the single thread Mittelmann MINLPLIB benchmark.[5] This lead has been maintained for all releases of Octeract Engine hence.

As of August 2022 it is the first and only solver to solve the largest open transmission switching problems in the industry standard MINLPLIB[3] library, namely transswitch2736spp[6] and transswitch2736spr.[7]

World records

Octeract Engine currently holds two world records in MINLP benchmarks.[1] The first world record, set in 20 April 2023, is in number of problems solved (100%). The second world record, also set in 20 April 2023, is the smallest unscaled shifted geometric mean[8] ever achieved for this test set, which was 36.8. The runner-ups achieved means of 138.2 (BARON) and 380.5 (SCIP), with Couenne ranking last with a mean of 3304.4.

World record history

In 27 October 2022 Octeract Engine set its first world record by solving more 91% of problems in the benchmark, which was more than any solver had ever been able to solve by that time. This record has yet to be broken by any other solver as of 21 April 2023.

In January 2023, it became the first solver to solve 99% of problems in this benchmark.

In April 2023, it became the first solver to solve 100% of problems in this benchmark.

Features

Octeract Engine is a suite of numerous solvers and techniques which are invoked automatically, or at the user's discretion. It features parallel branch-and-bound solvers, numerous local heuristics which can be invoked independently of global optimization, as well as numerous specialized techniques to exploit special structure, such as the Sherali-Smith reformulation.[9][10][2]

Other notable features include: [2]

  • Distributed computing through MPI
  • High degree of configurability with more than 100 options
  • Supports discontinuous elementary functions (e.g. min and max)
  • Supports trigonometric functions
  • Can guarantee global optimality
  • Reformulation of user input
  • Detection of special structure
  • Automatic problem classification
  • Guaranteed calculations through interval arithmetic and arbitrary-precision arithmetic
  • Powerful local solver capabilities through its LOCAL_SEARCH [11] mode

File formats

Octeract Engine can read and write .nl, .lp and .mps files.

Interfaces

Octeract Engine can be run directly or invoked as a C++ library. It supports the following modelling languages:[2]

The engine also interfaces to the following solvers:

Limitations

Like all deterministic global optimization software, Octeract Engine requires the explicit mathematical expressions for all functions used in the problem.

See also

References