2D Intelligent Cutting Optimization System

Description

This project implements a cutting optimization engine using linear programming techniques to solve the classical Cutting Stock Problem. At its core, the backend uses PuLP, a Python-based optimization library, to formulate and solve a Mixed Integer Linear Programming (MILP) model. The objective function minimizes the number of raw material rolls used, while meeting all customer-specific length and quantity constraints. The algorithm first generates feasible cutting patterns through a recursive combinatorial search, constrained by roll length and demand granularity. These patterns are then fed into the MILP solver, which uses iterative simplex and branch-and-bound methods to determine the optimal combination of cutting sets. The frontend is developed with React and Next.js, where users input parameters such as roll length and custom order lengths. The backend exposes a minimal HTTP-based JSON API, enabling seamless integration. This system not only demonstrates applied optimization but also bridges mathematical modeling and modern web development.

Details

Users input customer demands with length, quantity, and type (e.g., wood types like Pine or Oak). After setting the roll length (e.g., 100), the algorithm groups and arranges these demands into optimized cutting sets. It smartly mixes types when needed and ensures minimum leftover. All results are visualized in real-time using dynamic React components.

Live Preview

Enter the source material length
NameLenghtQuantityType
TimberPro Ltd.402PINE
GreenLumber Co.601OAK
BlueWood Works201PINE
Ideal Panels801OAK
RedLabel Timber203OAK
BluePack Boards1001PINE