Octeract Engine
Developer(s) | Octeract |
---|---|
Stable release | 3.4.0
|
Type | Technical computing |
License | Freemium |
Website | octeract |
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 for being the only commercial optimization solver that is free to use.
History[]
The first public beta version of Octeract Engine was released in August 2019. Octeract Engine came out of beta in August 2020.
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
- Python-based interface called Octeract Shell
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 .mod
, .nl
, .gms
, .lp
, .mps
, and .py
(Pyomo) files. Files in .mod
, .nl
, .lp
, and .mps
formats can be read directly by the engine, while .gms
and .py
files must be used through the GAMS and Pyomo interfaces respectively.
File conversion[]
Once an optimisation model is loaded into Octeract Engine using the Octeract Shell, the engine can write that model into any of the file formats it supports, making it an effective file conversion tool.
Interfaces[]
Octeract Engine can be run directly or invoked as a library in C++ and Python. It supports the following modelling languages:[2]
The engine also has interfaces for the following solvers:
- CPLEX
- FICO Xpress
- CBC
- CLP
- IPOPT
Limitations[]
Like all deterministic global optimization software, Octeract Engine requires the explicit mathematical expressions for all functions used in the problem.
See also[]
References[]
- ^ Yet Another Math Programming consultant Blog
- ^ a b c Octeract Engine User Manual, 29 Nov 2019, retrieved 10 December 2019
- Mathematical optimization software