Data Analytics · Read + Write

Production planning cost optimization

Augment Rep · High Reason · High

The problem

Planners build the weekly production schedule by hand in Excel. Trade-offs between labour, changeover cost, material on hand, and demand are too many to hold in your head — the schedule that ships is rarely the cheapest one.

The AI approach

Forecast + optimize. ML forecasts demand and yield; a MILP solver finds the schedule that minimises cost subject to capacity, labour, material, and changeover constraints; LLM narrates the plan.

The outcome

~−6.4% cost

Total weekly production cost down ~6.4% on pilot lines. Planner reviews the optimised plan + 2 alternatives instead of building from a blank sheet.

Try itInput → Process → Output

Input — demand + capacity + materials
Demand forecast · this week
SKU CL-1173,400SKU CL-204920
SKU CL-3081,750SKU CL-4112,100
Capacity
Line A: 40h · Line B: 32h (downtime Tue 4h)
Line C: 40h · operators 3 / shift
Material on hand · changeover penalty
PVC stock: 18t · resin: 4.2t
changeover A↔B: ฿180k · A↔C: ฿95k
Process — AI pipeline
1Forecast demand by SKU × periodReadPredictive
2Predict machine yield + downtimeReadPredictive
3Solve schedule (MILP)RulesSymbolic
4Narrate plan + tradeoffsWriteGenerative
Output — optimised schedule + cost
Click Run demo to forecast demand and solve the optimal schedule.
Optimised schedule MILP · 0.8s
shiftMonTueWedThuFri
Line ACL-117CL-117CL-411CL-411CL-411
Line BCL-204— ↓CL-204CL-308CL-308
Line CCL-308CL-117CL-117CHGCL-411
Labour฿2.14M
Material฿4.86M
Changeover (3 events)฿270k
Total cost฿7.27M · −6.4% vs hand-built
Why this schedule: Tue Line-B downtime forced CL-204 onto Line C, but the solver kept CL-117 on Line A all of Mon-Tue to avoid a costly A↔B changeover. Two alternative plans (within 1.2% cost) attached for planner review.

Three AI types in this use case

SymbolicOptimization solver (mixed-integer linear program): minimise cost subject to machine capacity, labour hours, material on hand, demand met, changeover penalties, inventory caps.
PredictiveDemand forecast per SKU × week; machine downtime predictor; quality yield model per (machine × SKU).
GenerativeLLM writes the plan rationale ("line A on Tuesday despite higher labour because changeover from line B costs ฿180k") and explains tradeoffs to the planner.

The stack

  • Forecast · Prophet / DeepAR
  • Solver · Gurobi / CBC / OR-Tools
  • Constraints · YAML config per plant
  • Sink · MES / shop-floor schedule

When this works

  • Constraints are well-codified (capacity, labour, material, changeover)
  • Demand forecast accuracy is reasonable (MAPE < 25%)
  • Planner retains override — the solver proposes, planner disposes

When it fails

  • Constraints missing (e.g. operator certification rules) — solver picks infeasible plans
  • Demand forecast wildly off — optimised schedule is optimised for the wrong reality
  • Auto-publish without planner — shop floor revolts at counter-intuitive schedules
  • Solver runtime explodes on large fleet — needs decomposition