European Journal of Operational Research 175 (2006) 1870–1889 www.elsevier.com/locate/ejor
An iterative sequential heuristic procedure to a real-life 1.5-dimensional cutting stock problem X. Song
a,b,c,d,*
, C.B. Chu c, Y.Y. Nie a, J.A. Bennell
d
a Shenyang Institute of Automation, Chinese Academy of Sciences, PR China Graduate School of Chinese Academy of Sciences, No. 114, Nanta Street, Shenyang 110016, PR China De´partement GSI, Universite´ de Technologie de Troyes, 12 rue Marie Curie-BP 2060, 10010 Troyes Cedex, France d School of Management, University of Southampton Highfield, Southampton SO17 1BJ, United Kingdom b
c
Received 12 June 2004; accepted 19 October 2004 Available online 11 October 2005
Abstract This paper addresses a real-life 1.5D cutting stock problem, which arises in a make-to-order plastic company. The problem is to choose a subset from the set of stock rectangles to be used for cutting into a number of smaller rectangular pieces so as to minimize total production cost and meet orders. The total production cost includes not only material wastage, as in traditional cutting stock problems, but also production time. A variety of factors are taken into account, like cutter knife changes, machine restrictions, due dates and other work in progress limitations. These restrictions make the combinatorial structure of the problem more complex. As a result, existing algorithms and mathematical models are no longer appropriate. Thus we developed a new 1.5D cutting stock model with multiple objectives and multi-constraints and solve this problem in an incomplete enumerative way. The computational results show that the solution procedure is easy to implement and works very well. 2005 Published by Elsevier B.V. Keywords: Cutting stock problem; Multiple objectives; Iterative sequential heuristic
1. Introduction In this paper, we consider a real-life 1.5-dimensional cutting stock problem arising in a make-to-order plastic company specializing in cutting large rectangle plastic stock sheets (input sheets) into smaller rectangular pieces (output sheets). The same problem arises frequently in steel industry for steel sheet coil cutting. *
Corresponding author. Address: School of Management, University of Southampton Highfield, Southampton SO17 1BJ, United Kingdom. E-mail address:
[email protected] (X. Song). 0377-2217/$ - see front matter 2005 Published by Elsevier B.V. doi:10.1016/j.ejor.2004.10.034
X. Song et al. / European Journal of Operational Research 175 (2006) 1870–1889
1871
The problem that arises is that customers may want sheets longer than the available stock sheet length. Instead, several smaller ones are offered so that the total length of the sheets meet the demand. Those, which are smaller than K in length, will not be accepted. The holding cost is high and demand for the same material is rarely repeated in the short term. As a result, the overruns or left overs (Washer, 1990), and output sheets smaller than K in length are regarded as material wastage (trim loss). Since the component lengths of the sheets to be cut out are not specified, this problem is not a classical 2D cutting stock problem. The problem has similarities to the one-dimensional cutting stock problem with more complex combinatorial conditions. So we call it 1.5DCSP. Further explanation of the problem structure will be given in Section 2. The company requires a production plan in order to cut down both material wastage and time wastage and in turn, boost productivity and efficiency in the plastic department. This is a multi-objective problem, where trim loss and production time are to be optimized. These objectives are conflicting and a tradeoff must be made. In addition, manufacturing constraints add more complexity to the problem. These are discussed further in Section 2. Theoretically, one- and two-dimensional cutting stock problems are NP-hard as shown in Johnson (1979). Thus, it is quite time consuming to solve exactly some practical problem. Approximate procedures are frequently used to solve this type of problem. Sequential heuristic procedure (SHP), LP (linear programming) based methods (LP) (Haessler, 1980) and metaheuristics are the three main procedures. For a detailed survey see Dyckhoff (1990), Haessler and Sweeney (1991), Dowsland and Dowsland (1992) and Lodi et al. (2002). Although LP is not sufficiently flexible to consistency solve problems with multi-objectives or with various additional restrictions appearing in practice, there are still quite a few papers solving this kind of problem with LP-based approach (de Carvalho and Rodrigues, 1995; Diegel et al., 1996; Dyckhoff, 1981; Gilmore and Gomory, 1965; Haessler, 1980; Washer, 1990; Zak, 2002). Gilmore and Gomory (1965) presented an LP method for solving the two-dimensional stock cutting problem with the restriction that the cutting has to be done in stages. Haessler (1980) improved the work done by Gilmore and Gomory in 1961 and 1963 by placing restrictions on the number of times a given ordered item can appear in a pattern. This led to LP solutions with the same trim loss values and fewer patterns. Dyckhoff (1981) stated that the LP model developed by Gilmore and Gomory (1961, 1963) did not work in some situations. He presented another LP model that had advantages when there were many items to be cut or there were a large number of stock items. The model is also able to deal with instances where the trim loss is not valueless and can be used later in the cutting process. de Carvalho and Rodrigues (1995) and Zak (2002) followed the LP solution to solve some realistic multistage cutting stock problems, in which every stage except the last one produces intermediate products. Papers that address realistic multi-objective, multi-constrained CSP using problem specific mathematical models and solve them using a heuristic include (Antonio et al., 1999; Coverdale and Wharton, 1976; Chu and Antonio, 1999; Haessler, 1971; Haessler, 1975; McDiarmid, 1999; Nonas and Thorstenson, 2000; Sinuany-Stern and Weiner, 1994). Pure SHPs have been shown to increase the trim loss because of so-called ending conditions (Haessler and Sweeney, 1991). The first documented SHP capable of finding better solutions than those found manually by schedulers was described by Haessler (1971). In Haessler (1975), a stock cutting problem, where the trim loss is not the only consideration, was formulated such that it had a certain aspiration level. If the aspiration level is not reached in one iteration, it is lowered for the next iteration. This continues until a solution is found within the aspiration level. The work from Haessler (1971) was developed by Coverdale and Wharton (1976) to consider other factors besides simply trim loss (e.g., set up time for the machine operators). Sinuany-Stern and Weiner (1994) considered the cutting stock problem with two objectives. Belov and Scheithauer (2003) designed a sequential heuristic to minimize material input while restricting the number of open stacks to any given limit. Also, there are a number of ways in which LPM and SHP are used together to obtain the best possible answer to a given class of Cutting
1872
X. Song et al. / European Journal of Operational Research 175 (2006) 1870–1889
and Packing problems (Sweeney and Haessler, 1990; Goulimis, 1990; Hendry et al., 1996; Gradisˇar et al., 1999; Richard, 1996). Metaheuristic techniques are a frequently used tool for the approximate solution of hard combinatorial optimization problems. The impact of these techniques on the practical solution of the problems, which are too complex to be solved efficiently with other heuristics, is impressive. Dowsland (1993) presented one of the first metaheuristic approaches to a two-dimensional strip packing problem. Her simulated annealing algorithm explores both feasible solutions and solutions in which some of the items over-lap. Jakobs (1996) proposed a genetic algorithm for a two-dimensional strip packing problem. Lodi et al. (1998, 1999a,b) developed tabu search algorithms for two-dimensional bin packing problems. The main characteristic of Lodi et al., 1999a approach is the adoption of search a scheme and a neighborhood which are independent of the specific packing problem to be solved. An extension of the approach by Dowsland and Dowsland (1992) to two-dimensional bin packing (as well as to its three-dimensional generalization) was recently proposed by Faero et al. (2003). They used similar neighborhood and search strategies within a guided local search approach. In our problem, there are many objectives to be satisfied and many restrictions to be considered in the cutting operations. Our problem cannot be solved efficiently using LP, because almost all the input sheets are different in length, and the pattern oriented (Haessler and Sweeney, 1991) procedure is based on the assumption that there are only a few standard stock sizes. We will present an algorithm called the iterative sequential heuristic procedure. The basic idea originates from SHPs where cutting patterns are generated and used sequentially until all the requirements are met. It is superior to SHP in that different structures for a single cutting pattern are found by varying some adjustable parameters provided in the SHP algorithm in Section 3. With this feature, the solution search space is enlarged and the probability that an optimal solution is found is highly improved. The paper is arranged as follows: In Section 2, we formulate the combined problem with production cost for 1.5DCSP. A new nonlinear mathematical model is set up. In Section 3, the subproblem is generated and solved in a heuristic way. Then in Section 4 the SHP algorithm is proposed and improved into an iterative sequential heuristic procedure. Some numerical results are provided in Section 5 to evaluate the performance of our algorithms. Finally, we summarize the paper and give suggestions for future work.
2. 1.5-Dimensional cutting stock problem The problem can be described as follows (see Fig. 1):
Input Sheets
W
D1
Ordered Sheets
w1 l1
L1
…
D2
W
w2
L2 DN LN
…
W
l2
wn ln
Fig. 1. Problem description.
X. Song et al. / European Journal of Operational Research 175 (2006) 1870–1889
1873
For a given planning horizon T weeks, N rectangular stock sheets are available (called input sheets). The width of each input sheet is W, while the length of the input sheets of type i (i = 1, 2, . . . , N) is Li, and Di sheets of type i are available. (In our problem Di is possibly a small number and frequently equal to 1.) There are in total n customers ordering n types of rectangular sheets. The length and width of the ordered sheets of type j (j = 1, 2, . . . , n) is given by lj and wj, where lj is usually larger than Li (i = 1, 2, . . . , N). The problem consists of selecting a subset from a set of input stock sheets, which can be used for cutting into a number of smaller rectangular pieces so as to minimize total production cost and meet demand. In our problem, other technical constraints must also be taken into account. We first introduce some definitions, which are very common in manufacturing and are necessary for formulating the constraints. All major notations are detailed in Table 1.
Table 1 List of notation Input data c1, c2 Di I K J Li lj m N n S s t u v W wj A A0
Unit area cost and unit time cost Number of input sheets of type i available Index set I = {1, 2, . . . , N} Minimum accepted length Index set J = {1, 2, . . . , n} Length of the input sheet of type i, i 2 I Length of the ordered sheet of type j, j 2 J Number of types of ordered sheets with due dates within first week Number of types of input sheets Number of types of ordered sheets Setup time for the machine Knife change time for the machine Time for changing one reel Maximum number of knives permitted to be put on the machine side by side Cutting speed Width of the input sheets Width of the ordered sheet of type j The total area of the ordered sheets with index 1 6 j 6 m The total area of the ordered sheets with index m < j 6 n
Calculated or intermediated quantities B c(P, lP) Ca(P),Cr(P) lB lr B rh, rv, SK, lc r(P, P 0 ) s(P) wr V l(P, lP, P 0 ) q(P, lP)
Subset of the input sheets used for cutting pattern P, called packet B Production time for performing a cutting pattern P with pattern length lP Absolute (relative) production cost for cutting pattern P with pattern length lP Packet length for packet B Length of the residual part of the input sheet used in packet B Four adjustable parameters Reel change time for cutting pattern P Setup time for cutting pattern P Width of the waste strip Cutting task V = {l1, l2, . . . , lm, lm+1, . . . , ln} Total production time to prepare and perform a cutting pattern P with pattern length lP Total trim loss for cutting pattern P with pattern length lP
Decision variables lP k Pk p
Pattern length for cutting pattern Pk Subset of output sheets placed on each input sheet in packet Bk Number of cutting patterns indexed from 1 to p
1874
X. Song et al. / European Journal of Operational Research 175 (2006) 1870–1889
2.1. Minimum accepted length The first definition is as a result of the ordered sheets usually being larger than the input sheets in length (see Fig. 1). To solve this problem, a valid partition of the ordered sheets is necessary (see Fig. 2). For each ordered sheet of length lj (1 6 j 6 n), the customer will allow P the order to be delivered in several pieces (called output sheets) with width wj and lengths ljk, where k ljk ¼ lj , ljk P K (k = 1, 2, . . .) and K is the minimum length the customer will accept. 2.2. Patterns The concept of patterns is directly related to the cutter knife change time (setup cost) and cutting time. The cutting process cuts the output sheets from rolls of input sheets (see Fig. 3). The cutting speed is denoted by v.
Ordered Sheets
…
w1 l11
l12
l13
l j1
l j2
l j3
…
wj
lj wn l n1
...
ln2 ln
K Output Sheets
Fig. 2. Minimum accepted length K.
Change reel Input sheet
Change knife
w1
Output sheets w2
Trim loss
W w3
Output sheets
w4 w5
Horizontal cutting knives
Change reel
lP
lP '
Fig. 3. Cutting process.
Output sheets
X. Song et al. / European Journal of Operational Research 175 (2006) 1870–1889
1875
There are (up to) u knives, which can horizontally cut the input sheet into up to u output sheets. To simplify the problem, we assume uP as a big enough number. Let aj be the number of times that ordered sheet j is n cut out and in the case when j¼1 aj wj 6 W , a waste strip with width wr is also cut out. We call the comPn bination j¼1 aj wj þ wr ¼ W a cutting pattern expressed as P = {a1, a2, . . . , an}. Each cutting pattern P has a fixed length, which is called pattern length expressed as lP. Cutting pattern P and pattern length lP are decided by the algorithm. The time for performing a cutting pattern P with pattern length lP is denoted by c(P, lP). We have c(P, lP) = lP/v. Knives are set by hand, so the machine needs to be stopped when there are cutting pattern changes. The time to change the cutter knife is called a setup cost. In our problem the setup cost of the machine is S. Specially, the setup cost for changing one knife is s < S. So we need not reset the whole machine when there is only one knife to be changed. The setup cost s(P) for cutting pattern P is discussed in Appendix A. Fig. 3 gives an example with two cutting patterns P and P 0 of pattern length lP and lP 0 , respectively. We see only one knife needs to be changed to set up the machine from pattern P to pattern P 0 . 2.3. Packets The third definition is of a packet. This notion relates to the reel change time. The final output sheets are coiled on a reel, which may need to be changed to receive the next output sheet. This reel change operation only occurs under the condition that different cutting patterns exist on one input sheet, as in Fig. 3. Here, two reel changes are required to receive all the output sheets and intermediate sheets. To clarify the condition if there are pattern changes within one input sheet, we give the following definition. For a given cutting pattern P, the pattern length lP can be larger or smaller than an output sheet i (i = 1, 2, . . . , N) in length. We need to select a subset from the set Pof input sheets, so that the combination length of these input sheets is larger than lP (see Fig. 4). That is Ni¼1 bi Li P lP ; 0 6 bi 6 Di , where bi is the number of times that input sheet i is used for cutting pattern P and Li is the length of input sheet i (see Table 1). We such combination of input sheets a packet, denoted as B = {b1, b2, . . . , bN} and the packet length Pcall N lB ¼ i¼1 bi Li . Let lr = lB lP be the length of the residual part of the input sheet used. There are two kinds of combinations of input sheets that can be selected for lP (see Fig. 4). When lr < K (Fig. 4(a)), there is no need to change reels because the residual part of the input sheet will be regarded as waste. Otherwise, the residual part of the input sheet will be used for the next cutting pattern and the reel change operation between the two different cutting patterns P, P 0 is incurred on the last input sheet used (Fig. 4(b)). The reel change cost between P, P 0 is denoted by r(P, P 0 ). We are only concerned with how many times an ordered sheet j appears in P 0 in order to decide the number of reels that need to be changed to receive more ordered sheets j. Thus let maxfa0j aj ; 0g denote the number difference of ordered sheet j appearing on P, P 0 and let t denote the time for changing one reel, we have 8 0; lr < K; > < " # 0 n P rðP ; P Þ ¼ > maxfa0j aj ; 0g ; lr P K. :t j¼1
La
Le
Lc
Lb
l js
Lf
Lg
W lP
(a) l r < K 1
lr1
lr
lP
2
(b) l r < K 2
Fig. 4. Two combinations of input sheets used for pattern length lP.
1876
X. Song et al. / European Journal of Operational Research 175 (2006) 1870–1889
2.4. Due dates The fourth definition is related to due dates of the ordered sheets. Due to the machine capacity, not all the orders can be fulfilled in one production plan. Of the n orders, only the first m (m 6 n), which have due dates within the first week of the planning horizon T weeks, are considered mandatory orders. The remaining n m orders with the due dates after the first week are optional orders and only indicative for cutting. To ensure that all the orders within the first week of the planning horizon have been met, we give the following definition for a cutting task. The cutting patterns are denoted as P1, P2, . . . , Pk, . . . and are generated and used sequentially. After k 1 cutting patterns have been cut, then V k ¼ flk1 ; lk2 ; . . . ; lkn g denotes the kth cutting task, where lkj is the length of the residual part of the ordered sheet j left to be cut. Hence, we have a sequence of cutting tasks, V1, V2, . . . , Vk, . . . where V1 = {l1, l2, . . . , ln} is the initial cutting task. According to the preceding analysis of due date constraints, we can say a cutting task is fulfilled, if and only if V k ¼ f0; 0; . . . ; 0; lkmþ1 ; lkmþ2 ; . . . ; lkn g. That is lk1 ¼ lk2 ¼ ¼ lkm ¼ 0. Fig. 5 gives an example of the relationship between V1, P 1 lP 1 and V2 using equation V k P k lP k ¼ V kþ1 . 2.5. Mathematical formulation To formulate our problem, we introduce the following decision variables. Let p be the number of cutting patterns. For each cutting pattern Pk (k = 1, 2, . . . , p), lP k is the pattern length and ajk (1 6 j 6 n) is the jth entry of vector Pk indicating the number of times that the jth ordered sheet appears in cutting pattern Pk. For each pattern length lP k , Bk is the corresponding packet. The ith entry of vector Bk is bik (1 6 i 6 N), which denotes the number of times that the ith input sheet is used in packet Bk. We count the material wastage by c1 per unit area and the time wastage by c2 per unit time. Let CT be the total production cost incurred by trim loss and production time, where production time includes three factors: cutting time, cutter knife changes time (setup cost) and reel change time. Let qðP k ; lP k Þ and lðP k ; lP k ; P kþ1 Þ denote the trim loss and the production time for cutting pattern Pk with pattern length lP k . We have lðP k ; lP k ; P kþ1 Þ ¼ cðP k ; lP k Þ þ sðP k Þ þ rðP k ; P kþ1 Þ, in which r(Pk, Pk+1) and cðP k ; lP k Þ were discussed in Sections 2.2 and 2.3. The computation of qðP k ; lP k Þ and s(Pk) are discussed in Appendix A. Thus CT can be expressed as p X
fc1 qðP k ; lP k Þ þ c2 lðP k ; lP k ; P kþ1 Þg.
k¼1
P1 . l P1
-
V1 w1
l j1
l j2 lj
l j3
l n1
ln2 ln
wj
wj
wj l j1
K
l j2
l1
lj
l13
l j3
wn
wn
wn
l12
l11
…
l13
…
…
l12 l1
l11
V2
=
w1
w1
…
CT ¼
l n1 K
...
ln2 ln
Fig. 5. An example of the relationship between V1 and V2.
X. Song et al. / European Journal of Operational Research 175 (2006) 1870–1889
1877
When m 5 n, the total area of the ordered sheets cut is not a fixed value. As a result, we cannot compare the efficiency of the different solutions by their total production cost CT. The criterion to judge whether a solution is more efficient is given by the unit cost CU = CT/(A + a Æ A 0 ), where 0 6 a 6 1 and A and A 0 denote the total area of ordered sheets with index j 6 m and j > m, respectively. In our problem, we take a = 0.5. Thus the objective of our problem is to find a production plan so that the unit cost CU is minimized and can be expressed as min C U ¼ min C T =ðA þ a A0 Þ ¼ min
p X
fc1 qðP k ; lP k Þ þ c2 lðP k ; lP k ; P kþ1 Þg=ðA þ a A0 Þ.
k¼1
The constraints of this problem have been described in Sections 2.1–2.4. This problem is obviously a multi-objective and multi-constraint problem. As a result, an iterative sequential heuristic procedure is proposed to solve this problem. Sections 3 and 4 describes the details of the algorithm. 2.6. Lower bound The 1.5DCSP can be converted into classical 1DCSP under three assumptions: (1) Material wastage is the only criteria to be considered in the total production cost, c2 = 0. (2) There are no due date constraints for the ordered sheet, m = n. (3) The length of the input sheets is unlimited and there is no minimum Pp length requirement for the output sheets. With the first two assumptions, we have qðP k ; lP k Þ ¼ W k¼1 lP k A and A 0 = 0. Then the objective function can be written as min C U ¼ min C T =A ¼ min
p X fc1 qðP k ; lP k Þ þ c2 lðP k ; lP k ; P kþ1 Þg=A k¼1
¼ min c1
W
p X
!,
lP k A
A ¼ min c1
k¼1
! p W X lP 1 . A k¼1 k
Given c1 and WA are all constant numbers, the objective function can be simply transformed to min Thus a simplified mathematical model M is set up under assumption (1), (2) and (3). M : min
p X
Pp
k¼1 lP k .
lP k
k¼1 p X
ajk lP k P lj ;
j ¼ 1; 2; . . . ; n;
ð1Þ
k¼1
ajk P 0;
integer; j ¼ 1; 2; . . . ; n; k ¼ 1; 2; . . . ; p.
ð2Þ
This is a classical 1DCSP mathematical model, which can be solved exactly using a column generation scheme and dynamic programming. In order to test the efficiency of our algorithms for the 1.5DCSP, we use the optimal solution of the 1DCSP as a lower bound.
3. Solving subproblems This section presents an algorithm for the subproblem that arises from the general problem. This algorithm can be used as a subroutine in the sequential heuristic procedure algorithm for solving our problem approximately. Then the sequential heuristic procedure algorithm will be improved through an iterative procedure so that the whole solution of the general problem will be highly improved.
1878
X. Song et al. / European Journal of Operational Research 175 (2006) 1870–1889
Given kth cutting task Vk, the set of feasible cutting pattern Pk is huge. We call CðP k ; lP k ; P kþ1 Þ ¼ c1 qðP k ; lP k Þ þ c2 lðP k ; lP k ; P kþ1 Þ the absolute pattern cost, simply denoted as Ca(Pk). In a similar way to the analysis of the unit cost CU of the general problem in Section 2.5, we define relative pattern cost C r ðP k Þ ¼ C a ðP k Þ ðA þ a A0k Þ=ðAk þ a A0k Þ, as the criteria to judge if cutting pattern Pk is efficient, where Ak and A0k denote total area cut out of the ordered sheets with index j 6 m and j > m for cutting pattern Pk, respectively. Thus the objective of the subproblem is to find a cutting pattern Pk with pattern length lP k so that its respective pattern cost Cr(Pk) is minimized. The following five constraints must be satisfied: n X
ajk wj þ wrk ¼ W ;
ð3Þ
j¼1
lP k þ l r k ¼
N X
ð4Þ
bik Li ;
i¼1
0 6 bik 6 Di and
integer;
i ¼ 1; 2; . . . ; N ;
ð5Þ
lrk P 0;
ð6Þ
maxfLi j0 < bik 6 Di g lrk P K;
ð7Þ
i2I
where wrk and lrk denote the width of the waste strip and the length of residual part of the input sheet used in pattern Pk, respectively. Other coefficients have been introduced in Section 2.5 (see Table 1 also). Constraint (7) is included in order to satisfy ljs P K as illustrated in Fig. 4(b). 3.1. Determine pattern length lP k lP k is determined according to two conditions (see Diagram 1). Given the cutting task V k ¼ flk1 ; lk2 ; . . . ; lkn g, a series of cutting patterns {P1, P2, . . . , Pk1} have been identified. Since the total length of the input sheets used Pk1 PNshould be greater than or equal to the total pattern length generated, we have Pk1 l þ l ¼ P r k1 s¼1 s s¼1 i¼1 bis Li , where bis is the number of times input sheet i is used to pack pattern length lP s and lrk1 is the length of the residual part of the last input sheet used after k 1 cutting patterns. Condition 1. If lrk1 P K, the residual part of the input sheet can be stored as a new input sheet. As a result N = N + 1, LN ¼ lrk1 and DN = 1. In the real-life condition, this newly generated input sheet should be used as soon as possible. The factory only permits the last input sheet generated to be stored in the warehouse. Thus, we define lP k ¼ lrk1 , lrk ¼ 0 and Bk = {0, 0, . . . , 0, 1} correspondingly. Condition 2. If lrk1 < K, the residual part of the input sheet used will be regarded as a waste. We need to decide the pattern length lP k according to the unfulfilled cutting task Vk and the remaining set of input sheets. As a result of the due date constraint, each cutting pattern should include the output sheets with index j 6 m as far as possible. We decide lP k with lkj ð1 6 j 6 mÞ heuristically. Let lP k ¼ lkj =h, h = 1, 2, . . . If lP k < K, let lP k ¼ K and determine the corresponding packet Bk = {bk1, bk2, . . . , bkN} for lP k by solving two 1D knapsack problems as follows: ( ) N X bik Li ; Di P bik P 0; i ¼ 1;2;. ..;N ; integer; lrk < K . ð8Þ lrk1 ¼ min lrk lP k þ lrk ¼ i¼1 ( ) N X bik Li ; S K P 0; maxfLi jDi P bik > 0g ðlrk þ K þ S K Þ P K . ð9Þ lrk2 ¼ min lrk lP k þ lrk þ K þ S K ¼ i2I i¼1
X. Song et al. / European Journal of Operational Research 175 (2006) 1870–1889
1879
Diagram 1. Structure of the algorithm for solving the subproblem.
La
Le
Lc
Lb
l js
Lf
Lg
W
l Pk
(a) lr < K k1
lr
k1
K + SK
l Pk
(b) l r > K
lr
k2
k2
Fig. 6. Two packing conditions.
Combination (8) and (9) represent two packing conditions as shown in Fig. 6(a) and (b). In combination (9), SK is an adjustable parameter within bounds. Different packets Bk will be obtained with different values of SK. Initially we set SK = 0. The bounds and method of varying SK are discussed in Section 4.2. Finally we need to adjust lP k to a feasible pattern length. Combination (a) in Fig. 6 generates more material wastage and combination (b) results in more reel changes and setup costs. It is necessary to make a choice. Thus a critical length lc is found heuristically, that can be adjusted to influence the selection of the two combinations as follows. If lrk1 < lc is chosen as in combination (a), set lP k ¼ lP k þ lrk1 ¼ lBk and lrk ¼ 0. Otherwise combination (b) is chosen where lP k ¼ lP k and lrk ¼ lrk2 þ K þ S T . Thus we get lP k , lrk and Bk = {b1k, b2k, . . . , bNk} that satisfy constraints (4)–(7). Section 4.2 discusses the bounds on lc and how it is varied. In Diagram 1, we give the structure of the algorithm for the subproblem. The subroutine for deciding Pk and computing cr(Pk) for a given pattern length lP k will be described in the next section.
1880
X. Song et al. / European Journal of Operational Research 175 (2006) 1870–1889
3.2. Decide cutting pattern Pk A heuristic rule is proposed for deciding the number of times that the ordered sheet j should appear in cutting pattern Pk. This is influenced by two adjustable parameters rv and rh. Initially, rv and rh are set to zero. The bounds and methods of varying rv and rh are discussed in Section 4.2. Two further parameters are introduced indicating the two types of trim loss. One comes from the waste strip with width wrk , which is called vertical loss (see Fig. 7(a)). The other arises when a pattern Pk with length lP k is cut with output sheets shorter than lP k , which is called horizontal loss (see Fig. 7(b) and (c)). When K þ lP k > lkj > lP k (see Fig. 7(c)), the potential horizontal loss incurred is also included in the pattern cost C(Pk) as defined in Appendix A. Thus two adjustable parameters rv and rh are produced to restrict the trim loss in two dimensions. In order to minimize the vertical trim loss, the following minimization should be solved: ( ) X n a wj þ wr ¼ W rv ; ajk P 0; integer . wrk ¼ min wr j¼1 jk This is a classical 1D knapsack problem and can be solved to optimality with dynamic programming 8 wj 1; < 0; y ¼ 1; 2; . . . ; min j2J ð10Þ zðyÞ ¼ n : max ðzðy wi Þ þ wi ; y P wi Þ; y P min wj ; j2J
i¼1
where z(y) is the optimal value for any given width y. However, the optimal solution to the vertical trim loss problem most likely generates a poor solution to the horizontal trim loss problem. The adjustable parameter rh is given to restrict the horizontal trim loss within certain bounds. This only applies when j satisfies one of the following conditions: (1) lkj P lP k þ K rh , (2) lP k P lkj P lP k rh (see Fig. 7(b) and (c)). Thus the heuristic rule is given as follows: for each given width y, we find the ordered piece j with the equation: wj þ zðy wj Þ ¼ maxfwj þ zðy wj Þjlkj P lP k þ K rh or lP k P lkj P lP k rh g. ð11Þ j2J
Set y ¼ y wj and lkj ¼ lkj lP k , the cutting pattern Pk will be found by repeating this heuristic procedure until y < minj2J wj. Furthermore, to reduce the setup and reel change costs between two different cutting patterns Pk and Pk+1 within one packet Bk, we exchange the pattern length lP k in Eq. (11) for lBk in the condition that lrk ¼ lBk lP k P K. In this way, the ordered piece j found may appear not only in cutting pattern Pk but also in Pk+1 thus reduce the setup and reel change costs. Diagram 2 gives the subroutine for deciding Pk and the detail of this algorithm is shown in Appendix B. Different pattern lengths are found for different combinations of j (j 2 J) and h (h = 1, 2, . . .), and different cutting patterns are decided correspondingly. The associated pattern costs Cr(Pk) are compared and the smallest is selected as our final solution. Combining Diagram 1 with Diagram 2, we get the structure of the algorithm for solving the subproblem. l kj
Vertical loss rv + wr k
W
l kj
Horizontal loss rh
Horizontal loss
rh
W
W l Pk
l Pk
(a)
(b)
l Pk
K
(c)
Fig. 7. Trim loss in two directions (a) vertical loss, (b) horizontal loss incurred by ordered sheet j, (c) further horizontal loss incurred by ordered sheet j.
X. Song et al. / European Journal of Operational Research 175 (2006) 1870–1889
1881
Diagram 2. Subroutine to find pattern Pk for the given pattern length lP k .
4. Algorithms to solve general 1.5DCSP As we have introduced in Section 1, sequential heuristic procedure (SHP) is based on the idea that cutting patterns are generated and used sequentially until all the requirements are met. ‘‘The primary advantage of SHP is its ability to control factors other than trim loss and to eliminate rounding problems by working only with integer values. The major disadvantage is that it may generate a solution that has a greatly increased trim loss, because of the so-called ending conditions’’ (Haessler and Sweeney, 1991). Thus we first solve the general 1.5DCSP with the SHP algorithm. Then the SHP algorithm is modified by changing some of the adjustable parameters in the subproblem solution so that more combinatorial conditions can be found, namely the solution search space is enlarged. We call this approach an incomplete enumerative procedure. The two algorithms are given below. 4.1. SHP algorithm Fix the values of the adjustable parameters described in Section 3 such that S k ¼ S k0 , lc ¼ lc0 , rh ¼ rh0 and rv ¼ rv0 . Then the SHP algorithm generates an approximate solution to the general 1.5DCSP using the following procedure: 1. Compute the descriptors of the order requirements yet to be scheduled. Here the descriptors are the number of input sheets still to be cut and the cutting task V k ¼ flk1 ; lk2 ; . . . ; lkn g.
1882
X. Song et al. / European Journal of Operational Research 175 (2006) 1870–1889
2. Exhaustively search for the next cutting pattern Pk to be entered into the solution with the heuristic methods proposed in Section 3. Specially, if the packet length is larger than the pattern length, two cutting patterns Pk and Pk+1 should be decided at the same time within one packet so that the reel change cost can be defined exactly. 3. If the patterns are found, add these patterns to the solution. Reduce the order requirements and return to 1. 4. If no pattern is found, release the restriction to the horizontal trim loss by setting rh = rh + K/g and return to 2. Here g is the maximum number of iterations allowed from Steps 2–4. The algorithm described above has a relatively low computational complexity. For medium-sized industrial problems, the computation time is within one second on a PIII450 computer under Windows 2000 Professional. For very large problems containing over 50 types of input sheets and 20 types of output sheets with length requirement exceeding 100,000 m, it only needs several seconds. However, this algorithm gives a poor solution to the problem because of the greatly increased trim loss incurred from the ending condition. The structure of the SHP algorithm is given in Diagram 3. We now describe the iterative sequential heuristic procedure that produces better solutions than SHP algorithm while increasing computation time (Diagram 4).
Diagram 3. Structure of SHP algorithm to solve the general 1.5DCSP with fixed parameters.
X. Song et al. / European Journal of Operational Research 175 (2006) 1870–1889
1883
Diagram 4. Structure of ISHP algorithm to solve the general 1.5DCSP.
4.2. Iterative sequential heuristic Clearly one exact algorithm for finding the optimal solution to our 1.5DCSP is to enumerate all the feasible solutions and pick the one with the lowest unit cost. Unfortunately, the running time for this exhaustive search becomes prohibitively large even for instances of fairly small size. Branch and bound and dynamic programming are two implicitly enumerative algorithms, which incur high computational cost. Qn Simply to find the appropriate partitions of the lengths of the ordered sheets will cost Oð j¼1 vaj 1 Þ time, where aj = blj/Kc represents maximum partition numbers of length lj and v = maxi2I Li K is the length of the scope bK, maxi2I Lic, from which we can select an acceptable length of output sheet. Thus an iterative sequential heuristic procedure is proposed to search the feasible solutions in a profitable way, so that the computation time is greatly reduced and a satisfactory solution is found. The two basic parameters of this algorithm are restrictions to the vertical trim loss and the horizontal trim loss rv and rh. The varying scope of rv is from 0 to minj2J wj and the varying scope of rh is from 0 to K. Initially, we set the two parameters rv = rh = 0. Let k1 and k2 denote the number of times parameters rv and rh can be adjusted within their varying bounds, respectively. Then vary these two parameters in the SHP algorithm by first fixing rh and adding minj2J wj/k1 to rv, followed by fixing rh and adding K/k2 to rh. As a result, the combination condition of the solutions found with SHP algorithm is greatly changed and the solutions found are all near optimal. We can pick the one with the lowest unit cost as our final solution. The computational complexity of this procedure is only k1 Æ k2 times that of the SHP algorithm, which is
1884
X. Song et al. / European Journal of Operational Research 175 (2006) 1870–1889
analyzed in Section 4.3. The selection of k1, k2 depends on the available computing time. Obviously, the larger the value of k1 and k2, the more combinations condition can be enumerated and the better the final solution will be. Since this procedure takes SHP algorithm as a subroutine by varying the parameters in the SHP algorithm, we call it an iterative sequential heuristic procedure. There are also some other parameters of this algorithm, like SK and critical length lc (see Section 3.1), which are critical in deciding the pattern length lP k and packet length lBk . Their bounds are chosen to be [0, K/2]. We vary the values of these two parameters in the same way as rv and rh where k3 and k4 could be the number of times SK and lc vary. Then more efficient solutions could be enumerated and the final solution can be further improved. However, it is clear that the more parameters concerned, the more complex the algorithm will be. Users can chose the enumerative level by only varying two parameters rv and rh or varying all the parameters depending on the available computation time. Some computation results of this algorithm are given in Section 5. 4.3. Computational complexity analysis We solve the two 1D knapsack problems (8) and (9) with a hill climbing method in O(N3) time. The complexity for executing the dynamic programming-based algorithm in Section 3.2 is O(W Æ n) proved in the literature (Gilmore and Gomory, 1966). Let a = maxj2J aj, the computational complexity for solving the subproblem is O(max(m2 Æ a2 Æ N3, W Æ n)) according to the procedure given in Appendix B. The general computational complexity is k times that of the subproblem. We have k = l Æ k1 Æ k2 Æ k3 Æ k4, where l is the number of sequences in the SHP algorithm and k1, k2, k3, k4 are the numbers of steps that the parameters rv, rh, ST, lc take within their varying scope, respectively. In our algorithm, we take k1 = k2 = k3 = 8 and k4 = 2 or 3 according to the size of the problem.
5. Computational result We first test our algorithms on six real instances provided by our industrial partner (Section 5.1). This test shows that the solutions, which are provided by our algorithms in acceptable running time, improve the performance of our industrial partner about 10%. In order to evaluate the quality of the solutions provided by this algorithm, we also design a group of randomly generated instances and compare the solutions of real instances and randomly generated instances with their lower bounds (Section 5.2). Since the lower bound can be found only for problems without due date constraints, then the lower bound is not particularly tight. The algorithm is implemented in C++ under Windows 2000 Professional. All data is assumed to be integer. The computing times are given in seconds required on a PC PIII450. 5.1. Comparison with partner solutions Computational results are summarized in Table 2. The first four columns give the size of the real instances, in which Vm = {l1, l2, . . . , lm} is the set of the ordered sheets to be fully cut and eTm V m gives the total length of the ordered sheet with index j 6 m. The unit cost CU of the solution obtained by our partner is given in column Part. We have coded the iterative sequential heuristic procedure described in Section 4 in two enumerative levels, denoted as algorithm ISHP1 and algorithm ISHP2. In ISHP1, we allow two parameters, rv and rh, to vary and parameter SK and lc are fixed as S K ¼ 2kK3 , lc ¼ 2kK4 . Thus in algorithm ISHP1, k = l Æ k1 Æ k2. In algorithm ISHP2, we allow all the four parameters rv, rh, SK and lc to vary within their bounds. When each combination value of rv, rh, SK and lc generates a near optimal solution, we select the one with lowest unit cost as our final solution. Thus in ISHP2, k = l Æ k1 Æ k2 Æ k3 Æ k4. The comparison of
X. Song et al. / European Journal of Operational Research 175 (2006) 1870–1889
1885
Table 2 Computational results on real instances Ex.
1 2 3 4 5 6 Ave.
Input data
Part.
N
m
n
eTm V m
18 40 3 10 15 9 –
24 3 2 4 4 1 –
24 5 2 10 4 14 –
96,804 17,108 79,221 23,272 51,016 20,201 –
CU · 10 6.638 4.206 8.097 7.790 6.687 3.144 7.312
ISHP1 5
ISHP2 5
CU · 10
CPU (s)
Imp. (%)
CU · 105
CPU (s)
Imp. (%)
5.946 3.808 7.392 6.810 6.079 3.025 6.612
287 90 0.5 2 31 11 84.3
10.4 9.4 8.7 12.5 9.1 3.7 10.76
5.476 3.425 7.392 6.704 6.079 1.952 6.205
3626 1604 4 30 503 182 1189.8
17.5 16.2 8.7 13.9 9.1 35.4 20.16
the computation time in seconds (see column CPU (s)), unit cost CU (see column CU · 105) and the improve ratio of each solution from our partners (see column Imp. (%)) are given in column ISHP1 and ISHP2, respectively. In Table 2, the last row gives the average value of each column. We see that algorithm ISHP1 improves the solution of our industrial partner by about 10.76% on average and the improve ratio of ISHP2 is 20.16% on average. While we can also see that the computing time of ISHP2 is much more than that of algorithm ISHP1. These two algorithms can be used for different purposes. The algorithm ISHP2 can be run at night to build the work plan for the next day. The algorithm ISHP1 can be used by commercial agents to cope with instant requirement. 5.2. Comparison with lower bound We firstly use the input data from the real instances, as were considered, in Table 2 and compare the performance of our algorithms with the lower bound for the real instances. The computational results are summarized in Table 3. We also compare the solutions obtained by our algorithm with the lower bound for 14 randomly generated instances. The performance of our algorithms with respect to the lower bound for the randomly generated instances is summarized in Table 4. The input data are chosen from a uniform distribution as follows. For a given width of the input sheet W and a given number m of ordered sheets, the length of the input sheets and ordered sheets Li, lj and width of ordered sheets wj are in [1500, 2500], [1 Æ maxi2I Li, 5 Æ maxi2I Li] and [W/10, W/3], respectively. The supply quantities Di are in [1, 2m]. As we have introduced in Section 2.5, the lower bound is obtained under the assumption that due date constraints are relaxed and trim loss is the only criteria to be considered. That is, m = n and c2 = 0 are
Table 3 Computational results on simplified real instances Ex.
1* 2 3 4 5 6
Input data N
m
eTm V m
18 40 3 10 15 9
24 5 2 10 4 14
96,804 41,998 79,221 116,313 51,016 218,291
LB Pp
k¼1 lP k
ISHP1 Pp k¼1 lP k
8805 11,930 8209 35,270 25,508 35,057
9405 11,930 8571 35,270 25,585 36,028
CPU (s)
Dev. (%)
287 1120 0.5 98 31 90
6.8 0.0 4.4 0.0 0.3 2.7
ISHP2 Pp k¼1 lP k 9030 11,930 8568 35,270 25,508 35,925
CPU (s)
Dev. (%)
3626 18,130 4 1534 503 2809
2.5 0.0 4.3 0.0 0.0 2.4
1886
X. Song et al. / European Journal of Operational Research 175 (2006) 1870–1889
Table 4 Computational result on randomly generated instances Ex.
1 2 3 4* 5 6 7 8* 9 10 11 12 13 14
Input data N
m
eTm V m
10 10 13 10 10 12 16 8 10 15 14 10 22 15
5 5 5 5 8 8 8 8 10 10 10 10 20 20
82,099 41,670 28,221 19,301 60,360 61,987 46,306 29,723 96,579 91,836 127,585 77,579 190,288 144,940
LB Pp
k¼1 lP k
ISHP1 Pp k¼1 lP k
13,643 7461 5214 3280 10,906 8924 7854 5913 16,760 16,039 24,643 15,926 29,086 26,402
13,799 7658 5355 3542 11,135 9255 8271 6338 16,775 16,454 25,417 16,087 29,541 26,645
CPU (s)
Dev. (%)
20 10 6 2 18 33 33 3 45 83 185 27 1113 293
1.1 2.6 2.7 8.0 2.1 3.7 5.3 7.2 0.0 2.6 3.1 1.0 1.6 0.9
ISHP2 Pp k¼1 lP k 13,766 7515 5355 3542 10,996 9129 8059 6256 16,769 16,349 24,917 16,086 29,462 26,507
CPU (s)
Dev. (%)
163 61 50 30 126 263 255 22 326 654 1393 211 8422 2155
0.9 0.7 2.7 8.0 0.8 2.3 2.6 5.8 0.0 1.9 1.1 1.0 1.3 0.4
Pp assumed and P the objective function is transformed to min k¼1 lP k (see Section 2.6). Then we get the lower p bound LB ¼ k¼1 lP k of each instance in column LB by solving mathematical model M in Section optiP2.6 p mally. We also solve the simplified 1.5DCSP mathematical model (m = n, c2 = 0 and using min k¼1 lP k as the objective function) with algorithm ISHP1 and ISHP2 and compare the solutions with their corresponding lower of the computation time in seconds (see column CPU (s)), total pattern P bounds. The comparison P length pk¼1 lP k (see column pk¼1 lP k ) and the deviation ratio of each solution from the lower bounds (see column Dev. (%)) are given in column ISHP1 and ISHP2, respectively. Tables 3 and 4 show that ISHP2 provides better solutions than those from ISHP1, while the computation time of ISHP1 is less than ISHP2. However, the two algorithms both generate solutions with a small deviation from their lower bound. Note that the lower bound is found without considering constraints described in Sections 2.1–2.4. For example, given the minimum accepted length K, it is possible that pattern length lP k obtained in the final solution of lower bound is smaller than K, which breaks minimum length requirement in Section 2.1. Thus the lower bound is loose and may not accordingly test the effectiveness of our algorithms. Note also that solutions of ISHP1 and ISHP2 deviate highly from their lower bound in some instances, which are labeled with ‘‘*’’. However, we cannot say that solutions of the two instances are poor. We suggest that a tighter lower bound should be found.
6. Conclusion In this paper we propose an iterative sequential heuristic procedure for a real-life 1.5-dimensional cutting stock problem arising in a make-to-order plastic company. The essential feature of this algorithm is to allow four adjustable parameters vary in SHP procedures so that the solution search space is enlarged and ending conditions are eliminated. A new mathematical model for this multi-objective and multi-constraint problem is formulated and the four objective functions are analyzed in details. Some computational results show that the algorithm can provide solutions that balance the several objectives and greatly improved the solutions used by our industrial partner. However, there are still some theoretical work required such as worst-case analysis and tighter lower bounds with which we can evaluate the performance of the algorithms.
X. Song et al. / European Journal of Operational Research 175 (2006) 1870–1889
1887
Appendix A. Computation of costs Trim loss qðP k ; lP k Þ. Let qv ðP k ; lP k Þ and qh ðP k ; lP k Þ denote the vertical trim loss Pnand horizontal trim loss, respectively. We have qðP k ; lP k Þ ¼ qv ðP k ; lP k Þ þ qh ðP k ; lP k Þ ¼ wrk lP k þ j¼1 T ðajk lP k ; lkj Þ, where T ðajk lP k ; lkj Þ is the function, which returns the horizontal trim loss induced by ordered sheet of type j in cutting pattern Pk. Setup cost s(Pk). The setup cost is calculated as follows: let Pe = {P1, P2, . . . , Pz} be the set of existing cutting patterns with set size z. For each existing cutting pattern Pi 2 Pe, i 6 z, compute Fi = Comparepatterns (Pi, Pk). Let F = min{Fiji = 1, 2, . . . , z}. If F = 0, set s(Pk) = 0. If 0 < F Æ s < S, set s(Pk) = F Æ s. If F Æ s P S, set s(Pk) = S, P e ¼ P e [ P ki and z = z + 1. In the above procedure, function Comparepatterns(Pa, Pb) returns the number of times that the cutter knives on Pa should be changed to get cutting pattern Pb. Appendix B. Approximate solution to the subproblem The heuristic algorithm for deciding cutting pattern Pk is given as follows: Pn Initialization. Solve the minimizing problem wrk ¼ minfwr j j¼1 ajk wj þ wr ¼ W rv ; ajk P 0; integerg with dynamic programming equation (10) and store the optimal value z(y) for each given width y, 0 6 y 6 W. Step 1. Decide lP k , lBk and Bk for the given ordered sheet ~j ð~j 6 mÞ and ~hð~h ¼ 1; 2; . . .Þ. Set Pk = {a1k, a2k, . . . , ank} = {0}. Let P k ¼ f a1k ; a2k ; . . . ; ank gP denotes the fixed part of the cutting pattern Pk. Set P kþ1 ¼ f0g. Set y ¼ W rv ~h w~j nj¼1 ajk wj , a~jk ¼ a~jk þ ~h and ajk ¼ ajk þ ajk ðj ¼ 1; 2; . . . ; nÞ. Go to Step 2. Step 2. If lBk ¼ lP k and y P minj2J wj, find the ordered piece j with Eq. (11): wj þ zðy wj Þ ¼ maxfwj þ zðy wj Þjlkj P lP k þ K rh or lP k P lkj P lP k rh g. j2J
Set y ¼ y wj , ajk ¼ ajk þ 1 and lkj ¼ lkj lP k . Go to Step 2. If j cannot be found and y P minj2J wj, set rh = rh + K/g. If rh < K go to Step 2, else go to Step 3. If y < minj2J wj, go to Step 3. Step 3. Different cutting patterns are found for different combinations of j (j 2 J) and h (h = 1, 2, . . .). Compare the patterns with their relative pattern cost Cr(Pk) and select the one with minimum Cr(Pk) as our final solution. If lBk lP k K, Step 2 should be exchanged for Step 2 0 and Step 200 as follows: Step 2 0 . If lBk lP k P K and y P minj2J wj, find the ordered piece j with Eq. (11 0 ): wj þ zðy wj Þ ¼ maxfwj þ zðy wj Þjlkj P lBk þ K rh or lBk P lkj P lBk rh g. j2J
0
ð11 Þ
Set y ¼ y wj , ajk ¼ ajk þ 1 and lkj ¼ lkj lBk (*). If lBk in Eq. (11 0 ) and (*) has not been exchanged for lP k , set ajkþ1 ¼ ajkþ1 þ 1. Go to Step 2 0 . If j cannot be found and y P minj2J wj, exchange lBk in Eq. (11 0 ) and (*) for lP k go to Step 2. If j cannot be found, y P minj2J wj and the lBk in Eq. (11 0 ) and (*) has been exchanged for lP k , set rh = rh + K/g. If p2 < K go to Step 2, else go to Step 200 . If y < minj2J wj, go to Step 200 . 00 Step 2 . Set N = N + 1, LN ¼ lrk1 and DN = 1. Compute cutting pattern Pk+1 with procedure Steps 1–3. Go to Step 3. We see that in the condition that lBk lP k P K, two cutting patterns Pk and Pk+1 will be found in one sequence.
1888
X. Song et al. / European Journal of Operational Research 175 (2006) 1870–1889
References Antonio, J., Chauvet, F., Chu, C., Proth, J.M., 1999. The cutting stock problem with mixed objectives: Two heuristics based on dynamic programming. European Journal of Operational Research 114, 395–402. Belov, G., Scheithauer, G., 2003. Setup and open stacks minimization in one-dimensional stock cutting. Available from:
. Coverdale, I., Wharton, F., 1976. An improved heuristic procedure for a nonlinear cutting stock problem. Management Science 23, 78– 86. Chu, C.B., Antonio, J., 1999. Approximation algorithms to solve real-life multicriteria cutting stock problems. Operations Research 47 (4), 495–508. de Carvalho, J.M.V.V., Rodrigues, A.J.G., 1995. An LP-based approach to a two-stage cutting stock problem. European Journal of Operational Research 84, 580–589. Diegel, A., Montocchio, E., Schalkwyk, S., 1996. Setup minimizing conditions in the trim loss problem. European Journal of Operational Research 95, 631–640. Dowsland, K., 1993. Some experiments with simulated annealing techniques for packing problems. European Journal of Operational Research 68, 389–399. Dowsland, K.A., Dowsland, W.B., 1992. Packing problems. European Journal of Operational Research 56, 2–14. Dyckhoff, H., 1981. A new linear programming approach to the cutting stock problem. Operations Research 29, 1092–1104. Dyckhoff, H., 1990. A typology of cutting and packing problems. European Journal of Operational Research 44, 145–159. Faero, O., Pisinger, D., Zachariasen, M., 2003. Guided local search for the three-dimensional bin packing problem. INFORMS Journal on Computing 15, 267–283. Gilmore, P.C., Gomory, R.E., 1961. A linear programming approach to the cutting-stock problem. Operations Research 9, 849–859. Gilmore, P.C., Gomory, R.E., 1963. A linear programming approach to the cutting-stock problem, Part II. Operations Research 11, 863–888. Gilmore, P.C., Gomory, R.E., 1965. Multistage cutting stock problems of two and more dimensions. Operations Research 13, 94– 120. Gilmore, P.C., Gomory, R.E., 1966. The theory and computation of knapsack functions. Operations Research 14, 1045–1074. Goulimis, C., 1990. Optimal solutions for the cutting stock problem. European Journal of Operational Research 44 (2), 197–208. Gradisˇar, M., Kljajic´, M., Resinovicˇ, G., Jesenko, J., 1999. A sequential heuristic procedure for one-dimensional cutting. European Journal of Operational Research 114, 557–568. Haessler, R.W., 1971. A heuristic solution to a nonlinear cutting stock problem. Management Science 17, B793–B803. Haessler, R.W., 1975. Controlling cutting pattern changes in one-dimensional trim problems. Operations Research 23, 483–493. Haessler, R.W., 1980. A note on some computational modifications to the Gilmore–Gomory cutting stock algorithm. Operations Research 28, 1001–1005. Haessler, R.W., Sweeney, P.E., 1991. Cutting stock problems and solution procedures. European Journal of Operational Research 54, 141–150. Hendry, L.C., Fok, K.K., Shek, K.W., 1996. Cutting stock and scheduling problem in the copper industry. Journal of the Operational Research Society 47, 38–47. Jakobs, S., 1996. On genetic algorithm for the packing of polygons. European Journal of Operational Research 88, 165–181. Johnson, G.M.R., 1979. Computers and Interactability: A Guide to the Theory of NP-Completeness. W.H. Freeman and Company, San Francisco. Lodi, A., Martello, S., Vigo, D., 1998. Neighborhood search algorithm for the guillotine non-oriented two-dimensional bin packing problem. In: Voss, S., Martello, S., Osman, I.H., Roucairol, C. (Eds.), Meta-Heuristics: Advances and Trends in Local Search Paradigms for Optimization. Kluwer Academic Publishers, Boston, pp. 125–139. Lodi, A., Martello, S., Vigo, D., 1999a. Approximation algorithms for the oriented two-dimensional bin packing problem. European Journal of Operational Research 112, 158–166. Lodi, A., Martello, S., Vigo, D., 1999b. Heuristic and metaheuristic approaches for a class of two-dimensional bin packing problems. INFORMS Journal on Computing 11, 345–357. Lodi, A., Martello, S., Monaci, M., 2002. Two-dimensional packing problems: A survey. European Journal of Operational Research 141 (2), 241–252. McDiarmid, C., 1999. Pattern minimisation in cutting stock problems. Discrete Applied Mathematics 98 (1–2), 121–130. Nonas, S.L., Thorstenson, A., 2000. A combined cutting-stock and lot-sizing problem. European Journal of Operational Research 120 (2), 327–342. Richard, V., 1996. Random search in the one-dimensional cutting stock problem. European Journal of Operational Research 95 (1), 191–200. Sinuany-Stern, Z., Weiner, I., 1994. The one dimensional cutting stock problem using two objectives. Journal of the Operational Research Society 45 (2), 231–236.
X. Song et al. / European Journal of Operational Research 175 (2006) 1870–1889
1889
Sweeney, P.E., Haessler, R.W., 1990. One-dimensional cutting stock decisions for rolls with multiple quality grades. European Journal of Operational Research 44 (2), 224–231. Washer, G., 1990. An LP-based approach to cutting stock problems with multiple objectives. European Journal of Operational Research 44, 175–184. Zak, E.J., 2002. Row and column generation technique for a multistage cutting stock problem. Computers & Operations Research 29 (9), 1143–1156.