You are on page 1of 52

An improved pattern generation procedure for the cutting stock problem

An application in a metal rolling rm P. Caricato - A. Grieco Università del Salento - Lecce (Italy)
July 12-14, 2010 California State University, East Bay

Decision problem
Production coupling

Consider a set of orders for aluminum strip in coils, characterized by width (to be within a speci ed tolerance range) thickness (tolerance range) required aluminum alloy lubricant type (if any) coil length due date

Glossary
Strip coils are manufactured from aluminum blocks, which provide the input to the rolling process Each order to be ful lled is divided into positions, further composed by schedule lines (di erent due dates) The length of a required strip is expressed as an integer number called equivalent coils

Unit
A speci c schedule line within a single position of a given order, with a quantity equal to the required equivalent coils Below are three units from one order: 20090001 two positions: 1 and 2 of the same order three schedule lines: two from the former position and one from the latter

Coupling
Several orders, characterized by di erent lengths, can be combined to better use the available aluminum blocks to be rolled This decision problem is referred to as coupling As a result of the coupling process, groups of units are selected to be produced rolling a single block Coupling allows an e cient use of similarities existing among di erent units, in order to optimize the production process

Main assumptions - Blocks
Aluminum blocks can be freely selected from a set of standard widths Practically unlimited blocks are available from each standard width (thanks to the internal foundry) Blocks inventory problems are not treated (no inventory, make-to-order)

Main assumptions - Batches
The coupling problem is solved for homogeneous batches of units A homogeneous batch is formed by units requiring the same aluminum alloy the same lubricant type Units from di erent batches cannot be coupled

“Couplability”

Within a same batch, not all units can be freely coupled Two or more units can be coupled only if they are “couplable” in terms of thickness due dates width

Thickness
The required thicknesses of the units to be coupled must be compatible i.e. the intersection range must be larger than a given technology-related limit

Unit 1 Unit 2 Unit 3 Unit 4 Unit 5

[0,15 mm ÷ 0,25 mm] [0,18 mm ÷ 0,28 mm] [0,20 mm ÷ 0,25 mm] [0,10 mm ÷ 0,17 mm] [0,11 mm ÷ 0,18 mm]

Thickness
The required thicknesses of the units to be coupled must be compatible i.e. the intersection range must be larger than a given technology-related limit
Tech-rel limit Unit 1 Unit 2 Unit 3 Unit 4 Unit 5 0,03 mm [0,15 mm ÷ 0,25 mm] [0,18 mm ÷ 0,28 mm] [0,20 mm ÷ 0,25 mm] [0,10 mm ÷ 0,17 mm] [0,11 mm ÷ 0,18 mm]

4+5 OK

Thickness
The required thicknesses of the units to be coupled must be compatible i.e. the intersection range must be larger than a given technology-related limit
Tech-rel limit Unit 1 Unit 2 Unit 3 Unit 4 Unit 5 0,03 mm [0,15 mm ÷ 0,25 mm] [0,18 mm ÷ 0,28 mm] [0,20 mm ÷ 0,25 mm] [0,10 mm ÷ 0,17 mm] [0,11 mm ÷ 0,18 mm]

1+5 OK 1+4 NO

Thickness
The required thicknesses of the units to be coupled must be compatible i.e. the intersection range must be larger than a given technology-related limit
Tech-rel limit Unit 1 Unit 2 Unit 3 Unit 4 Unit 5 0,03 mm [0,15 mm ÷ 0,25 mm] [0,18 mm ÷ 0,28 mm] [0,20 mm ÷ 0,25 mm] [0,10 mm ÷ 0,17 mm] [0,11 mm ÷ 0,18 mm]

1+2+3 OK

Due dates and widths

The time gap between the units with the earliest and the latest due dates must be less or equal than a userde ned threshold The sum of the widths of the coupled units must not exceed the maximum block standard width

Objectives

Minimize the number of blocks used to exactly produce the given units Minimize the unused material

Proposed approach

CSP
The cutting stock problem (CSP) is a recurring problem in many industries (sheet metal, textile, paper, wood) These activities share the common need to cut more or less homogeneous raw material optimizing its usage The coupling problem can be addresses as a onedimensional CSP the strip coils lengths do not add a second dimension, since they are translated into equivalent coils

CSP Literature
Earliest works on CSP K. Eisemann. The trim problem. Management Science, 3(3):279–284, 1957 P. C. Gilmore and R. E. Gomory. A linear programming approach to the cutting-stock problem. Operations Research, 9(6):849–859, 1961 Most common approaches pattern generation + integer linear programming heuristics

CSP Literature
Our reference S. M. A. Suliman. A sequential heuristic procedure for the two-dimensional cutting-stock problem. International Journal of Production Economics, 99(1-2): 177–185, 2009 S. M. A. Suliman. Pattern generating procedure for the cutting stock problem. International Journal of Production Economics, 74(1-3):293–301, 2001

Proposed approach
Each batch is independently addressed as a 1D-CSP Two steps solution algorithm pattern generation optimization of patterns usage A pattern is the allocation of coils of one or more units to a same standard width block

Pattern generation

Pattern generation
Each generated pattern must satisfy all the couplability constraints A pattern represents a possible real aluminum block usage Its width includes the widths of the units in the pattern the unused width (if any)

Example
Unit 1 (1) Block SW1 Unit 2 Block SW1 Unit 3 Block SW1
Unit 1 (1) Unit 2 Unit 3 Unit 1 (2)

Unit 1 (1) Block SW1 1 (2) Unit Unit 1 (1) Unit 1 (1) Block Unit 2 SW2 BlockUnit 3 Unit 3 Unit 3

Block SW1
Unit 2 Block

Block SW2
Unit 1 (1) Block 1 (2) Unit SW2

Enhancements vs literature
[Suliman2009] algorithm generates all possible patterns for each standard width block (a generation tree for each width) allows over-production in order to avoid the generation of highly ine cient patterns The proposed algorithm uni es the pattern generation using a single tree guarantees the possibility to produce the exact required quantities

How?
E ectively consider minimum and maximum standard widths when generating each pattern Use required production quantities to cuto patterns the ILP model would not use Use couplability constraints to cuto patterns that cannot be produced

Production optimization

Production optimization
An ILP (Integer Linear Programming) model is used to optimize the patterns usage in order to produce the required units Each pattern can either be used (one or more times) or not The amount of produced coils for each unit must exactly match the required quantity The objective is to minimize the unused material within the produced patterns

Model glossary
p is a generic pattern i is a generic unit xp is the decision variable related to pattern p, indicating how many replicas of such pattern will be produced qip is the quantity of units i contained in pattern p Qi is the overall quantity of units i that must be produced tp is the trim loss for pattern p, i.e. the unused part of the bar in the pattern

ILP Model
Most of the complexity of the problem is handled by the pattern generation procedure The ILP model is straightforward
min s.t. ￿
p ￿

p

tp x p

qip xp = Qi ∀p

∀i

xp ∈ N

Test case
KPIs

Performance evaluation
KPIs (Key Performance Indicator) calculated for each batch number of blocks used trim Lower and upper bounds on the number of blocks Trim characterization

Lower Bound (LB) on blocks
W_tot is the total width required by the batch it’s obtained as the sum of the width of each unit multiplied by the number of equivalent coils it requires W_max is the largest standard width available N_min = RoundUp (W_tot / W_max) Purely theoretical! Neglects many aspects. Often unreachable limit.

LB calculation example
4 equivalent coils to be produced

Maximum standard width Not less than 3 blocks

Trim

Notice
The LB on the number of blocks does not necessarily provide a LB on the trim The LB over the actual W_max (1.370 cm) would produce a 520 cm trim

Upper Bound (UB) on blocks

In the worst case, no coupling happens each equivalent coil uses a di erent block This provides both an UB on the blocks to be used a rst feasible solution

UB calculation example
4 equivalent coils to be produced

Smallest standard width 4 blocks UB

Trim characterization
Each produced pattern can generate trim We classi ed the percentage trim per block 0% ÷ 5% trim 5% ÷ 10% trim 10% ÷ 100% trim For each batch we calculate the number of patterns produced in each class

Time limits per batch

Time limit for pattern generation 120 seconds Time limit for ILP solution 120 seconds

Couplability constraints
Technology related thickness limit 5‰ Maximum time gap between the units with the earliest and the latest due dates on a same pattern 30 days

Test case
Results

Data
The proposed approach was implemented in a DSS (Decision Support System) The DSS was tested and evaluated on a set of real data 2006 units 5650 equivalent coils to be produced 215 batches due dates between 13/01/2009 and 23/06/2009

Processing times
All tests on Intel Core2Duo 2,33GHz, RAM 2GB Total time used to process all batches 15 minutes circa 4 seconds per batch Timeout batches 1 during pattern generation

Output example for a batch
1050F_H19_ASSENTE_800
1388 1388 1388

417.5
73.6÷86.4.07/04/2009 504

417.5
73.6÷86.4.07/04/2009 504

417.5
73.6÷86.4.07/04/2009 504

7.5/1260

417.5
73.6÷86.4.02/05/2009 504

417.5
73.6÷86.4.02/05/2009 645

417.5
73.6÷86.4.02/05/2009 645

7.5/1260

417.5
73.6÷86.4.02/05/2009 1388

417.5
73.6÷86.4.28/04/2009 645

417.5
73.6÷86.4.28/04/2009 645

7.5/1260

417.5
73.6÷86.4.07/04/2009 646

417.5
73.6÷86.4.28/04/2009 646

417.5
73.6÷86.4.28/04/2009 646

7.5/1260

417.5
73.6÷86.4.14/04/2009 1753

417.5
73.6÷86.4.14/04/2009 1753

417.5
73.6÷86.4.14/04/2009 1287

7.5/1260

417.5
73.6÷86.4.28/02/2009 645

417.5
73.6÷86.4.28/02/2009 645

394.8
73.6÷86.4.24/02/2009 644 644

0.2/1230

417.5
73.6÷86.4.28/04/2009 504

417.5
73.6÷86.4.28/04/2009 644 644 644

160.4
64.4÷75.6.28/04/2009 644

160.4
64.4÷75.6.28/04/2009

4.2/1160

417.5
73.6÷86.4.02/05/2009 504

160.4
64.4÷75.6.28/04/2009 644

160.4
64.4÷75.6.28/04/2009 644

160.4
64.4÷75.6.28/04/2009 644

160.4
64.4÷75.6.28/04/2009 644

0.9/1060

417.5
73.6÷86.4.02/05/2009 1753

160.4
64.4÷75.6.28/04/2009 1753

160.4
64.4÷75.6.28/04/2009

160.4
64.4÷75.6.28/04/2009

160.4
64.4÷75.6.28/04/2009

0.9/1060

417.5
73.6÷86.4.28/02/2009 1753

417.5
73.6÷86.4.28/02/2009 1753

65/900

417.5
73.6÷86.4.28/02/2009

417.5
73.6÷86.4.28/02/2009

65/900

Unit ID Width Min_th÷Max_th, Due date

Trim/ Pattern width

Performance
Batch 1050_0_ASSENTE_1150 1050_0_ASSENTE_1375 1050_0_ASSENTE_1600 1050_0_ASSENTE_950 1050_H19_ASSENTE_450 1050_H19_ASSENTE_650 1050_H19_ASSENTE_950 1050A_H19_ASSENTE_1600 1050F_H19_ASSENTE_800 1070_H12_ASSENTE_1600 1100_H26_ASSENTE_1600 1200_0_ASSENTE_1600 1200_H24_ASSENTE_1600 1200C_H18_ASSENTE_615 1200S_0_ASSENTE_1600 1230D_H19_ASSENTE_2200 3003_0_ASSENTE_800 ... ... Equivalent coils 1 16 19 4 21 10 16 1 36 8 1 1 1 1 7 81 15 ... Units 1 2 6 1 4 6 10 1 7 3 1 1 1 1 5 35 1 ... LB 1 5 15 1 1 1 9 1 10 8 1 1 1 1 6 74 1 ... UB 1 16 19 4 21 10 16 1 36 8 1 1 1 1 7 81 15 ... Blocks %Gap on 0%÷5% 5%÷10% 10%÷100% blocks trim blocks trim blocks trim blocks 1 0 0 0 1 6 19 1 1 1 12 1 11 8 1 1 1 1 7 81 1 ... 20 26,7 0 0 0 33,3 0 10 0 0 0 0 0 16,7 9,5 0 ... 4 19 1 1 0 7 1 9 8 0 1 1 1 7 81 1 ... 0 0 0 0 0 0 0 2 0 1 0 0 0 0 0 0 ... 2 0 0 0 1 5 0 0 0 0 0 0 0 0 0 0

Overall results
Blocks average LB: 9 average used blocks: 11,3 average theoretical gap: 12,4% Trim average trim: 6,1% 0%÷5% average blocks: 9,6 5%÷10% average blocks: 0,6 10%÷100% average blocks: 1,1

Theoretical % gap

% Trim

Equivalent coils

Most common case
8 equivalent coils LB: 3 blocks Solution: 3 blocks Average trim: 1,5% Trim per class: 3 | 0 | 0
8009F_H23_ASSENTE_850
159 154 154

430
100÷120.20/05/2009 159

370
105÷125.20/05/2009 154

370
105÷125.20/05/2009 154

0/1170

430
100÷120.20/05/2009 159

370
105÷125.20/05/2009 159

370
105÷125.20/05/2009

0/1170

430
100÷120.20/05/2009

430
100÷120.20/05/2009

40/900

Conclusions

Real decision problem in an aluminum rolling rm Modeled the problem as a CSP Up to date reference papers in the literature Developed an original algorithm started from a reference approach improved general pattern generation algorithm extended it to consider speci c production issues Integrated the proposed approach into a DSS Proved its e ectiveness on real production data

An improved pattern generation procedure for the CSP
An application in a metal rolling rm by P. Caricato and A. Grieco Find this presentation here: www.scribd.com Contact the authors: pierpaolo.caricato@unisalento.it antonio.grieco@unisalento.it
July 12-14, 2010 California State University, East Bay