Combinatorial optimization of Cutting Stock Problem
-
Upload
lucky-agarwal -
Category
Documents
-
view
161 -
download
2
Transcript of Combinatorial optimization of Cutting Stock Problem
CUTTING STOCK PROBLEM
COMBINATORIAL OPTIMIZATION
MADE BY :
LUCKY AGARWAL Y08UC076
RADHIKA LOOMBA Y08UC099
VENKATESH VISWANATHAN Y08UC138
UNDER GUIDANCE OF:
Dr. ANJULIKA GUPTA
1
INTRODUCTION
• The cutting-stock problem is an optimization problem,
or more specifically, an integer linear programming problem
• It arises from many applications in industry , eg. Paper
mills, sheet metal cutting etc.
• Solving this problem to optimality can be economically significant: a difference of
1% for a modern paper machine can be
worth more than one million USD per year.
• Can be classified in several ways:1 D: cutting wires/cables/pipes etc
2 D: furniture/glass production etc3 D: Shipping container packing.
2
TYPES OF 1D CUTTING STOCK PROBLEM
There are 2 types of 1DCSPs.
• Single stage 1DCSP
• Multistage 1DCSP
3
SINGLE STAGE 1DCSP
• The finished product is obtained in
one single step
example:
or
STOCK BAR
F1 F2 F4F3
LEFT
STOCK BAR
F1 F2
4
MULTI STAGE 1DCSP
• In multistage 1DCSP the cutting
process is distributed over several successive stages
First stage
Second stage
Third stage
S1
F1 I1 S2
F2 F3 F4 I2
F5 F6
5
SINGLE STAGE
1 DIMENSIONAL CUTTING
STOCK PROBLEM
6
FORMULATION
• The standard formulation starts with a
list of m orders, each requiring qj, j = 1,...,m pieces
• We then construct a list of all possible
combinations of cuts (often called "patterns")
• A positive integer variable xi denotes
how many times each pattern is to be used
7
Example:
The paper rolls all have width of 100
inches. There are orders for 4 different
order widths as follows:
Then there are 37 ways of having a
pattern.
Quantity Ordered Order Width
(inches)
97 45
610 36
395 31
211 14
8
37 Patterns•45
•45 45
•45 36
•45 36 14
•45 31
•45 31 14
•45 14
•45 14 14
•45 14 14 14
•36
•36 36
•36 36 14
•36 36 14 14
•36 31
•36 31 31
•36 31 14
•36 31 14 14
•36 14
•36 14 14
•36 14 14 14
•36 14 14 14 14
•31
•31 31
•31 31 31
•31 31 14
•31 31 14 14
•31 14
•31 14 14
•31 14 14 14
•31 14 14 14 14
•14
•14 14
•14 14 14
•14 14 14 14
•14 14 14 14 14
•14 14 14 14 14 14
•14 14 14 14 14 14 14
9
SOLUTION APPROACH
• The integer linear program can be
stated as:
Minimize
s.t.
For all j=1……m
and >=0 integer
Where is the number of times order j
appears in pattern i
is the cost (often the waste) of pattern i
10
• The above formulation's quantity constraints are
minimum constraints (at least the given amount of each order must be produced,but possibly more)
• When = 1 the objective minimises the number of
utilised master items
• The most general formulation has two-sided constraints
(and in this case a minimum-waste solution may
consume more than the minimum number of master
items):
• In general, the number of possible patterns
grows exponentially as a function of m.
As the number of orders increases, it maytherefore become impractical to
enumerate the possible cutting patterns
11
1 D CUTTING STOCK
PROBLEM WITH USABLE
LEFTOVERS
12
DESCRIPTION
• We will consider the1DCSPUL, focusing on minimizing
the pseudo bar cost in respect of the following three aspects:
1. The bar cost. It is the actual cost of the bars required
to fulfill the item demand.
2. The profit obtained from the leftovers.
The residual length of a cutting pattern is
taken as a leftover if it is longer than athreshold; as trim loss otherwise. The
leftovers are returned to inventory forfuture use.
13
DESCRIPTION (contd…)
3. The profit obtained from shorter
stocks reduction. Shorter stocks may
represent the leftovers generated
from previous stock cutting processes, which in general are more
difficult to use than longer bars.
The proposed algorithm consists of a linear programming (LP) procedure.
14
FORMULATION OF 1DCSPUL
• The 1DCSPUL is characterized by the following data:
1. The demand of items:
m :number of item types
(l1,…, lm) :item lengths
(b1,…, bm) :item demands
2. The leftover:
K :number of leftover types
(g1,…, gK) :leftover lengths with g1<…<gK
(u1,…, uK) :upper bound on no. of leftovers
(w1,…, wK) :leftover values
15
3. The stock bar usage:
M :number of bar types
(L1,…, LM) :bar lengths
(B1,…, BM) :bar supply
(p1,…, pM) :bar prices
Now, let n=m+K & N=m+K+M
The notations for the linear program are:
z : total cost of the cutting plan
q : number of cutting patterns, q ≥ N
cj : the price of the stock bar used bypattern j
xj : the frequency of pattern j
16
: when 1 ≤ i ≤ m , is the number of items
type i appearing in pattern j
when m < i ≤ n , is the number of
leftovers type i-m appearing in pattern j
when n < i ≤ N , =1 if pattern j uses bar
type i-n ; =0 otherwise
17
• The 1DCSPUL can be formulated as the following integer
linear programming problem:
• Min
• St
18
• Where in the objective function
represents the total value of the leftovers in pattern j.
19
1 D CUTTING STOCK
PROBLEM WITH TWO
STAGES
20
PROBLEM AT HAND:List of roll sizes available
List of stock sizes.
List of intermediate sizes.
List of finished sizes. Stock
Final Product
Intermediatea two-stage CSP with one width of stock roll that is to be cut at the first stage into several intermediate rolls
Constraints for intermediate rolls are strict: For every size the total number of consumed rolls cannot exceed the produced amount
21
assumption: the width of an intermediate roll coming out of the first
stage and going to the second one satisfies minimum–maximum
restrictions
x1 and x2 are pattern activities for the first and the second
stages
b is a vector of customer demands on finished rolls.
Cutting patterns of the first stage and the second stage: A11
and A22 matrices
A12 showing the relations between the two:
If column j represents a pattern then the value is
non-zero (-1) only for the position corresponding to the
intermediate roll i that should be cut
22
DUAL PROBLEM
vectors u1 and u2 are vectors of dual variables
23
I) Generating a cutting pattern for the first stage
This is identical to solving the given Knapsack problem. We
basically stress on maximum usage of patterns
(Knapsack I)
u1 is a vector of values that are of the dual
variables of the master problem
y is a vector of intermediate roll widths
w0 is the stock roll width
vector a is a vector of variables.
If the objective function value exceeds 1.0, a new column a for the first stage is generated.
The solution vector of u1T ≤ A11 1Tenters as a column into matrix
A11. 24
II) Generating a cutting pattern for the final rolls
Here also we can design it as the given Knapsack problem.
(Knapsack II)
u2 is a vector of values that are the dual variables of
the master problem;
w is a vector of finished sizes;
emin is a mandatory minimal edge, always ≥0
yj is width of intermediate roll j
vector a is a vector of variables.
If the objective function value exceeds u1j, a new column a for the second stage is generated.
The solution vector of u2TA22 ≤−u1
TA12enters as a column into matrix A22.
25
If we do not have uncertainty in the
intermediate rolls, two types of
knapsacks shown above – Knapsack I
and Knapsack II – are sufficient to
solve the problem optimally
26
REFERENCES
• http://en.wikipedia.org/wiki/Integer_li
near_programming.
• www.sciencedirect.com.
• Research Paper: Modeling multistage
cutting stock problems -Eugene J. Zak
• Research Paper: J.M.V. Carvalho and
A.J.G. Rodrigues , An LP-based
approach to a two-stage cutting stock problem. European Journal of
Operational Research 84 3 (1995), pp.
580–589.
27
THANK
YOU
28