This article contains content that is written like an advertisement .(September 2023) |
Developer(s) | Octeract |
---|---|
Stable release | 4.7.1 |
Type | Technical computing |
License | Subscription |
Website | octeract |
Octeract Engine is a proprietary massively parallel deterministic global optimization solver for general Mixed-Integer Nonlinear Programs (MINLP).
The solver is designed to work in parallel on a distributed environment. It is optimized for succeeding in synthetic benchmark sets. [1] 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. [2]
Octeract Engine was developed by Nikos Kazazakis and Gabriel Lau. [3] The first public beta version of Octeract Engine was released in August 2019, and it came out of beta in August 2020.
On 23 July 2022 it ranked first on the single thread Mittelmann MINLPLIB benchmark. [4] 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 [1] library, namely transswitch2736spp [5] and transswitch2736spr. [6]
Octeract Engine currently holds two world records in MINLP benchmarks. [2] The first world record, set on 20 April 2023, is in number of problems solved (100%). The second world record, also set on 20 April 2023, is the smallest unscaled shifted geometric mean [7] 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.
On 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.
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. [8] [9] [10]
Other notable features include: [10]
Octeract Engine can read and write .nl
, .lp
and .mps
files.
Octeract Engine can be run directly or invoked as a C++ library. It supports the following modelling languages: [10]
The engine also interfaces to the following solvers:
In plasma physics, the particle-in-cell (PIC) method refers to a technique used to solve a certain class of partial differential equations. In this method, individual particles in a Lagrangian frame are tracked in continuous phase space, whereas moments of the distribution such as densities and currents are computed simultaneously on Eulerian (stationary) mesh points.
AMPL is an algebraic modeling language to describe and solve high-complexity problems for large-scale mathematical computing . It was developed by Robert Fourer, David Gay, and Brian Kernighan at Bell Laboratories. AMPL supports dozens of solvers, both open source and commercial software, including CBC, CPLEX, FortMP, MOSEK, MINOS, IPOPT, SNOPT, KNITRO, and LGO. Problems are passed to solvers as nl files. AMPL is used by more than 100 corporate clients, and by government agencies and academic institutions.
IBM ILOG CPLEX Optimization Studio is an optimization software package.
IPOPT, short for "Interior Point OPTimizer, pronounced I-P-Opt", is a software library for large scale nonlinear optimization of continuous systems.
A time series database is a software system that is optimized for storing and serving time series through associated pairs of time(s) and value(s). In some fields, time series may be called profiles, curves, traces or trends. Several early time series databases are associated with industrial applications which could efficiently store measured values from sensory equipment, but now are used in support of a much wider range of applications. In many cases, the repositories of time-series data will utilize compression algorithms to manage the data efficiently. Although it is possible to store time-series data in many different database types, the design of these systems with time as a key index is distinctly different from relational databases which reduce discrete relationships through referential models.
BARON is a computational system for solving non-convex optimization problems to global optimality. Purely continuous, purely integer, and mixed-integer nonlinear problems can be solved by the solver. Linear programming (LP), nonlinear programming (NLP), mixed integer programming (MIP), and mixed integer nonlinear programming (MINLP) are supported. In a comparison of different solvers, BARON solved the most benchmark problems and required the least amount of time per problem.
Augmented Lagrangian methods are a certain class of algorithms for solving constrained optimization problems. They have similarities to penalty methods in that they replace a constrained optimization problem by a series of unconstrained problems and add a penalty term to the objective, but the augmented Lagrangian method adds yet another term designed to mimic a Lagrange multiplier. The augmented Lagrangian is related to, but not identical with, the method of Lagrange multipliers.
The LINPACK Benchmarks are a measure of a system's floating-point computing power. Introduced by Jack Dongarra, they measure how fast a computer solves a dense n by n system of linear equations Ax = b, which is a common task in engineering.
Benson's algorithm, named after Harold Benson, is a method for solving multi-objective linear programming problems and vector linear programs. This works by finding the "efficient extreme points in the outcome set". The primary concept in Benson's algorithm is to evaluate the upper image of the vector optimization problem by cutting planes.
asm.js is a subset of JavaScript designed to allow computer software written in languages such as C to be run as web applications while maintaining performance characteristics considerably better than standard JavaScript, which is the typical language used for such applications.
Kubernetes is an open-source container orchestration system for automating software deployment, scaling, and management. Originally designed by Google, the project is now maintained by a worldwide community of contributors, and the trademark is held by the Cloud Native Computing Foundation.
Pyomo is a collection of Python software packages for formulating optimization models.
Convex Over and Under ENvelopes for Nonlinear Estimation (Couenne) is an open-source library for solving global optimization problems, also termed mixed integer nonlinear optimization problems. A global optimization problem requires to minimize a function, called objective function, subject to a set of constraints. Both the objective function and the constraints might be nonlinear and nonconvex. For solving these problems, Couenne uses a reformulation procedure and provides a linear programming approximation of any nonconvex optimization problem.
Deterministic global optimization is a branch of mathematical optimization which focuses on finding the global solutions of an optimization problem whilst providing theoretical guarantees that the reported solution is indeed the global one, within some predefined tolerance. The term "deterministic global optimization" typically refers to complete or rigorous optimization methods. Rigorous methods converge to the global optimum in finite time. Deterministic global optimization methods are typically used when locating the global solution is a necessity, when it is extremely difficult to find a feasible solution, or simply when the user desires to locate the best possible solution to a problem.
Google OR-Tools is a free and open-source software suite developed by Google for solving linear programming (LP), mixed integer programming (MIP), constraint programming (CP), vehicle routing (VRP), and related optimization problems.
Deno is a runtime for JavaScript, TypeScript, and WebAssembly that is based on the V8 JavaScript engine and the Rust programming language. Deno was co-created by Ryan Dahl, who also created Node.js.
ANTIGONE, is a deterministic global optimization solver for general Mixed-Integer Nonlinear Programs (MINLP).
Quarkus is a Java framework tailored for deployment on Kubernetes. Key technology components surrounding it are OpenJDK HotSpot and GraalVM. Quarkus aims to make Java a leading platform in Kubernetes and serverless environments while offering developers a unified reactive and imperative programming model to address a wider range of distributed application architectures optimally.
Soufflé is an open source parallel logic programming language, influenced by Datalog. Soufflé includes both an interpreter and a compiler that targets parallel C++. Soufflé has been used to build static analyzers, disassemblers, and tools for binary reverse engineering. Soufflé is considered by academic researchers to be high-performance and "state of the art," and is often used in benchmarks in academic papers.