A Differential Evolution Based Algorithm for Single Container Loading Problem Domingo B.M.1 , Ponnambalam S.G.2 , Kanagaraj G.3 School of Engineering Monash University Sunway Campus Jalan Lagoon Selatan, Bandar Sunway, 46150, Selangor Darul Ehsan, Malaysia Email:
[email protected] ,
[email protected] ,
[email protected]
Abstract—This paper presents a random key Differential Evolution algorithm to find the optimal box type sequence and the layer type orientation for a three dimensional single container loading problem. The packing algorithm is based on the layer building approach which groups the boxes of the same type to create layers that are packed into empty spaces in the container. The spaces where layers are represented by maximal empty spaces which are created using difference process. A back bottom left heuristics is used to select the maximal empty space for each layer built. The performance of the DE is tested on seven test cases; each test case consists of 100 instances. The implications of the results show that DE performs well in terms of significant improvement in volume utilization. Keywords-Differential evolution algorithm; packing algorithm; space utilization; container loading problem.
I. I NTRODUCTION Rapid globalization has seen the strong growth in the logistics industry. Consumers are demanding variety of goods to be available instantaneously. Efficient utilization of space in the container is needed to reduce the number of containers used to transport the goods which effectively reduces the cost and time for delivery. Minimization of empty space inside the containers is not only an economic requirement but also an ecological issue, given the impact that goods transportation has on the global effect of human activities in our planets sustainability [1]. The efficient loading of a set of containers can be done technically by solving the Container Loading Problem (CLP). As a result, the CLP which is aimed at packing goods optimally or at least near optimally becomes an active research area. In CLP a series of small rectangular boxes are placed inside a rectangular container of known dimensions, seeking to optimize volume utilization [2]. The set of small rectangular boxes may comprise of homogeneous boxes (identical set of boxes), weakly heterogeneous (few different types of boxes) and strongly heterogeneous (many different types of boxes). The three dimensional single container loading problem (3D-SCLP) permits rectangular boxes to be excluded from being packed into the container if the boxes do not fit into remaining empty spaces. Since CLP is notoriously NP-hard, the majority of work in recent years is focused on heuristics methods. This paper applies the Differential Evolution [3]
c 978-1-4673-5873-6/13/$31.00 2013 IEEE
algorithm to obtain the near optimal solution for the 3DSCLP. A packing algorithm used by Goncalves and Resende [4] based on the layer building approach where boxes of the same type are grouped to build a layer which is packed into empty spaces. Empty spaces are managed using the Difference process [5] and selected using a back bottom left heuristics. The random key DE is used to search for optimum box type sequence and layer type vector which is used in the packing algorithm to calculate the volume utilization of the container and generates feasible packing plan. The performance of the DE algorithm is tested on seven test cases of Bischoff and Ratcliff [6]; each test case consists of 100 instances, which considers an orientation constraint. The computational results show that the DE algorithm is able to provide optimized solution for the test cases and are comparable to other approaches published in the literature. The remainder of the paper is organized as follows. In Section 2, we formally define the problem. In Section 3, we present a literature review. In Section 4, the detailed descriptions of CLP are presented. The standard DE algorithm is presented in Section 5 followed by the proposed random key DE for CLP is given in Section 6. Section 7 describes the procedural steps of packing algorithm scheme. The details of the test experiments and comparison of results are presented in Section 8. Finally, Section 9 summarizes the concluding remarks. II. PROBLEM DEFINITION The 3D-SCLP considered in this paper can be applied to any mix of box types (i.e. from weakly to strongly heterogeneous sets of box types). The problem may be stated as follows: A given 3D single rectangular container C is to be loaded with a subset of a given set of rectangular boxes in such a way that all boxes are feasibly placed, the packed volume is maximized, and the constraints are met. A packing plan is feasible if it meets the following criteria. Criteria 1: The sides of the boxes are placed parallel to the walls of the container. Criteria 2: The boxes do not overlap with the container or other boxes. Criteria 3: The boxes lie completely within the walls of the container. In real world context, various constraints may be applicable for different situations and applications. These constraints
105
discussed by Bischoff and Ratcliff [6] includes orientation constraints, loading stability, load bearing strength of boxes, handling constraints, container weight limit. This paper considers the orientation constraint for the set of small rectangular boxes. A box without orientation constraint has six possible rotations. Imposing the orientation constraint on any box may prohibit up to four orientations. The orientation constraint is widely used for boxes that are labeled as ”THIS SIDE UP”. The dimensions of the rectangular container C are given as Lc (Length), Wc (Width), Hc (Height). There are n box types which are different in dimensions and each box type is denoted by i = 1, 2, 3...n. The quantity of boxes for each box type is given by Qi . Each box type i has dimensions of lc (length), wc (width), hc (height). III. LITERATURE REVIEW CLP has been extensively explored by many researches in practical applications. To date, only a few exact methods have been suggested in the literature. Fekete and Schepers [7] present a general framework for the exact solution of multi-dimensional packing problems. Martello et al. [8] developed an exact branch and bound method for the 3D-CLP. Exact methods are not viable for large amount of boxes and strongly heterogeneous cases because of long computational time. The use of heuristics has been very favorable because it obtains near optimal solutions at a faster rate. The majority of research focuses on the problem solutions from conventional heuristics and meta-heuristics. Since meta-heuristics can generate better results than conventional heuristics, they become more popular. According to Fanslau and Bortfeldt [9], heuristic method without an optimality guarantee for 3D-CLP can be divided into conventional heuristics, metaheuristics and tree search methods. Meta-heuristics include intelligent algorithms such as Genetic Algorithms [10] [4], simulated annealing Algorithm [11], tabu search [12], Ant colony algorithm [13] and Bee algorithm [14]. The 3D-CLP methods are based on different heuristic packing approaches that determine the structure of generated packing plans [2]: A. Wall building approach The wall building approach fills the container with vertical, cuboid-shaped and non-overlapping layers parallel to the face walls of the container. The walls follow each other without any gaps between them and contain boxes which do not intersect with adjacent layers. The depth of the layer is defined by a layer-defining box chosen based on ranking. The wall builing approach is applied in works of Borfeldt and Gehring [15] and Pisinger [2]. B. Stack building approach In this approach, boxes are packed in stacks which are then arranged on the container floor in a manner that saves the most space. Only a single box of the stack can be placed on the floor of the container. Each of the other boxes in the
106
stack is placed on top of another box in the stack so that the whole of its base is supported by the box beneath it. This method has been applied in the works of Bortfeldt and Gehring [11] and Bischoff and Ratcliff [6]. C. Horizontal layer building approach The container is filled from bottom to top using horizontal layers. Each horizontal layer tries to cover the larges possible part of the load surface beneath. Each layer uses up to two different boxes type each time. The box types in each layer must have as little difference in dimensions as possible. This approach is used by Bischoff et al. [16], and Terno et al. [17]. D. Block building approach The block building approach fills the container with cuboid blocks of a single type with the same spatial orientation. This approach helps to reduce the amount of item resorting during unloading. It also provides quicker loading time and prevents slip with in the block structure. The works of Mack et al. [11], Bortfelt et al. [12] and Eley [18] uses this approach. E. Guillotine cutting approach This approach is based on the tree slicing representation. Each tree slice segments the container into smaller pieces using guillotine cuts. Each leave in the tree slice corresponds to the box packed. The graph search method of Morabito and Arenales [19] is based on this approach. IV. DESCRIPTIONS OF CONTAINER LOADING PROBLEM This section begins with descriptions of the aspects of the 3D-SCLP and the packing scheme which is based on the layer building approach. This is followed by the application of the differential evolution in solving parameters of the packing scheme. A. Aspect of container loading problem The container, boxes, and empty spaces are elements of 3D-SCLP. The elements must be analyzed and managed systematically in order to create an efficient and feasible packing plan. 1) Container The container is a three dimensional rectangular unit used to contain the set of small boxes. Figure 1 shows the container in a 3D coordinate system and terms used to describe a container. The length of the container is along the x axis, width along the y axis, and height along the z axis. In order to reference parts of the container, the terms [left, right], [front, back], [top, bottom] are used to represent the minimum and maximum of the x, y and z axis respectively. The origin of the co-ordinate system is located at the front bottom left point of the container. 2) Boxes
2013 IEEE Symposium on Differential Evolution (SDE)
maximal empty spaces are created. This list S is updated by removing invalidated by removing invalidated empty spaces and adding new maximal empty spaces. Each time a box is packed, the DP process is applied and the list S is updated before the next box is packed.
Figure 1.
Container in a 3D coordinate system.
Boxes are 3D rectangular objects which are to be packed into the container. Boxes are categorized as different box types based on the dimensions. The boxes in the 3D-SCLP can be fully described by the minimum and maximum vertices. These vertices are closest and furthest with respect to the origin of the coordinate system. There are a maximum of six possible rotations for each box type. However the orientation constraint may limit placement of certain sides in the vertical orientation. For example a box may only have a maximum of four orientations if one of its sides is constrained from placement in the vertical direction. Similarly if two sides are restricted by the orientation constraint, only two orientations are possible. 3) Empty spaces and the difference process Empty spaces are parallelepiped space in the container which is not occupied by any boxes. Similar to boxes, empty spaces are characterized completely by minimum and maximum points. Systematic management of empty spaces is required to ensure high utilization of space. Each time a box is packed into an empty space, a portion of the empty space is invalidated and new empty spaces are created. Lai and Chan [5] developed the Difference Process (DP) to create new maximal empty spaces which are largest empty parallelepiped spaces available for packing boxes. The empty spaces are maximal because DP allows empty spaces to overlap with each other. Figure 2 shows an example of creating three new maximal empty spaces when a box invalidates an empty space.
Figure 2.
Maximal empty space created using different process
In order to keep track of the empty spaces, an empty space list, S is used. Initially the list S contains only one empty space which is the whole container. When a box is placed at the minimum point of the empty space, three new
B. The packing algorithm The aim to increase space utilization of the container requires an efficient approach of packing the boxes into the empty spaces. In this paper a layer building approach used to fill empty space which is a constructive heuristics and used by [4]. A layer is a rectangular arrangement of boxes that are of the same type; build in rows and columns and filling one side of the maximal empty space. The layer building approach groups boxes of the same type so that here are no gaps between the boxes. This approach is also used because it provides more flexibility by allowing more possible combinations of different box types and orientations as compared to the block building approach. Three parameters commonly considered in the layer building approach are described below: 1) Box type sequence Layers are used to fill the empty spaces in the container. The box type used in creating each successive layer is decided according to the sequence of box types. The following gives an example of a sequence for a set of boxes. Given three different box types, i= 1, 2, 3 with quantity of Q1 =3, Q2 =3 and Q3=2 a possible sequence is shown in Fig.3. The first and second layer is built using box type, i= 1.
Figure 3.
Box type sequence in layout building approach.
2) Layer type vector The layers are placed starting at the minimum point of the empty space. Each layer can have up to six layer directions corresponding to the empty space which is illustrated in Figure 4. For each layer direction, the box may have up to six possible rotations. Therefore, there are at most 36 layer type vectors. For each element in the box type sequence, there is a corresponding layer type vector. The DE algorithm searches for the optimum solution to these two parameters. 3) Empty space selection Empty spaces are stored in an empty space list, S Each time a layer is build, and an empty space that can fit the layer has to be selected. The selection of the empty space is based on the back bottom left procedure used by [12]. The back bottom left orders the empty spaces according to the positions in the coordinate system. C. DIFFERENTIAL EVOLUTION ALGORITHM The Differential Evolution (DE) method introduced by Storn and Price [4] has gain wide attention due to its simple,
2013 IEEE Symposium on Differential Evolution (SDE)
107
Figure 4.
Six layer directions in the layer building approach
efficient, and robust way of solving complex computational problems. DE is applied in diverse fields of science and engineering and has been shown to perform better than Genetic Algorithm and Particle Swarm Optimization in a few benchmarks. DE is also easy to code and implement and has only a few control parameters. DE algorithm aims to optimize the solution to a problem by searching for values to the system parameters that provides exact or near optimal solution. The solution representation is encoded into D-dimensional vectors in the form of The DE algorithm searches for the values to the parameters of the vectors which will minimize/maximize the fitness function of the problem. The main steps of DE algorithm initialization, mutation, crossover and selection are discussed below. 1) Initialisation The vectors act as a solution representation of the system and evolve in subsequent generations. In this stage, all the vectors in the population are initialized so that fitness function of the system can be evaluated and the quality of the solution between vectors and desired solutions can be compared. Each element in the vector is initialized by assigning a random number value. The values during initialization should be uniformly randomized so that the solution search space can be covered as much as possible. The value for each element in the vector must also fall within the given range which is dictated by constraints and restrictions on the system. 2) Mutation In biology, mutation is a sudden departure from the parent type in one or more heritable characteristics caused by a
108
change in gene or chromosome. Mutation in DE has a similar meaning in which vectors are experience change or perturbation with a random element. The parent vector from the current generation is called target vector, a mutated vector obtained through differential operation is known as donor vector, and an offspring of the donor and target vector is called trial vector. In the simplest of mutation, each target vector in the population will have a corresponding donor vector. The donor vector is created by first selecting three random target vectors from the current population. The difference between the second and third target vector is scaled by a scalar number say F and then added to the first target vector to obtain the donor vector. 3) Crossover Crossover is used in DE process to increase the diversity of the population. In this process, each donor vector will exchange elements with its corresponding target vector to form trial vector. Two types of widely used crossover are the binomial and exponential scheme. In this paper binomial scheme is used for each element in the target vector will exchange information with the donor vector if a randomly generated number is less than or equal to the crossover value. 4) Selection Traditionally selection is done by comparing the fitness function of the target vector and the trial vector and selecting the vector with the better fitness function for the next generation. D. RANDOM KEY DE WITH MODIFIED SELECTION SCEHME FOR 3D-SCLP The procedure of DE process for 3D-SCLP is shown in Fig 5. It begins with initialization of target vectors with random real numbers in the interval [0, 1]. The target vectors provide the box type sequence and layer type vector which is used as the input to the packing scheme. The packing scheme calculates the volume utilization of the container which is used as the fitness function of DE. For each target vector in each generation, a corresponding donor vector is generated using the difference based vector mutation based on three randomly selected target vectors. The target vector and its corresponding donor vector undergoes crossover using the binomial scheme to produce trial vectors. The trial vectors are evaluated based on the fitness function. During selection, target vectors and trial vectors are compared and selected based on the modified selection. The whole process repeats itself until the number of generation is reached. 1) Vector representation and decoding There are two ways to represent a vector which is direct representation (genotype) and indirect representation (phenotype). In direct representation the value of the vector is the value which is taken by the parameter. In indirect representation, the value of the element in the particles cannot be directly translated into the value of the parameters.
2013 IEEE Symposium on Differential Evolution (SDE)
Figure 5.
DE flowchart for 3D-SCLP
A decoding procedure is needed to transform the vector value into the value required by the parameters (solution). The vector in DE represents the box type sequence and layer type vector parameters. The 3D-SCLP uses random key as an indirect representation to the solution because it reduces the complexity of manipulating the solution of the vector. The DE manipulates the value of the random key to obtain the solution to these parameters. For example, there are n types of boxes given by i = 1, 2, 3.... n. Each box type i have quantity of Qi of available boxes which can be packed into the container. The total number nof available boxes for all box types i is given by M = i=1 Qi . Each particle in DE has a length given by 2M elements. element1 ...elementM +1 elementM +2 ...element2M Layer Type Vector Box Type Sequence The first M elements of the vector represent the box type sequence which will be used to build layers. For each element in the box type sequence, there is a layer vector associated with it which is given by the last M elements in the vector. Each element in the vector contains a real number value in the range [0, 1]. The decoding of the first M elements is done by sorting the random keys in ascending order to obtain the corresponding box type sequence. The example in Figure 6 shows how the random key procedure works to encode and decode the box type sequence. In this example, there are 3 box types, i = 1, 2, 3 with quantity of Q1 = 3, Q2 = 3 and Q3 = 2.
Figure 6.
Random key for the box type sequence
2) Modified selection scheme The basic DE algorithm compares the fitness function of
the target vector and the trial vector to select the vector with the highest fitness function for the next generation. This selection process is not suitable in the 3D-SCLP because of the vast search space of the problem. The conventional selection prevents the vectors from having a chance to explore other regions of the search space. Since there are a large number of elements, there will not be enough divergence and it will be hard to search for global optimum. The modified selection process allows vectors that have weak fitness function to have an opportunity of being selected. Weaker vectors may be preferable because these vectors may be in regions that are closer to global optimum. Basic selection only selects those with high fitness function and ignores these weak vectors which will prevent from global optimum. The modified selection process first compares the target vector and trial vectors. The X % of vectors with the highest volume utilization among all the vectors is selected. The other 100-X % are selected randomly from the remaining vectors that have not been selected. The remaining target each. and trial vectors contributes half 100−X% 2 V. PROCEDURAL STEPS OF PACKING ALGORITHM The packing scheme in the 3D-SCLP uses the layer building approach to pack the boxes into the container. There are five steps in the packing scheme which will produce a feasible packing plan and compute the volume utilisation. The procedure follows a loop whereby the steps are repeated until no boxes can fit into any empty space. The steps of the packing scheme are as follows: Step 1: Box type selection from box type sequence Step 2: Empty space selection from empty space list Step 3: Layer vector selection Step 4: Layer building and packing Step 5: Information update for empty space and available box quantities. The work flow of the packing scheme is shown in Figure 7. The packing algorithm begins with the box type sequence and the layer type vector obtained from the DE and selects the first element in the box type sequence. The second step in the scheme will select the first empty space in the empty space list for which the selected box type may fit. If the selected box type cannot fit into any empty space in the list, all elements with the selected box type will be remove from the box type sequence and the packing procedure starts from first step. The third step in the packing scheme selects the layer vector as describe in the section of layer type vector selection. The fourth step is to build the layer based on the box type and layer vector selected. The layer is then placed into the back bottom left corner of the selected empty space. The fifth step is the information update. In information update, the element which corresponds to the selected box type and layer vector will be removed from the box type sequence and layer vector array. New empty
2013 IEEE Symposium on Differential Evolution (SDE)
109
B. Parameters of DE The DE algorithm parameters are obtained by running the test cases with different values in the parameters of the DE. The optimal DE algorithm parameters are shown in Table I. Parameters
Value
Crossover rate
0.3
Mutation factor
0.4
Size of population
10*number of boxes
Number of generations
500
Selection value
50
Table I PARAMETERS OF DE
C. Computational Results
Figure 7.
Packing scheme flow chart
spaced are created based on the heuristics described in the section on Maximal Empty Spaces using Difference Process. The available quantities of all boxes are also updated. The process then repeats itself from the first step. The packing scheme is terminated when all elements in the box type sequence has been removed. The volume utilization of the container is then calculated according the following equation (1) V olumeutilization =
Approach
Source
LGH (Greedy heuristic)
Lim et al [20]
BPTS (Parallel Tabu search)
Bortfield et al [12]
MSATS (Parallel SA/TS)
Mack et al [11]
PMS (Maximal Space)
Parreno et al [21]
Table II PARAMETERS OF DE
n
i=1 Vi QPi L c × W c × Hc
(1)
Where, Vi is the volume of box type i and QPi is the number of boxes of type i used in the packing plan. VI. TEST EXPERIMENTS AND COMPARISON OF RESULTS This section evaluates the performance of the DE and packing algorithm in the 3D-SCLP. A. Test cases The performance of the DE algorithm is tested on a set of 700 instances are subdivided into 7 test cases with 100 instances each that are numbered BR1 to BR7[6]. The test cases ranges from boxes which are weakly heterogeneous to strongly heterogeneous. Each test case contains different box types 3, 5, 8, 10, 12, 15 and 20 respectively. Each instance includes the orientation constraint which prohibits certain dimension from being placed in the vertical direction.
110
The DE algorithm was coded in Matlab 7.0 and implemented on the Intel(R)-64 Core(TM) 2CPU,
[email protected] having 2GB of memory. The results of the DE algorithm are compared with the works of other literature as listed in Table II. The comparison of test results of DE algorithm is presented in Table III. All computational results show average values for the 100 instances of each test case.
Test case
LGH
BPTS
MSATS
PMS
DE
BR1
88.70
93.52
93.70
94.93
94.89
BR2
88.17
93.77
94.30
95.19
94.95
BR3
87.52
93.58
94.54
94.99
95.04
BR4
87.58
93.05
94.27
94.71
94.65
BR5
87.30
92.34
93.83
94.33
94.60
BR6
86.86
91.72
93.34
94.04
93.85
BR7
87.15
90.55
92.50
93.53
93.12
Average
87.61
92.65
93.78
94.53
94.44
Table III R ESULTS COMPARISON FOR VOLUME UTILISATION
As can be observed from Table III, for all the seven test cases the DE performs better than Greedy heuristics, parallel tabu search and parallel SA. In BR3 and BR5 test cases DE achieves higher volume utilization. The average volume utilization is also comparable with other algorithms
2013 IEEE Symposium on Differential Evolution (SDE)
reported in the literature. In terms of computational times we cannot make any fair and meaningful comments since all the other approaches were tested on computers with different computing configurations VII. C ONCLUSION This paper presents random key DE algorithm for solving the 3D-SCLP with maximum volume utilizationfor problems with both weakly heterogeneous and strongly heterogeneous assortments of boxes. From the computational experiments, DE yields comparable results with many of the work in the literature. During the experiment, one shortcoming of DE algorithm is also found that the results of some cases are not good enough when compared to results of Parreno et al [21] with the average value. Fine tuning the algorithm parameters will improve the solution quality. The results indicate that the DE algorithm is capable of solving 3D-SCLP. In the near future, the DE variants can become a valuable tool for optimizing 3D-SLCP. R EFERENCES [1] Z. Wang, K. Li, and J. Levy, “A heuristic for the container loading problem: A tertiary-tree-based dynamic space decomposition approach,” European Journal of Operational Research, vol. 191, no. 1, pp. 86–99, 2008. [2] D. Pisinger, “Heuristics for the container loading problem,” European Journal of Operational Research, vol. 141, no. 2, pp. 382–392, 2002. [3] R. Storn and K. Price, “Differential evolution–a simple and efficient heuristic for global optimization over continuous spaces,” Journal of global optimization, vol. 11, no. 4, pp. 341–359, 1997. [4] J. Gonc¸alves and M. Resende, “A parallel multi-population biased random-key genetic algorithm for a container loading problem,” Computers & Operations Research, vol. 39, no. 2, pp. 179–190, 2012. [5] K. Lai and J. Chan, “Developing a simulated annealing algorithm for the cutting stock problem,” Computers & industrial engineering, vol. 32, no. 1, pp. 115–127, 1997. [6] E. Bischoff and M. Ratcliff, “Issues in the development of approaches to container loading,” Omega, vol. 23, no. 4, pp. 377–390, 1995.
[10] H. Gehring and A. Bortfeldt, “A genetic algorithm for solving the container loading problem,” International Transactions in Operational Research, vol. 4, no. 5-6, pp. 401–418, 2006. [11] D. Mack, A. Bortfeldt, and H. Gehring, “A parallel hybrid local search algorithm for the container loading problem,” International Transactions in Operational Research, vol. 11, no. 5, pp. 511–533, 2004. [12] 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. [13] J. Liu, X. Zhang, C. Maple, and Y. Yue, “A hybrid ant colony algorithm for solving container loading,” in Information Management, Innovation Management and Industrial Engineering (ICIII), 2012 International Conference on, vol. 3. IEEE, 2012, pp. 224–227. [14] T. Dereli and G. Das, “A hybrid bee (s) algorithmfor solving container loading problems,” Applied Soft Computing, vol. 11, no. 2, pp. 2854–2862, 2011. [15] A. Bortfeldt and H. Gehring, “A hybrid genetic algorithm for the container loading problem,” European Journal of Operational Research, vol. 131, no. 1, pp. 143–161, 2001. [16] E. Bischoff, F. Janetz, and M. Ratcliff, “Loading pallets with non-identical items,” European Journal of Operational Research, vol. 84, no. 3, pp. 681–692, 1995. [17] 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. [18] M. Eley, “Solving container loading problems by block arrangement,” European Journal of Operational Research, vol. 141, no. 2, pp. 393–409, 2002. [19] R. Morabito and M. Arenalest, “An and/or-graph approach to the container loading problem,” International Transactions in Operational Research, vol. 1, no. 1, pp. 59–73, 1994. [20] A. Lim, B. Rodrigues, and Y. Wang, “A multi-faced buildup algorithm for three-dimensional packing problems,” Omega, vol. 31, no. 6, pp. 471–481, 2003. [21] F. Parre˜no, R. Alvarez-Valdes, J. Tamarit, and J. Oliveira, “A maximal-space algorithm for the container loading problem,” INFORMS Journal on Computing, vol. 20, no. 3, pp. 412– 422, 2008.
[7] S. Fekete and J. Schepers, “A new exact algorithm for general orthogonal d-dimensional knapsack problems,” in AlgorithmsESA’97. Springer, 1997, pp. 144–156. [8] S. Martello, D. Pisinger, and D. Vigo, “The three-dimensional bin packing problem,” Operations Research, vol. 48, no. 2, pp. 256–267, 2000. [9] T. Fanslau and A. Bortfeldt, “A tree search algorithm for solving the container loading problem,” INFORMS Journal on Computing, vol. 22, no. 2, pp. 222–235, 2010.
2013 IEEE Symposium on Differential Evolution (SDE)
111