Plenty of decision problems are not machine-learning problems. They are optimisation problems wearing a spreadsheet, and the hard part is trust rather than accuracy. We build engines whose recommendations are explainable line by line, validatable against the process they replace, and reproducible after the fact — which is what gets them adopted.
What the work involves
Optimisation & modelling
Linear and mixed-integer programming for allocation, scheduling, and routing
Business logic encoded as an ordered penalty structure, tunable per run
Always-feasible formulations — a gap surfaces as a flagged shortage, never a solver error
Forecasting & analysis
Demand forecasting and disaggregation to the level decisions are made at
Scenario and sensitivity analysis on the levers that actually move
Documented fallback ladders so a missing input degrades predictably
Adoption & assurance
Cross-checks that run the engine against the incumbent spreadsheet, line by line
Analyst-facing consoles for validation before anyone relies on the output
Versioned, reproducible runs with severity-tagged exception flags
What you get
Decision engine with per-constraint traceability
Validation console and cross-check against the existing process