Plans your plants can actually run.

Master schedules that respect changeover families, tooling, and labour, not just capacity in aggregate. We build the planning and maintenance models that decide throughput before the shift starts.

Three problems worth modelling

Schedules that survive contact with the floor

A plan built on aggregate capacity ignores the sequence-dependent setups that consume the day. Model the changeover matrix and the same line produces more without new equipment.

Bottlenecks you can name before they bite

Capacity is rarely short everywhere. Finite-capacity models expose which machine, shift, or tool is actually binding, and what relieving it is worth.

Maintenance spent by risk, not by calendar

Condition data turns fixed service intervals into failure predictions, so hours go where the risk is instead of where the schedule says.

What we build

  • Master production schedules balancing demand, capacity, and inventory targets
  • Finite-capacity sequencing that minimises changeover time across setup families
  • Lot sizing that trades setup cost against holding cost under real constraints
  • Material requirement timing tied to what the schedule actually consumes
  • Failure prediction and remaining-useful-life models on process and sensor streams
  • Quality-drift detection that flags excursions before scrap accumulates

Methods: MILP, constraint programming, finite scheduling, survival models, SPC + ML

Outcomes

  • Fewer changeovers: sequences built around setup families, not order arrival
  • Higher OTIF: promise dates the schedule can keep
  • Less unplanned downtime: failures visible in the data before the breakdown

A worked example: sequencing by setup family

12 jobs across 3 production lines, each job belonging to one of three setup families. Crossing between families costs a 3-hour changeover; running two jobs from the same family back to back costs nothing.

Run in the order the orders arrived, the schedule incurs 9 changeovers and finishes in 30 hours, at 67% line utilisation. Re-sequenced so that jobs sharing a setup family run together, the same jobs on the same lines incur 3 changeovers and finish in 24 hours, at 83% utilisation.

That is 20% more throughput with no new equipment, no extra shift, and no change to the work itself. Only the order changed. A real plant carries a full changeover matrix, where the cost of moving between two families depends on which pair; the arithmetic gets harder, the shape of the answer does not.