Octeract Engine

Last updated
Octeract Engine
Developer(s) Octeract
Stable release
4.7.1
Type Technical computing
License Subscription
Website octeract.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]

Contents

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]

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

Related Research Articles

<span class="mw-page-title-main">Genetic algorithm</span> Competitive algorithm for searching a problem space

In computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to generate high-quality solutions to optimization and search problems by relying on biologically inspired operators such as mutation, crossover and selection. Some examples of GA applications include optimizing decision trees for better performance, solving sudoku puzzles, hyperparameter optimization, causal inference, etc.

<span class="mw-page-title-main">Evolutionary algorithm</span> Subset of evolutionary computation

In computational intelligence (CI), an evolutionary algorithm (EA) is a subset of evolutionary computation, a generic population-based metaheuristic optimization algorithm. An EA uses mechanisms inspired by biological evolution, such as reproduction, mutation, recombination, and selection. Candidate solutions to the optimization problem play the role of individuals in a population, and the fitness function determines the quality of the solutions. Evolution of the population then takes place after the repeated application of the above operators.

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.

<span class="mw-page-title-main">AMPL</span>

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.

The general algebraic modeling system (GAMS) is a high-level modeling system for mathematical optimization. GAMS is designed for modeling and solving linear, nonlinear, and mixed-integer optimization problems. The system is tailored for complex, large-scale modeling applications and allows the user to build large maintainable models that can be adapted to new situations. The system is available for use on various computer platforms. Models are portable from one platform to another.

The TOMLAB Optimization Environment is a modeling platform for solving applied optimization problems in MATLAB.

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.

JModelica.org is a commercial software platform based on the Modelica modeling language for modeling, simulating, optimizing and analyzing complex dynamic systems. The platform is maintained and developed by Modelon AB in collaboration with academic and industrial institutions, notably Lund University and the Lund Center for Control of Complex Systems (LCCC). The platform has been used in industrial projects with applications in robotics, vehicle systems, energy systems, CO2 separation and polyethylene production.

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.

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.

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.

Google PageSpeed is a family of tools by Google Inc, designed to help a website's performance optimizations. It was introduced at Developer Conference in 2010. There are four main components of PageSpeed family tools: PageSpeed Module, consisting of mod PageSpeed for the Apache HTTP Server and ngx PageSpeed for the Nginx, PageSpeed Insights, PageSpeed Service, and PageSpeed Chrome DevTools extension. All of these components are built to identify the faults in a website's compliance with Google's Web Performance Best Practices, and automate the optimization process.

Deterministic global optimization is a branch of numerical 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.

Algebraic modeling languages like AIMMS, AMPL, GAMS, MPL and others have been developed to facilitate the description of a problem in mathematical terms and to link the abstract formulation with data-management systems on the one hand and appropriate algorithms for solution on the other. Robust algorithms and modeling language interfaces have been developed for a large variety of mathematical programming problems such as linear programs (LPs), nonlinear programs (NPs), Mixed Integer Programs (MIPs), mixed complementarity programs (MCPs) and others. Researchers are constantly updating the types of problems and algorithms that they wish to use to model in specific domain applications.

Quantinuum is a quantum computing company formed by the merger of Cambridge Quantum and Honeywell Quantum Solutions. The company's H-Series trapped ion quantum computers set the highest quantum volume to date of 524,288. This architecture supports all-to-all qubit connectivity - allowing entangled states to be created between all qubits – and enables a high fidelity of quantum states.

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. The goal of Quarkus is to make Java a leading platform in Kubernetes and serverless environments while offering developers a unified reactive and imperative programming model to optimally address a wider range of distributed application architectures.

References

  1. 1 2 3 "Visualisation of Mittelmann Benchmark". mattmilten.github.io. Matthias Miltenberger. Retrieved 20 April 2023.
  2. 1 2 3 4 "Octeract Engine documentation". octeract.gg. Octeract. Retrieved 27 January 2023.
  3. 1 2 "A Library of Mixed-Integer and Continuous Nonlinear Programming Instances". Minlplib. 2022-10-14. Retrieved 2023-01-27.
  4. "Octeract Credits". octeract.gg. Octeract. Retrieved 27 January 2023.
  5. "Visualisation of Mittelmann Benchmark". mattmilten.github.io. Matthias Miltenberger. Retrieved 20 April 2023.
  6. "Transswitch2736spp solution". minlplib.org. MINLPLIB. Retrieved 27 January 2023.
  7. "Transswitch2736spr solution". minlplib.org. MINLPLIB. Retrieved 27 January 2023.
  8. "Shifted Geometric Mean". plato.asu.edu. Hans Mittelmann. Retrieved 21 April 2023.
  9. "BQP Reformulation Procedure". octeract.gg. Octeract. Retrieved 27 January 2023.
  10. Sherali, Hanif D.; Smith, J. Cole (2006). "An improved linearization strategy for zero-one quadratic programming problems". Optimization Letters. 1 (1): 33–47. doi:10.1007/s11590-006-0019-0.
  11. "Local Seach". octeract.gg. Octeract. Retrieved 21 April 2023.