What is the Octeract Reformulator?

logo Reformulator
3 min read

The Octeract Reformulator does a lot of math so you don’t have to.  It’s a compiler that transforms any optimisation problem on command, making it easier to solve.  This is done by automatically generating and manipulating optimisation-specific mathematics. 


Some optimisation problems are easier to solve than others, and we often don’t know what mathematical description works best until we’ve manually tried hundreds of alternatives. The Reformulator automates this trial-and-error for any optimisation problem, powered by Octeract Abstract Symbolic Pattern Recognition (OASPR).

The process involves the software reading your mathematical problem, matching abstract reformulation rules to your actual math,  and automatically producing a new form of your mathematical problem. 

This is just as clever as it sounds. The Reformulator contains a library of reformulations which involve different actions to manipulate an optimisation problem.  These reformulations are typically the secret sauce that makes commercial solvers work as well as they do and, for the first time, this power is in your hands to use, expand, and customise.

In addition to using reformulations from the library, the Octeract Reformulator allows users to build their own libraries.  Reformulations from these libraries are easy to share and are fully reusable.  

Why should I care about automated reformulations?

Because they make your life much easier, and because many reformulations are impossible to do by hand.  While reformulations work wonders on highly complex problems, transforming them into problems that are tractable, manual manipulation of a problem is not only time-consuming, but also very prone to human error.

Having these reformulations stored in a library makes problem simplification trivial, providing a gateway to decades of research.  With the Reformulator we can try out thousands of reformulations automatically and identify which one works best.

A more subtle but much more powerful advantage of being able to have a library of Reformulations, is that they can be shared with other people. Imaging reading a paper and being able to use what the author suggested right away, just by downloading a file. Imagine being able to reuse math that your colleague spent weeks figuring out for a different project, just by receiving their reformulation file. Imagine coding a complex reformulation yourself, and never having to do it again, ever.

This is the power of automatic, customisable reformulation.

Last but not least, the Reformulator can perform transformations that are literally impossible to do by hand.

The Octeract Reformulator is unlike any other product.  It is the first and only general purpose symbolic reformulation generator, and it can be used with any solver. 

This compiler is intelligent and will automatically scan for infeasible constraints, and logically inconsistent transformations. It automatically generates auxiliary variables, constraints, and bounds, and because it has context it can automatically restore solutions of reformulated problems into the original problem space. It can do whole-problem linearisation, factorisation, and convexification, and, because it has seen more math than any human ever will, it can provide recommendations for possible reformulations that you haven’t thought of yet.

Leave a Reply