Optimisation methods, explained.

Plain-English introductions to the methods behind our models, no jargon required. Here are the core techniques we use in optimisation work.

Optimisation

Linear programming (LP)

Linear programming finds the best possible outcome, the most profit, the least cost, when your goal and all your constraints can be written as linear relationships. Modern solvers handle enormous LPs reliably and prove they've found the optimum.

Where we use it: blending, allocation, flow and planning problems with continuous quantities.

Optimisation

Mixed-integer programming (MIP)

MIP extends linear programming with whole-number and yes/no decisions, build this depot or not, run this train or not, assign this crew or not. That captures how real decisions actually come, in discrete chunks; it's harder to solve but vastly more expressive.

Where we use it: network design, scheduling, facility and asset decisions.

Optimisation

Constraint programming (CP)

Constraint programming describes a problem as a set of variables and the rules that link them, then searches intelligently for assignments that satisfy every rule, and the best one. It shines where the rules are complex and combinatorial.

Where we use it: rostering, sequencing and scheduling with intricate, interacting constraints.

Optimisation

Metaheuristics

Metaheuristics are smart, general-purpose search strategies that find very good solutions to problems far too large or messy for exact methods. They don't guarantee the absolute optimum, but they get you excellent answers in practical time.

Where we use it: huge routing, layout and scheduling problems where exact solvers stall.

Optimisation

Genetic algorithms

A genetic algorithm is a metaheuristic inspired by evolution: it keeps a population of candidate solutions, combines and mutates the best ones over many generations, and lets strong solutions emerge. It copes well with rugged, complicated solution spaces.

Where we use it: complex design and configuration problems with many interacting choices.

Optimisation

Simulated annealing

Named after the cooling of metal, simulated annealing is a metaheuristic that's willing to accept worse solutions early on, which lets it escape local "good-but-not-best" traps, then gradually settles toward a strong final answer.

Where we use it: placement, sequencing and layout problems with many local optima.

Optimisation

Column generation

For problems with an astronomical number of possible options, column generation builds the solution by adding only the promising options ("columns") as they're needed, instead of enumerating them all. It makes otherwise-impossible problems tractable.

Where we use it: vehicle routing, crew scheduling and cutting-stock problems.

Optimisation

Multi-objective optimisation

When you're balancing competing goals, cost versus service, risk versus reward, multi-objective optimisation maps the trade-off frontier rather than collapsing everything into one number. You see the real options and choose with eyes open.

Where we use it: investment and design decisions with genuine, conflicting priorities.