A Fast Algorithm to Generate Feasible Solution of Production Facilities Layout Based on Plane Segmentation

For facility layout problem with continuous block and unequal area, it is key to generate feasible solution of facility layout with arbitrary space form in order to find the optimal arrangement schemeunder a given goal. According to the given slicing position and slicingmode, the plane for arrangement was divided intomany block areas by use of plane segmentation, which was consistent with the facilities in number. The precise coordinates of the lower-left corner and the top-right corner of each facility were calculated in light of its area, width, and length.The corresponding algorithm was designed in the form of pseudocode.The procedure proposed can provide a feasible facility layout solution. The running results of facilities layout instance containing 14 facilities show that the scheme can output facilities plane layout scheme quickly and provide decision support for the facilities planning.


Introduction
Layout design is an important content of facilities planning and design, mainly to deal with the relative position and area of various kinds of functional facilities (i.e., production or service units) as well as their relevant auxiliary facilities in order to make work flow (customers or materials) and information flow unblocked [1].The concrete content includes the following two aspects: determination of relative position of all facilities and area of each facility.The former refers to the location relationship between different facilities and the latter refers to the size of each facility.Facilities layout solves the space allocation problem in production and operation and its purpose is to make effective combination of all facilities and obtain the maximum economic benefit.If the facility layout is unreasonable, that is, there are many invalid handling or moving or complex working sites and workshop channels, long distance and high cost handling, long time waiting, and poor production balance, the overall operating efficiency of the production system can be affected greatly [2].Suppose all facilities' area is equal and only consider the location of the relationship between facilities; facilities layout problem (FLP) is ascribed to quadratic assignment problem (QAP) [3,4].By doing so, FLP is simplified to allocate  facilities to  discrete points without considering the location coordinates for multirow and multicolumn FLP.But this supposition is hard to meet in real production system and the application of this method is limited.A lot of FLPs are for multiple continuous blocks with unequal area as pointed out in [2].As a special case, single row FLP considers one-dimensional linear array arrangement of rectangular facilities.In this case, all facilities are arranged in the same line in spite of the consideration of different area of every facility, so the generation of feasible solution and the implementation of algorithm are relatively easy [5][6][7][8][9][10][11].
Double row layout is widely adapted in flexible manufacturing system [12][13][14][15][16][17] to facilitate automatic guided vehicles conveying material.The complexity on feasible solution generation was also greatly reduced by limiting the facilities to double line.
Taking facility layout objective function as criterion, the optimal facility layout approach can be found by selecting the arrangement form freely rather than by limiting its form as single, double, or multiline artificially [18].But that will greatly expand the feasible solution space of facilities layout.So the key to search the optimal layout approach combined  with heuristic intelligent algorithm is to generate the feasible solution quickly.This paper is organized as follows.Section 2 introduces the principle of plane segmentation method for facility layout.Section 3 describes the layout step of plane segmentation method and the pseudocode of the realizing algorithm.Section 4 describes an application case containing 14 facilities, verification test in Matlab environment, and some of the evaluation results of this method.Finally, Section 5 concludes with a discussion of the paper.
In each plane splitting operation, the relationship between vectors , , and  is shown in Figure 1.
In actual splitting operation, the element in vectors , , and  can be any permutation within their respective values that an element may take.For a vector  with given element order, there is a splitting position between every two adjacent elements.From left to right, the splitting position randomly ranges from 1 to ( − 1), respectively, and forms the splitting position vector .For a vector  with given element order, there is a splitting mode for every element.From left to right, the splitting mode takes the value 1 or 0, respectively, and forms the splitting position vector .According to the splitting position value of each element in , vector  is partitioned into two parts, left and right.The value in vector  corresponding to the splitting position value determines the plane splitting mode, and 0 and 1 denote splitting vertically and horizontally, respectively.

Determination of Left Set 𝑠𝑒𝑡𝐿 and Right Set 𝑠𝑒𝑡𝑅 for Each Partitioning Operation
Step 1. Find the maximum of existing splitting position  .Step 2. Find the minimum of existing splitting position  .
Step 3. In accordance with the relationship between the current splitting position This paper defines two structures to record the information of splitting position and its results, sets  and ; that is,  = struct("splitting position", {}, "left set", {}) and  = struct("splitting position", {}, "right set", {}).
The process to determine the sets  and  of every splitting operation is shown in Algorithm 1.
The partition task in Figure 2 was completed using the above approach and the results are shown in Table 1.After repeating the operation 5 times, the facility set was partitioned into 5 sets, each of which contained only one element.At the same time, the plane was also partitioned into 5 blocks, each of which was for arranging a facility.

Horizontal line below
Existing horizontal line

Left horizontal line
Existing vertical line  Left set lower.The facilities of vector  on the left of splitting point  (1), that is, (1).leftset,were included in the lower part.The facilities of vector  on the right of (1), that is, (1).rightset,were included in the upper part.

Coordinates Determination of the Second and Subsequent
Splitting Line.From the second splitting operation, inclusion relations between the left set obtained in current operation and the left set and right set obtained before were determined.
For the set including the current left set, its maximum of the structure attribute SO is recorded.Let 1 be the index of maximum SO in left set and let 2 be the index of maximum SO in right set.
(I) If the current splitting mode is horizontal, that is, () = 0,  ≥ 2, the splitting line of current operation has the following cases according to the value of 1 and 2.
(i) Consider 1 ̸ = 0, 2 = 0.In this case, the left set obtained in current operation was included by only one existing left set.The determination of splitting line according to the value of (1) was as shown in Figure 4.
(ii) Consider 1 = 0, 2 ̸ = 0.In this case, the left set obtained in current operation was included by only one existing right set.The determination of splitting line according to the value of (2) was as shown in Figure 5.
As shown in Figure 5(a), when (2) = 0, the corresponding existing splitting line was a horizontal line

Horizontal line above
Existing horizontal line

Right horizontal line
Existing vertical line

Existing horizontal line
Existing vertical line Lower-right horizontal line

Existing horizontal line
Existing vertical line Horizontal line in between Existing vertical line 1 Existing vertical line 2 (iii) Consider 1 ̸ = 0, 2 ̸ = 0.In this case, the left set obtained in current operation belonged to both some existing right set and some existing left set.The determination of splitting line according to the value of (2) and (1) was as shown in Figure 6.
The above approach to determine the line coordinates and to draw the line was shown as the pseudocode in Algorithm 3.
(II) If the current splitting mode is horizontal, that is, () = 1,  ≥ 2, the splitting line of current operation has the following cases according to the value of 1 and 2.
(i) Consider 1 ̸ = 0, 2 = 0.In this case, the left set obtained in current operation belonged to only one existing left set.The determination of splitting line according to the value of (1) was as shown in Figure 7.

Vertical line below
Existing horizontal line Existing vertical line Left vertical line
(ii) Consider 1 = 0, 2 ̸ = 0.In this case, the left set obtained in current operation belonged to only one existing right set.The determination of splitting line according to the value of (2) was as shown in Figure 8.
(iii) Consider 1 ̸ = 0, 2 ̸ = 0.In this case, the left set obtained in current operation belonged to both one existing right set and one existing left set.The determination of splitting line according to the value of (1) and (2) was as shown in Figure 9.
For the case of () = 1,  ≥ 2, the pseudocode to realize the above approach can be achieved by replacing ℎlin start(), ℎlin end(), and ℎlin () in Figure 5 with Vlin start(), Vlin end(), and Vlin (), respectively.The coordinate values of each splitting line can be determined according to Figures 7∼9.
Plane segmentation process is to determine facilities relative position in the layout area.For the aforementioned FLP with 6 facilities (as shown in Figure 3), the process of

Upper-left vertical line
Existing vertical line Existing horizontal line

Existing vertical line 2
Existing vertical line 1 Vertical line in between plane splitting and splitting line coordinate determining can be described as follows.
The initial layout area was a plane determined by the lower-left corner (0, 0) and top-right corner   (∑ ℎ  , ∑ V  ).For the first splitting operation, the vertical splitting line  31  32 ,  31 (∑ =1,2,3 ℎ  , 0),  32 (∑ =1,2,3 ℎ  , ∑ V  ), divided the initial layout area into two parts, left and right side.The left was for facilities 1, 2, and 3, and the right was for facilities 4, 5, and 6.The second splitting line  21  22 ,  21 (0, ∑ =1,2 V  ),  22 (∑ =1,2,3 ℎ  , ∑ =1,2 V  ), was horizontal and partitioned the left side of the first time into two parts, lower and upper part.The lower area was for facilities 1 and 2, and the upper part was for facility 3. The third splitting line  41  42 ,  41 (∑ =1,2,3 ℎ  , V 4 ),  42 (∑ ℎ  , V 4 ), was horizontal and partitioned the right side of the first time into two parts, lower and upper.The upper area was for facilities 5 and 6, and the lower part was for facility 4. The fourth vertical splitting line  11  12 ,  11 (V 1 , 0),  12 (ℎ 1 , ∑ =1,2 V  ), divided the lower part of the second time into two sides, left and right.The left was for facility 1 and the right was for facility 2. The fifth horizontal splitting line  51  52 ,  51 (∑ =1,2,3 ℎ  , V 4 + V 5 ),  52 (∑ ℎ  , V 4 +V 5 ), divided the upper part of the third time into two sides, upper and lower.The upper one was for facility 6 and the lower one was for facility 5.So far, the plane was divided into blocks whose amount was equal to the facility number.Each block was for a special facility.The position of the above 6 facilities can be located by a point pair of the lower-left corner and the upper-right corner of the 6 blocks as follows:  1 {,

Case Study
4.1.Basic Information of Facilities.This paper took the FLP of a toolkit manufacturer as a case to validate the approach mentioned above.The area and aspect ratio of every facility were shown in Table 2.

Run Settings of Plane Segmentation Algorithm and the Results.
According to the layout approach of plane splitting proposed in Section 3, the input information for this case is as follows:  = { 1 ,  2 , . . .,  14 },  = {6, 3, 11, 7, 8, 5, 1, 2, 4, 13, 9, 10, 12}, and  = {0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0}, and size matrix of facility  is as follows: (1)  In , the data in the first and second row denoted the length and width of each facility, respectively.By running the algorithm in Matlab, a feasible layout approach was obtained as in Figure 10.The Arabic numerals labeled in Figure 10 denoted the facility number, and the block that was labeled with a numeral was the layout area of the corresponding facility.Each block was located by the coordinates of lowerleft corner and upper-right corner.The red point in each block denoted the centroid position of each facility.
From the layout scheme of Figure 10, it can be seen that facility 1 was in the lower-left corner of the plane, and, for facilities adjacent to facility 1, the facility with smaller number was located in the left and lower side and the facility with larger number was located in the right and upper side.This result was related to the order given by the input set.By changing the element order of , , and , different feasible layout approaches can be obtained and then be further combined with heuristic intelligent algorithms to search the optimum.Figure 11 showed the different schemes of different , , and .

Analysis on the Influence of Facilities Quantity on the
Algorithm.In order to analyze the sensitivity of the proposed solutions to the quantity of the facilities, this paper selected 40 kinds of data with every 5th number from 5 to 200 to test.The machine parameters to run the algorithm were as follows: Intel Celeron CPU E3300, dual core, 2.5 GHz, 2 GB memory.The test results were displayed in Figure 12.
Figure 12 showed the running time and memory usage of algorithm to generate a feasible layout scheme under different facility quantity.It can be seen that facility quantity has a great influence on the algorithm performance, and the facility quantity was nearly linear with the running time and memory usage.When facility quantity was 20 and 100, the running time was 0.0506 s and 0.7871 s and the memory usage was 74.419 Kb and 118.035Kb, respectively.Supposing that this method was combined with genetic algorithm (GA) for iterative optimization, the population size of genetic algorithm was 50 and the iteration number was 100, the running time of GA was 0.0506 * 50 * 100 = 253 s and 0.7871 * 50 * 100 = 3935.5 s, and the memory usage was 74.419 Kb * 50 * 100 = 372.095Mb and 118.035Kb * 50 * 100 = 590.175Mb for the above two cases.So the proposed approach is suitable for the FLP of limited facility quantity.

Conclusions and Prospects
According to the characteristics of FLP with continuous block and unequal area facilities, this paper proposed plane splitting method to divide the layout area into the same number of blocks with the facility quantity and also developed the algorithm pseudocode to realize the method.The splitting process and the corresponding results were recorded in a data structure.Based on this and the splitting mode of each operation, the splitting line coordinates were determined.The results of case study show the effectiveness and the reliability of the proposed method.
The following conclusions are drawn from the above study: (i) It is reasonable and effective to solve FLP with continuous block and unequal area facilities by use of plane Mathematical Problems in Engineering  segmentation method, which can divide the layout area into the same number of blocks with the facility quantity and so generate feasible layout scheme.(ii) The proposed plane segmentation algorithm can provide support to CAFP (computer aided facilities planning), generate feasible solution fast, and search the optimal layout approach combined with intelligent optimization algorithm.(iii) The encapsulated parameters of the proposed algorithm make it easy to solve different FLPs.When the FLP changed, the values of , , and  can be passed to the algorithm as parameters without changing the algorithm itself.
For particular facility layout goals, the combination of the proposed method with different heuristic intelligent optimization algorithm and the best combination scheme should be studied further.The proposed approach only considered the dimensions of facilities and did not analyze the impact of existing constraints within the layout area, which is common for FLP in renovated or expanded engineering.So it is worthy of further research.

Algorithm 1 :
Process to determine the left and right set for given splitting position.

Figure 4 :
Figure 4: Case of current left set only belonging to some existing left set.

Figure 5 :
Figure 5: Case of current left set only belonging to some existing right set.

Figure 6 :
Figure 6: Case of current left set belonging to both some existing right set and some existing left set.

Figure 7 :
Figure 7: Case of current left set only belonging to some existing left set when () = 1,  ≥ 2.

Figure 8 :
Figure 8: Case of current left set only belonging to some existing right set when () = 1,  ≥ 2.

Figure 9 :
Figure 9: Case of current left set belonging to both some existing right set and some existing left set, () = 1,  ≥ 2.

Figure 10 :
Figure10: A feasible layout approach of FLP with 14 facilities using plane splitting method.

Figure 11 :
Figure 11: Feasible layout scheme corresponding to different element order of input set.

Figure 12 :
Figure 12: The relation curve between the facilities quantity and running time and memory usage.
(ii) If   >  , the current splitting position   lies in the existing  where   was found before.This operation partitions this  into two parts, that is, new  and .
,  , and  , new left set  and right set  are determined as follows:(i) If   <  , in this case, the current splitting position   lies in existing  where   was found before.This operation partitions this  into two parts, that is, new  and .

Table 1 :
Results of set partitioning.

Table 2 :
Facility information of a toolkit manufacturer.