An improved best-first branch and bound algorithm for the pallet-loading problem using a staircase structure

An improved best-first branch and bound algorithm for the pallet-loading problem using a staircase structure

Expert Systems with Applications 42 (2015) 7676–7683 Contents lists available at ScienceDirect Expert Systems with Applications journal homepage: ww...

1MB Sizes 5 Downloads 115 Views

Expert Systems with Applications 42 (2015) 7676–7683

Contents lists available at ScienceDirect

Expert Systems with Applications journal homepage: www.elsevier.com/locate/eswa

An improved best-first branch and bound algorithm for the pallet-loading problem using a staircase structure S. Ahn a,1, C. Park b,1, K. Yoon a,⇑ a b

Department of Industrial and Management Engineering, Hanyang Univ., ERICA Campus, 55 Hanyangdaehak-ro, Sangnok-gu, Ansan, Gyeonggi-do 426-791, South Korea Department of Mechanical Engineering, Hanyang Univ., ERICA Campus, 55 Hanyangdaehak-ro, Sangnok-gu, Ansan, Gyeonggi-do 426-791, South Korea

a r t i c l e

i n f o

Article history: Available online 29 May 2015 Keywords: Packing Combinatorial optimization Pallet loading problem Branch and bound

a b s t r a c t This study concerns the pallet-loading problem (PLP), which requires maximizing the number of identical boxes loaded on a large rectangular pallet. The proposed algorithm generates layouts of a specific structure, known as the staircase structure that is very efficient due to its geometrical properties for removing unnecessary patterns and obtaining upper and lower bounds corresponding to the patterns. Efficient methods to remove the dominated and duplicated patterns in the staircase structure are proposed. We then apply these methods to the best-first branch and bound algorithm. Computational results demonstrated the superiority of the proposed algorithm compared with other existing exact algorithms. Ó 2015 Elsevier Ltd. All rights reserved.

1. Introduction The pallet-loading problem (PLP), which is a typical combinatorial optimization problem, seeks to find a way of loading the maximum number of identical boxes on a single rectangular pallet. Boxes loaded on a pallet should be generally be orthogonal and not overlap. The PLP has been the subject of many studies because pallet utilization has a direct influence on distribution or storage costs related to logistics management. The PLP is purported to be NP-hard because no exact algorithm with polynomial complexity has ever been developed; however, this has not yet been proved (Letchford & Amaral, 2001; Scheithauer & Terno, 1996). Many block heuristics have been developed, including G4- or G5-structure-based heuristics (Lim, Ma, Xu, & Zhang, 2012; Scheithauer & Terno, 1996), five-block-based heuristics for a large-scale PLP (G & Kang, 2001), and the high-order non-guillotine (HONG) approach (Martins & Dell, 2008), which considers more than a five-block structure (Martins & Dell, 2008). Even though block heuristics can solve most instances to optimality, there are still some examples of more complex structures for which the optimal solutions cannot be found using general block heuristics. Lins, Lins, and Moraboto (2003) and Birgin, Lobato, and Morabito (2010) proposed a recursive approach using

⇑ Corresponding author. Tel.: +82 31 400 5267; fax: +82 31 436 8146. E-mail addresses: [email protected] (S. Ahn), [email protected] (C. Park), [email protected], [email protected] (K. Yoon). 1 Tel.: +82 31 400 5267. http://dx.doi.org/10.1016/j.eswa.2015.05.045 0957-4174/Ó 2015 Elsevier Ltd. All rights reserved.

an L-shaped structure. They conjectured that their algorithm was optimal because it always found optimal solutions for all test problems; however, this has not been proved. Even though exact algorithms can deal with more complex structures, they usually have longer computational times. Beasley (1985) proposed an exact algorithm using a 0–1 mathematical model, Dowsland (1987) solved the PLP using graph theory, Bhattacharya, Roy, and Bhattacharya (1998) proposed the maximal breadth filling sequence depth-first algorithm, and Alvarez-Valdes, Parreno, and Tamarit (2005) proposed a branch-and-cut algorithm, and Lau et al. (2009) proposed a hybrid approach for the multi-pallet loading operations. Martins and Dell (2007) reported the set of all PLP instances with an area ratio (pallet area divided by box area) of less than 101 boxes, which is represented by 3,080,730 classes. Martins and Dell (2008) proposed an exact algorithm using HVZ coding (H, V, Z represent horizontal box, vertical box and zero, respectively. G and Jin (2009) proposed a best-first branch and bound algorithm using a staircase structure. A staircase structure is very efficient due to its geometric properties for removing unnecessary patterns and obtaining upper and lower bounds corresponding to the pattern. We also used a staircase structure. In this paper, we propose an improved version of G and Jin’s (2009) best-first branch and bound algorithm. Efficient methods of removing dominated (unpromising) and duplicated patterns are proposed. Then these methods are applied to G and Jin’s (2009) best-first branch and bound algorithm. Computational results indicate that the algorithm is very efficient compared with existing exact algorithms, Martins and Dell

7677

S. Ahn et al. / Expert Systems with Applications 42 (2015) 7676–7683

(2008), which have been identified as one of the best exact algorithm (Silva, Oliveira, & Wäsche, 2014) and G and Jin (2009), which the proposed algorithm is based on. On some instances, the proposed algorithm is faster than Birgin et al.’s (2010) algorithm which is considered as one of the state-of the art heuristic algorithm (Silva et al., 2014). This paper is organized as follows. Section 2 introduces the G and Jin’s (2009) best-first branch and bound algorithm using a stair-case structure which the proposed algorithm is based on. Section 3 explains the proposed algorithm which is the main topic of the present study. The efficient methods of removing dominated and duplicated patterns are described. Section 4 demonstrates the computational experiments and includes an analysis of the experimental results. Section 5 presents the conclusions.

(x, y)

y

(0, 0)

x Fig. 1. Box location.

2. Best-first branch and bound using a staircase In this paper, (L, W, l, w) denotes the PLP instance where L and W are the length and width of the pallet, respectively, and l and w are the length and width of the box. Without loss of generality, we may assume that L, W, l, and w are positive integers that satisfy the following inequality:

L P W P l P w:

ð1Þ

A normalized pattern is a pattern in which no boxes in the pattern can move to the left or downwards (Christofides & Whitlock, 1977). We can obtain an optimal loading pattern by considering only normalized patterns because any optimal pattern can be normalized by some movement of the boxes in the pattern. Martello, Pisinger, and Vigo (2000) first proposed a searching strategy for the three-dimensional bin-packing problem by using a staircase structure. This method is very efficient because it prevents unnecessary searching by excluding many unnormalized patterns. Our proposed algorithm also uses this searching strategy. We used the x–y coordinate system to describe the location of a box on a pallet (see Fig. 1). The origin of the system coincides with the bottom-left corner of the pallet, and the location of the box is represented by (x, y) corresponding to the coordinate of the bottom-left corner of the box (Chan, Bhagwat, Kumar, Tiwari, & Lam, 2006). The box must be placed orthogonally and only 90° rotations are allowed (Kun, Yan, & Wenqi, 2013). Two loading directions are possible. If the box is loaded such that its vertical length is not greater than its horizontal length, then the box is called a horizontal box (H-box). Otherwise, the box is a vertical box (V-box). In a staircase structure, the boundary between a pattern and non-pattern area forms a monotone (right-down) staircase (Kenmochi, Imamichi, Nonobe, & Yagiura, 2009). Fig. 2 shows an example of a staircase structure. The pattern in Fig. 2(b) is based on the V-box in position (0, w) shown in Fig. 2(a). Three loading positions for the next box are then possible: (0, w + l), (w, w), and (l, 0). Let C S ¼ fðxi ; yi Þji ¼ 1; 2; . . . ; mg be the set of candidate positions of a staircase S. A staircase satisfies Eqs. (2) and (3) for all candidates in CS. Additionally, any staircase S can be represented by CS.

x1 < x2 <    < xm

ð2Þ

y1 > y2 >    > ym

ð3Þ

The loading pattern in Fig. 2(c) follows from the H-box placed in position (w, w) in Fig. 2(b). This leads to three new candidate positions: (0, w + l), (w, 2w), and (l, 0). However, (l, 0) should be removed from the candidate set and replaced by (w + l, 0) to maintain the staircase. Note that the greyed region means the wasted area.

G and Jin (2009) proposed a best-first branch and bound algorithm using a staircase structure. They used G and Kang’s (2002) approach to obtain the upper bound for a pattern with a staircase structure. They divided the unoccupied region into horizontal strips of width 1 (see Fig. 3). Let Lj be the length of a horizontal strip located j away from the bottom edge of the pallet and Hj be the maximum length of the horizontal strip which can be placed in the jth row. Hj can be obtained by solving a knapsack problem that finds a combination of the length and width of a box with respect to Lj. Then, they calculated the upper bound H for the unoccupied region as the sum of the values of the strips. Hj and H can be calculated using Eqs. (4) and (5), respectively.

Hj ¼ maxfml þ nwjml þ nw 6 Lj ; m and n are non-negative integerg ð4Þ $PW1 H¼

j¼0

Hj

%

lw

ð5Þ

The upper bound V for the unoccupied area using vertical strips can be obtained in a similar manner using Eq. (6). The lesser of H and V is the new upper bound for the region.

$PL1 % j¼0 V j V¼ lw

ð6Þ

To obtain the lower bound of a pattern, G and Jin (2009) divided the unoccupied region of a staircase with m candidate positions into m rectangular regions (see Fig. 4), and then applied the hollow block heuristic (Martins & Dell, 2008) to each rectangular region. Because any loading pattern can be represented as a staircase structure, this lower bound can find the solution to a complicated pattern during the algorithm procedure. Fig. 5 shows the pseudocode for G and Jin’s (2009) best-first branch and bound algorithm, where L is a leaf node set, E is a branched node set, Nlb is the best solution so far, and l(S) and u(S) are the lower and upper bounds of node S, respectively. The initial node is S0, which has the only one candidate position (0, 0). S⁄ is the node with the highest upper bound in L. G and Jin’s (2009) algorithm using a staircase structure does not need to search many unnormalized patterns and uses efficient upper and lower bounds. Our approach improves on that algorithm by adding efficient branching strategies. 3. Proposed algorithm 3.1. Dominated pattern The node (loading pattern) is a dominated pattern if the optimal solution does not change when the node is not considered. Pruning

7678

S. Ahn et al. / Expert Systems with Applications 42 (2015) 7676–7683

(0, w+l)

(0, w+l) (w, 2w) V-box

V-box H-box

(w, w)

(0, w) H-box (0, 0)

H-box (l, 0)

(0, 0)

H-box (l, 0)

(a)

waste

(0, 0)

(w+l, 0)

(b)

(c)

Fig. 2. Staircase structure.

Lj 1

j

(0, 0)

(0, 0)

(b)

(a)

Fig. 3. Upper bound for a staircase structure according to G and Jin (2009).

1

1

2 2

m=3

m=3

Fig. 4. Lower bound for a staircase structure according to G and Jin (2009).

dominated patterns not only removes their nodes, but also removes many nodes that would branch from those nodes. For given staircase patterns S and T, G and Jin (2009) defined S as a dominated pattern if the number of boxes loaded in S is not greater than that of T and the region of S covers that of T. That is, S is dominated by T if S and T satisfy the inequalities in Eqs. (7) and (8), where N(S) is the number of boxes loaded in S and R(S) is the region of S used for loading.

NðSÞ 6 NðTÞ

ð7Þ

Kang and Yoon (2011) extended the dominated pattern concept for the unconstrained cutting problem by considering the complementary area of a pattern. They were able to remove more dominated patterns using this concept. Their method can be successfully applied to the PLP staircase pattern. Using this concept, we can find such dominated patterns that do not cover the region of a corresponding dominating pattern. Eq. (9) can be revised to Eq. (10) by applying Kang and Yoon’s method, where S(L) is the maximum value of the linear combination of the length and width of a box not exceeding L.

RðSÞ P RðTÞ

ð8Þ

SðW  yi Þ P SðW  yj Þ if SðL  xi Þ 6 SðL  xj Þ for all i; j

Eq. (9) must be satisfied for S and T to satisfy Eq. (8) where the candidate sets of S and T are C S ¼ fðxi ; yi Þji ¼ 1; 2; . . . ; ng and C T ¼ fðxj ; yj Þjj ¼ 1; 2; . . . ; mg, respectively (see Fig. 6).

yj 6 yi

if xj P xi for all i; j

ð9Þ

SðLÞ ¼ max

( n X

n X

i¼1

i¼1

ali þ bwi :

ð10Þ

ali þ bwi 6 L;

a; b are non-negative integer

 ð11Þ

S. Ahn et al. / Expert Systems with Applications 42 (2015) 7676–7683

7679

this will enhance the performance of the algorithm. That is, if a lastly loaded box generates wasted area and this area can be used to place another box, the pattern can be removed since it will generated unnormalized pattern in the later step. Let the candidate sets of S be CS, the coordinates of the top-left corner of a newly loaded box be (xleft, ytop), and those of the bottom-right corner be (xright, ybottom). If a candidate position (xi, yi) that satisfy Eq. (14) or (15) exists, then the resulting node generated by placing a box on (xi, yi) can be removed. Similarly, if Eq. (16) or Eq. (17) holds, then the pattern can be removed.

xleft  xi P w; yi < ytop ; W  yi P l

ð14Þ

xleft  xi P l; yi < ytop ; W  yi P w

ð15Þ

ybottom  yi P w; xi < xright ; L  xi P l

ð16Þ

ybottom  yi P l; xi < xright ; L  xi P w

ð17Þ

where

Fig. 5. Pseudocode of G and Jin’s (2009) algorithm.

C S ¼ fðxi ; yi Þji ¼ 1; 2; . . . ; mg However, comparing the newly generated pattern S with all patterns in the closed set to check whether S is dominated requires too much computational effort. Thus, in this study, only some patterns that have a greater possibility of dominating S are compared with S. Let Area(S) be the area of S including the area of the wasted region. If S is dominated by T, the region of S should cover that of T, and T must satisfy Eq. (10). At the same time, the number of loaded boxes in S should be not greater than that of T. Therefore, the more that Area(S) exceeds the size of Area(T), the less the possibility that Eq. (12) holds. To check the dominance more efficiently, we add the additional constraint of Eq. (13) to choose patterns to be compared. Whenever a pattern S is constructed, T satisfying Eq. (13) is compared to S. If S and T satisfy Eqs. (10) and (12), then S is removed because S is dominated by T. The bound lw is reasonable because lw is the area of a box.

NðTÞ P NðSÞ; T 2 closed set

ð12Þ

AreaðSÞ  AreaðTÞ 6 lw

ð13Þ

Using the staircase structure can remove many, but not all, of the unnormalized patterns. Consider the PLP (L, W, l, w) in Fig. 7. If pattern S in Fig. 7(a) is constructed by placing an H-box in one of the candidate positions (w, w), region W is fixed as a waste region according to the definition of the staircase structure; the number in each box indicates the loading order. Some patterns branched from S are not normalized and are dominated by other normalized patterns (i.e., patterns in Fig. 8 are dominated by patterns in Fig. 9). Furthermore, S in Fig. 7(a) is dominated by the pattern T in Fig. 7(b). Thus, pattern S in Fig. 7(a) can be removed, and

S

S

T

T (a) S covers T

(b) S does not cover T Fig. 6. Staircases S and T.

ð18Þ

3.2. Duplicate pattern The same patterns with exactly the same size and combination can be generated from several different paths during the algorithm procedure. Because these patterns will have the same child nodes, they can be removed to enhance algorithm performance. In Fig. 10, S6 and S7 can be removed because they are exactly same with S4 and S5. Additionally, other child nodes of S2 and S3 can be also generated from S1. Thus, S2 and S3 can be removed. Let (xi, yi) be the candidate position to be branched at the current node S. Node S2 and S3 in Fig. 10 are constructed from S by placing a box in (x2, y2) and (x3, y3), respectively. In this case, Eqs. (19) and (20) hold.

xi P x1 þ l ði > 1Þ

ð19Þ

y1 P yi þ w ði > 1Þ

ð20Þ

However, Eq. (20) need not be considered. Node S2 in Fig. 11 satisfy only Eq. (19), however, S2 is removed by Eq. (14) or Eq. (15). On the contrary, Eq. (19) must be satisfied. In Fig. 12, S2 cannot be removed because S2 have different child nodes from S1. In this case, S2 satisfy only Eq. (20). By taking these cases into account, the node generated by placing a box on (xi, yi) can be removed if Eq. (19) is satisfied. 4. Computational results and analysis This section compares the computational results obtained using the following algorithms: the proposed algorithm, G and Jin’s (2009) algorithm (GJ), Pureza and Morabito’s (2006) tabu search algorithm (TS), Birgin et al.’s (2010) recursive partitioning algorithm (RP) and Martins and Dell’s (2008) HVZ algorithm. All algorithms except for TS and RP are exact algorithms. Even though RP is not exact, it is very efficient and may be optimal. The proposed algorithm and GJ were coded in C++ and tested on a 32-bit computer with an Intel I5-750 CPU, 3 GB of memory, and the Windows 7 operating system. Previously published results obtained on other different computer environments were used for the other algorithms. We used the PassMark Software CPU benchmark to convert the computing time of the algorithms so we could compare them as shown in Table 4.1. The larger the benchmark result in the third column, the better the CPU performance. The rate in the fourth column is the converted computing

7680

S. Ahn et al. / Expert Systems with Applications 42 (2015) 7676–7683

(xi, yi)

(xleft, ytop) waste new box

1

(xright, ybottom)

1 2

2

(a)

(b) Fig. 7. Staircase S and dominating staircase T.

4 4 waste

waste 3

3 1

1 2

2

(a)

(b)

Fig. 8. Unnormalized patterns obtained from the pattern in Fig. 7(a).

(a)

(b) Fig. 9. Normalized patterns dominating patterns in Fig. 8.

time normalized to the computing environment used in this study. For example, the computing time of the experimental environment for HVZ is 22 times slower than that of the proposed algorithm. Thus, 22 s for HVZ using the Pentium 3 CPU can be converted to 1 s on the i5-750 CPU used in this study. The test problems were divided into five groups consisting of:     

the the the the the

17 21 17 15 10

problems in G and Kang (2001), problems in Pureza and Morabito (2006), problems in Martins and Dell (2008), large-scale problems in Birgin et al. (2010), and CoverIIIB problems in Birgin et al. (2010).

The results from each group are listed in Tables 4.2–4.6. The computing times in the tables are adjusted times using the benchmark results shown in Table 4.1.

Table 4.2 shows compares the results obtained using the proposed algorithm and GJ. The proposed algorithm was as fast as or faster than GJ. However, the problems in this group had fewer than 50 optimal solutions except for problem 17. Therefore, they could be easily solved and the computing times were too short to demonstrate the efficiency of the proposed algorithm. Table 4.3 shows the results for the 21 problems in the second group that were used by Pureza and Morabito (2006). The proposed algorithm was compared with GJ and TS for this group. TS could not find solutions to problems 18, 20, or 21 that were better than the initial solution, and consequently it could not find the optimal solutions to problems 18–21 (for problem 19, TS improved the initial solution but the solution was not optimal). The proposed algorithm, however, did find optimum solutions to these four problems in a reasonable amount of time. However, the proposed algorithm and GJ could not solve problem 10 because of lack of

7681

S. Ahn et al. / Expert Systems with Applications 42 (2015) 7676–7683

S : Candidate point

(x1, y1) (x2, y2)

N

(x3, y3)

S1

N

: Newly loaded box

S2

S3

N N

S4

N

S5

N

N

S6

N

S7

N

N N

N Fig. 10. Removing duplicated patterns.

S (x1, y1)

(x2, y2)

: Candidate point N

Table 4.6 shows the results for the 10 CoverIIIB problems that were used in Birgin et al. (2010). CoverIIIB is the set of equivalence classes of instances satisfying Eq. (21). The problems of CoverIIIB are known to be difficult to solve, and to our knowledge, no exact algorithms deal with problems of this class.

: Newly loaded box

16

S1

S2 N

N

S3

L l LW 6 2; 1 6 6 4 and 101 6 6 151 W w lw

ð21Þ

The proposed algorithm could not solve 2 problems out of 10. However, it reduced the computing time by up to 98% compared to GJ. The lower bound corresponding to each node could be calculated efficiently using the staircase approach. Because any loading pattern can be represented by a staircase structure, solutions to complicated patterns were obtained during the algorithm procedure by calculating the lower bound using the hollow block heuristic with the staircase. The algorithm could be terminated quickly when an optimal solution was obtained via the lower bound at

S4 S

N N

(x1, y1) (x2, y2)

: Candidate point N

Fig. 11. S2 can be removed.

memory. The proposed algorithm reduced the computing time by up to 83% compared to GJ. Furthermore, for 19 out of the 21 problems, the proposed algorithm was as fast as or faster than TS, which is a heuristic algorithm. Table 4.4 shows the results for the 17 problems in the third group that were used by Martins and Dell (2008). The proposed algorithm was compared with GJ and HVZ for this group. The proposed algorithm solved two problems (problems 4 and 12) in 0.5 s, while HVZ required more than 100 s. Additionally, the proposed algorithm solved problems 13–17 93% faster than GJ; these same problems could not be solved by HVZ. Table 4.5 shows the results for the 15 large-scale problems in the fourth group that were used by Birgin et al. (2010). The proposed algorithm was compared with RP and GJ for this group. The proposed algorithm could not solve problem 10; however, it was as fast as or faster than RP for 11 problems out of 15.

S1

S2

N

N

S3

S4

N

N

Fig. 12. S2 cannot be removed.

: Newly loaded box

7682

S. Ahn et al. / Expert Systems with Applications 42 (2015) 7676–7683

Table 4.1 PassMark CPU benchmark results.

Table 4.4 Computational results for group 3.

Literature/algorithm

CPU

Benchmark result

Rate

Martins and Dell (2008)/HVZ Pureza and Morabito (2006)/TS Birgin et al. (2010)/RP G and Jin (2009)/GJ Proposed algorithm

Pentium 3 AMD Athlon XP 2600+ Core2 Quad Q6600 i5-750 2.67 MHz i5-750 2.67 MHz

194 444 2982 4277 4277

22.04 9.63 1.43 1.00 1.00

No (L, W, l, w)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Table 4.2 Computational results for group 1.

a

No

(L, W, l, w)

Number of boxes

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

(1000, 1000, 205, 159) (1000, 1000, 200, 150) (22, 16, 5, 3) (30, 22, 7, 4) (46, 34, 11, 6) (50, 36, 11, 7) (14, 10, 3, 2) (53, 51, 9, 7) (63, 60, 11, 8) (76, 73, 13, 10) (86, 82, 15, 11) (3750, 3063, 646, 375) (40, 33, 7, 4) (1200, 800, 176, 135) (34, 23, 5, 4) (57, 44, 12, 5) (87, 47, 7, 6)

30 33 23 23 23 23 23 42 42 42 42 46 46 38 38 41 97

Computing time (s) GJ

Proposed

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.35 0.35 0.06 0.06 0.00 1.42

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.22 0.21 0.02 0.02 0.00 0.31

Dev.a (%)

– – – – – – – – – – – 37.1 40.0 66.7 66.7 – 78.2

a

Number of boxes

Computing time (s) TS

GJ

Proposed

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

(22, 16, 5, 3) (57, 44, 12, 5) (86, 82, 15, 11) (42, 39, 9, 4) (124, 81, 21, 10) (40, 25, 7, 3) (52, 33, 9, 4) (56, 52, 12, 5) (87, 47, 7, 6) (67, 44, 6, 5) (43, 26, 7, 3) (63, 44, 8, 5) (61, 35, 10, 3) (61, 38, 6, 5) (61, 38, 10, 3) (93, 46, 13, 4) (141, 71, 13, 8) (106, 59, 13, 5) (74, 46, 7, 5) (86, 52, 9, 5) (108, 65, 10, 7)

23 41 42 45 47 47 47 48 97 97 53 69 71 77 77 82 96 96 97 99 100

0.00 0.02 0.01 0.02 0.14 0.13 0.05 0.62 3.86 0.13 0.29 0.88 23.54 0.09 2.15 51.57 16.64 N/A 0.01b N/A N/A

0.00 0.00 0.00 0.09 0.00 0.00 0.00 0.03 1.42  0.08 0.13 0.11 0.21 1.02 0.61 0.12 15.93 32.41 157.27 18.03

0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.01 0.31  0.03 0.05 0.05 0.04 0.57 0.15 0.05 8.71 7.17 26.46 3.27

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Dev.a (%)

– – – 77.8 – – – 66.7 78.2 – 62.5 61.5 54.5 81.0 44.1 75.4 58.3 45.3 77.9 83.2 81.9

N/A: not available in the literature. : could not solve because of lack of memory. a Percentage gain versus GJ. b TS could not find the optimal solution.

HVZ

GJ

Proposed

0.00 0.00 0.01 185.64 0.00 0.02 0.04 0.01 0.02 0.00 0.11 101.96 N/A N/A N/A N/A N/A

0.00 0.00 0.08 1.42 0.00 0.09 0.00 0.00 0.00 0.00 0.03 0.00 32.41 157.27 142.50 10.31 0.823

0.00 0.00 0.01 0.31 0.01 0.01 0.00 0.00 0.00 0.00 0.00 0.00 7.17 26.46 9.65 5.86 0.24

– – 87.5 78.2 – 88.9 – – – – 100.0 – 77.9 83.2 93.2 43.2 70.8

Percentage gain versus GJ.

No

Table 4.3 Computational results for group 2. (L, W, l, w)

(22, 16, 5, 3) 23 (23, 22, 4, 3) 42 (43, 26, 7, 3) 53 (87, 47, 7, 6) 97 (109, 71, 17, 5) 90 (42, 39, 9, 4) 45 (64, 41, 11, 5) 47 (40, 25, 7, 3) 47 (52, 33, 9, 4) 47 (57, 44, 12, 5) 41 (56, 52, 12, 5) 48 (127, 85, 9, 8) 149 (74, 46, 7, 5) 97 (86, 52, 9, 5) 99 (95, 92, 11, 8) 99 (172, 66, 19, 7) 85 (178, 60, 16, 7) 95

Table 4.5 Computational results for group 4.

Percentage gain versus GJ.

No

Dev.a (%)

Number of boxes Computing time (s)

(L, W, l, w)

(2296, (2536, (2252, (1470, (2296, (1804, (2466, (1804, (2426, (2530, (2560, (2625, (1838, (2100, (1600,

1230, 136, 94) 1312, 144, 84) 1470, 144, 84) 1458, 144, 84) 1230, 135, 92) 1230, 137, 95) 1230, 137, 95) 1750, 137, 95) 1230, 137, 95) 1320, 137, 95) 1610, 143, 84) 1600, 137, 95) 1600, 137, 95) 1600, 144, 84) 1230, 137, 95)

Number of boxes

Computing time (s) RP

GJ

Proposed

219 273 271 175 226 169 231 241 227 255 341 320 224 277 147

0.08 724.91 937.07 101.40 0.00 0.23 0.01 634.02 1189.43 1017.44 17.03 5581.27 4.67 0.00 36.27

0.00 0.01 0.01 0.01 0.01 16.43 0.01 0.01   319.68 0.11 0.19 0.00 0.01

0.00 0.01 0.01 0.01 0.01 0.20 0.01 0.01 7398.82  27.84 0.01 0.01 0.00 0.01

Dev.a (%) – 0.0 0.0 0.0 0.0 98.8 0.0 0.0 – – 91.3 90.9 94.7 – 0.0

Table 4.6 Computational results for group 5.

a

No

(L, W, l, w)

Number of boxes

Computing time (s) GJ

Proposed

1 2 3 4 5 6 7 8 9 10

(107, 104, 11, 7) (121, 66, 15, 4) (121, 74, 15, 4) (146, 84, 11, 8) (146, 84, 18, 5) (159, 142, 19, 8) (175, 90, 17, 7) (207, 193, 21, 13) (212, 128, 20, 9) (89, 76, 9, 5)

144 133 149 139 136 148 132 146 150 150

5962.52 62.48 1596.23 N/A 1398.63 177.83 4.99 N/A 96.47 1776.46

71.05 36.72 955.74 N/A 1004.49 1.38 1.82 N/A 9.08 149.89

Dev.a (%)

98.8 41.2 40.1 – 28.2 99.2 63.5 – 90.6 91.6

Percentage gain versus GJ.

the efficient strategies for removing dominated and duplicated patterns. 5. Conclusions

an early stage of the algorithm. The results for groups four and five demonstrated this very clearly; in many cases, the proposed algorithm quickly found the optimal solution for large-scale problems. Additionally, compared with GJ that also uses the staircase structure, the proposed algorithm exhibited better performance due to

We proposed an improved best-first branch and bound algorithm for the PLP. To enhance the performance of the algorithm, we introduced efficient methods to remove dominated and duplicated patterns in the staircase structure.

S. Ahn et al. / Expert Systems with Applications 42 (2015) 7676–7683

We compared the proposed algorithm to G and Jin’s (2009) algorithm and Martins and Dell’s (2008) HVZ algorithm, which are both exact algorithms, as well as to two heuristic algorithms, Pureza and Morabito’s (2006) tabu search algorithm and Birgin et al.’s (2010) recursive partitioning algorithm. The proposed algorithm reduced the computing time dramatically compared to the existing exact algorithms and showed better performance than the two heuristic algorithms in many cases. For some big instances, the proposed algorithm takes a long time to solve. However, in some industrial fields in which the space utilization is a critical issue, the proposed algorithm can be used because the quality of the solution is more important than the computation time. The proposed algorithm shows similar trend to the G and Jin’s (2009) algorithm with respect to the computing time because it is based on their algorithm and several efficient methods to remove the dominated and duplicated patterns are applied. It is a limitation of this study. There remains some future works related to this study. A few ideas are listed below: The proposed algorithm uses a staircase structure, which is very efficient at removing unnecessary patterns and obtaining upper and lower bounds corresponding to the pattern due to its geometric properties. We think we could find other efficient branching strategy to enhance the performance of the algorithm in the staircase structure. Some exact algorithms based on mathematical models require a sub-algorithm to determine the layout of an optimal solution (Beasley, 1985; Wu & Ting, 2007). To obtain the layout of a solution, they solved another mathematical model. Their sub-algorithm can be replaced by the proposed algorithm. Because the proposed algorithm tries to place the boxes one-by-one, it is easy to use the solution of the mathematical model and to determine the layout. In that case, the proposed algorithm can enhance the performance of those exact algorithms. The methods in this study can be applied to the pallet loading problem with non-identical boxes. Additionally, it can also be applied to the 3-dimensional container loading problem. In real-world (practical) problems, several critical constraints such as label visibility is inevitable. The constraint of label visibility means that the item labels must be visible from the outside of the pallets to allow to be scanned prior to unloading. It is hard to handle this constraint as a mathematical model, whereas it is relatively easy for the proposed algorithm. An efficient heuristic or exact algorithm considers the label visibility can be developed based on this study. Acknowledgements This research was supported by Basic Science Research Program through the National Research Foundaton of Korea (NRF) funded by the Ministry of Education (NRF-2012R1A1A2005401).

7683

References Alvarez-Valdes, R., Parreno, F., & Tamarit, J. M. (2005). A branch-and-cut algorithm for the pallet loading problem. Computers & Operations Research, 32, 3007–3029. Beasley, J. E. (1985). An exact two-dimensional non-guillotine cutting tree search procedure. Operations Research, 33, 49–64. Bhattacharya, S., Roy, R., & Bhattacharya, S. (1998). An exact depth-first algorithm for the pallet loading problem. European Journal of Operational Research, 110, 610–625. Birgin, E. G., Lobato, R. D., & Morabito, R. (2010). An effective recursive partitioning approach for the packing of identical rectangles in a rectangle. Journal of Operational Research, 61, 306–320. Chan, F. T. S., Bhagwat, R., Kumar, N., Tiwari, M. K., & Lam, P. (2006). Development of a decision support system for air-cargo pallets loading problem. Expert Systems with Applications, 31, 472–485. Christofides, N., & Whitlock, C. (1977). An algorithm for two-dimensional cutting problems. Operations Research, 26, 30–44. Dowsland, L. A. (1987). An exact algorithm for the pallet loading problem. European Journal of Operational Research, 31, 78–84. G, Y.-G., & Jin, G.-W. (2009). A new exact algorithm using the stair structure for the pallet loading problem. The Korean Operations Research and Management Science Society, 34, 43–53. G, Y. G., & Kang, M. K. (2002). A new upper bound for unconstrained twodimensional cutting and packing. Journal of the Operational Research Society, 53, 587–591. G, Y.-G., & Kang, M. K. (2001). A fast algorithm for two-dimensional pallet loading problems of large size. European Journal of the Operational Research, 134, 193–201. Kang, M., & Yoon, K. (2011). An improved best-first branch-and-bound algorithm for unconstrained two-dimensional cutting problems. International Journal of the Production Research, 49, 4437–4455. Kenmochi, M., Imamichi, T., Nonobe, K., & Yagiura, M. (2009). Exact algorithms for the two-dimensional strip packing problem with and without rotations. European Journal of Operational research, 198, 73–83. Kun, H., Yan, J., & Wenqi, H. (2013). Heuristics for two-dimensional strip packing problem with 90° rotations. Expert Systems with Applications, 40, 5542–5550. Lau, H. C. W., Chan, T. M., Tsui, W. T., Ho, G. T. S., & Choy, K. L. (2009). An AI approach for optimizing multi-pallet loading operations. Expert Systems with Applications, 36, 4296–4312. Letchford, A., & Amaral, A. (2001). Analysis of upper bounds for the pallet loading problem. European Journal of Operational Research, 132, 582–593. Lim, A., Ma, H., Xu, J., & Zhang, X. (2012). An iterated construction approach with dynamic prioritization for solving the container loading problems. Expert Systems with Applications, 39, 4292–4305. Lins, L., Lins, S., & Moraboto, R. (2003). An L-approach for packing (l, w)-rectangles into rectangular and L-shaped pieces. Journal of the Operational Research Society, 54, 777–789. Martello, S., Pisinger, S., & Vigo, D. (2000). The three-dimensional bin packing problem. Operations Research, 48, 256–267. Martins, G. H. A., & Dell, R. F. (2007). The minimum size instance of a pallet loading problem equivalence class. European Journal of Operational Research, 179, 256–267. Martins, G. H. A., & Dell, R. F. (2008). Solving the pallet loading problem. European Journal of Operational Research, 184, 429–440. Pureza, V., & Morabito, R. (2006). Some experiments with a simple tabu search algorithm for the manufacture’s pallet loading problem. Computers & Operations Research, 33, 804–819. Scheithauer, G., & Terno, J. (1996). The G4-heuristic for the pallet loading problem. European Journal of Operational Research, 108, 511–522. Silva, E., Oliveira, J., & Wäsche, G. (2014). The pallet loading problem: a review of solution methods and computational experiments. International Transaction in Operational Research, 00, 1–26. Wu, K. C. & Ting, C. J. (2007). A two-phase algorithm for the manufacturer’s pallet loading problem. In IEEE international conference on industrial engineering and engineering management (pp. 1574–1578), Singapore.