Octeract Engine

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by BrownHairedGirl (talk | contribs) at 14:30, 23 August 2022 (Add banner {{Cleanup bare URLs}}. After at least 7 passes by @Citation bot since 20220821, this article still has 2 untagged bare URL refs). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Octeract Engine
Developer(s)Octeract
Stable release
4.4.1
TypeTechnical computing
LicenseSubscription
Websiteocteract.gg

Octeract Engine is a proprietary massively parallel deterministic global optimization solver for general Mixed-Integer Nonlinear Programs (MINLP).[1][2] It uses MPI as a means of accelerating solution times. It is notable for its parallelism, and most recently for ranking ahead of all other global MINLP solvers in the Mittelmann benchmark.[3]

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

Single thread MINLPLIB Benchmark results July 2022

Octeract Engine is considered to be one of the most powerful MINLP solvers in the world. It exhibits world-class performance on a single thread, and also has the ability to speed up these single thread solution times by many times through supercomputing.

In July 2022 it ranked first on the single core Mittelmann MINLPLIB benchmark,[3] ranking ahead of all solvers previously considered to be the state of the art, such as BARON and SCIP. As of August 2022 it is also the first and only solver to solve the largest open transmission switching problems in the industry standard MINLPLIB[5] library, namely transswitch2736spp[6] and transswitch2736spr.[7]

Features

Octeract Engine is a symbolic and branch-and-bound solver. It is notable for being the only deterministic global optimisation software that supports supercomputing. Some of its features are:[2]

  • Distributed computing through MPI
  • Supports discontinuous elementary functions (e.g. min and max)
  • Supports trigonometric functions
  • Guarantees global optimality
  • Reformulation of user input
  • Detection of special structure
  • Guaranteed calculations through interval arithmetic and arbitrary-precision arithmetic

Supported problem types

Problem type (MI)LP (MI)SDP (MI)QP (MI)QCP (MI)QCQP (MI)NLP D(MI)NLP Black-box
Solves Continuous Yes No Yes Yes Yes Yes Yes No
Solves Mixed-Integer Yes No Yes Yes Yes Yes Yes No
Solves Convex Yes No Yes Yes Yes Yes Yes No
Solves Non-convex N/A N/A Yes Yes Yes Yes Yes No

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

  1. ^ Yet Another Math Programming consultant Blog
  2. ^ a b c Octeract Engine User Manual, 29 Nov 2019, retrieved 10 December 2019
  3. ^ a b http://plato.asu.edu/ftp/minlp.html
  4. ^ "Credits – Octeract".
  5. ^ http://minlplib.org/
  6. ^ "Transswitch2736spp - p1".
  7. ^ "Transswitch2736spr - p1".