0% found this document useful (0 votes)
7 views12 pages

Cutting_Stock

The Cutting Stock Problem involves minimizing material waste while producing specified lengths of pieces from a larger material. It is formulated as an integer programming problem, which can be complex due to the potentially large number of cutting patterns. The solution approach includes using column generation to iteratively solve a restricted version of the problem and identify optimal cutting patterns.

Uploaded by

Nizar El Hachemi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views12 pages

Cutting_Stock

The Cutting Stock Problem involves minimizing material waste while producing specified lengths of pieces from a larger material. It is formulated as an integer programming problem, which can be complex due to the potentially large number of cutting patterns. The solution approach includes using column generation to iteratively solve a restricted version of the problem and identify optimal cutting patterns.

Uploaded by

Nizar El Hachemi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Cutting Stock Problem

• Problem of cutting an unlimited number of pieces of material (paper rolls,


for instance) of length l
to produce
ni pieces of length li , i = 1, 2, …, I.

• The objective is to minimize the number of pieces of material to meet the


demands.

• Note:
minimize number of pieces ≡ minimize total waste
• Cutting pattern Pj (j = 1, 2, …, NJ) corresponds to a specific way of cutting
a piece of material:

aij = number of pieces of length li produced with cutting pattern Pj

where aij ≥ 0 and integer, i = 1, 2, …, I


I
and ∑a l
i =1
ij i ≤l
• Mathematical Model
NJ
(CSP) min ∑x
j =1
j

NJ
Subject to ∑a
j =1
ij x j ≥ ni i = 1, ⋯ , I

x j ≥ 0, integer j = 1, ⋯ , NJ

where xj represents the number of pieces of material cut with the pattern j
NJ
(CSP) min ∑x
j =1
j

NJ
Subject to ∑a
j =1
ij x j ≥ ni i = 1, ⋯ , I

x j ≥ 0, integer j = 1, ⋯ , NJ

• Integer programming problem difficult to solve.


• Drop the constraints that the xj are required to be integer
• When the demands ni are large, little is lost with respect to optimality by
rounding the solution obtained by solving the relaxed problem (CSP)

NJ
(CSP) min ∑x j =1
j

NJ
Subject to ∑a j =1
ij x j ≥ ni i = 1, ⋯ , I

x j ≥ 0, j = 1, ⋯ , NJ
• The number NJ of patterns may be very large.
For problems where the piece of material have length l = 800 cm., and
where there are demands for 40 different lengths li from 20 cm. to 80 cm.,
the number of admissible patterns can easily reach 10 to 100 millions.

• Interest to solve this problem using column generation.

{ }
• At each iteration, a subset of patterns P1 , P2 , ⋯ , Pj are available to
specify a restricted problem of (CSP)
NJ
(CSP) min ∑x
j =1
j

NJ
Subject to ∑a
j =1
ij x j ≥ ni i = 1, ⋯ , I

x j ≥ 0, j = 1, ⋯ , NJ

Restricted Problem of (CSP) :


NJ
min ∑x
j =1
j

NJ
Subject to ∑a
j =1
ij x j ≥ ni i = 1, ⋯ , I

x j ≥ 0, j = 1, ⋯ , j
xj =0 j = j + 1, ⋯ , NJ
Restricted Problem of (CSP) :
j
NJ
min ∑x
j =1
j

j
NJ
Subject to ∑a
j =1
ij x j ≥ ni i = 1, ⋯ , I πi

x j ≥ 0, j = 1, ⋯ , j
xj =0 j = j + 1, ⋯ , NJ
Solve the restricted problem.
Denote x an optimal solution.
T
Denote also π = π 1 , π 2 ,⋯ , π I  the vector of optimal simplex multipliers.

Since x is optimal, the relative cost of each variable x is non negative , j = 1, ⋯ , j


j
I

c = 1− ∑π a ≥ 0
j i
ij
j = 1, ⋯ , j
i =1
Now x is feasible for CSP( )
NJ
(CSP ) min ∑x
j =1
j

NJ
Subject to ∑a
j =1
ij x j ≥ ni i = 1, ⋯ , I

x j ≥ 0, j = 1, ⋯ , NJ

( )
To verify if x is optimal for CSP , we have to verify that
the relative cost is non negative for each variable:
I
c j = 1 − ∑ π i aij ≥ 0 j = 1,⋯ , NJ
i =1

or if
 I

min 1 − ∑ π i aij  ≥ 0.
j =1,⋯, NJ
 i =1 
But recall that the cutting patterns Pj are not known for j = j + 1,⋯ , NJ .
In order to be able to verify if

{ I
min 1 − ∑ π i aij ≥ 0,
j =1,⋯, NJ i =1
}
recall that any cutting pattern P is characterized by

ai the number of pieces of length li generated, i = 1,⋯ , I


where
ai ≥ 0, integer i = 1,⋯ , I
I
∑ ai li ≤ l.
i =1
j =1,⋯, NJ  
 i =1
recall that any cutting pattern P is characterized by
ai the number of pieces of length li generated, i = 1,⋯, I
where
ai ≥ 0, integer i = 1,⋯, I
I

∑a l
i −1
i i ≤ l.

Hence
 I

min 1 − ∑ π i a ij 
j =1,⋯ , NJ
 i =1 
is equivalent to determine an optimal solution a T =  a1 , a 2, ⋯ , a I  of
 

 = 1 + min −
I   I 
∑ ∑
I
min 1 − ∑ π i a i   π i a i  = 1 − max  π i a i 
 i =1   i =1   i =1 
I
Subject to ∑al
i =1
i i ≤l

a i ≥ 0, integer i = 1, ⋯ , I .
Hence
 I

min 1 − ∑ π i a ij 
j =1,⋯ , NJ
 i =1 
is equivalent to determine an optimal solution a T =  a1 , a 2, ⋯ , a I  of
 I
  I   I 
min 1 − ∑ π i a i  = 1 + min − ∑ ∑
π i a i  = 1 − max  π i a i 
 i =1   i =1   i =1 
I
Subject to ∑al
i =1
i i ≤l

a i ≥ 0, integer i = 1, ⋯ , I .
The problem is then equivalent to solve the knapsack problem
 I 
(KP) max ∑ π i ai 
 i =1 
I
Subject to ∑a l
i =1
i i ≤l

ai ≥ 0, integer i = 1,⋯ , I .
T
=  a1 , a2 , ⋯ , a I  be an optimal solution of ( KP ) ,
* * * *
Let a
*
and denote P the associated cutting pattern.

I
1 − ∑ π i ai ≥ 0,
*
If
i =1

STOP the procedure because x is an optimal solution of (CSP).

I
1 − ∑ π i ai < 0,
*
If
i =1

defined a new restricted problem of (CSP) by


j +1 *
including a new apttern P = P (i.e., replacing
the constraint x j +1 = 0 by x j +1 ≥ 0).

You might also like