Mathematical optimisation that works on real industrial problems.

Custom algorithms, including for problems off-the-shelf solvers can't finish.

We turn your scheduling, allocation, routing and planning decisions into mathematical models, then build the software that solves them. Our methods are published and tested on real operating data.

Fig. 1. Illustration of a multi-commodity flow. Line width shows vehicles on an edge. Node size shows storage capacity. node load 0 → 1

Problems we solve

If a decision has an objective and constraints, we can probably model it.

Published results

What our methods have shown so far, much of it in logistics. Figures are as reported in the linked papers.

What we build

Every project is custom, from the first formulation to working software.

Optimisation

Scheduling, allocation, routing, design and packing. We use mixed integer programming where it scales, and custom heuristics where it doesn't.

Simulation and agent models

Replay your real operating data, sweep policy settings, and see the trade-offs before anything changes in production.

Vector search

Better approximate nearest neighbour search, from graph structure to tuning on your data for recall, latency and memory.

Machine learning and vision

Forecasting, detection and inspection models, including the demand and failure predictions that optimisation depends on.

Real costs come in steps

Machines, shifts, batches and vehicles come in whole units, so a small extra demand can mean paying for one more. A linear model can't see that jump. Move the slider to compare them.

Units needed
–
LP relaxation
–
Cost the LP misses
–

Example with a capacity of C = 20 per unit.

The general model

Pay for each unit, and for the work it does
Every demand is met
Enough whole units are running to carry the work

How a project runs

We start with your operation, and you keep everything we build.

  1. Formulate

    Write down the objective, the constraints and the exceptions with the people who run the operation.

  2. Measure a baseline

    Score your current process on historical data, so every result has a fair comparison.

  3. Solve

    Build the algorithm, then test it against the baseline and a mathematical bound.

  4. Deploy

    Connect it to your systems and hand over the code, the model and the documentation.

Papers

Open to read, including the formulations and experiments.

What would you optimise first?

Tell us what you decide, what limits you, and how you measure a good result. A rough description is enough.