← All projects

Rod-Length Optimisation & Scenario Planning

PuLP-based optimisation tool translating manufacturing constraints into deterministic cutting recommendations, contributing to an estimated 15% material reduction.

  • Python
  • PuLP
  • Streamlit
  • Flask

Overview

Developed a production-ready optimisation tool for rod cutting plans on a manufacturing floor, then extended it with scenario planning capabilities and a web interface for engineering users.

Problem

Rod stock must be cut to specific lengths for product assembly. Suboptimal cutting patterns generate excess waste. The planning was previously done manually, making it difficult to evaluate alternatives systematically.

Approach

Phase 1 — Optimisation core

The cutting-stock problem was formulated as an integer linear programme and solved with PuLP. Constraints encoded:

  • Available rod lengths and stock quantities
  • Required output lengths and quantities
  • Minimum waste thresholds per cut pattern

The solver produces a deterministic, reproducible cutting plan with a clear objective: minimise total waste.

Phase 2 — Scenario planning

Extended the tool with a scenario comparison module: users can evaluate whether purchasing rods of different lengths reduces overall cost for specific product variants. Break-even analysis and cost comparisons are computed automatically.

Phase 3 — Web interface

A Streamlit and later Flask interface made the tool accessible to engineering users without requiring Python knowledge. Results are displayed as tables and downloadable reports.

Results

Contributed to an estimated 15% material reduction. The tool was adopted by the engineering team and used in regular production planning cycles.

Limitations

The model assumes deterministic demand. Stochastic demand or supplier variability would require a reformulation.