Computers & Industrial Engineering 50 (2006) 175–184 www.elsevier.com/locate/dsw
A genetic algorithm for solving the two-dimensional assortment problem Chang-Chun Lin * Department of Information Management, Kun-Shan University, No. 949, Da-Wan Road, Yung-Kang City, Tainan 710, Taiwan, ROC Received 11 October 2003; received in revised form 8 March 2006; accepted 8 March 2006 Available online 2 May 2006
Abstract Assortment problems arise in various industries such as the steel, paper, textiles and transportation industries. Twodimensional assortment problems involve finding the best way of placing a set of rectangles within another rectangle whose area is minimized. Such problems are nonlinear and combinatorial. Current mixed integer programming models give optimal solutions, but the computation times are unacceptable. This study proposes a genetic algorithm that incorporates a novel random packing process and an encoding scheme for solving the assortment problem. Numerical examples indicate that the proposed genetic algorithm is considerably more efficient and effective than a fast integer programming model. Errors with respect to the optimal solutions are low such that numerous practical industrial cutting problems can be solved efficiently using the proposed method. q 2006 Elsevier Ltd. All rights reserved. Keywords: Assortment problem; Genetic algorithm; Random bottom-left procedure
1. Introduction Two-dimensional assortment problems arise when a given set of rectangles are to be cut from a larger rectangle whose area is to be minimized, or when a set of rectangles are to be packed within a enveloping rectangle of minimal area. A problem that is similar to the assortment problem is the trim-loss problem (Hinxman, 1980). Assortment and trim-loss problems arise in various industries such as the steel, paper, textiles and transportation industries. One application of the assortment problem concerns the layout design of a set of departments (Buffa, Armour, & Vollman, 1964; Seehof & Evans, 1967). In a trim-loss problem, the sizes of the material stocks from which smaller pieces are cut off are predetermined, unlike the size of the enveloping rectangle in an assortment problem. All such problems can be classified as one-dimensional, 11⁄2 -dimensional and two-dimensional (Hinxman, 1980). However, 11⁄2 -dimensional problems can be viewed as special cases of two-dimensional problems. Thus, this study focuses mainly on twodimensional assortment problems. The assortment problem has been studied less than the trim-loss problem. Page (1975) first recognized the assortment problem in relation to the cutting of steel bars and developed a dynamic programming formulation. Meanwhile, Chambers and Dyson (1976) considered a version of the two-dimensional problem in which possible stock size widths and lengths are integers in given ranges. Beasley (1985) developed an integer model and a heuristic * Fax: C886 6 273 2726. E-mail address:
[email protected].
0360-8352/$ - see front matter q 2006 Elsevier Ltd. All rights reserved. doi:10.1016/j.cie.2006.03.002
176
C.-C. Lin / Computers & Industrial Engineering 50 (2006) 175–184
algorithm for solving the two-dimensional guillotine cutting assortment problem. Chen, Sarin, and Balasubramanian (1993) also presented a mixed-integer programming model for solving assortment problems, in which one of the dimensions is fixed before the problem is solved, meaning that this method can find only feasible solutions instead of the optimal solution. Li and Chang (1998) developed a method for finding the optimal solution to assortment problems. Li and Tsai (2001) recently proposed an algorithm for optimizing the solution to the assortment problem, which uses fewer 0–1 variables and is thus faster than the method of Li and Chang (1998). Li, Chang, and Tsai (2002) proposed another method that involved piecewise linearization techniques to obtain an approximate optimal solution, but they did not compare their method with that of Li and Tsai (2001). However, the solution found using integer programming is only locally optimal. Linear programming models for solving assortment problems inevitably use 0–1 variables; so computational load becomes a serious problem as the size of the problem grows. Experiments indicate that the computation time of the faster algorithm of Li and Tsai (2001) might exceed 10 h when over six rectangles are involved, making the practical application of the integer programming model impossible. Genetic algorithms are feasible approaches to providing acceptable solutions to various combinatorial optimization problems within a reasonable time. Genetic algorithms have more frequently been applied to twodimensional packing problems than to two-dimensional assortment problems. These two-dimensional packing problems are in fact 11⁄2 -dimensional assortment problems in which the width of the enveloping rectangle is fixed, and the height is to be minimized. Jakobs (1996) first suggested the application of genetic algorithms to the twodimensional packing problem and employed the bottom left (BL) strategy to pack the small rectangles. Hopper and Turton (2001) compared the performances of genetic algorithms and simulated annealing and found that the latter yields better results than the former but requires more execution time when the size of a problem is large. Leung, Chan, and Troutt (2003) found that genetic algorithm consistently outperforms simulated annealing, and that a genetic algorithm combined with simulated annealing outperforms a pure genetic algorithm. However, A flaw in the study of Leung et al. is to assume that the orientations of the small rectangles are fixed. The two-dimensional assortment problem is more difficult to solve than 11⁄2 -dimensional assortment problem because both the width and the height of the enveloping rectangle are variables. Thus, the application of genetic algorithms to two-dimensional assortment problems requires further investigation. This study uses a genetic algorithm to solve the two-dimensional assortment problem. A random BL procedure is embedded in the genetic algorithm to pack the rectangles. The rest of this paper is organized as follows. Section 2 presents the integer programming model of Li and Tsai (2001). Next, Section 3 presents the random BL procedure. Section 4 then presents the data structure and implementation of the proposed genetic algorithm. Section 5 tests and compares the genetic algorithm and the integer programming model. Finally, Section 6 draws conclusions. 2. Problem formulation A number of variables must be defined before the problem can be clearly described. Let n li wi si (xi, yi) ðxi ;yi Þ ðxi0 ;yi0 Þ (x, y)
be the number of rectangles to be assorted, be the length of rectangle i, iZ1,.,n, be the width of rectangle i, iZ1,.,n, be the orientation indicator of rectangle i, iZ1,.,n. siZ1 if the long side is parallel to the x-axis; siZ0 if the short side is parallel to the x-axis. be the bottom left corner coordinates of rectangle i, iZ1,.,n, be the center coordinates of rectangle i, iZ1,.,n, be the top right corner coordinates of rectangle i, iZ1,.,n, be the top right corner coordinates of the enveloping rectangle.
The two-dimensional assortment problem can be briefly stated as Minimize
xy
subject to
1: All the n rectangles are non overlapping 2: All the n rectangles are within the enveloping rectangle:
C.-C. Lin / Computers & Industrial Engineering 50 (2006) 175–184
177
Based on the model of Li and Tsai (2001), the problem can be formulated more precisely as follows. P1: Minimize
xy
Subject to 1 ðxi Kxk Þ C uik M C vik M R ½li si C wi ð1Ksi Þ C lk sk C wk ð1Ksk Þ; 1% i! k% n; 2
(1)
1 ðxk Kxi Þ C ð1Kuik ÞM C vik MR ½li si C wi ð1Ksi Þ C lk sk C wk ð1Ksk Þ; 2
1% i! k% n;
(2)
1 ðyi Kyk Þ C uik M C ð1Kvik ÞMR ½li ð1Ksi Þ C wi si C lk ð1Ksk Þ C wk sk ; 2
1% i! k% n;
(3)
1 ðyk Kyi Þ C ð1Kuik ÞM C ð1Kvik ÞMR ½li ð1Ksi Þ C wi si C lk ð1Ksk Þ C wk sk ; 2
1% i! k% n;
(4)
1 xR xi C ½li si C wi ð1Ksi Þ; 2
i Z 1;.;n;
(5)
1 yR yi C ½li ð1Ksi Þ C wi si ; 2
i Z 1;.;n;
(6)
1 xi R ½li si C wi ð1Ksi Þ; 2
i Z 1;.;n;
(7)
1 yi R ½li ð1Ksi Þ C wi si ; 2
i Z 1;.;n:
(8)
where M denotes a positive large number; uik and vik are 0–1 variables used to ensure that at least one of the first four constraints is satisfied to prevent the rectangles from overlapping. Li and Tsai proposed two consecutive linear programs to solve this nonlinear program. The following program is solved first. P2: Minimize Subject to
z Z x Cy ðx;yÞ 2F; xR y;
where F denotes the feasible area of problem P1. Let z0 be the optimal solution to P2. The following linear program is then solved to obtain an optimal solution to P1. P3: Maximize Subject to
x ðx;yÞ 2F; xR y; x C y Z z0 :
This method provides a solution faster than the method of Li and Chang (1998), but does not necessarily obtain the optimum solution. Moreover, the method of Li and Tsai still uses many 0–1 variables. The computational complexity thus is very high. Meanwhile, Li et al. (2002) use a piecewise linearization technique to approximate the quadratic objective function in P1 to solve the assortment problem more efficiently than the method of Li and Chang (1998). However, the method of Li and Tsai (2001) is more efficient than that of Li et al. (2002), according to the CPU times required for the same numerical examples in these two articles. In practical applications, solution quality might be sacrificed when the problem size is large and the computation time is critical. Thus, genetic algorithm represents a good alternative for finding near optimal solutions in an acceptable time.
178
C.-C. Lin / Computers & Industrial Engineering 50 (2006) 175–184
3. Methodology Although P1 involves four types of variables, the actual decision variables associated with the assortment problem are the orientations and positions of rectangles. Variables uik and vik serve merely as switches among constraints (1)– (4), to prevent the rectangles from overlapping. An assortment problem involving n rectangles requires n(nK1) these switching variables. These variables are very likely responsible for most of the time complexity of P1. If the genetic algorithm for the assortment problem directly encodes the variables of P1 into a chromosome, the genetic algorithm would require a very long chromosome (n2Cn genes) and thus be very complicated. The genetic algorithm is very likely inefficient because of the long chromosome and the overlapping problems between the rectangles to be handled. Therefore, directly encoding the variables of P1 does not seem to be a good idea. The BL procedure of Jakobs (1996), an intuitive way for solving the two-dimensional packing problem, provides a clue for solving the assortment problem. In a two-dimensional packing problem where the width of the enveloping rectangle is fixed, a small rectangle slides downward against the right side of the enveloping rectangle to the bottom and then moves leftward until it reaches another small rectangle. However, the width of the enveloping rectangle is not fixed in the two-dimensional assortment problem and so rectangles to be packed have no fixed starting position from which the BL procedure is initiated. An alternative is to initiate the BL procedure from a randomly selected point instead of from the right side of the enveloping rectangle. Although doing so seems to complicate the problem, the assortment problem is indeed more complicated than the two-dimensional packing problem. Fig. 1 illustrates the random BL procedure. The starting position of a rectangle is represented by an x-coordinate. The random BL procedure determines the area of the enveloping rectangle from the sequence, orientations and initial positions of the small rectangles. Some specific sets of sequences, orientations and initial positions of rectangles constitute the optimal solution to an assortment problem. A genetic algorithm with the random BL procedure (GARBL) can be designed to find the optimal sequence, orientations and initial positions of the rectangles that minimize the enveloping area. The GARBL requires fewer variables (3n) and thus a much shorter chromosome than directly encoding the variables of P1. The GARBL seems to be a promising and efficient way of solving the assortment problem. 4. Data structure and implementations This study incorporates a genetic algorithm with a random BL procedure to solve the two-dimensional assortment problem. This approach releases the genetic algorithm from the nuisance of constraint-handling in the highly constrained assortment problem because every solution represented by a set of sequences, orientations and initial positions of rectangles constitutes a feasible solution. Intuitively, three chromosomes are required to represent the sequence, orientations and initial positions of the rectangles. The first chromosome representing the rectangle
Fig. 1. Random BL procedure.
C.-C. Lin / Computers & Industrial Engineering 50 (2006) 175–184
179
sequence is a permutation of the rectangle numbers; the second one representing the rectangle orientation is a string of 0 and 1; and the third is a string of integers representing the initial rectangle positions. Different chromosomes require different genetic operators. Thus, the genetic algorithm can be very complicated, very difficult to tune, and consequently inefficient. While preliminary studies indicate that the genetic algorithm using three chromosomes to represent a solution performed poorly, the following approach exhibited better performance. Instead of using three independent chromosomes, this study regards the sequence, orientation and position as attributes of a rectangle. The chromosome represents a permutation of the rectangles, of which each gene is a threetuple comprising the rectangle number and its orientation and initial position. Fig. 2 displays a chromosome for solving a five-rectangle assortment problem. In this chromosome, for example, rectangle three is the second rectangle whose long side is parallel to the x-axis and initially positioned at 2Dx, where Dx is a predetermined coordinate difference. The most important advantage of the encoding structure is that every chromosome represents a feasible solution to the assortment problem. A highly constrained optimization problem as expressed in the formulation of P1 is translated into an unconstrained optimization problem to be solved by the genetic algorithm. Notably, the mapping between the phenotype and the genotype is one to many, namely, different chromosomes can yield the same rectangle deployment by the random BL procedure. Nevertheless, this characteristic causes no serious problem. After the final positions of all the rectangles are obtained using the random BL procedure, the top right coordinates of all the rectangles can be determined, and the objective value that represents the area of the enveloping rectangle can be obtained using the objective function below. obj Z maxfxi0 ;
i Z 1;.;ngmaxfyi0 ;
i Z 1;.;ng:
The chromosome is a permutation of the rectangles and requires specialized operators. Many genetic algorithms for solving sequencing optimization problems, such as the traveling salesman problem, machine scheduling, vehicle routing, and others, use such a permutation representation. The operators used in these genetic algorithms are readily applicable to the chromosome of GARBL. Several crossover operators have been proposed for the permutation representation, such as the partial-mapped crossover (Goldberg & Lingle, 1985), the heuristic crossover (Grefenstette, Gopal, Rosmaita, & Gucht, 1985), the order crossover (Davis, 1985), the cycle crossover (Oliver, Smith, & Holland, 1987), the position-based crossover (Syswerda, 1991), the order-based crossover (Syswerda, 1991) and the subtour exchange crossover (Yamamura, Ono, & Kobayashi, 1992). Also, a number of mutation operators have been proposed, such as inversion mutation, insertion mutation, displacement mutation, reciprocal exchange mutation (Gen & Cheng, 1997) and heuristic mutation (Gen & Cheng, 1994). In the genetic algorithms for the traveling salesman problem, some chromosome segments that represent significant subtours capable of reducing the cost need to be retained from generation to generation. Thus, many crossover operators for the traveling salesman problem aim to retain and exchange subtours from parent chromosomes. However, the assortment problem is unlike the traveling salesman problem. In the assortment problem, the same chromosome segments of different chromosomes do not necessarily lead to the same rectangle deployment. The final deployments of the same chromosome segments depend on the genes before these segments. Meanwhile, the function of genetic operators is only to rearrange the genes rather than to generate new ones because the permutation chromosome already contains all the gene codes. However, while retaining valuable chromosome segments, crossover operators for the traveling salesman problem often cause the chromosome to change radically. This may be the reason that pilot experiments conducted by this study showed that genetic algorithms with crossover operators performed badly. Instead, the GARBL without any crossover operator performed better than those with crossover operators. Thus, this study opted to use only mutation operators in the genetic algorithm. The displacement mutation (Gen & Cheng, 1997) is selected to rearrange the chromosomes and to produce new ones while the rectangle orientations and initial positions are modified using conventional mutation operators corresponding to the allele values. Fig. 3 illustrates the displacement mutation operation. Displacement mutation selects a chromosome segment at random and inserts it at a random position.
Fig. 2. Example chromosome.
180
C.-C. Lin / Computers & Industrial Engineering 50 (2006) 175–184
Fig. 3. Displacement mutation.
The allele value of rectangle position is assumed to be an integer without losing any generality because in a realworld problem where the rectangle sizes are not integers, the sizes can be round up to become integers. The decision An integer maker determines the closeness of two adjacent positions (Dx) and the number of different positions ðpÞ. mutation operator applied to the rectangle position to change its value, governed by a mutation rate pm. p is the upper On the other hand, the limit of the rectangle position such that the rectangle position mutates between 0 and p. rectangle orientation is a 0–1 variable to which a binary mutation operator is applied to change its value. This binary mutation is also governed by the mutation rate pm. One chromosome is selected from the population as the parent to reproduce an offspring by the genetic operators. Meanwhile, parents are selected using roulette wheel selection. The displacement mutation performs in each reproduction to rearranges the chromosome. However, the integer and binary mutations that change the rectangle position and orientation are governed by the mutation rate pm to prevent radical chromosome changes. Holland’s original genetic algorithm (Holland, 1975) replaces all parents by their offspring, in a process called generational replacement. Genetic algorithms are blind, so offspring may be worse than their parents. Replacing the parents causes some of the fitter individuals to be eliminated from the evolutionary process. Thus, a crossover rate is required in the hope of preserving good chromosomes. Several replacement strategies have been examined to solve this problem. One of these strategies is (mCl) selection (Ba¨ck & Hoffmeister, 1991), according to which m parents and l offspring compete for survival and the m best offspring and parents are selected as the parents of the next generation. This strategy has the same effect as the elitist model of De Jong (1975), which preserves the best chromosome generated to date. Since the displacement mutation generates only one new chromosome each time, l is set to 1 in this study for simplicity; that is, a (mC1) selection strategy is employed. Each time a single parent is selected, and a single child is produced. If the child is better than the worst chromosome in the population, it replaces the worst chromosome. Since this replacement strategy retains the best individual so far produced, no mutation rate is required to govern the displacement mutation. The displacement mutation performs every time, and the reproduction process goes on until the algorithm stops. Thus, a generationless genetic algorithm is formed, namely, no distinguishable generations can be found in the proposed algorithm. Later, experimental results will show that the generationless genetic algorithm is an effective genetic algorithm. Fig. 4 shows the complete algorithm of the GARBL. 5. Empirical study Crossover and mutation rates significantly strongly affect the performance of most genetic algorithms. Population size is generally less significant than the former two influences. Pilot experiments indicate that a population size around 150 suits this combinatorial optimization problem. In the proposed genetic algorithm where no crossover operation is involved, the most important question remain is, ‘What is the optimal pm for the genetic algorithm’? Tables 1 and 2 display the rectangle dimensions of the test problems. Small problems are found to be insensitive to parameter settings. Thus, a series of experiments using the 20-rectangle problempare conducted to find the optimal pm. ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi The value of Dx was set to 10, and p was set to the integer most close to 1:5 total rectangle area=Dx, i.e. 12. The performance was measured using relative errors with respect to the optimal solutions, defined as: Error Z
areaKoptimal area : optimal area
(10)
The experiments were conducted on a PC with a 2.8 GHz CPU. Thirty trials of 2000 evaluations were performed with mutation rates ranging from 0.01 to 0.1. The average errors in Table 3 suggest that pmZ0.05 appears a better mutation rate than others.
C.-C. Lin / Computers & Industrial Engineering 50 (2006) 175–184
181
Fig. 4. Proposed genetic algorithm.
With the optimal mutation rate thus obtained, the problems listed in Tables 1 and 2 were considered to compare the GARBL with the method of Li and Tsai (2001), the currently best integer programming approach. Also, to investigate the applicability of the proposed algorithm to larger problems, every rectangle of the 20-rectangle problem was duplicated and triplicated, respectively, to form a 40-rectangle and a 60-rectangle problem. The method of Li and Tsai (2001) is solved with LINGO 8.0. Table 4 shows the results obtained using the two methods. The GARBL obtains the optimal solutions in 30 trials for problems with n%8. The run time of the GARBL increases with the problem size because of the increased code length. Meanwhile, the average error also increases with the problem size. Fig. 5 shows that the relation between average error and problem size is approximately linear. Notably, the average errors with respect to 6 to 10 rectangles appear to be larger than they should be. However, this phenomenon is reasonable. When Table 1 Data for the small problems; optimal solutions are in parentheses nZ5 (45!30)
nZ6 (60!50)
nZ7 (60!45)
li
wi
li
wi
li
wi
30 30 23 15 15
12 10 15 13 10
40 36 32 25 20 20
18 12 24 20 16 13
45 40 32 25 21 20 13
10 18 24 5 12 16 5
nZ8 (70!50)
nZ9 (80!50)
nZ10 (75!70)
li
wi
li
wi
li
wi
50 38 35 30 26 25 24 18
15 15 17 11 20 15 12 4
50 38 30 28 25 24 24 20 18
22 15 17 11 18 15 13 15 5
45 45 40 34 30 24 24 20 20 20
30 16 10 18 12 14 13 20 20 18
182
C.-C. Lin / Computers & Industrial Engineering 50 (2006) 175–184
Table 2 Data for the 20-rectangle problem; optimal areaZ92!66 li
wi
li
wi
24 22 22 22 30 20 26 26 32 32
22 20 10 12 20 10 12 8 14 16
18 18 24 24 20 12 24 24 14 12
16 14 18 12 12 10 12 8 12 6
Table 3 Performances of the GARBL with various pm pm
Best error
Average error
Worst error
0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.10
0.0606 0.0389 0.0375 0.0435 0.0435 0.0290 0.0264 0.0435 0.0474 0.0494
0.0861 0.0800 0.0776 0.0722 0.0670 0.0726 0.0697 0.0745 0.0697 0.0728
0.1159 0.1304 0.1199 0.1133 0.0935 0.1028 0.1087 0.1047 0.1014 0.1034
the rectangles are few, each rectangle’s area represents a significant portion of the total area such that a slight difference in the rectangle arrangement often causes a large error. Conversely, given the same times used by the GARBL in 30 trials, the method of Li and Tsai (2001) obtains the optimal solutions to problems with nZ5 and 6 but fails to obtain even a feasible solution for problems with nR20. Meanwhile, the CPU time to reach optimality grows rapidly with the problem size, and the method cannot determine the optimal solution within 12 h when the problem size exceeds seven. Furthermore, for large problems, the integer programming method might require a very long time to find even a feasible solution. This comparison indicates that the integer programming method is inapplicable for large problems and that the GARBL is a more practical method than the integer programming method, in terms of both the quality of the solution and the computation time required. Table 4 Comparison between the GARBL and integer programming Problem size
5 6 7 8 9 10 20 40 60
GARBL
Integer programming
Best error
Average error
Worst error
Time of 30 trials (1)
Average run time
Best error in time (1)
Time to optimality (2)
Best error in time (2)
0.000 0.000 0.000 0.000 0.025 0.024 0.033 0.084 0.107
0.007 0.042 0.050 0.062 0.071 0.062 0.067 0.105 0.163
0.022 0.078 0.099 0.086 0.162 0.104 0.091 0.133 0.190
00:03:21 00:06:04 00:08:48 00:13:45 00:18:58 00:25:30 02:10:01 11:50:23 29:51:09
00:00:07 00:00:12 00:00:18 00:00:28 00:00:38 00:00:51 00:04:20 00:23:41 00:59:42
0.000 0.000 0.019 0.056 0.071 0.100 Infeasible Infeasible Infeasible
00:00:16 00:04:23 00:12:29 O12:00:00 O12:00:00 O12:00:00 O12:00:00 O24:00:00 O48:00:00
0.000 0.000 0.000 0.027 0.037 0.057 Infeasible Infeasible Infeasible
C.-C. Lin / Computers & Industrial Engineering 50 (2006) 175–184
183
Fig. 5. The relation between average error and problem size.
Figs. 6 and 7 show the convergence diagrams of the GARBL in 2000 evaluations with respect to the 40 and 60rectangle problems, respectively. The convergence diagrams show that the GARBL is an effective tool to solve the assortment problem. The GARBL rapidly reduces the initial high average errors to low and stable ones. Although, the proposed genetic algorithm is somewhat different from conventional genetic algorithms in which chromosomes
Fig. 6. Convergence diagram of the 40-rectangle problem.
Fig. 7. Convergence diagram of the 60-rectangle problem.
184
C.-C. Lin / Computers & Industrial Engineering 50 (2006) 175–184
change information by crossover, the individual-evolution strategy appears more efficient than co-evolution. Despite that the probability of achieving the optimal solution decreases and that the average error increases as the problem size increases, the results indicate that the GARBL is an effective and efficient approach to solving the twodimensional assortment problem. The genetic algorithm gives an acceptable solution to the problems within minutes. If the problem is solved by integer programming, the computational overhead will be very high and the computational time will be prohibitive. 6. Conclusions This study proposed a genetic algorithm to solve the two-dimensional assortment problem. The proposed genetic algorithm uses a problem-specific encoding scheme that incorporates with a novel packing process. Numerical examples indicate that the coding method is effective for solving the assortment problem. Using this coding scheme, the proposed genetic algorithm appears to be more efficient and effective than a state-of-the-art integer programming approach. Also, the proposed algorithm provides acceptable solutions to large problems. However, the numerical results also indicate that the two-dimensional assortment problem is truly a very difficult problem even when the problem size is not very large. Although the proposed method appears the only method applicable to the assortment problem, there should be a room for further improvements. References Ba¨ck, T., & Hoffmeister, F. (1991). Extend selection mechanisms in genetic algorithms. In Proceedings of the fourth international conference on genetic algorithms (pp. 92–99). Beasley, J. E. (1985). An algorithm for the two-dimensional assortment problem. European Journal of Operational Research, 19, 253–261. Buffa, E. S., Armour, G. C., & Vollman, T. E. (1964). Allocating facilities with CRAFT. Harvard Business Review, March–April, 130. Chambers, M. L., & Dyson, R. G. (1976). The cutting stock problem in the flat glass industry—selection of stock sizes. Operational Research Quarterly, 27, 949–957. Chen, C. S., Sarin, S., & Balasubramanian, R. (1993). A mixed-integer programming model for a class of assortment problems. European Journal of Operational Research, 63, 362–367. Davis, L. (1985). Applying adaptive algorithms to domains. In Proceeding of the international joint conference on artificial intelligence (pp.162– 164). De Jong, K. A. (1975). An analysis of the behavior of a class of genetic adaptive systems, Doctorial dissertation. University of Michigan. Gen, M., & Cheng, R. (1994). Evolution program for resource constrained project scheduling problem. In Proceeding of the first IEEE conference on evolutionary computation (pp. 736–741). Gen, M., & Cheng, R. (1997). Genetic algorithms and engineering design. New York: Wiley. Goldberg, D., & Lingle, R. (1985). Alleles, loci and the traveling salesman problem. In Proceedings of the first international conference on genetic algorithms (pp. 154–159). Grefenstette, J., Gopal, R., Rosmaita, B., & Gucht, D. (1985). Genetic algorithms for the traveling salesman problem. In Proceedings of the first international conference on genetic algorithms (pp. 160–168). Hinxman, A. I. (1980). The trim-loss and assortment problems: A survey. European Journal of Operational Research, 80(5), 8–18. Holland, J. H. (1975). Adaptation in natural and artificial systems. Ann Arbor, MI: University of Michigan Press. Hopper, E., & Turton, B. C. H. (2001). An empirical investigation of meta-heuristic and heuristic algorithms for a 2D packing problem. European Journal of Operational Research, 128, 34–57. Jakobs, S. (1996). On genetic algorithms for the packing of polygons. European Journal of Operational Research, 88, 165–181. Leung, T. W., Chan, C. K., & Troutt, M. D. (2003). Application of a mixed simulated annealing-genetic algorithm heuristic for the two-dimensional orthogonal packing problem. European Journal of Operational Research, 145, 530–542. Li, H. L., & Chang, C. T. (1998). An approximately global optimization method for a class of assortment problems. European Journal of Operational Research, 105, 604–612. Li, H. L., & Tsai, J. F. (2001). A fast algorithm for assortment optimization problems. Computers and Operations Research, 28, 1245–1252. Li, H. L., Chang, C. T., & Tsai, J. F. (2002). Approximately global optimization for assortment problems using piecewise linearization techniques. European Journal of Operational Research, 140, 584–589. Oliver, I., Smith, D., & Holland, J. (1987). A study of permutation crossover operators on the traveling salesman problem. In Proceedings of the second international conference on genetic algorithms (pp. 224–230). Page, E. (1975). A note on a two-dimensional dynamic programming problem. Operational Research Quarterly, 26, 321–324. Seehof, J. M., & Evans, W. O. (1967). Automated layout design problem (ALDEP). Journal of Industrial Engineering , 690. Syswerda, G. (1991). Scheduling optimization using genetic algorithms. In L. Davis (Ed.), Handbook of genetic algorithms (pp. 332–349). New York: Van Nostrand Reinhold. Yamamura, M., Ono, T., & Kobayashi, S. (1992). Character-preserving genetic algorithms for traveling salesman problem. Journal of the Japanese Society for Artificial Intelligence, 6, 1049–1059.