Template - wseas.us

A Heuristic Dynamic Programming Algorithm for 2D Unconstrained
Guillotine Cutting
XIANG SONGa,b,c, CHENG-BIN CHUc, YI-YONG NIEa
Department of CIMS
a
Shenyang Institute of Automation, Chinese Academy of Sciences
b
School of Graduate, Chinese Academy of Sciences
Lab. 2, 114, Nanta Street, Shenyang, Liaoning
CHINA
Département GSI
c
Université de Technologie de Troyes
12 rue Marie Curie-BP 2060, 10010 Troyes Cedex
FRANCE
Abstract:-In this paper, a heuristic dynamic-programming recursion is proposed for solving unconstrained
2D knapsack problem efficiently. The algorithm we propose is an incompletely enumerative method, in which
some intricate cutting patterns may not be enumerated. Compared with the traditional dynamic-programming,
the algorithm gives a high percentage of optimal solutions (93%) with a much lower computational complexity.
Some theoretical analyses for the algorithm are performed. Computational results are given for small and
medium-sized problems.
Key-Words:-Heuristic dynamic programming; knapsack problem;

The orientation of the pieces is considered
to be fixed, i.e. a piece of length l and width w is
not the same as a piece of length w and width l

The number of stages in which the cuts are
made is not limited, which is usually called
general cutting in the literature.

All sizes l i , wi  for i  1,2,, m are
assumed integers and therefore the cuts on the
rectangles are to be made in integer steps.
Mathematical description of this problem is usually
as follows,
1 Introduction
Classical 2D knapsack problem (KP), expressed by
words, is as follows. There are in total m types of
ordered rectangular sheets. Positive integers li , wi
and ci i  1,2,, m are the length, width and value
of the i th type of the ordered rectangular sheets,
respectively. Given a standard stock rectangular
sheet R with length L and width W
( i  1,2,..., N ), the problem consists of finding a
feasible cutting pattern so that the total value of the
ordered rectangular sheets cut out from the stock
sheet is maximized. Let M  1,2,, m be the index
set.
In this paper we consider the following restrictions
on the cutting pattern that usually appear in real-life
situations.

Only guillotine cuts are allowed. That is, a
rectangle is cut from one edge of the rectangle
to the opposite edge and the cutting line is
parallel to the two remaining edges.
m
max
c s
i 1
i i
m
s.t.
l w s
i 1
i
i i
 LW , s  Z m
where si denotes the number of times the piece i
appears in the pattern, s  s1 , s2 ,, sm  represents
a feasible cutting pattern and Z m
is a m
dimensional non-negative integer vector.
1
The 2DKP is the sub-problem of many complex
optimization problems, such as 2D cutting stock
problem. As is proved, optimal solutions to integer
cutting stock problems can be found only for values
of m smaller than typically found in practices,
approximate procedures represent the only feasible
approach to solving this type of problem. Almost
all LP (linear programming) based procedures for
solving cutting stock problems can be traced back
to Gilmore and Gomory (1961,1963). They
described how the next pattern to enter the LP basis
could be found by solving an associated knapsack
problem (KP). This made it possible to solve the
trim loss minimization problem by liner
programming without enumerating every feasible
cutting pattern. Since then, much of related papers
focused primarily on pattern generation.
The approaches proposed in the literature may be
classified into three categories: 1. Exact algorithms:
e.g. dynamic programming [2,7] and branch & bound
[5,9]
. These algorithms can be used to produce
optimal solutions. 2. Approximate approaches: If
exact algorithm cannot be used, the problem may
be solved approximately. People have developed
various kinds of approximate algorithms, e.g. some
tree search algorithms [4,10,11], And/Or graph
approaches [10,11], Wang’s algorithm[11] and other
heuristics. 3. Probabilistic convergence algorithms:
In recent years, some authors managed to exert the
intelligent algorithms in solving cutting problems.
We call them probabilistic convergence algorithms
because the solutions are convergent with
probability one to the optimal solution. The wellknown methods of this category are tabu search [1],
genetic algorithm [8], simulated annealing [6] and
incompletely enumerative method [3, 12].
In this paper, we propose a heuristic dynamic
programming algorithm to solve this 2DKP
approximately. Compared with the traditional
dynamic programming method, the algorithm gives
a high percentage of optimal solutions (93%) with a
much
lower
computational
complexity
Om  L W  .
In section 2, the algorithm is described in details. In
Section 3, the worst case analysis of this algorithm
is presented. Section 4 contains the computational
study and the discussion about the result. Finally, in
Section 5 we present the conclusions.
2 The Algorithm
2.1 Traditional dynamic-programming
recursion
Among the exact algorithms, Gilmore and
Gomory(1966) presented a dynamic-programming
recursion for staged two-dimensional cutting.
Beasley has noted that there is an error in that paper
relating to the dynamic-programming recursion
given for staged two-dimensional cutting. He
develops a correct dynamic-programming recursion
for the staged two-dimensional cutting problem,
which involves On  L W  L  W  operations,
where n is the maximum number of the stages that
an ordered rectangular sheet needs to be cut out.
Then he show the recursion can be modified so that
the computational complexity can be lowered down
to On  L  W   L  W  , where
m


L   x x   li ai ,1  x  L  min li , ai  0 and integer , i  1,, m  L
i
1


, L the size of the set L .
m


W   y y   wi bi ,1  y  W  min wi , bi  0 and integer , i  1,, m  W 
i 1


,
W
the size of the set W .
But he didn’t analyze the possible values of L and
W , which are critical to the computational
complexity of the problem. We are to discuss this
issue in our paper.
2.2
Heuristic
algorithm
dynamic-programming
The algorithm we propose, called the Heuristic
Dynamic Programming Algorithm (HDP), is an
incompletely enumerative method, in which some
intricate cutting patterns may not be enumerated.
The HDP algorithm finds a local optimum (which
is a global optimum in many cases). Correlated
concepts are introduced in the next section.
2
2.2.1 Twice guillotine cut
We now define the cutting types which are used to
determine cutting patterns. In all the definitions
guillotine cuts are implicit.
Definition 1 (normalized cut and normalized
cutting pattern). A cutting pattern is normalized if
any cut in that pattern can be moved until both the
left-hand edge and the bottom edge of all pieces in
the pattern are adjacent to a cut (See Fig. 1). A cut
is normalized if it generates normalized cutting
pattern. We define that the cuts mentioned in this
paper are all normalized cuts.
Definition 2 (twice guillotine cut and twice cutting
type). A cut is a twice guillotine cut if it produces
an ordered rectangular sheet i (i  1,, m) at the
bottom left of the stock sheet with two times of
guillotine cut (See Fig. 2). A cutting pattern is of
twice cutting type if it is obtained by successive
twice guillotine cuts.
We see that only two combinatorial conditions can
be obtained with twice guillotine cut for a stock
rectangular sheet of size  x, y  . The first condition
(Fig. 2. (a)) is obtained by first a horizontal
guillotine cut, second a vertical cut and the second
condition (Fig. 2. (b)) is obtained by first a vertical
guillotine cut then a horizontal cut. We found in a
large number of numerical experiments that most of
the optimal cutting patterns are of twice cutting
type. Thus a heuristic dynamic program recursion
was developed to search optimal values in confined
spaces.
y
y
x
x
Non-normalized cutting pattern
Normalized cutting
Fig.1. Normalized cutting pattern (Shaded area is the wastage)
A
y
y
i
B
C
D
i
x
x
y
Fig. 2. Two combinatorial conditions of the rectangular pieces
i  1,2,, m , x  xi , y  y . Then
s1  s 2  s I i
and
s1  s 2  s I i (vector s I i is an m-dimensional unit
vector, in which the i -th entry equals to 1) are the
two feasible solutions for the stock rectangular
sheet of size x, y  . Thus we obtain
F x , y   maxci  F xi , y  yi   F x  xi , y ,
ci  F x  xi , yi   F x , y  yi  : i  1,2, , m , x  xi , y  yi 
(2)
On the other hand, if s is the optimal cutting
pattern of twice cutting type for the stock
rectangular
sheet
of
size
x, y , x  min

li , y  min wi  and there exists an
iM
iM
ordered rectangular sheet i  i  1,2,, m  that
satisfies x  xi , y  y i , which can be cut out at the
bottom left of the stock rectangular sheet of size
x, y  , we see that with twice guillotine cut, s  s I is
i
a feasible cutting pattern for the combination of the
stock rectangular sheet of size x, y  y i  and
x  xi , y  or xi , y  yi  and x  xi , y  . Thus we obtain:
2.2.2 Heuristic dynamic program recursion
Let F x, y  represents optimal value for the cutting
patterns of twice cutting type in a stock rectangular
sheet of size  x, y  , the following theorems are
proved as follows:
Theorem 1 F x , y   maxci  F xi , y  yi   F x  xi , y ,
maxF xi , y  yi   F x  xi , y ,F x  xi , yi   F x , y  yi 
 F x , y   ci  i  1,2, , m , x  xi , y  y  (3)
The proof is concluded by applying relation (2)
and (3) together. Note that the values of x and y
belongs to the set L and W respectively, which
has been analyzed in the literature [2].
□
Theorem 2. The complexity of the recursion is
Om  L  W  .
Proof. For each given ( x, y) x  L , y  W ,
ci  F x  xi , yi   F x , y  yi  : i  1,2, , m , x  xi , y  yi 
x L, y  W
(1), where x i , y i denote the length
and width of the i -th ordered rectangular sheet
respectively.
Proof. Let s1 , s 2 , s 3 and s 4 represent the optimal
cutting patterns of twice cutting type in a stock
rectangular sheet of size x, y  y i  , x  xi , y  ,
xi , y  yi  and x  xi , y  respectively, where
recursion (1) needs O m  times of operation. Thus
the total computation time of the above mentioned
recursion is O(m  W  L ) . □
3
Theorem 3. Let
largest integer
el
ew
j 1
j 1
L   C  j  m  1, j , W   C  j  m  1, j 
C  j  m  1, j  
size  x, y  . And let Q( x, y)  V , H  store the two
combinatorial conditions in Fig. 2. (a) and (b). Let
l min  min li i  1,2, , m,
wmin  min wi i  1,2, , m, the algorithm is as
follows:
Step 1 If x  l min , or y  wmin , set F x, y   0 ,
Gx, y   0 , Q ( x, y )  0 . Go to step 2.
Step 2 Initialization. Set i  1 , x  l min  1, y  wmin ,
F x, y   0 , Gx, y   0 , Q ( x, y )  0 and Z  0 to
store optimal solution for cutting patterns of twice
cutting type.
Step 3 Set x  x  span( x), y  y . For each
i i  M  , compute
 L 
 W 
el    , ew  
 represent the
 lmin 
 wmin 
L
less than
, W . We have
l min
wmin
m  1 !
.
 j  m  1 !
,
where
Proof. The problem to compute L has the same
structure with the problem to compute the number
el
of terms in the polynomial
 l
j 1
1
 l2    lm 
j
. In fact,
each term in polynomial l1  l2    lm  represents
a possible combination of lengths of j ordered
rectangular sheets. For example, the item l1  l2j 1
corresponds to the combination l1   j 1 l2 . To
obtain all the possible combinations of l1 , l 2 ,  , l m
j
m
that satisfy
 l
i i
i 1
taken
from
 L  i  0 ,int eger  ,
1
to
el
in
the
max ci  F xi , y  yi   F x  xi , y ,ci  F ( x  xi , yi )

Z   F x , y  yi , if there exist xi  x , yi  y ,
 0,
x  minxi , y  minyi 

If Z  F x, y  , set F x, y   Z , Gx, y   i ,
j should be
V , if Z  ci  F xi , y  yi   F x  xi , y 
.
Qx, y   
H , if Z  ci  F ( x  xi , yi )  F x, y  yi 
polynomial
If x  L , go to step 3, else go to step 4.
Step 4 Set y  y  span( y), x  lmin  1 . If y  W , set
F ( x, y)  0 go to step 3, else return.
In the above mentioned procedure, span (x) is a
function, which returns the span between the
current value x x  L  to the next one within the set
l1  l2    lm  j correspondingly. The condition that
j  el will not be considered, because under this
m
condition
we
have
 l
i 1
i i
 L  i  0 ,int eger 
according to the definition of el .
According to the knowledge of combinatorial
mathematics, for the given positive integer j and
m there are in total C ( j  m  1, j ) number of
terms in the polynomial l1  l 2    l m  j . Thus the
total number of terms of the polynomial
el
 l
j 1
1
 l2    lm 
j
L . It is the same for span ( y ) . The heuristic
dynamic programming algorithm finds the optimal
value F L, W  in an orderly way. To find the
corresponding cutting pattern, we must use
heuristic dynamic programming method again in a
reverse way. The procedure is as follows:
Step 0 Initialization. Let S  R, the list of
rectangles still to be cut. Initially, the original
rectangle R = L, W  . Let P   , the set of pieces
el
is
 C  j  m  1, j  . We obtain that
j 1
el
L   C  j  m  1, j  and the proof is the same
j 1
for W .
□
already cut. Let cT  0, the total value of pieces
cut.
Step 1 While S   , the set S of rectangles still to
be cut is ordered by increasing area.
Step 2 If S   , then stop, else take the smallest
rectangle of S , Rk  Lk , Wk  and set S  S  Rk  .
If
or
or
Lk  min i l i ,
Wk  min i wi 
Lk  Wk  min i l i  wi , then go to step 2, else go to
step 3.
2.2.3 Main steps of the heuristic algorithm
Let Gx , y   i* represent the ordered rectangular
sheet cut out at the bottom left of the stock
rectangular sheet in the optimal cutting patterns of
twice cutting type in a stock rectangular sheet of
4
Step 3 For each piece i , i  1,2, , m , if
l i  Lk , wi  Wk , then consider the consequences of
cutting the piece i at the bottom left hand corner of
R k :Let v1  F l i , Wk  wi  , v 2  F Lk  l i , Wk  ,
obtained by a first vertical guillotine cut and
h1  F Lk  l i , wi  , h2  F Lk , Wk  wi  , obtained
by a first horizontal guillotine cut, compute
T i = ci  max v1  v 2 , h1  h2 , else set Ti  0 .
Step 4 For the piece j , such that T j  max i Ti . If
In this section, we study performance bounds for
the HDP algorithm which deals with minimizing
waste unconstraint 2DKP. In this case the value c i
attributed to each piece is the surface li wi and
thereby maximizing the total value is equivalent to
minimizing the waste.
3.1 Intricate structure
First we analyze the structure of the cutting patterns
that can’t be obtained by successive twice
guillotine cuts. The following definitions are given:
Definition 4 (waste rectangle and trip cut). A
newly generated rectangle, which is too small to
contain any ordered rectangular sheet, is called a
waste rectangle. If one of the two new rectangles
generated by a guillotine cut is a waste rectangle,
we call this guillotine cut a trip cut.
Definition 5 (0-cut) If for a given stock rectangular
sheet of size x, y  , an ordered rectangular sheet can
be produced by only one guillotine cut, we say
there exists a 0-cut so that we can say that this
ordered rectangular sheet is cut out with two times
of guillotine cuts.
Definition 6 (Intricate cutting pattern): For a given
cutting pattern, the smaller rectangular sheets are
generated successively with guillotine cuts. If for
one of the smaller rectangular sheets of size x, y  ,
which is not a waste sheet, no ordered rectangular
sheet can be cut out with twice guillotine cut, we
can say that this cutting pattern is an intricate
cutting pattern, which can’t be enumerated with
HDP algorithm.
Definition 7 (Intricate structure): For a given
rectangular sheets of size x, y  , suppose the first
guillotine cut parallels to y-axis. Then there exist a
series of guillotine cuts parallel to the y-axis and
divide the stock rectangular sheet x, y  into several
strips with the same width y . Within each strip,
T j  0 , then cut piece j at the bottom left hand
corner of R k and set P  P   j , cT  cT  c j . If
v1  v 2  h1  h2 ,
then
else
S  S  l i , Wk  wi , Lk  l i , Wk  ,
S  S  Lk  l i , wi , Lk , Wk  wi  . If T j  0 , then
rectangle R k is waste. Go to step 1.
It is clear that the computational complexity of this
procedure
is
O(k  m) ,
 LW  
k  max 

iI  li wi 


where
denotes the maximum number of ordered
rectangular sheets that can appear in the cutting
pattern. Thus the general computational complexity
of the algorithm is Omaxk  m, L  W  m .
3 Worst Case Analysis
Although the HDP algorithm finds the optimal
solution for the cutting patterns of twice guillotine
type, the solution is not always optimal for the
general cutting pattern. That is because some of the
combinatorial condition (See Fig. 3) for a stock
rectangular sheet of size x, y  may not be
enumerated with twice guillotine cut. As in Fig. 3,
no ordered rectangular sheets (marked with
sequential numbers) can be cut out with two times
of guillotine cut.
6
5
3
Ap
Bq

y
1
y
4
2
Ai 1
Ai

Bj
Ai 2 B j 1
A1
x
B1
xA
Fig. 3. The combinatorial condition not
enumerated (Shaded area is the wastage.)
B j2
x
Fig.4. Intricate structure
5
there is a series of guillotine cuts parallel to x-axis
and divide the strips into a series of rectangles.
Thus we obtain rectangles A1 , A2 , , Ap  ,
B , B
1
Case 2.1: If within
the
series
of
rectangles, there is
one, say rectangle
A1 , in which no
vertical guillotine
cuts is available
(Fig. 4.4), rectangle
A1 must be an
ordered rectangular
sheet, which can be
cut out with twice
guillotine cut.
Case 2.2: In the
condition that the
cutting
pattern
contains the series
of
rectangles
A1 , A2 , , Ap  ,
, …, as shown in Fig. 4. We call the
2 , , Bq 
structure, which contains above mentioned
rectangles and within each rectangle there is at least
one guillotine cut parallel to y-axis, an intricate
structure.
To judge if a cutting pattern is an intricate cutting
pattern, we give the theorem as follows:
Theorem 4 Only the cutting patterns that contain
the intricate structure are intricate cutting patterns.
Proof For any given
rectangular sheets of
size x, y  in a given
A
B
cutting pattern, we y
only discuss the case
that the first guillotine
x
cut is paralleled to yFig.4. 1
axis, the discussion is
the same for the case
that the first guillotine cut is paralleled to x-axis.
Suppose that there exist a series of guillotine cuts
parallel to the y-axis (See Fig. 4.1. Trip cuts are not
included) and divide the stock rectangular sheet
x, y  into several strips A, B ,  , with the same
width y . There are several cases for the following
cuts.
Case 1: If there exists a strip A that within it no
horizontal cut is available (Fig. 4.2 a) or only a trip
cut is available (Fig. 4.2 b, shaded area is a waste
rectangle.), the strip A is (or contains) an ordered
rectangular sheet, which can be cut out with twice
guillotine cut obviously.
Case 2: If within each strip there is at least one
horizontal cut, which is not a trip cut, there must be
series
of
rectangles
A1 , A2 , , Ap  ,
B
1
, B2 , , Bq  ,  ,
B
A
B
y
Bq
Ai

Bj
A1
B1
x
Fig.4. 3
Ap

y
Bq
Ai

Bj
A1
B1
x
Fig.4. 4
Ap

y
, B2 , , Bq  , 
Bq
Ai

Bj
A1
B1
and within each
x
rectangle there is at
Fig.4. 5
least one vertical
guillotine cut (See Fig.4 and 4.5. It is obvious that
within strip A , there must be a rectangle Ai , which
contains at least two stock rectangular sheets Ai1
and Ai2 , which are not waste rectangles, according
to the definition of normal cuts. The condition is
the same for other strips), we see there is no
ordered rectangular sheet that can be cut out with
twice guillotine cut. Only in this case can we say
that the given cutting pattern is an intricate cutting
pattern.
Thus we conclude only the cutting patterns that
contain the intricate structure are intricate cutting
patterns.
‫ٱ‬
cut out (See Fig. 4.3) and
each rectangle contains at least one ordered
rectangular sheet.
y
1
Ap

A
3.2 Approximation ratio
Now we prove the approximation ratio of the HDP
algorithm as follows:
Let OPT I  denotes the optimal solution of
problem I and HDP I  the approximate solution
provided by HDP algorithm. We have:
Theorem 5 If e  max el , e w  is equal to 1, 2 or
3, OPT ( I )  HDP ( I ) .
B
x
x
Fig.4. 2 a
Fig.4. 2 b
6
Proof. Given any four rectangular sheets with
length l a , lb , l c , l d and let l a be the minimum length
second horizontal guillotine cuts. Within Ai , we
suppose that l Ai 1  l Ai 2 , then l A  1 l A  1 x  1 L
of the four, we have that l a  l b  l c  l d  4l a . For
the case e  4 , we have 4l a  L . Thus
l a  lb  lc  l d  L is obtained. In this case, the
rectangle Ai1 , Ai2 , B j1 and B j2 can’t exist together
in one stock rectangular sheet. That is the intricate
structure can’t be contained in any cutting pattern.
So the optimal cutting pattern must be of twice
cutting type. The optimal solution found with HDP
algorithm is the optimal solution. Thus we obtain
OPT ( I )  HDP ( I ) .
‫ٱ‬
Theorem 6 If ei1  L li  and ei 2  W wi ,
i  1,, m , we have that
2
If w A  1 y  1 W , we get a piece Ai 1 that can fit
2
i1
2
the rectangle L, W  two times in the length and 2
times in the height. Thus by theorem 6,
is proved.
If wA  1 y , we have
i1
xA 
2
1
x
2
wA1 
HDP ( I ) 4

OPT I  9
1
1
y W.
2
2
And
has been supposed, we have that
1
1
x  L . So A1 can fit the rectangle
2
2
L, W  two times in the length and 2 times in the
l A1  x A 
Proof.  i  M , we have that ei1  1  li  L  ei1  li
and ei 2  1  wi  W  ei 2  wi .
So ei1  1  ei 2  1  li  wi  L  W  ei1  ei 2  li  wi .
And we know that the combinatorial condition that
only one kind of ordered rectangular sheet is
available in the cutting pattern can be enumerated
by HDP algorithm. So we have:
HDP ( I )  max ei1  ei 2  li  wi i  1,2,, m.
And OPT ( I )  LW clearly, so
height. With theorem 6, HDP ( I )  4 is proved
OPT I 
9
also.
For e  3 ,
HDP ( I )
 1 has been proved in Theorem
OPT I 
5, thus Theorem 7 is proved. ‫ٱ‬
4 Computational Results
To analyze the effectiveness of this algorithm, the
worst case analysis is not enough. Some
computational experiments must be made.
We generate the input-data randomly under
different combinations of parameters m, e, (See
table 1). The number 1…6 identify the given m
and e as defined in Table1. And for each
combination of m and e , 100 instances were
generated with a uniform distribution on some
ranges given below. For a given length L  200
and width W  100 of stock rectangular sheet, the
length l i and width wi of ordered rectangular sheet
e  e  l  w

HDP ( I )
 max  i1 i 2 i i i  1,  , m
OPT I 
L

W


‫ٱ‬
Proof. By considering a normal optimal cutting
pattern we prove that, for e  3 , the intricate
structure can be contained in the cutting pattern.
Thus the solution found with HDP algorithm may
not be a global optimum.
In the case that the optimal solution contains the
structure in Fig. 4, we suppose that x A 
2
is gotten.


ei1  ei 2
HDP ( I )
 max 
i  1,, m .




OPT I 
e

1

e

1
i2
 i1



ei 1  ei 2  li  wi


 max
i  1, ,m




e

1

e

1

l

w


i
1
i
2
i
i



.
ei 1  ei 2
 max
i  1, , m
 ei 1  1  ei 2  1

HDP
(
I
)
4
Theorem 7
 .
OPT I  9
2
i1
 W  W  
 L   L  
i i  1,2,, m are in   ,    and  ,    . The
 e   2  
 e   2  
required quantities of the ordered rectangular sheets
are not limited for the problem studied is an
unconstrained knapsack problem. And the value
ci  li  wi is supposed for convenience.
1
x be the
2
first guillotine cut, say vertical, in an optimal
pattern, which divides the initial stock sheet x, y 
into two strips. Then rectangular sheets
A1 , A2 , , A p  , B1 , B2 , , Bq  are cut out with
7
No.
m
e
Opt. Sol. (%)
Av. Appr. ratio
Min. Appr. ratio
Table 1. Parameters selection
2
3
5
10
20
10
1
5
10
4
10
20
5
20
10
Table 2. The performance of the HDP algorithm L  200, W  100
1
2
3
4
5
6
99%
90%
97%
88%
95%
88%
0.999
0.994
0.992
0.996
0.997
0.999
0.999
0.990
0.977
0.992
0.988
0.997
6
20
20
Ave.
93%
0.996
0.991
computational complexity is much lower and a high
percentage of optimal solutions (93%) can be
achieved. Thus with this algorithm, some problem
with parameters L , W not too large can be solved
effectively with HDP algorithm. Finally, the
algorithm can easily be used for solving general
Cutting Stock problems.
In Table 2, we can see the performance of the HDP
algorithm by referring to the percentage of optimal
solutions, the average approximation ratio and the
minimum ratio. The average approximation ratio is
calculated without considering the cases that the
solution is optimal. The knapsack problems were
solved exactly by a dynamic programming
algorithm. We see that 93% of the instances are
optimally solved, whereas the totality of the
instances was solved very close to the optimum.
The experimental minimum approximation ratio
was found to be 0.991 and the average one 0.996.
Besides, we see that the selection of parameter e
influence the results greatly. With the same
parameter m , the larger the parameter e is, the
lower the approximation ratio will be. And from
the theorem 3, we also know that the larger the
parameter e is, the larger the parameters W or L
will be, thus adds up to the computing time. So this
algorithm fits for the condition that the minimum
length or width of the ordered rectangular sheet is
relatively large to that of the stock rectangular
sheet.
References :
[1] Alvarez-Valdés, R., Parajón, A. et al, 2002. A
Tabu Search Algorithm for Large-Scale
Guillotine (un)Constrained Two-Dimensional
Cutting Problems, Computers & Operations
Research, Vol. 29, Issue 7, pp 925-947.
[2] Beasley, J.E., 1985. Algorithms for
Unconstrained Two-dimensional Guillotine
Cutting. Journal of Operational Research
Society, Vol. 36, No. 4, pp 297-306.
[3] Balas, E. and Zemel, E., 1980. An Algorithm
for Large Zero-One Knapsack Problem,
Operations Research, Vol. 28, pp 1130-1154.
[4] Christofides, N. and Whitlock, C., 1977. An
Algorithm for Two-Dimensional Cutting
Problems, Operational Research, Vol. 25, pp
30-44.
[5] Cung,V. D. and Hifi,
M. et al, 2000.
Constrained Two-Dimensional Cutting Stock
Problems a Best-First Branch-and-Bound
Algorithm, International Transactions in
Operational Research, Vol.7, pp 185-210.
[6] Dowsland, K.A., 1993. Some Experiments with
Simulated Annealing Techniques for Packing
Problems, European Journal of Operational
Research, Vol. 68, pp 389-399.
[7] Gilmore, P.C. and Gomory, R.E., 1966. The
Theory and Computation of Knapsack
5 Conclusion
In this paper, a heuristic dynamic-programming
recursion is presented for solving unconstrained 2D
cutting stock problem approximately. The
parameters L , W that effect the computing time
are analyzed and we have shown that this algorithm
4
has approximation ratio equal to . Computational
9
results for a large number of randomly generated
problems are given. We see that with the heuristic
dynamic-programming
algorithm,
the
8
Functions, Operations Research, Vol. 14, pp
1045-1074.
[8] Gomez, A. and D de la Fuente, 2000.
Resolution of Strip-Packing Problems with
Genetic Algorithms, Journal of the
Operational Research Society, Vol. 51, pp
1289-1295.
[9] Mhand Hifi, Ouafi, R., 1998. A Best-First
Branch-and-Bound Algorithm for Orthogonal
Rectangular
Packing,
International
Transactions in Operational Research, Vol. 5,
pp 345-356.
[10] Morabito, R.N. and Arenales, M.N., 1992. An
and-or-Graph Approach for Two-Dimensional
Cutting Problems, European Journal of
Operational Research. Vol. 58, pp 263-271.
[11] Morabito, R.N. and Arenales, M.N., 1996.
Staged and Constrained Two-Dimensional
Guillotine Cutting Problems: An AND/ORGraph Approach, European Journal of
Operational Research, Vol. 94, pp 548-560.
[12] Nie, Y.Y. and Song, X. et al, 2002.
Incompletely Enumerative Solution for 1D
Cutting-Stock Problem, Far East J. Math. Sci
(FJMS), Vol. 5, No.1, pp 25-46.
[13] Wang, P.Y., 1983. Two Algorithms for
Constrained Two-Dimensional Cutting Stock
Problems, Operations Research, Vol. 31, pp
573-586.
9