Computers & Industrial Engineering 59 (2010) 830–839
Contents lists available at ScienceDirect
Computers & Industrial Engineering journal homepage: www.elsevier.com/locate/caie
Solving facilities location problem in the presence of alternative processing routes using a genetic algorithm Maghsud Solimanpur a,⇑, Mehdi A. Kamran b a b
Faculty of Engineering, Urmia University, Urmia, West Azerbaijan Province, Iran Department of Industrial Engineering, Amirkabir University, Tehran, Iran
a r t i c l e
i n f o
Article history: Received 12 September 2009 Received in revised form 5 February 2010 Accepted 23 August 2010 Available online 27 August 2010 Keywords: Location problem Alternative processing routes Mathematical programming Genetic algorithm
a b s t r a c t Facilities location problem deals with the optimization of location of manufacturing facilities like machines, departments, etc. in the shop floor. This problem greatly affects performance of a manufacturing system. It is assumed in this paper that there are multiple products to be produced on several machines. Alternative processing routes are considered for each product and the problem is to determine the processing route of each product and the location of each machine to minimize the total distance traveled by the materials within the shop floor. This paper presents a mixed-integer non-linear mathematical programming formulation to find optimal solution of this problem. A technique is used to linearize the formulated non-linear model. However, due to the NP-hardness of this problem, even the linearized model cannot be optimally solved by the conventional mathematical programming methods in a reasonable time. Therefore, a genetic algorithm is proposed to solve the linearized model. The effectiveness of the GA approach is evaluated with numerical examples. The results show that the proposed GA is both effective and efficient in solving the attempted problem. Ó 2010 Elsevier Ltd. All rights reserved.
1. Introduction The location of facilities in the plant area, often referred to as ‘‘facility location problem” (FLP), is known to have a significant impact on manufacturing costs, work-in-process, lead times and productivity (Drira, Pierreval, & Hajri-Gabouj, 2007). A good placement of facilities contributes to the overall efficiency of operations and may reduce the total operating expenses up to 50% (Tompkins et al., 1996). A facility layout is an arrangement of everything needed for production of goods or delivery of services. A facility is an entity that facilitates the performance of any job. It may be a machine tool, a work center, a manufacturing cell, a machine shop, a department, a warehouse, etc. (Heragu, 1997). There are some layout types which are used in manufacturing systems. These layouts can be classified as process layout, product layout, cellular layout (GT), fixed-position layout, hybrid layout, etc. (Solimanpur & Jafari, 2008). In these layout types, facilities can be arranged in different shapes like single-row, multi-row, circular, U-shape, etc. (Solimanpur, Vrat, & Shankar, 2005). Due to the variety of considerations found in the articles, researchers do not agree about a common and exact definition of layout problems. In its most general form, the FLP is defined as follows. Given N departments with known area requirements and ⇑ Corresponding author. Tel.: +98 441 2972854; fax: +98 441 3466559. E-mail address:
[email protected] (M. Solimanpur). 0360-8352/$ - see front matter Ó 2010 Elsevier Ltd. All rights reserved. doi:10.1016/j.cie.2010.08.010
inter-departmental material flow requirements, partition a planar area of size W H into departments in order to minimize the total material handling cost. In general, the total material handling cost is expressed as (Konak, Kulturel-Konak, Norman, & Smith, 2006)
Z¼
N1 X n X
cij fij dij
ð1Þ
i¼1 j¼iþ1
where dij is the distance between departments i and j for a specific distance metric, fij is the amount of material flow, and cij is the material handling cost per unit flow per unit distance traveled between departments i and j. The constraints of the problem include satisfying the area requirements of the departments and the boundaries of the layout. In addition, restrictions on the shapes and locations of departments might be enforced because of practical considerations (Konak et al., 2006). In a general perspective, the researches on facilities location problem available in the literature are twofold. Some researches assume that the locations are known in advance and the problem is to assign facilities to different locations. In contrast, some other researches assume that locations are not known a priori and must be determined in a continuous area. The problem attempted in this paper belongs to the first category. Kusiak and Heragu (1987), Drira et al. (2007) have reviewed the existing models and solution approaches published in the literature for the facility planning
831
M. Solimanpur, M.A. Kamran / Computers & Industrial Engineering 59 (2010) 830–839
problems. Some recent researches on this problem are surveyed in the following. Kouvelis and Chiang (1992) suggested a discrete formulation to minimize backtracking of parts in the single-row layouts. Lacksonen and Enscore (1993) and Baykasoglu and Gindy (2001) considered a dynamic layout problem with equally sized facilities. Mir and Imam (2001) developed a hybrid optimization approach for the layout design of un-equal-area facilities. Balakrishnan, Robert Jacobs, and Venkataramanan (1992) and Baykasoglu, Dereli, and Sabuncu (2006) added some budget constraints in the reconfiguration of facilities on the shop floor. Solimanpur and Jafari (2008) introduced a branch-and-bound algorithm to find the optimal solution for the two-dimensional facility layout problem. Since the solution methodology used in this paper is genetic algorithm, some researches applying this algorithm for solving facilities location problem are reviewed in the following. Suresh, Vinod, and Sahu (1995) developed a GA for generating facility layouts based upon a quadratic assignment approach. They presented a genetic algorithm for obtaining efficient layouts and discussed the different aspects involved in the design of efficient genetic algorithms. Rajasekharan, Peters, and Yang (1998) developed a GA for optimizing flexible manufacturing layouts that was based on a mixedinteger programming formulation. Mak, Wong, and Ghan (1998) applied genetic algorithm to solve the facilities layout problem in manufacturing systems design. They developed a mathematical model to examine the layout of machines and the pattern of material flow for typical job shop and flow shop manufacturing environments. A genetic approach is developed to determine the optimal solution of the facilities layout problem. Tavakkoli-Moghaddain and Shayan (1998) applied genetic algorithm to solve the quadratic assignment formulation of equal and un-equal sized facilities layout problem. Lee, Han, and Roh (2003) proposed an improved genetic algorithm (GA) to obtain solutions for facility layouts that are supposed to have inner walls and passages. El-Baz (2004) described a genetic algorithm to solve the problem of optimal facilities layout in manufacturing systems design so that material handling costs are minimized. Different material flow patterns in manufacturing environments including flow shop layout, flow-line layout (single line) with multiple products, multiline layout, semi-circular and loop layout are considered in the research. Lee, Roh, and Jeong (2005) proposed an improved genetic algorithm to find solutions for multi-floor facility layouts having inner structure walls and passages. Despite the fact that products in a manufacturing environment can be produced by different processing routes which affects arrangement of facilities in the shop floor, this issue has not been considered in the existing literature. A majority of the researches reviewed above have formulated this problem as a QAP model without any focus on the routes by which products are produced. One of the major contributions of the model proposed in this paper is the consideration of alternative processing routes along with the sequence of operations in location problem. This issue complicates exploration of the solution space and increases the computational complexity of the attempted problem. Despite this complexity, it is shown that the proposed genetic algorithm obtains promising results. This paper is organized as follows. A non-linear 0–1 programming formulation is presented in Section 2 to formulate the facility location problem in the case of multiple products and alternative processing routes for each product. This model is then linearized as a mixed-integer linear programming model. A genetic algorithm
is proposed in Section 3 to solve the attempted problem. In Section 4, performance of the proposed algorithm is evaluated based on randomly generated problems. The results show that the proposed approach provides an effective means to solve facility layout problems in the presence of multiple products and alternative processing routes. Conclusions and scope for future researches are included in Section 5. 2. Mathematical formulation 2.1. Proposed formulation Suppose that a manufacturing system produces P kinds of different products. Let there are Ip processing routes to produce product p. There are M machines in this manufacturing system that must be located in L existing locations (L P M). The distance between locations l and l* is assumed to be dll*. Let Dp denote the production volume of product p. The problem is to determine the processing route of each part and location of each machine. Other notations are defined as follows:
Xp total number of processing routes I ¼ I p : p¼1
I
amm0 pi0
xml ¼
8 0 > < 1 if machine m is needed immediately after manchine ¼ min the processing route i of product p > : 0 otherwise
yip ¼
1 if machine mis located in location l 0
otherwise
1 if product pis processed by route i 0
otherwise
The total distance traveled by the products is computed as follows.
Min
p X Ip M M L L X X X X X m¼1
ðxml xm0 l0 yip Þ amm0 pi
m0 ¼1 l¼1 l0 ¼1 p¼1 i¼1 m0 – m l0 – 1
Dp dll0
ð2Þ
Subject to: L X
xml ¼ 1 8 m ¼ 1; . . . ; M
ð3Þ
xml 6 1 8 l ¼ 1; . . . ; L
ð4Þ
Y ip ¼ 1 8 p ¼ 1; . . . ; P
ð5Þ
l¼1 M X m¼1 Ip X i¼1
xml 2 f0; 1g
ð6Þ
yip 2 f0; 1g
ð7Þ
Constraint (3) ensures that only one machine is assigned to each location. Constraint (4) guarantees that each machine is located at only one location. Constraint (5) ensures that only one processing route will be selected for each product. As seen, the objective function of this model is non-linear. In order to linearize the model, multiplication of three 0–1 variables ðxml xm0 l0 yip Þ is replaced with a single 0–1 variable denoted by zmm0 ll0 ip . The following constraint guarantees that variable zmm0 ll0 ip equals 1 only when all the three multiplied variables are 1 and it equals 0, otherwise.
832
M. Solimanpur, M.A. Kamran / Computers & Industrial Engineering 59 (2010) 830–839
ðxml þ xm0 l0 þ yip 2Þ 6 zmm0 ll0 ip 6 ðxml þ xm0 l0 þ yip Þ=3;
ð8Þ
zmm0 ll0 ip 2 f0; 1g:
ð9Þ
So, the linear model can be written as follows:
Min
p X Ip M M L L X X X X X m¼1
zmm0 ll0 ip amm0 pi Dp dll0
ð10Þ
m0 ¼1 l¼1 l0 ¼1 p¼1 i¼1 m0 – m l0 – 1
2.2. Problem complexity
Subject to: L X
xml ¼ 1 8 m ¼ 1; . . . ; M
ð11Þ
xml 6 1 8 l ¼ 1; . . . ; L
ð12Þ
yip ¼ 1 8 p ¼ 1; . . . ; P
ð13Þ
l¼1 M X m¼1 Ip X
reduced by M (M 1) L (L 1) I. Also the same number of variables z have been relaxed from 0–1 into non-negative real variables. For example, in a typical problem with M = L = 10 and I = 20, a number of 162,000 constraints have been removed and the same number of 0–1 variables have been relaxed into non-negative real variables.
The computational complexity of this problem is discussed in the following. Suppose there are M machines to be located in L locations in the manufacturing system and we have to produce one product with only one process plan. Without loss of generality, let us assume that L = M. In this case, the possible number of solutions for this problem is M!. Now suppose that this product could be produced by I1 process plans. So, the number of possible solutions will be M! I1. Now, when there are p ¼ 1; 2; . . . ; P products each producible by Ip processing routes, the total number of solutions for this problem is
i¼1
ðxml þ xm0 l0 þ yip 2Þ 6 zmm0 ll0 ip
8 m; m0 ; l; l0 ; i; p; m – m0 ; l – l0 ð14Þ
M!
P Y
Ip :
ð27Þ
p¼1 0
zmm0 ll0 ip 6 ðxml þ xm0 l0 þ yip Þ=3 8 m; m0 ; l; l ; i; p; m – m0 ; l – l
0
ð15Þ
xml 2 f0; 1g
ð16Þ
yip 2 f0; 1g
ð17Þ
zmm0 ll0 ip 2 f0; 1g
ð18Þ
Although the second model is linear, it has a large number of 0–1 variables and constraints as compared to the non-linear model. However, this model can be simplified by removing Constraint (15) and relaxing the variable z to be a non-negative real variable. This simplification is due the positivity of coefficients of variable z in the objective function.
Min
p X Ip M M L L X X X X X m¼1
zmm0 ll0 ip amm0 pi Dp dll0
ð19Þ
m0 ¼1 l¼1 l0 ¼1 p¼1 i¼1 m0 – m l0 – 1
Subject to: L X
xml ¼ 1 8 m ¼ 1; . . . ; M
ð20Þ
xml 6 1 8 l ¼ 1; . . . ; L
ð21Þ
yip ¼ 1 8 p ¼ 1; . . . ; P
ð22Þ
l¼1
. M X m¼1
. Ip X i¼1
ðxml þ xm0 l0 þ yip 2Þ 6 zmm0 ll0 ip
8 m; m0 ; l; l0 ; i; p; m – m0 ; l – l0 ð23Þ
xml 2 f0; 1g
ð24Þ
yip 2 f0; 1g
ð25Þ
zmm0 ll0 ip P 0
ð26Þ
As a matter of fact decreasing the number of constraints and 0– 1 variables can highly reduce the computation time of the problem. In the third model derived above, the number of constraints has
For example, for a problem with fifteen machines, eight products each having 5, 4, 3, 3, 5, 3, 4 and 5 processing routes respectively, the total number of solutions is 7.06144E+16. This complexity shows that the problem is NP-hard and its optimum solution can not be determined for medium to large-sized problems. Our computational experiences indicate that even solving the simplified model by exact methods is computationally intractable. Therefore, a genetic algorithm is proposed in Section 3 to solve the attempted problem. 3. Genetic algorithm 3.1. Approach Genetic algorithms (GAs) have attracted the attention of researchers in recent literature due to the fact that they do not employ analytical properties of the function to be optimized. This fact makes GAs a powerful approach for a wide range of optimization problems. The GA is a stochastic search technique (Goldberg, 1989; Michalewicz, 1992). It can explore the solution space by using the concept inspired from natural genetics and evolution theory (Kazerooni, Luonge, & Abhary, 1995; Tavakkoli & Shayan, 1997; Venugopal & Narendran, 1992; Zhang, Zhu, & Luo, 1997). GA starts with an initial set of random solutions for the problem under consideration. This set of solutions is known as the population. The individuals of the population are called ‘chromosomes’. The chromosomes of the population are evaluated according to a pre-defined fitness function. The chromosomes evolve through successive iterations called ‘generations’. During each generation, through merging and modifying chromosomes of a given population, a new population is created. Merging chromosomes is known as ‘crossover’, while modifying an existing one is known as ‘mutation’. Crossover is the process in which the chromosomes are combined in a random fashion to produce a pair of new chromosomes (offspring). Mutation operator is used to expose unexpected changes in the values of genes. The selection of chromosomes to crossover and mutate is based on their fitness function. At each generation, a new population is created by applying the crossover and mutation operators. The process is repeated until a specific stopping criterion is reached (El-Baz, 2004). The outline of the genetic search process used in this paper is summarized as the following steps:
M. Solimanpur, M.A. Kamran / Computers & Industrial Engineering 59 (2010) 830–839
1. Randomly generate an initial population of chromosomes with a population size. 2. Evaluate each chromosome in the population according to the distance traveled by the products. 3. Select parents using the roulette wheel technique and then apply the mutation and crossover operators to the selected parents to produce new offspring and evaluate the newly generated offspring. 4. Select and produce the new generation from the parents and offspring using the roulette wheel and elitism policy. 5. Check the pre-specified automatic stopping criterion for the algorithm. If the algorithm reaches to a pre-defined number of iterations, the search process stops, otherwise the algorithm goes to Step 3. The flow chart of the GA procedure is shown in Fig. 1. 3.2. Chromosome representation
5 7 1 8 6 2 4 3 2 2 1 4 3
It is worth noting that the aforementioned encoding scheme can yet be used for cases where L > M. To capture this case, a number of L–M virtual machines are to be assumed. For example, suppose there are three products and eleven machines to be located in fifteen locations. Therefore, four virtual machines numbered as 12, 13, 14 and 15 are assumed. A typical solution for this problem may be the following chromosome in which locations 3, 7, 10 and 14 are in fact empty.
2
14
1
8
4
13
P X M X M X
Dp amm0 pcp da½ma½m0
ð28Þ
p¼1 m¼1 m0 ¼1
3.3. Selection operator The selection operation is a process to select two individuals (parent) from the current population. In this study, the roulette wheel selection procedure is employed in which the selection probability of each chromosome is proportional to its fitness value. Specifically, in the proposed algorithm, the selection probability of chromosome S denoted by pselection(S) is expressed by Eq. (29) in which fit(S) is the fitness of chromosome S.
fitðSÞ pselection ðSÞ ¼ P j fitðjÞ
ð29Þ
Fitness of chromosome S is defined by Eq. (30) as follows.
The GA technique requires a string representation scheme (chromosome) to encode solution of the problem. In this paper, we divide the chromosome to two segments. The first segment of the chromosome is made up of M genes and shows how M machines are located in M = L locations. In fact, we code the xml variables in this segment of the chromosome. The second segment is made up of P genes indicating the process selected for each product. Indeed, we code yip variables in this segment of the chromosome. For example, let us consider a problem with five products and eight machines to be located in eight locations. Suppose products 1, 2, 3, 4 and 5 have 5, 2, 3, 4 and 3 processing routes, respectively. A typical solution for this problem can be represented by the following chromosome. In this solution, machines 5, 7, 1, 8, 6, 2, 4 and 3 have been located in locations 1, 2, 3, 4, 5, 6, 7 and 8 respectively. Similarly, for products 1 to 5 the processing routes 2, 2, 1, 4 and 3 have been selected.
3
f ðSÞ ¼
833
11
7
15
6
10
9
12
5
A procedure is given in the following which aids calculation of objective function value for a typical chromosome. In general, suppose a typical chromosome, say chromosome S, is as follows in which bl denotes the machine allocated to location l and cp indicates the processing route selected for part p.
b1 b2 … bL c1 c2 … cP Let us further define vector a whose mth element indicates the location to which machine m has been assigned. Therefore, considering the general form of a chromosome mentioned above, vector a can be obtained by a[bl] = l. The objective function value of a chromosome can then be calculated by Eq. (28).
fitðSÞ ¼
1 : f ðSÞ
ð30Þ
Since the objective function of the formulated model is minimization, we consider the reverse of objective function value as the fitness value of a chromosome in Eq. (30). 3.4. Mutation operator The mutation operator is used to bring unexpected changes to the content of a chromosome. In this study, two kinds of mutation operators are used. The first mutation is used in the first segment of the chromosome and the second mutation is performed in the second segment. The first mutation is called as swap mutation in which two genes are selected by random and their contents are swapped. To empower diversification of the algorithm, two swap mutations are applied in the first segment of the selected parents. Fig. 2 shows a swap mutation done at the first segment of a typical chromosome. In the second mutation operation, three genes are chosen by random and the process plans of these three products (genes) are changed randomly. 3.5. Crossover operator In the proposed algorithm two kinds of crossover operators are used. To do so, a random number, say n, is generated from a discrete uniform distribution in (1, M + P). If 1 6 n 6 M, the first crossover operator is used and if M + 1 6 n 6 M + P, the second type of crossover operator is applied. In the first crossover operator, in children, the content of the genes till n and after M + 1 will remain
3
1
1
the same as parents. The genes from n to M are filled by the order that remaining machines appear in the second parent. Fig. 3a exemplifies the first crossover operator applied in the proposed algorithm. The second crossover operator is the well known single point crossover in which the content of the genes from 1 to n are the same as parents and from n + 1 to M + P are exchanged between the parents. Fig. 3b shows the second crossover operator used in the proposed algorithm.
3.6. Reproduction After producing offspring, the new generation is selected from among the old generation and newly generated offspring. Two mechanisms, namely elitism policy and roulette wheel, are used
834
M. Solimanpur, M.A. Kamran / Computers & Industrial Engineering 59 (2010) 830–839
Fig. 1. Flow chart of the proposed genetic algorithm.
3.7. Stopping criterion The stopping criterion in this study is a pre-defined maximum number of iterations. When the algorithm reaches to the pre-defined number, the computation process terminates. 4. Numerical examples
Fig. 2. Mutation operator employed in the first segment of chromosome.
in the proposed algorithm to select the new generation. The former empowers the intensification capability of the algorithm and the later enhances its diversification. To build the new generation, a pre-determined percent, say pe, of the chromosomes are selected based on the elitism policy and the roulette wheel technique is used to select the rest. It is notable that the elitism policy selects the best pe percent of the current chromosomes.
The proposed genetic algorithm was coded in Borland C++ and run on a Core (TM) 2 Duo CPU with 2.50 GHz speed and 4 GB of RAM computer. To evaluate the effectiveness of the proposed algorithm, seven problems of different sizes were randomly generated. To keep length of paper, the raw data and numerical results of only four problems are reported in the following subsections. 4.1. Example 1 This example includes four products and five machines to be located in five locations. Table 1 shows the order of machines at each processing route of each product. Production volume of parts 1–4 is assumed as 1500, 5000, 200 and 40,000, respectively. The distance between different locations is expressed by the following matrix.
835
M. Solimanpur, M.A. Kamran / Computers & Industrial Engineering 59 (2010) 830–839
(a)
(b)
Fig. 3. Crossover operator employed in the proposed algorithm: (a) crossover in the first segment and (b) crossover in the second segment.
4.2. Example 2
Table 1 Alternative processing routes of each product in Example 1. Product
Processing route
1 2 3 4
1
2
3
1,2,3 1,2,3,4 1,2,3,4 1,2,3,4,5
1,2,4 2,3,4,5 1,3,4,5 -
1,2,5 – – –
2
3 10 7 11 7 7 8 0 14 2 7 7 7 5 14 0 13 5 10 11 2 13 3
0 6 6 6 6 Distance matrix between locations ¼ 6 6 17 6 4 4
6 0
17 8
4 5
Fig. 4 shows the reduction of the objective function (total distance traveled between machines) over the 100 generations with a population size = 50. The final solution obtained by the proposed GA is as follows.
1
3
4
2
5
1
2
2
This example includes eight products and eight machines to be located in eight locations. Table 2 shows the order of machines at each processing route of each product. Production volume of parts 1 to 8 is assumed as 500, 140, 600, 100, 50, 160, 200 and 400, respectively. The distance between different locations is expressed by the following matrix.
Distance matrix between locations 3 2 0 9 5 2 8 7 7 4 69 0 2 5 5 6 9 8 7 7 6 7 6 65 2 0 8 8 7 9 5 7 7 6 62 5 8 0 6 8 9 10 7 7 6 ¼6 7 7 68 5 8 6 0 11 9 8 7 6 6 7 6 7 8 11 0 12 9 7 7 6 7 6 47 9 9 9 9 12 0 8 5 4 8 5 10
8
7
8
0
1
This solution indicates that machines 1, 3, 4, 2 and 5 are assigned to locations 1–5, respectively and processing routes 1, 2, 2 and 1 are selected for products 1–4, respectively.
Fig. 5 shows the reduction of the objective function (total distance traveled between machines) over the 2000 generations with a population size = 50. The final solution obtained by the proposed GA is as follows.
836
M. Solimanpur, M.A. Kamran / Computers & Industrial Engineering 59 (2010) 830–839
Fig. 4. Best solution in each iteration of Example 1.
2
5
4
1
6
8
7
3
1
1
2
3
4
2
This example includes three products and fifteen machines to be located in fifteen locations. Table 3 shows the order of machines at each processing route of each product. Production volume of parts 1–3 is assumed as 300, 400 and 200, respectively. The distance between different locations is expressed by the following matrix. Distance matrix between locations ¼ 2 0 1 11 4 9 2 8 5 12 7 8 3 10 6 6 1 0 6 1 7 10 3 11 6 8 3 4 12 6 6 6 11 6 0 2 7 12 5 9 4 3 7 6 11 6 6 6 4 1 2 0 11 3 12 6 9 2 8 6 3 6 6 6 9 9 7 11 0 2 7 3 4 10 4 9 8 6 6 6 2 10 12 3 2 0 10 12 55 3 7 3 9 6 6 6 8 3 5 12 7 10 0 1 9 13 5 7 3 6 6 6 6 3 2 1 0 5 8 1 10 4 6 5 11 9 6 6 6 12 6 4 9 4 55 9 5 0 9 3 8 7 6 6 6 7 8 3 2 10 3 13 8 9 0 4 9 12 6 6 6 8 3 7 8 4 7 5 1 3 4 0 7 11 6 6 6 3 4 6 6 9 3 7 10 8 9 7 0 4 6 6 6 10 12 11 3 8 9 3 4 7 12 11 4 0 6 6 6 4 5 7 13 1 10 9 12 12 3 2 8 1 4 9
1
4
7
6
12
6
5
7
9
3
9
4
8
3
7 9 7 7 7 7 1 7 7 7 13 4 7 7 7 1 7 7 7 7 10 6 7 7 7 9 12 7 7 7 7 12 6 7 7 7 12 5 7 7 7 3 7 7 7 7 2 9 7 7 7 8 3 7 7 7 1 9 7 7 7 0 12 7 5 5
12
2
15
1
5
4
6
12
14
13
9
10
8
4.4. Example 4 This example includes eight products and fifteen machines to be located in 15 locations. Table 4 shows the order of machines at each processing route of each product. Production volume of parts 1–8 is assumed as 300, 400, 200, 500, 100, 150, 250 and 450, respectively. The distance between different locations is expressed by the following matrix. Distance 2 0 6 6 1 6 6 11 6 6 6 4 6 6 6 9 6 6 2 6 6 6 8 6 6 ¼6 5 6 6 12 6 6 6 7 6 6 6 8 6 6 3 6 6 6 10 6 6 4 4
0
8
Fig. 6 shows the reduction of the objective function (total distance traveled between machines) over the 2000 generations with a pop-
3
1
ulation size = 50. The final solution obtained by the proposed GA is as follows.
4.3. Example 3
8
3
7
11
matrix between location 1
11
4
9
2
8
5
12
7
8
3
10
4
8
3
7 9 7 7 6 0 2 7 12 5 9 4 3 7 6 11 7 1 7 7 7 1 2 0 11 3 12 6 9 2 8 6 3 13 4 7 7 7 9 7 11 0 2 7 3 4 10 4 9 8 1 7 7 7 10 12 3 2 0 10 12 55 3 7 3 9 10 6 7 7 7 3 5 12 7 10 0 1 9 13 5 7 3 9 12 7 7 7 11 9 6 3 12 1 0 5 8 1 10 4 12 6 7 7 6 4 9 4 55 9 5 0 9 3 8 7 12 5 7 7 7 8 3 2 10 3 13 8 9 0 4 9 12 3 7 7 7 7 3 7 8 4 7 5 1 3 4 0 7 11 2 9 7 7 4 6 6 9 3 7 10 8 9 7 0 4 8 3 7 7 7 12 11 3 8 9 3 4 7 12 11 4 0 1 9 7 7 7 5 7 13 1 10 9 12 12 3 2 8 1 0 12 5 0
6
1
9
10
3
11
6
8
3
4
12
5
9
1
4
7
6
12
6
5
7
9
3
9
12
0
Fig. 7 shows the reduction of the objective function (total distance traveled between machines) over the 30,000 generations with a
2
1
1
837
M. Solimanpur, M.A. Kamran / Computers & Industrial Engineering 59 (2010) 830–839 Table 2 Alternative processing routes of each product in Example 2.
Table 3 Alternative processing routes of each product in Example 3.
Product
Processing route
Product
1
2
3
4
1 2 3 4 5 6 7 8
1,2,3,4,5,6 1,2,3,4,5,8 1,2,3,5,6,7 2,4,5,6,7,8 1,2,3,6 1,3,5,7,8 1,2,4,5,6,7,8 1,2,3,4,5,6,7,8
1,2,3,4,5,7 1,3,4,5,6,7,8 1,2,3,4,5,6 1,2,3,4,5,6,7 1,2,3,7 1,2,4,5,8 1,4,5,6,7,8 –
1,2,3,4,5,8 1,3,4,5,7,8 1,2,3,4,6,7 2,3,4,5,6,8 1,2,6,7 3,4,5,6,8 1,2,4,5,6,7 –
– – – 1,2,3,5,7,8 1,2,3,8 – 1,3,4,5,6,7 –
1 2 3
population size = 100. The final solution obtained by the proposed GA is as follows.
8
9
12
10
6
7
3
2
15
11
1
14
4
5
13
1
Processing route
2
4.5. Comparison of results In addition to the four problems attempted in the previous subsections, three more problems were randomly generated and solved by Lingo 8.0 to obtain the globally optimum solution of each problem. Example 5 includes three products and 10 machines to be located in ten locations. Each product has two processing routes. Example 6 includes five products and 10 machines to be located in ten locations. Products 1–5 have 2, 2, 3, 2 and 1 processing routes respectively. Example 7 includes eight products and ten machines to be located in 10 locations. Products 1 to 8 have 3, 3, 1, 1, 2, 2 and 1 processing routes respectively. To shorten the paper, the raw data of problems 5, 6 and 7 have been excluded from this report. The results of both genetic algorithm and Lingo 8.0 for all problems are compared in Table 5. Due to the probabilistic nature of the computation process in GA, each problem has been solved by GA five times. The best objective function value obtained in each
1
2
3
4
5
1,2,3,4,5,6 1,2,3,4,5,7,8 1,4,10,11
1,2,3,4,5,7 1,3,4,5,6,7,8 1,4,10,12
1,2,3,4,5,8 1,3,4,5,7,8,9 1,4,10,13
– – 1,4,10,14
– – 1,4,10,15
run of GA is shown in Table 5. As seen in this table, the standard deviation of the final solution is less than 5% for all the attempted problems which indicates thorough inspection of the solution space by the proposed algorithm. The Lingo Software has solved the tested problems by branch-and-bound technique to determine the global optimum solution of each problem. As seen in Table 5,
1
1
1
1
2
1
the proposed GA has obtained the globally optimum solution of Examples 1, 2, 3, 5, 6 and 7 in a significantly lesser computation time. However, this software couldn’t obtain the global solution of Example 4 and resulted into objective function value of 38,450 after about 16 days of computation. Interestingly, the proposed GA has resulted in objective function value of 33,800 within 5 min. 5. Conclusion This paper presents a mixed-integer programming formulation to find optimal solution for the facility location problem with multiple products and alternative processing routes for each of the products. A genetic algorithm was proposed to solve the formulated problem so that the distance traveled by the products is minimized. Computational results indicate that the proposed GA provides very promising solutions for the attempted problem.
Fig. 5. Best solution in each iteration of Example 2.
838
M. Solimanpur, M.A. Kamran / Computers & Industrial Engineering 59 (2010) 830–839
Fig. 6. Best solution in each iteration of Example 3. Table 4 Alternative processing routes of each product in Example 4. Product
1 2 3 4 5 6 7 8
Processing route 1
2
3
1,2,3,4,5,6 1,2,3,5,7,8,10,11 1,4,10,11 1,2,3,4,5,6,7,8,9,10,11,12,13,14 4,5,6,7,8,14,15 2,3,4,5,6 4,5,7,8,10,11,12 1,2,3,4,5,6,7,8,9,10,12
1,2,3,4,5,8,9,10 3,4,5,6,7,8,9,10 1,4,10,12,13,14 – 4,5,6,7,12,13,14,15 2,3,4,5,7,8 4,5,8,9,10,12,14 1,2,3,4,5,6,7,8,9,10,11,13,14
– – 1,4,9,12,13,14 – 4,5,7,9,10,11,12,13,14,15 2,3,4,5,7,10 4,5,8,10,11,12,13,15 –
Fig. 7. Best solution in each iteration of Example 4.
839
M. Solimanpur, M.A. Kamran / Computers & Industrial Engineering 59 (2010) 830–839 Table 5 Comparison of the results obtained by GA with the global optimum solutions. Run
Example 1
Example 2
Example 3
Example 4
Example 5
Example 6
Example 7
Genetic algorithm
1 2 3 4 5 Best solution Worst solution Mean Variance SD (%)
851,700 851,700 851,700 851,700 851,700 851,700 851,700 851,700 0 0
7500 7100 7100 7100 7300 7100 7500 7220 120 2
48,460 48,460 48,860 48,410 48,860 48,410 48,860 48,610 200 0
34,600 35,950 36,150 33,800 36,300 33,800 36,300 35,360 1560 5
295,000 312,000 318,000 297,000 295,000 295,000 318,000 303,400 8400 2
207,000 207,000 210,500 206,100 207,000 206,100 210,500 207,520 1420 0.6
108,900 114,600 108,900 112,100 112,800 108,900 114,600 111,460 2560 2
Lingo
Optimum solution
851,700
7100
48,410
n.a.
295,000
206,100
108,900
Run time (min)
Lingo Genetic algorithm
0 0
106.3 0.083
23.6 0.083
n.a. 5
25.14 0.75
70 0.75
395 1
The approach presented in this paper can be further extended in future researches to overcome limitations of this study. For example, it has been assumed in this paper that the locations to which machines are to be assigned are known in advance. This assumption can be relaxed to consider arrangement of machines in a continuous planar area. Availability of multiple machines of each type can be captured in subsequent researches. Due to the NP-hardness of the problem, application of other meta-heuristics like neural networks, Tabu search, ant colony optimization, etc. can be attempted in the future. Acknowledgement The authors would like to express their sincere thanks and cordial appreciations for the constructive comments of the reviewers which have improved the quality of paper over its earlier versions. References Balakrishnan, J., Robert Jacobs, F., & Venkataramanan, M. A. (1992). Solutions for the constrained dynamic facility layout problem. European Journal of Operational Research, 57(2), 280–286. Baykasoglu, A., Dereli, T., & Sabuncu, I. (2006). An ant colony algorithm for solving budget constrained and unconstrained dynamic facility layout problems. Omega, 34(4), 385–396. Baykasoglu, A., & Gindy, N. N. Z. (2001). A simulated annealing algorithm for dynamic layout problem. Computers & Operations Research, 28(14), 1403–1426. Drira, A., Pierreval, H., & Hajri-Gabouj, S. (2007). Facility layout problem: A survey. Annual Reviews in Control, 31, 255–267. El-Baz, A. M. (2004). A genetic algorithm for facility layout problems of different manufacturing environments. Computers and Industrial Engineering, 47, 233–246. Goldberg, D. (1989). Genetic algorithms in search, optimization, and machine learning. New York: Addison-Wesley. Heragu, S. S. (1997). Facilities design. Boston: BWS. Kazerooni, M., Luonge, L., & Abhary, K. (1995). Cell formation using genetic algorithms. International Journal of Flexible Automation and Integrated Manufacturing, 3(3–4), 283–299. Konak, A., Kulturel-Konak, S., Norman, B. A., & Smith, A. E. (2006). A new mixed integer programming formulation for facility layout design using flexible bays. Operations Research Letters, 34, 660–672.
Kouvelis, P., & Chiang, W. C. (1992). A simulated annealing procedure for the single row layout problems in flexible manufacturing systems. International Journal of Production Research, 30, 717–732. Kusiak, A., & Heragu, S. S. (1987). The facilities layout problem. European Journal of Operational Research, 29(3), 229–251. Lacksonen, T. A., & Enscore, E. E. (1993). Quadratic assignment algorithms for the dynamic layout problem. International Journal of Production Research, 31, 503–517. Lee, K. Y., Han, S. N., & Roh, M. I. (2003). An improved genetic algorithm for facility layout problems having inner structure walls and passages. Computers and Operations Research, 30, 117–138. Lee, K. Y., Roh, M., & Jeong, H. S. (2005). An improved genetic algorithm for multifloor facility layout problems having inner structure walls and passages. Computers & Operations Research, 32, 879–899. Mak, K. L., Wong, Y. S., & Ghan, E. T. S. (1998). A genetic algorithm for facility layout problems. Computer Integrated Manufacturing System, 2, 13–127. Michalewicz, Z. (1992). Genetic algorithms + data structures = evolution programs. Berlin: Springer. Mir, M., & Imam, M. H. (2001). A hybrid optimization approach for layout design of unequal-area facilities. Computers and Industrial Engineering, 39(1–2), 49–63. Rajasekharan, M., Peters, B. A., & Yang, T. (1998). Genetic algorithm for facility layout design in flexible manufacturing systems. International Journal of Production Research, 36(1), 95–110. Solimanpur, M., Vrat, P., & Shankar, R. (2005). An ant algorithm for the single row layout problem in flexible manufacturing systems. Computers and Operations Research, 3(32), 583–598. Solimanpur, M., & Jafari, A. (2008). Optimal solution for the two dimensional facility layout problem using a branch-and-bond algorithm. Computers and Industrial Engineering, 55, 606–619. Suresh, G., Vinod, V. V., & Sahu, S. (1995). A genetic algorithm for facility layout. International Journal of Production Research, 33(12), 3411–3423. Tavakkoli, R., Shayan, E. (1997). Facilities layout design by genetic algorithms. In Proceeding of 22nd international conference on computers and industrial engineering (pp. 415–418). Tavakkoli-Moghaddain, R., & Shayan, E. (1998). Facilities layout design by genetic algorithms. Computers & Industrial Engineering, 35(3-4), 527–530. Tompkins, J. A., White, J. A., Bozer, Y. A., Frazelle, E. H., Tanchoco, J. M., & Trevino, J. (1996). Facilities planning. New York: Wiley. Venugopal, V., & Narendran, T. A. (1992). Genetic algorithm approach to the machine–component grouping problem with multiple objectives. Computers and Industrial Engineering, 22, 469–480. Zhang, Y., Zhu, X., Luo, Y. (1997). Applying genetic algorithms to task planning of multi-agent systems. In Proceeding of 22nd international conference on computers and industrial engineering (pp. 411–414).