Research Article  Open Access
Solving Packing Problems by a Distributed Global Optimization Algorithm
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 01 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 threedimensional 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 01 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 mixedinteger linear problem, which is solvable to find a global solution.
Due to the complexity and hardness of threedimensional 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 containerpacking 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 networkconnected 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 frontleftbottom 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 01 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 frontleftbottom 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 lefthand side of and in front of box , it is clear that and .
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 01 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 01 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 01 programming problem, can be transformed into a linear 01 program by introducing two parameters and . Then we can guarantee to obtain the global optimum of a packing problem by solving the transformed linear 01 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.
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 subproblem can be submitted to client computer and solved independently. Server computer controls the whole process and compares the solutions (, , ) of the problem P_{ij} 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.



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.
 
A: 1inch cubic box; B: 2inch cubic box; C: 3inch 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.

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 01 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 992410H027008MY3.
References
 J. Egeblad and D. Pisinger, “Heuristic approaches for the two and threedimensional knapsack packing problem,” Computers and Operations Research, vol. 36, no. 4, pp. 1026–1049, 2009. View at: Publisher Site  Google Scholar
 D. Fayard and V. Zissimopoulos, “An approximation algorithm for solving unconstrained twodimensional knapsack problems,” European Journal of Operational Research, vol. 84, no. 3, pp. 618–632, 1995. View at: Google Scholar
 M. Hifi and R. Ouafi, “Bestfirst 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. View at: Google Scholar
 J. F. Tsai, P. L. Hsieh, and Y. H. Huang, “An optimization algorithm for cutting stock problems in the TFTLCD industry,” Computers and Industrial Engineering, vol. 57, no. 3, pp. 913–919, 2009. View at: Publisher Site  Google Scholar
 J. E. Beasley, “An algorithm for the twodimensional assortment problem,” European Journal of Operational Research, vol. 19, no. 2, pp. 253–261, 1985. View at: Google Scholar
 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. View at: Google Scholar
 J. F. Tsai, P. C. Wang, and M. H. Lin, “An efficient deterministic optimization approach for rectangular packing problems,” Optimization. In press. View at: Publisher Site  Google Scholar
 F. H. F. Liu and C. J. Hsiao, “A threedimensional pallet loading method for singlesize boxes,” Journal of the Operational Research Society, vol. 48, no. 7, pp. 726–735, 1997. View at: Google Scholar
 J. Terno, G. Scheithauer, U. Sommerweiß, and J. Riehme, “An efficient approach for the multipallet loading problem,” European Journal of Operational Research, vol. 123, no. 2, pp. 372–381, 2000. View at: Google Scholar
 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. View at: Google Scholar
 G. Scheithauer, “LPbased bounds for the container and multicontainer loading problem,” International Transactions in Operational Research, vol. 6, pp. 199–213, 1999. View at: Google Scholar
 W. B. Dowsland, “Threedimensional packingsolution approaches and heuristic development,” International Journal of Production Research, vol. 29, no. 8, pp. 1673–1685, 1991. View at: Google Scholar
 Y. He, Y. Wu, and R. de Souza, “A global search framework for practical threedimensional packing with variable carton orientations,” Computers and Operations Research, vol. 39, no. 10, pp. 2395–2414, 2012. View at: Publisher Site  Google Scholar
 Y. Wu, W. Li, M. Goh, and R. de Souza, “Threedimensional bin packing problem with variable bin height,” European Journal of Operational Research, vol. 202, no. 2, pp. 347–355, 2010. View at: Publisher Site  Google Scholar
 A. de Almeida and M. B. Figueiredo, “A particular approach for the Threedimensional Packing Problem with additional constraints,” Computers and Operations Research, vol. 37, no. 11, pp. 1968–1976, 2010. View at: Publisher Site  Google Scholar
 F. K. Miyazawa and Y. Wakabayashi, “Threedimensional packings with rotations,” Computers and Operations Research, vol. 36, no. 10, pp. 2801–2815, 2009. View at: Publisher Site  Google Scholar
 T. G. Crainic, G. Perboli, and R. Tadei, “TS^{2}PACK: a twolevel tabu search for the threedimensional bin packing problem,” European Journal of Operational Research, vol. 195, no. 3, pp. 744–760, 2009. View at: Publisher Site  Google Scholar
 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. View at: Publisher Site  Google Scholar
 J. F. Tsai and H. L. Li, “A global optimization method for packing problems,” Engineering Optimization, vol. 38, no. 6, pp. 687–700, 2006. View at: Publisher Site  Google Scholar
 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. View at: Publisher Site  Google Scholar
 B. Bourbeau, T. Gabriel Crainic, and B. Gendron, “Branchandbound parallelization strategies applied to a depot location and container fleet management problem,” Parallel Computing, vol. 26, no. 1, pp. 27–46, 2000. View at: Publisher Site  Google Scholar
 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. View at: Google Scholar
 J. Btazewicz and R. Walkowiak, “A new parallel approach for multidimensional packing problems,” Lecture Notes in Computer Science, vol. 2328, pp. 585–591, 2006. View at: Google Scholar
 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. View at: Publisher Site  Google Scholar
 LINDO System, LINGO Release 11.0, LINDO System, Chicago, Ill, USA, 2008.
Copyright
Copyright © 2012 NianZe 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.