Beruflich Dokumente
Kultur Dokumente
The 2D constrained
rectangular cutting problem
Geometry
Two-dimensional objects and items
Rectangular large object (stock sheet) and rectangular small items (pieces)
Upper bound on the number of pieces of each type that can be used
Fixed orientations for all items (no rotations allowed)
Orthogonal cutting patterns
Guillotine cutting patterns
The 2D constrained
rectangular cutting problem
Geometry
Two-dimensional objects and items
Rectangular large object (stock sheet) and rectangular small items (pieces)
Upper bound on the number of pieces of each type that can be used
Fixed orientations for all items (no rotations allowed)
Orthogonal cutting patterns
Guillotine cutting patterns
Wangs algorithm (1983)
Constructive algorithm
Generates cutting patterns by successively adding pieces or group of
pieces (partial solutions) to each other, generating in this way new
partial solutions.
Operators: horizontal build and vertical build
Wangs algorithm
Partial solutions that
exceed the large rectangular object dimensions or
do not satisfy the upper bound on the number of pieces of each type
are discarded.
The algorithm stops when no more new partial solutions can be
built
The best partial solution (less waste) is chosen and the final waste is
calculated.
Wangs algorithm assigns to each piece a value equal to its area
Objective: waste minimization
Wangs algorithm
To avoid the explosive growth of the number of partial solutions
being generated
Duplicated partial solutions are eliminated
Same rectangles and same rectangular enclosure
An aspiration level for the partial solutions is defined
The algorithm rejects partial solutions where waste exceeds a percentage
of the stock sheet area
If the total waste Tp of a pattern p, obtained with a fixed value of ,
satisfies Tp wh, then p is an optimal pattern.
The parameter is critical in
striking a balance between
long execution times and
providing the guaranteed
optimality of the solution.
h
w
Vaskos improvement
to Wangs algorithm (1989)
Vertical and horizontal completeness
A partial solution that can not be used anymore in vertical (horizontal)
builds
Because the difference between the stock sheet height (width) and the
partial solution height (width) is less than the smaller piece height (width)
is marked as complete and will not be further considered for vertical
(horizontal) build operations.
A horizontally complete partial solution ws + w2 > w
ws
h
hs
w2
w
Oliveira and Ferreiras improvement
to Wangs algorithm (1990)
Change in the aspiration criterion
To reject, as soon as possible, the partial solutions that will generate
cutting patterns with total waste greater than wh
A lower bound of the partial solution external waste is considered,
together with the inner waste, to decide about the acceptance of a
partial solution.
Inner
waste
(Ts)
ws
Ts + LB wh
h
hs
w
Oliveira and Ferreiras improvement
to Wangs algorithm (1990)
Oliveira and Ferreiras lower bound
Based on the resolution of the unconstrained problem UP (no bounds on the
number of pieces of each type) for the regions:
w
h
ws
hs
ws x (h hs) and (w - ws) x h
w x (h - hs) and (w - ws) x hs
LBOF = min( UP(ws,h-hs) + UP(w-ws,h) , UP(w,h-hs) + UP(w-ws,hs) )
Gilmore and Gomorys two-
dimensional knapsack function
Oliveira and Ferreiras improvement
to Wangs algorithm (1990)
Oliveira and Ferreiras lower bound
does not consider the hypothesis of
having the first guillotine cut, in the
region not yet occupied by the partial
solution, not adjacent to the partial
solution.
Alternative: Viswanathan and Bagchis
lower bound
Also based on the resolution of the
unconstrained problem UP:
w
h
ws
hs
u
v
LBVB(ws,hs) = min( h1(ws,hs) + h2(ws,hs) )
h1(ws,hs) = min( LBVB(u,hs) + UP(u-ws,hs))
ws u w
h2(ws,hs) = min( LBVB(ws,v) + UP(ws,v-hs))
hs v h
LBVB(w,h) = 0
Computational experiments
Pentium 4 @ 2.4 GHz
1 GB RAM
C Code
Windows XP (console mode)
Computational experiments
Data set 1 - 8 instances available in the literature
N. Christofides, C. Whitlock, An algorithm for two-dimensional cutting
problems, Operations Research 25 (1977) 30-44
P.Y. Wang, Two algorithms for constrained two-dimensional cutting
stock problems, Operations Research 31 (1983) 573-586
F.J. Vasko, A computational improvement to Wangs two-dimensional
cutting stock algorithm, Computers and Industrial Emgineering 16
(1989) 109-115
J.F. Oliveira, J.S. Ferreira, An improved version of Wangs algorithm for
two-dimensional cutting problems, EJOR 44 (1990) 256-266
Data set 2 - 21 instances available at OR-Library
http://mscmga.ms.ic.ac.uk/jeb/orlib/ngcutinfo.html
Data set 3 - 210 instances available at OR-Library
Generated by Beasley following Fekete and Schepers studies
Computational results Data set 1
Instance w h m
Pieces
Area /
(w*h)
Beta
Time
(seconds)
Waste
Christofides & Whitlock 1 15 10 7 1,50 0,04 15,19 6
Christofides & Whitlock 2 70 40 10 1,55 0,079 0,09 22
Oliveira & Ferreira 1 70 40 10 2,74 0,0225 15,09 63
Oliveira & Ferreira 2 70 40 10 3,09 0,0393 9,73 110
Wang 70 40 10 8,54 0,029 0,02 79
Vasko 1 800 130 5 11,32 0,1924 0,17 20000
Vasko 2 800 130 10 17,63 0,0994 0,17 8252
Vasko 3 800 130 18 28,42 0,03 0,31 2988
Computational results Data set 2
Instance w h m
Pieces
Area /
(w*h)
Beta
Time
(seconds)
Waste
Beasley 1 10 10 5 0,95 0,05 0,00 5
Beasley 2 10 10 7 1,07 0,03 0,00 3
Beasley 3 10 10 10 1,36 0,01 0,02 0
Beasley 4 15 10 5 0,72 0,08 0,00 12
Beasley 5 15 10 7 1,21 0,07 0,00 10
Beasley 6 15 10 10 1,24 0,02 0,00 2
Beasley 7 20 20 5 0,39 0,57 0,09 225
Beasley 8 20 20 7 0,78 0,05 0,00 20
Beasley 9 20 20 10 1,39 0,03 0,03 10
Beasley 10 30 30 5 0,77 0,03 0,00 21
Beasley 11 30 30 7 0,83 0,07 0,00 58
Beasley 12 30 30 10 1,24 0,01 0,02 2
Hadjiconstantinou & Christofides 1 30 30 7 1,06 0,16 0,00 139
Hadjiconstantinou & Christofides 2 30 30 15 2,82 0,11 9,00 93
Wang 70 40 19 4,71 0,03 0,00 79
Christofides & Whitlock 40 70 20 4,83 0,04 0,00 100
Fekete & Schepers 1 100 100 15 1,28 0,01 10,70 62
Fekete & Schepers 2 100 100 30 3,14 0,03 110,34 227
Fekete & Schepers 3 100 100 30 3,61 0,02 0,13 123
Fekete & Schepers 4 100 100 33 3,65 0,01 65,03 24
Fekete & Schepers 5 100 100 29 2,90 0,01 5150,47 18
Computational results Data set 3
210 instances
(w,h) = (100,100)
m {40, 50, 100, 150, 250, 500, 1000}
30 instances for each value
Number of pieces of each type {1, 3, 4}
70 instances for each value
Pieces shape and size
20% high w [1,50] and h [75,100]
20% long w [75,100] and h [1,50]
20% big w [50,100] and h [50,100]
40% small w [1,50] and h [1,50]
Average ( Pieces area / w h ) = 181,34
Selection instances
Computational results Data set 3
Time limit = 60 seconds
Average running time 57,28 seconds
Number of instances solved until optimality 99
Number of instances that verified the optimality condition 13
Number of instances with zero waste solutions 86
Time limit = 300 seconds
Average running time 279,85 seconds
Number of instances solved until optimality 118
Number of instances that verified the optimality condition 18
Number of instances with zero waste solutions 100
A new extension of Wangs algorithm:
1st order non-guillotine patterns
1st order non-guillotine pattern Higher order non-guillotine pattern