# Overview

Octeract Engine is a massively parallel MINLP solver. It is written in ORL (Octeract Reformulation Language), a programming language we designed to build a new generation optimisation engine. The ORL compiler enables rapid development of high-performance algorithms.

The engine contains 14 Octeract solvers for different types of mathematical structure, each with their own algorithms, to a grand total of 1031 high-performance algorithms.

#### SupportedFile Formats

.nl
.lp
.mps

## What makes this MINLP solver different?

• Finds the global solution. Every time. Guaranteed.
• No need for starting points from the user
• Solves any math, including non-smooth & discontinuous
• No need for the user to provide derivatives
• Thousands of CPUs can be used on hard problems
• Has a presolver that reduces problem size
• Automatically detects convexity
• Automatically convexifies non-convex problems
• Automatically applies hundreds of mathematical tricks
• Solves (MI)LPs well too

## Did you know?

The Engine:

is benchmarked by an independent third party
comes with a unique reformulation language
natively supports supercomputing
solves 80% of all library problems in under 30 seconds
speeds up linearly with more CPUs

import octeract as orl
from octeract import Model

m = Model()
m.import_model_file("aircraft.nl")
m.detect_convexity()

# Reformulate all powers of binaries to binaries

if not m.is_convex():
linearise_powers = (orl.Match('V(b)^P(a)') &
orl.IsBinary('b')).then(orl.SubTerm('b'))
m.apply_mod(linearise_powers)

m.global_solve(cores=30, timeout=10)


94

86

80

## Technical Features

What are the Engine’s main features?
How does the Engine work?
Three tricks the Engine can perform in under five seconds
What are the Engine’s main features?
• Built-in high-performance symbolic engine that does math for the user
• Natively supports distributed computing through MPI
• Guarantees global optimality for any algebraic mathematical structure
How does the Engine work?
• Parallel branch-and-bound for continuous and discrete problems
• Performs symbolic whole-problem transformations to solve easier versions of the input problem
• Contains 14 solvers that exploit different types of mathematical structure
• Applies dozens of heuristics, problem reduction, and domain reduction techniques

Three tricks the Engine can perform in under five seconds
• It will classify your problem
• It will linearise your problem
• It will automatically detect whether your problem is convex/concave

## User Experience

User-friendly Python API
Converts file formats seamlessly
Solves all problems well. No solver-switching needed.

import octeract

m = Model()

m.import_model_file("../aircraft.nl")

m.global_solve(cores=30)



## The Future of Optimisation

Octeract Engine is more than just a solver. It’s an entire environment.
The Engine works the way you work, allowing you to do what you do. Just better.

It cuts through complexity because it can do maths, so you don’t have to.
Activate a frustration-free future with Octeract Engine. The power is at your fingertips.