#### 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 .

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.

*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 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.

*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 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.