A cutting stock problem with intermediate rolls and usable leftovers in stainless steel coil slitting

Jinwoo Naa, Byung-In Kima,*

aDepartment of Industrial and Management Engineering, Pohang University of Science and Technology (POSTECH), Pohang, Gyeongbuk, 37673, Republic of Korea

*Corresponding author. E-mail address: bkim@postech.ac.kr (B.-I. Kim)

Benchmark Instances (Click)

Last updated: 2026/09/16

 

1. Introduction

We introduce a variant of the 1.5D-CSP with intermediate rolls and usable leftovers in stainless steel coil slitting. The main features of this problem are as follows:

(1)      1.5D-CSP with intermediate rolls.

(2)      Usable leftovers generated from intermediate rolls.

(3)      Strong heterogeneity in sizes of available stocks.

In stainless steel coil slitting, a raw coil may either be processed as a whole or first split into two intermediate rolls, each serving different groups of orders with distinct characteristics. This flexibility fundamentally changes the structure of the optimization problem because it eliminates the separability typically assumed in classical CSP problems, which allows optimization to be decomposed by material characteristics. Furthermore, the widths of intermediate rolls depend on cutting patterns determined by order widths, slit losses, and leftover management, and usable leftovers may arise from both intermediate rolls. As a result, integrating these decisions significantly increases both the complexity and the practical relevance of the problem.

2. Benchmark instances

Benchmark instances were constructed from a real-world dataset provided by our industrial collaborator. The dataset contains historical order and raw material information, including order widths, demands, grades, and widths and weights of inventory and candidate coils. To ensure a comprehensive evaluation of the proposed model under different production scales, the instances were categorized into three size groups: small (S), medium (M), and large (L). The classification was determined based on the number of orders, number of order groups, total demand, and number and total weight of eligible inventory and candidate coils (both hot rolled and cold rolled). For each size category, multiple instances were independently constructed by randomly sampling orders from the industrial dataset. The corresponding order groups and eligible inventory and candidate coils were then identified according to the actual classification and compatibility rules. Table 1 represents the real-world industrial settings and Table 2 summarizes the characteristics of industrial and benchmark instances.

 

Table 1. Real-world industrial setting

Category

Description

Value

Width

Minimum rolling width (mm)

580

 

Maximum rolling width (mm)

1200

 

Maximum narrow rolling width (mm)

700

 

Minimum cold-rolled split part width (mm)

200

 

Maximum cold-rolled split part width (mm)

1600

 

Minimum hoop width (mm)

50

 

Maximum hoop width (mm)

300

Capacity

Total rolling capacity (ton)

6150

 

Narrow width rolling capacity (ton)

1050

 

Table 2. Characteristics of instances.

 

Real

Small

Instance set

 

S1

S2

S3

S4

S5

S6

S7

S8

S9

S10

# order

140

3

3

3

4

4

4

5

5

5

5

# groups

65

3

3

3

3

4

4

4

5

5

5

total demand (t)

4899

51

43

98

138

114

128

115

69

121

145

# inventory hot-rolled coil

558

24

24

22

17

27

36

24

40

27

37

inventory hot-rolled coil weight (t)

9101

410

410

379

279

454

613

410

673

454

629

# inventory cold-rolled coil

95

1

1

1

0

1

0

1

1

1

1

inventory cold-rolled weight (t)

1699

15

15

15

0

15

0

10

15

10

15

# candidate hot-rolled coil

21

0

0

0

0

0

0

0

0

0

0

candidate hot-rolled coil weight (t)

369

0

0

0

0

0

0

0

0

0

0

# candidate cold-rolled coil

9

0

0

0

0

0

0

0

0

0

0

candidate cold-rolled coil weight (t)

158

0

0

0

0

0

0

0

0

0

0

 

 

Medium

Large

Instance set

 

M1

M2

M3

M4

M5

L1

L2

L3

L4

L5

# order

 

17

15

15

16

25

115

120

120

119

120

# groups

 

16

11

11

14

19

60

56

59

62

58

total demand (t)

 

506

646

735

508

1130

3318

3922

4088

4170

4333

# inventory hot-rolled coil

 

262

174

174

262

274

558

558

558

558

558

inventory hot-rolled coil weight (t)

 

4273

2773

2773

4273

4465

9101

9101

9101

9101

9101

# inventory cold-rolled coil

 

89

0

0

89

89

95

95

95

95

95

inventory cold-rolled weight (t)

 

1599

0

0

1599

1599

1699

1699

1699

1699

1699

# candidate hot-rolled coil

 

10

5

5

10

10

21

21

21

21

21

candidate hot-rolled coil weight (t)

 

179

90

90

179

179

369

369

369

369

369

# candidate cold-rolled coil

 

4

0

1

4

5

9

9

9

9

9

candidate cold-rolled coil weight (t)

 

68

0

18

68

86

158

158

158

158

158

*Inventory and candidate coils include only those eligible for at least one order in the corresponding instance.

 

3. Computational results

The proposed algorithm was evaluated through computational experiments by comparing it with five methods: (1) the MILP model without a warm start, (2) the MILP model with a warm start solution initialized by the constructive heuristic, (3) the constructive heuristic, (4) SA using relocation or swap moves involving one or two raw materials, and (5) standard ALNS using only heuristic repair operators. Both MILP approaches and the constructive heuristic were executed once per instance. SA, ALNS, and the matheuristic were each executed independently five times per instance using distinct random seeds of (1000+replication index). The same set of seeds was used for all algorithms. All algorithms were implemented in C++, with IBM ILOG CPLEX 22.1 as the MILP solver. Default CPLEX settings were used throughout the experiments, except for the time limits. The thread setting remained default, with up to 20 parallel threads reported by CPLEX. The experiments were conducted on a computer equipped with an Intel Core i5-14600KF 3.5 GHz processor and 64 GB of RAM. The parameter settings for the MILP model and all algorithms are summarized in Table 3.

 

Table 3. Parameter settings for MILP and all algorithms.

Category

Description

Value

Objective weight factor

Unusable leftover (

5

 

Usable leftover (

1

 

Candidate coil usage (

1

Acceptance

Initial temperature ()

 

Cooling factor ()

0.99

Destroy size

Destroy ratio for heuristic repair

1–10%

 

Destroy size for sub-MILP repair

40–50 materials

Operator weight adaptation

Reaction factor

0.5

 

Score for finding best solution

10

 

Score for improving current solution

3

 

Score for accepted new solution

1

 

weight update period

100

Time limit

 

small

other

 

MILP time limit

5 s

600 s

 

Sub-MILP time limit

1 s

30 s

 

Algorithm time limit

5 s

600 s

Iteration

Maximum number of non-improving ALNS iterations (

400

 

Table 4 compares the results obtained using the MILP without a warm start, the MILP with a warm start initialized by the constructive heuristic, and the matheuristic. For each method, the lower bound (LB), CPU time (in seconds), and gap are provided. The LB denotes the larger of the two lower bounds obtained from the MILP with and without a warm start. The definition of the gap is calculated as follows: , where OFV denotes the objective function value. For the matheuristic, Avg.CPU and Avg.GAP denote the averages over multiple independent runs, while Std.GAP denotes the standard deviation of the gaps across these runs.

Table 4. Comparison of results with MILP and matheuristic.

 

MILP

MILP with warm start

Matheuristic

Instances

LB

CPU

(s)

GAP

(%)

CPU

(s)

GAP

(%)

Avg.CPU

(s)

Avg.GAP

(%)

Std.GAP

(%)

S1

16536.9

0.2

0.00

0.2

0.00

0.3

0.00

0.00

S2

16578.5

0.2

0.00

0.1

0.00

0.3

0.00

0.00

S3

29674.8

0.3

0.00

0.2

0.00

0.3

0.00

0.00

S4

63160.0

0.2

0.00

0.5

0.00

0.3

0.00

0.00

S5

32325.2

0.2

0.00

0.3

0.00

0.3

0.00

0.00

S6

52837.2

0.2

0.00

0.2

0.00

0.3

0.00

0.00

S7

31368.4

0.5

0.00

0.4

0.00

0.3

0.00

0.00

S8

29457.5

0.4

0.00

0.2

0.00

0.3

0.00

0.00

S9

37241.7

0.2

0.00

0.2

0.00

0.1

0.00

0.00

S10

35651.4

0.6

0.00

0.6

0.00

0.6

0.00

0.00

M1

125150.0

600.0

3.08

600.0

3.11

600.0

3.11

0.00

M2

149913.8

600.0

7.12

600.0

7.13

600.0

7.17

0.07

M3

460222.7

313.1

0.01

445.8

0.01

600.0

0.01

0.00

M4

158642.4

158.6

0.01

70.9

0.01

600.0

0.47

0.16

M5

569590.8

600.0

0.32

600.0

0.33

600.0

0.40

0.07

L1

1085061.0

600.0

10.71

600.0

25.04

600.0

13.75

1.06

L2

928350.7

600.0

14.75

600.0

14.45

600.0

18.10

0.76

L3

1212602.5

600.0

14.23

600.0

29.18

600.0

19.93

1.23

L4

1099049.5

-

-

600.0

32.49

600.0

27.57

1.67

L5

1087076.1

-

-

600.0

44.21

600.0

36.65

1.41

REAL

1276935.2

-

-

600.0

39.14

600.0

28.99

0.98

 

 

Table 5 compares the SA, ALNS, and the matheuristic.

Table 4. Comparison of results with the constructor, SA, ALNS, and matheuristic.

Constructor

SA

ALNS

Matheuristic

Instance

CPU

(s)

GAP

(%)

Avg.CPU

(s)

Avg.GAP

(%)

Std.GAP

(%)

Avg.CPU

(s)

Avg.GAP

(%)

Std.GAP

(%)

Avg.CPU

(s)

Avg.GAP

(%)

Std.GAP

(%)

S1

0.1

34.01

0.1

0.00

0.00

0.1

0.00

0.00

0.3

0.00

0.00

S2

0.1

37.10

0.1

0.00

0.00

0.1

0.00

0.00

0.3

0.00

0.00

S3

0.1

154.53

3.8

0.03

0.06

5.0

0.09

0.14

0.3

0.00

0.00

S4

0.1

28.80

5.0

19.42

0.00

4.1

15.54

8.69

0.3

0.00

0.00

S5

0.1

34.28

0.2

0.00

0.00

1.0

0.00

0.00

0.3

0.00

0.00

S6

0.1

99.93

0.3

0.00

0.00

0.6

0.00

0.00

0.3

0.00

0.00

S7

0.1

44.51

0.1

0.00

0.00

0.1

0.00

0.00

0.3

0.00

0.00

S8

0.2

22.96

0.1

0.00

0.00

0.1

0.00

0.00

0.3

0.00

0.00

S9

0.2

5.96

0.1

0.00

0.00

1.1

0.05

0.12

0.1

0.00

0.00

S10

0.1

87.73

4.1

0.93

0.52

5.0

1.18

0.02

0.6

0.00

0.00

M1

0.1

76.69

600.0

12.20

0.90

600.0

12.46

1.97

600.0

3.11

0.00

M2

0.1

71.62

600.0

20.68

7.03

600.0

15.16

3.76

600.0

7.17

0.07

M3

0.1

22.91

600.0

1.14

0.82

600.0

1.80

0.40

600.0

0.01

0.00

M4

0.2

71.87

600.0

3.92

3.37

600.0

3.52

1.95

600.0

0.47

0.16

M5

0.2

18.65

600.0

1.25

0.25

600.0

1.48

0.38

600.0

0.40

0.07

L1

0.2

41.67

600.0

17.80

0.90

600.0

20.86

1.07

600.0

13.75

1.06

L2

0.3

64.84

600.0

28.05

1.34

600.0

33.66

1.53

600.0

18.10

0.76

L3

0.2

55.32

600.0

25.48

0.99

600.0

27.11

1.21

600.0

19.93

1.23

L4

0.3

66.75

600.0

32.55

2.23

600.0

34.06

2.04

600.0

27.57

1.67

L5

0.3

69.58

600.0

38.82

0.88

600.0

39.45

0.70

600.0

36.65

1.41

REAL

0.3

89.46

600.0

39.20

3.75

600.0

39.38

0.88

600.0

28.99

0.98

 

Appendix 1. Detailed model sizes.

Instance

Variable

Binary

Integer

Constraint

Nonzero

S1

2,158

962

94

3,651

10,240

S2

2,158

962

94

3,651

10,244

S3

2,368

1,046

136

3,945

11,390

S4

2,119

946

86

3,596

10,021

S5

2,385

1,072

100

3,988

11,267

S6

2,375

1,068

98

3,974

11,177

S7

2,796

1,236

182

4,563

13,482

S8

2,712

1,222

126

4,465

12,746

S9

2,802

1,258

144

4,591

13,252

S10

2,812

1,262

146

4,605

13,382

M1

87,009

40,130

4,928

134,785

408,565

M2

66,227

30,358

3,692

104,231

310,331

M3

63,897

29,426

3,226

100,969

296,705

M4

79,228

36,434

4,540

123,308

372,066

M5

113,017

51,406

8,376

172,069

535,519

L1

704,541

314,818

71,372

1,033,403

3,415,465

L2

712,808

315,998

77,274

1,042,850

3,482,138

L3

706,134

314,922

72,752

1,035,100

3,437,962

L4

732,139

326,918

74,766

1,073,101

3,558,513

L5

719,052

319,558

76,398

1,052,654

3,503,422

REAL

812,886

360,802

87,724

1,187,732

3,968,710

 

Appendix 2. Detailed computational results.

Instance

Method

Replication

Avg.CPU (s)

Best

Average

Worst

Std

S1

MILP

1

0.2

16536.9

16536.9

16536.9

0.0

MILP (warm start)

1

0.2

16536.9

16536.9

16536.9

0.0

Constructor

1

0.1

22160.6

22160.6

22160.6

0.0

SA

5

0.1

16536.9

16536.9

16536.9

0.0

ALNS

5

0.1

16536.9

16536.9

16536.9

0.0

Matheuristic

5

0.3

16536.9

16536.9

16536.9

0.0

S2

MILP

1

0.2

16578.5

16578.5

16578.5

0.0

MILP (warm start)

1

0.1

16578.5

16578.5

16578.5

0.0

Constructor

1

0.1

22728.4

22728.4

22728.4

0.0

SA

5

0.1

16578.5

16578.5

16578.5

0.0

ALNS

5

0.1

16578.5

16578.5

16578.5

0.0

Matheuristic

5

0.3

16578.5

16578.5

16578.5

0.0

S3

MILP

1

0.3

29674.8

29674.8

29674.8

0.0

MILP (warm start)

1

0.2

29674.8

29674.8

29674.8

0.0

Constructor

1

0.1

75532.1

75532.1

75532.1

0.0

SA

5

3.8

29674.8

29684.7

29716.7

18.0

ALNS

5

5.0

29681.1

29701.4

29775.3

41.4

Matheuristic

5

0.3

29674.8

29674.8

29674.8

0.0

S4

MILP

1

0.2

63160.0

63160.0

63160.0

0.0

MILP (warm start)

1

0.5

63160.0

63160.0

63160.0

0.0

Constructor

1

0.1

81347.3

81347.3

81347.3

0.0

SA

5

5.0

75426.6

75426.6

75426.6

0.0

ALNS

5

4.1

63160.0

72973.3

75426.6

5485.8

Matheuristic

5

0.3

63160.0

63160.0

63160.0

0.0

S5

MILP

1

0.2

32325.2

32325.2

32325.2

0.0

MILP (warm start)

1

0.3

32325.2

32325.2

32325.2

0.0

Constructor

1

0.1

43406.2

43406.2

43406.2

0.0

SA

5

0.2

32325.2

32325.2

32325.2

0.0

ALNS

5

1.0

32325.2

32325.2

32325.2

0.0

Matheuristic

5

0.3

32325.2

32325.2

32325.2

0.0

S6

MILP

1

0.2

52837.2

52837.2

52837.2

0.0

MILP (warm start)

1

0.2

52837.2

52837.2

52837.2

0.0

Constructor

1

0.1

105636.8

105636.8

105636.8

0.0

SA

5

0.3

52837.2

52837.2

52837.2

0.0

ALNS

5

0.6

52837.2

52837.2

52837.2

0.0

Matheuristic

5

0.3

52837.2

52837.2

52837.2

0.0

S7

MILP

1

0.5

31368.4

31368.4

31368.4

0.0

MILP (warm start)

1

0.4

31368.4

31368.4

31368.4

0.0

Constructor

1

0.1

45330.8

45330.8

45330.8

0.0

SA

5

0.1

31368.4

31368.4

31368.4

0.0

ALNS

5

0.1

31368.4

31368.4

31368.4

0.0

Matheuristic

5

0.3

31368.4

31368.4

31368.4

0.0

S8

MILP

1

0.4

29457.5

29457.5

29457.5

0.0

MILP (warm start)

1

0.2

29457.5

29457.5

29457.5

0.0

Constructor

1

0.2

36219.8

36219.8

36219.8

0.0

SA

5

0.1

29457.5

29457.5

29457.5

0.0

ALNS

5

0.1

29457.5

29457.5

29457.5

0.0

Matheuristic

5

0.3

29457.5

29457.5

29457.5

0.0

S9

MILP

1

0.2

37241.7

37241.7

37241.7

0.0

MILP (warm start)

1

0.2

37241.7

37241.7

37241.7

0.0

Constructor

1

0.2

39461.7

39461.7

39461.7

0.0

SA

5

0.1

37241.7

37241.7

37241.7

0.0

ALNS

5

1.1

37241.7

37261.9

37342.5

45.0

Matheuristic

5

0.1

37241.7

37241.7

37241.7

0.0

S10

MILP

1

0.6

35652.5

35652.5

35652.5

0.0

MILP (warm start)

1

0.6

35652.5

35652.5

35652.5

0.0

Constructor

1

0.1

66927.5

66927.5

66927.5

0.0

SA

5

4.1

35652.5

35984.4

36067.4

185.6

ALNS

5

5.0

36067.4

36070.8

36084.3

7.6

Matheuristic

5

0.6

35652.5

35652.5

35652.5

0.0

M1

MILP

1

600.0

129007.4

129007.4

129007.4

0.0

MILP (warm start)

1

600.0

129035.9

129035.9

129035.9

0.0

Constructor

1

0.1

221122.6

221122.6

221122.6

0.0

SA

5

600.0

138774.5

140423.5

141567.9

1120.9

ALNS

5

600.0

138943.9

140746.9

144958.4

2471.0

Matheuristic

5

600.0

129035.9

129035.9

129035.9

0.0

M2

MILP

1

600.0

160584.9

160584.9

160584.9

0.0

MILP (warm start)

1

600.0

160606.5

160606.5

160606.5

0.0

Constructor

1

0.1

257287.3

257287.3

257287.3

0.0

SA

5

600.0

166324.2

180913.9

194550.7

10531.8

ALNS

5

600.0

166568.4

172638.3

179206.1

5635.2

Matheuristic

5

600.0

160606.9

160655.9

160833.9

99.6

M3

MILP

1

313.1

460268.7

460268.7

460268.7

0.0

MILP (warm start)

1

445.8

460268.7

460268.7

460268.7

0.0

Constructor

1

0.1

565664.7

565664.7

565664.7

0.0

SA

5

600.0

462173.5

465489.0

471340.1

3764.7

ALNS

5

600.0

466635.1

468511.5

471093.8

1847.5

Matheuristic

5

600.0

460270.7

460280.5

460291.5

10.2

M4

MILP

1

158.6

158656.7

158656.7

158656.7

0.0

MILP (warm start)

1

70.9

158656.7

158656.7

158656.7

0.0

Constructor

1

0.2

272658.8

272658.8

272658.8

0.0

SA

5

600.0

160493.2

164866.2

174009.4

5340.1

ALNS

5

600.0

161985.6

164231.4

169423.2

3089.8

Matheuristic

5

600.0

158936.9

159395.3

159524.8

256.4

M5

MILP

1

600.0

571386.3

571386.3

571386.3

0.0

MILP (warm start)

1

600.0

571444.4

571444.4

571444.4

0.0

Constructor

1

0.2

675845.3

675845.3

675845.3

0.0

SA

5

600.0

574814.1

576734.1

578446.8

1443.1

ALNS

5

600.0

575275.4

578020.4

581210.0

2180.6

Matheuristic

5

600.0

571369.0

571851.2

572400.3

395.0

L1

MILP

1

600.0

1201272.9

1201272.9

1201272.9

0.0

MILP (warm start)

1

600.0

1356769.3

1356769.3

1356769.3

0.0

Constructor

1

0.2

1537224.8

1537224.8

1537224.8

0.0

SA

5

600.0

1265343.1

1278215.8

1287563.2

9760.3

ALNS

5

600.0

1297540.3

1311391.4

1328155.0

11652.3

Matheuristic

5

600.0

1218600.8

1234271.3

1244331.4

11555.2

L2

MILP

1

600.0

1065313.0

1065313.0

1065313.0

0.0

MILP (warm start)

1

600.0

1062519.8

1062519.8

1062519.8

0.0

Constructor

1

0.3

1530293.9

1530293.9

1530293.9

0.0

SA

5

600.0

1167508.2

1188750.3

1200481.6

12472.5

ALNS

5

600.0

1218751.8

1240798.0

1256544.3

14159.1

Matheuristic

5

600.0

1085959.6

1096397.5

1103102.3

7063.3

L3

MILP

1

600.0

1385121.5

1385121.5

1385121.5

0.0

MILP (warm start)

1

600.0

1566425.3

1566425.3

1566425.3

0.0

Constructor

1

0.2

1883458.3

1883458.3

1883458.3

0.0

SA

5

600.0

1501785.9

1521537.7

1531105.4

12018.1

ALNS

5

600.0

1527313.8

1541355.4

1562738.4

14703.3

Matheuristic

5

600.0

1432699.8

1454245.6

1473615.6

14876.9

L4

MILP

0

-

-

-

-

-

MILP (warm start)

1

600.0

1456128.0

1456128.0

1456128.0

0.0

Constructor

1

0.3

1832667.5

1832667.5

1832667.5

0.0

SA

5

600.0

1433493.6

1456753.8

1495645.1

24509.5

ALNS

5

600.0

1440726.8

1473393.1

1489470.0

22424.5

Matheuristic

5

600.0

1384956.9

1402039.2

1432380.0

18404.3

L5

MILP

0

-

-

-

-

-

MILP (warm start)

1

600.0

1567629.6

1567629.6

1567629.6

0.0

Constructor

1

0.3

1843503.1

1843503.1

1843503.1

0.0

SA

5

600.0

1498788.7

1509043.1

1524336.1

9516.7

ALNS

5

600.0

1502837.6

1515902.2

1522057.5

7626.5

Matheuristic

5

600.0

1469124.3

1485460.5

1504454.2

15277.8

REAL

MILP

0

-

-

-

-

-

MILP (warm start)

1

600.0

1776769.0

1776769.0

1776769.0

0.0

Constructor

1

0.3

2419225.0

2419225.0

2419225.0

0.0

SA

5

600.0

1698107.9

1777555.3

1818781.5

47926.3

ALNS

5

600.0

1761767.9

1779815.0

1792496.5

11249.3

Matheuristic

5

600.0

1631798.7

1647166.0

1661452.4

12517.5