Mathematical Problems in Engineering

Volume 2012 (2012), Article ID 931092, 13 pages

doi:10.1155/2012/931092

Research Article

Solving Packing Problems by a Distributed Global Optimization Algorithm

Nian-Ze Hu,¹ Han-Lin Li,² and Jung-Fa Tsai³

¹Department of Information Management, National Formosa University, Yunlin 632, Taiwan

²Institute of Information Management, National Chiao Tung University, No. 1001, Ta Hsueh Road, Hsinchu 300, Taiwan

³Department of Business Management, National Taipei University of Technology, No. 1, Sec. 3, Chung Hsiao E. Road, Taipei 10608, Taiwan

Received 23 February 2012; Accepted 9 May 2012

Academic Editor: Yi-Chung Hu

Copyright © 2012 Nian-Ze Hu et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract.

Packing optimization problems aim to seek the best way of placing a given set of rectangular boxes within a minimum volume rectangular box. Current packing optimization methods either find it difficult to obtain an optimal solution or require too many extra 0-1 variables in the solution process. This study develops a novel method to convert the nonlinear objective function in a packing program into an increasing function with single variable and two fixed parameters. The original packing program then becomes a linear program promising to obtain a global optimum. Such a linear program is decomposed into several subproblems by specifying various parameter values, which is solvable simultaneously by a distributed computation algorithm. A reference solution obtained by applying a genetic algorithm is used as an upper bound of the optimal solution, used to reduce the entire search region.

1. Introduction

A packing optimization problem is to seek a minimal container, which can hold a given number of smaller rectangular boxes. This problem is also referred to as a container loading problem. Packing cartons into a container is concerning material handling in the manufacturing and distribution industries. For instance, workers in the harbor have to pack more than one type of cartons into a container, and they often deal with this problem by the rule of thumb but a systematic approach. Therefore, the utilization of the container is low, which will cause additional costs.

Similar issues can be found in fields such as knapsack [1, 2], cutting stock [3, 4], assortment problems [5, 6], rectangular packing [7], pallet loading [8, 9], and container loading problems [10, 11]. In addition, researchers have dealt with various related problems. For instance, Dowsland [12] and Egeblad and Pisinger [1], He et al. [13], Wu et al. [14], de Almeida and Figueiredo [15], Miyazawa and Wakabayashi [16], and Crainic et al. [17] proposed different heuristic methods for solving three-dimensional packing problems, Chen et al. [10] formulated a mixed integer program for container loading problems, and Li and Chang [6] developed a method for finding the approximate global optimum of the assortment problem. However, Li and Chang’s method [6] requires using numerous 0-1 variables to linearize the polynomial objective function in their model, which would involve heavy computation in solving packing problems. Moreover, Chen et al.’s approach [10] can only find a local optimum of packing problems with nonlinear objective function. Recently, many global optimization methods have been developed, where Floudas’ method [18] is one of most promising methods for solving general optimization problems. Although Floudas’ method [18] can be applied to solve a packing problem to reach finite -convergence to the global minimum, it requires successively decomposing the concave part of the original problem into linear functions. Besides, it adopts lower boundary techniques, which is time consuming. Li et al. [19] designed a distributed optimization method to improve the computational efficiency for solving packing problems. Tsai and Li [20] also presented an enhanced model with fewer binary variables and used piecewise linearization techniques to transform the nonconvex packing problem into a mixed-integer linear problem, which is solvable to find a global solution.

Due to the complexity and hardness of three-dimensional packing problems, most results on this topic are based on heuristics [21]. Furthermore, parallel computing [22] was adopted to improve the efficiency of combinatorial computation. Parallel Genetic Algorithm (GA) [23], parallel with heuristic [24], and parallel Tabu Search Algorithm (TSA) [25] were proposed to solve container-packing problems under some conditions. These methods are capable of obtaining solutions with good performance relative to test examples in the literature. However, the algorithms cannot guarantee to get a global optimum.

This paper proposes another method for finding the optimum of the packing problem. The major advantage of this method is that it can reformulate the nonlinear objective function of original packing problem as an increasing function with single variable and two given parameters. In addition, distributed computation and genetic algorithm are adopted to improve the efficiency and ensure the optimality. The proposed method then solves the reformulated programs by specifying the parameters sequentially to reach the globally optimal solution on a group of network-connected computers.

2. Problem Formulation

Given rectangular boxes with fixed lengths, widths, and heights, a packing optimization problem is to allocate these boxes within a rectangular container having minimal volume. Denote , , and as the width, length, and height of the container; the packing optimization problem discussed here is stated as follows:

According to Chen et al. [10], the current packing model adopts the terminologies as follows.

 : Dimension of box , is the length, is the width, and is the height, and , , and are integral constants. , is the set of the given boxes. : Variables indicating the length, width, and height of the container. : Variables indicating the coordinates of the front-left-bottom corner of box . : Binary variables indicating whether the length of box is parallel to the -axis, -axis, or -axis. The value of is equal to 1 if the length of box is parallel to the -axis; otherwise, it is equal to 0. It is clear that . : Binary variables indicating whether the width of box is parallel to the -axis, -axis, or -axis. The value of is equal to 1 if the width of box is parallel to the -axis; otherwise, it is equal to 0. It is clear that . : Binary variables indicating whether the width of box is parallel to the -, -, or -axis. The value of is equal to 1 if the height of box is parallel to the -axis; otherwise, it is equal to 0. It is clear that .

For a pair of boxes , where , there is a set of 0-1 vector defined as

  if box is on the left of box , otherwise ,   if box is on the right of box , otherwise ,  if box is behind box , otherwise ,  if box is in front of box , otherwise ,  if box is below box , otherwise ,  if box is above box , otherwise .

The front-left-bottom corner of the container is fixed at the origin. The interpretation of these variables is illustrated in Figure 1. Figure 1 contains two boxes and , where box   is located with its length along the -axis and the width parallel to the -axis, and box is located with its length along the -axis and the width parallel to the -axis. We then have , , , , , and equal to 1. In addition, since box    is located on the left-hand side of and in front of box , it is clear that and .

Figure 1: Graphical illustration.

According to Chen et al. [10] and Tsai and Li [20], the packing problem can be formulated as follows.

Problem 1.

where

The objective of this model is to minimize the volume of the container. The constraints (2.3)–(2.9) are nonoverlapping conditions used to ensure that none of these boxes overlaps with each other. Constraints (2.10)–(2.12) ensure that all boxes are within the enveloping container. Constraints (2.13)–(2.18) describe the allocation restrictions among logic variables. For instance, (2.13) implies that the length of box    is parallel to one of the axes. (2.16) implies that only one of the length, the width, and the height of box   is parallel to -axis.

Since the objective function of Problem 1 is a product term, Problem 1 is a nonlinear mixed 0-1 program, which is difficult to be solved by current optimization methods. Chen et al. [10] can only solve linear objective function. Tsai and Li’s method [20] can solve Problem 1 at the price of adding many extra 0-1 variables.

3. Proposed Method

Consider the objective function in (2.2), where , , , and , , are positive variables. Denote and as two variables defined as , . Replace by and replace by . then becomes as follows.

We then have the following propositions.

Proposition 3.1. Suppose and in (3.1) are fixed values, then is an increasing function.

Proof. Since , it is clear that is an increasing function.

Proposition 3.2. The optimal solution of Problem 1 is integral.

Proof. Since dimensions of box , , , , are integral constants for and all of    boxes are nonoverlapping, therefore, , , and that indicate the optimal solution of the container must be integral.

Proposition 3.3. , where is the length, is the width, and is the height of the given box . [19, 20]

Proof. Since and , then we can have .

According to the above propositions and given values of and (denoted as and ), consider the following program.

Problem 2.

Proposition 3.4. If is the solution of Problem 2 found by a genetic algorithm and is the globally optimal solution of Problem 2, then .

Proof. Since is an increasing function with single variable (following Proposition 3.1) and . Hence, .

Adding the constraint to Problem 2 for reducing the search region of the optimal solution, we can have the following two programs.

Problem 3.

Problem 4.

Proposition 3.5. Let () be the global optimum of Problem 3, then is also the global optimum of Problem 4.

Proof. Since is an increasing function with single variable (following Proposition 3.1), Problems 2 and 3 have the same global optimum (, , ).

According to the above propositions, a packing optimization problem, which is a nonlinear 0-1 programming problem, can be transformed into a linear 0-1 program by introducing two parameters and . Then we can guarantee to obtain the global optimum of a packing problem by solving the transformed linear 0-1 programs. The distributed computation scheme is also proposed to enhance the computational efficiency.

4. Distributed Algorithm

The solution procedure for solving Problem 1 to obtain a global optimum is presented in the following with a flow chart shown in Figure 2.

Figure 2: Solution algorithm.

Step 1. (Find an initial solution by GA). From Proposition 3.4, the obtained solution is (, , ) and the constraint can be utilized to reduce the searching space of the global solution.

Step 2. Denote and as the upper and lower bounds of , respectively. Find the bounds of by solving the following linear programs:

Let , , and go to Step 3.

Step 3. Denote and as the upper and lower bounds of , respectively. Find the bounds of by solving the following linear programs:

Let , and go to Step 4.

Step 4. Decompose main problem and perform distributed packing algorithm. According to verity of and , the main problem can be decomposed into several subproblems. The transformed subproblem of each iterative process is listed as follows.

Problem .

Every sub-problem can be submitted to client computer and solved independently. Server computer controls the whole process and compares the solutions (, , ) of the problem Pij with the initial solution (, , ). If is smaller than , then is replaced by .

The structure of distributed packing algorithm is developed based on star schema. Owing to reduce the network loading and improve the computational performance of each client computer, all results found on all clients are directly sent to host computer.

Step 5. Let . If , then go to Step 6. Otherwise, go to Step 4.

Step 6. Let . If , then go to Step 3. Otherwise, go to Step 7.

Step 7. The whole process is finished and the host computer obtains the optimal solution with the objective value .

5. Numerical Examples

To validate the proposed method, several examples with different number of boxes are solved by LINGO 11.0 [26] with the distributed algorithm. Two of the test problems denoted as Problems 1 and 2 are taken from Chen et al. [10]. The other examples are arbitrarily generated. Solving these problems by the proposed method, the obtained globally optimal solutions are listed in Tables 1 and 3. Comparison results between GA and the proposed method are shown in Table 2, and the associated graphs are presented in Figures 3 and 4.

Table 1: Computational results.

Problem number
Box number

(x, y, z)
Objective value

1
1
25
8
6
0
0
0
(28, 26, 6)
4368

2
20
10
5
8
0
0

3
16
7
3
8
10
2

4
15
12
6
16
11
0

2
1
25
8
6
10
20
0
(35, 28, 6)
5880

2
20
10
5
25
0
0

3
16
7
3
0
0
3

4
15
12
6
10
8
0

5
22
8
3
5
0
0

6
20
10
4
0
8
0

3
1
25
8
6
0
10
0
(31, 16, 12)
5952

2
20
10
5
0
0
0

3
16
7
3
9
0
9

4
15
12
6
25
0
0

5
22
8
3
3
7
9

6
20
10
4
0
0
5

7
10
8
4
31
0
0

Table 2: Solution comparison of the proposed algorithm and genetic algorithm (GA).

Problem number
GA
Proposed method

(x, y, z)
Objective value
(x, y, z)
Objective value

1 (4 boxes)
(30, 30, 6)
5400
(28, 26, 6)
4368

2 (6 boxes)
(33, 26, 7)
6006
(35, 28, 6)
5880

3 (7 boxes)
(25, 25, 10)
6250
(31, 16, 12)
5952

Table 3: Computational results for all boxes are cubic.

Problem number
Number of cubes
Side
(x, y, z)
CPU time (h:min:s)
Objective value

4
3

(8, 5, 5)
00:00:08
200 Global optimum

3

1

1

5
4

(8, 6, 5)
00:01:26
240 Global optimum

2

3

1

6
4

(8, 8, 5)
00:10:12
320 Global optimum

3

4

7
4

(12, 7, 5)
01:37:44
420 Global optimum

3

3

1

1

Figure 3: The graphical representation of 4 boxes.

Figure 4: The solid graphical representation of 6 boxes.

Packing problems often arise in logistic application. The following example (Problem 5) demonstrates how to apply the proposed algorithm in transportation problem and compare the result with traditional genetic algorithm.

Problem 5. Several kinds of goods are packed into a container so as to deliver to 6 different stores on a trip. The dimensions of width and height of the container are 5 and 4. All goods are packed in cubic boxes, which have three different sizes. In order to take less time during unloading, boxes sent to the same store must be packed together. Different groups of boxes cannot overlap each other. Moreover, the packing order to each group must be ordered of the arriving time to each store. The boxes required to be sent to each store are listed in Table 4. The objective is to determine the smallest dimensions of the container.

Table 4: List of stores and boxes (48 boxes).

Store
Goods

S1
A, A, A, B, B, B, B, C

S2
A, A, B, B, B, B, C, C

S3
A, A, A, B, B, B, B, C

S4
A, A, B, B, B, C, C, C

S5
A, A, A, A, B, B, B, C

S6
A, A, A, A, A, B, C, C

A: 1-inch cubic box; B: 2-inch cubic box; C: 3-inch cubic box.

Solution 1. The arrangement of boxes can be treated as level assortment. The boxes packed in the same level will be delivered to the same store. After performing the proposed method, list of the optimal solutions are shown in Table 5, and illustrated graph is presented in Figure 5.

Table 5: List of optimal arrangement of the boxes.

Store
S1
S2
S3
S4
S5
S6

, , )
A (1, 2, 0)
A (0, 1, 3)
A (4, 0, 2)
A (0, 0, 3)
A (4, 0, 0)
A (0, 0, 0)

(, , )
A (3, 3, 3)
A (5, 0, 0)
A (0, 1, 0)
A (0, 2, 3)
A (4, 1, 3)
A (5, 2, 0)

(, , )
A (0, 4, 0)
B (3, 0, 0)
A (1, 2, 0)
B (3, 0, 1)
A (0, 2, 0)
A (0, 3, 0)

(, , )
B (4, 0, 0)
B (1, 0, 2)
B (3, 0, 0)
B (7, 0, 1)
A (4, 4, 1)
A (2, 4, 0)

(, , )
B (0, 0, 1)
B (3, 0, 2)
B (0, 3, 0)
B (1, 0, 2)
B (2, 0, 0)
A (5, 1, 0)

(, , )
B (2, 0, 0)
B (1, 0, 0)
B (1, 0, 2)
C (0, 2, 0)
B (2, 0, 2)
B (3, 0, 2)

(, , )
C (0, 2, 1)
C (0, 2, 0)
B (0, 3, 2)
C (6, 2, 0)
B (0, 0, 2)
C (0, 1, 1)

(, , )
C (3, 2, 0)
C (3, 2, 0)
C (2, 2, 1)
C (3, 2, 0)
C (1, 2, 0)
C (3, 2, 1)

Dimension of

Volume of
120
120
100
180
100
120

The global solution is (37, 5, 4), and the minimal volume of the container is 740.

Figure 5: The graphical presentation of the 48 boxes for the 6 stores.

6. Conclusions

This paper proposes a new method to solve a packing optimization problem. The proposed method reformulates the nonlinear objective function of the original packing problem into a linear function with two given parameters. The proposed method then solves the reformulated linear 0-1 programs by specifying the parameters sequentially to reach the globally optimal solution. Furthermore, this study adopts a distributed genetic algorithm and distributed packing algorithm to enhance the computational efficiency. Numerical examples demonstrate that the proposed method can be applied to practical problems and solve the problems to obtain the global optimum.

Acknowledgments

The authors would like to thank the anonymous referees for contributing their valuable comments regarding this paper and thus significantly improving its quality. The paper is partly supported by Taiwan NSC Grant NSC 99-2410-H-027-008-MY3.

References

J. Egeblad and D. Pisinger, “Heuristic approaches for the two- and three-dimensional knapsack packing problem,” Computers and Operations Research, vol. 36, no. 4, pp. 1026–1049, 2009.

D. Fayard and V. Zissimopoulos, “An approximation algorithm for solving unconstrained two-dimensional knapsack problems,” European Journal of Operational Research, vol. 84, no. 3, pp. 618–632, 1995.

M. Hifi and R. Ouafi, “Best-first search and dynamic programming methods for cutting problems: the cases of one or more stock plates,” Computers and Industrial Engineering, vol. 32, no. 1, pp. 187–205, 1997.

J. F. Tsai, P. L. Hsieh, and Y. H. Huang, “An optimization algorithm for cutting stock problems in the TFT-LCD industry,” Computers and Industrial Engineering, vol. 57, no. 3, pp. 913–919, 2009.

J. E. Beasley, “An algorithm for the two-dimensional assortment problem,” European Journal of Operational Research, vol. 19, no. 2, pp. 253–261, 1985.

H. L. Li and C. T. Chang, “An approximately global optimization method for assortment problems,” European Journal of Operational Research, vol. 105, no. 3, pp. 604–612, 1998.

J. F. Tsai, P. C. Wang, and M. H. Lin, “An efficient deterministic optimization approach for rectangular packing problems,” Optimization. In press

F. H. F. Liu and C. J. Hsiao, “A three-dimensional pallet loading method for single-size boxes,” Journal of the Operational Research Society, vol. 48, no. 7, pp. 726–735, 1997.

J. Terno, G. Scheithauer, U. Sommerweiß, and J. Riehme, “An efficient approach for the multi-pallet loading problem,” European Journal of Operational Research, vol. 123, no. 2, pp. 372–381, 2000.

C. S. Chen, S. M. Lee, and Q. S. Shen, “An analytical model for the container loading problem,” European Journal of Operational Research, vol. 80, no. 1, pp. 68–76, 1995.

G. Scheithauer, “LP-based bounds for the container and multi-container loading problem,” International Transactions in Operational Research, vol. 6, pp. 199–213, 1999.

W. B. Dowsland, “Three-dimensional packing-solution approaches and heuristic development,” International Journal of Production Research, vol. 29, no. 8, pp. 1673–1685, 1991.

Y. He, Y. Wu, and R. de Souza, “A global search framework for practical three-dimensional packing with variable carton orientations,” Computers and Operations Research, vol. 39, no. 10, pp. 2395–2414, 2012.

Y. Wu, W. Li, M. Goh, and R. de Souza, “Three-dimensional bin packing problem with variable bin height,” European Journal of Operational Research, vol. 202, no. 2, pp. 347–355, 2010.

A. de Almeida and M. B. Figueiredo, “A particular approach for the Three-dimensional Packing Problem with additional constraints,” Computers and Operations Research, vol. 37, no. 11, pp. 1968–1976, 2010.

F. K. Miyazawa and Y. Wakabayashi, “Three-dimensional packings with rotations,” Computers and Operations Research, vol. 36, no. 10, pp. 2801–2815, 2009.

T. G. Crainic, G. Perboli, and R. Tadei, “TS²PACK: a two-level tabu search for the three-dimensional bin packing problem,” European Journal of Operational Research, vol. 195, no. 3, pp. 744–760, 2009.

C. A. Floudas, Deterministic Global Optimization: Theory, Computational Methods and Applications, Kluwer Academic Publishers, Dodrecht, The Netherlands, 2000.

H. L. Li, J. F. Tsai, and N. Z. Hu, “A distributed global optimization method for packing problems,” Journal of the Operational Research Society, vol. 54, no. 4, pp. 419–425, 2003.

J. F. Tsai and H. L. Li, “A global optimization method for packing problems,” Engineering Optimization, vol. 38, no. 6, pp. 687–700, 2006.

G. Wäscher, H. Haußner, and H. Schumann, “An improved typology of cutting and packing problems,” European Journal of Operational Research, vol. 183, no. 3, pp. 1109–1130, 2007.

B. Bourbeau, T. Gabriel Crainic, and B. Gendron, “Branch-and-bound parallelization strategies applied to a depot location and container fleet management problem,” Parallel Computing, vol. 26, no. 1, pp. 27–46, 2000.

H. Gehring and A. Bortfeldt, “A parallel genetic algorithm for solving the container loading problem,” International Transactions in Operational Research, vol. 9, pp. 497–511, 2002.

J. Btazewicz and R. Walkowiak, “A new parallel approach for multi-dimensional packing problems,” Lecture Notes in Computer Science, vol. 2328, pp. 585–591, 2006.

A. Bortfeldt, H. Gehring, and D. Mack, “A parallel tabu search algorithm for solving the container loading problem,” Parallel Computing, vol. 29, no. 5, pp. 641–662, 2003.

LINDO System, LINGO Release 11.0, LINDO System, Chicago, Ill, USA, 2008.