Available online at www.sciencedirect.com
ScienceDirect Materials Today: Proceedings 4 (2017) 2129–2136
www.materialstoday.com/proceedings
5th International Conference of Materials Processing and Characterization (ICMPC 2016)
Bacteria Foraging Optimization Algorithm for Robotic Cell Scheduling Problem Arindam Majumdera,*, Dipak Lahab a
Assistant Professor, Mechanical Engineering Department, National Institute of Technology Agartala,Tripura(W), India b Professor, Department of Mechanical Engineering, Jadavpur University,Kolkata,India
Abstract The present study deals with the application of BFO for solving robotic cell problem. One of the major disadvantages of Passino invented BFO is its applicability constrains for solving problems except those contain continuous domain. Thus to make BFO applicable in robotic cell problem, Pairwise interchange mutation is chosen for tumbling and swimming operation during chemotaxis.While cyclic-shift neighbourhood mutation is used for random movement duringElimination-Dispersal. The example related to the two-machine robotic cell scheduling problem with sequence-dependent setup times (2RCSDST) was used to demonstrate the performance of the proposed discrete bacteria foraging algorithm. Large part sized problems varying from 200 to 500 part size was considered during this study. The computational results thus obtained were compared with two other existing optimization techniques and found BFO as the better performer to solve such large sized problems. ©2017 Elsevier Ltd. All rights reserved. Selection and peer-review under responsibility of Conference Committee Members of 5th International Conference of Materials Processing and Characterization (ICMPC 2016). Keywords:Scheduling; 2-machine centered robot cell; total cycle time; bacteria foraging algorithm; minimal part set sequence; sequence of robot moves
1. Introduction Modern manufacturing processes require to have automated material handling system to increase the productivity of any industry. In this present world most of the industries employed computer controlled material handling system by which raw materials are conveyed through different processing stages in order to produce a finished part or product. During this process the material handling is carried out by a set of robots in the robotic cells. These robotic cells consist of one input station, a number of machines lying in serious, an output station and one or more number of robots for handling the parts between the stations. E-mail address:
[email protected]
2214-7853©2017 Elsevier Ltd. All rights reserved. Selection and peer-review under responsibility of Conference Committee Members of 5th International Conference of Materials Processing and Characterization (ICMPC 2016).
2130
Arindam Majumder et al./ Materials Today: Proceedings 4 (2017) 2129–2136
The efficiency of any robotic cell is depending on both robot movement as well as part sequence. Therefore, it is necessary to find optimal sequence of robotic motion along with schedules of parts, which can provide maximum return of investment. For this purpose, a number of studies were carried out by various researchers. At the initial stage many researchers developed different mixed integer programming (MIP) model to solve cyclic scheduling problem [1-4]. While some of the researchers proposed various branch and bond algorithms for solving such models [5-7]. Other researchers introduced heuristic algorithms for the cyclic robotic flow shop scheduling problems [8-11]. Even though, the methods proposed by the previous researchers are efficient enough for solving problems related to robotic cell but they failed to solve those with large part size as because of their higher complexity. The robotic cell problems with large part size are treated as large scale optimization problems and can be solved by metaheuristic algorithms such as simulated annealing (SA), Genetic algorithm (GA), Particle Swarm Optimization (PSO), Cuckoo Search Algorithm (CS), Ant Colony Optimization Algorithm (ACO), Bat Algorithm etc. However, a few attempts were taken by the previous researchers to solve such large scale problems using metaheuristic algorithms [12-17]. Now-adays BFO draws the attention of various researchers due to its ability to solve real-life optimization problems very efficiently. The algorithm has already been used in various field of engineering and management related problems such as: rapid prototyping [18], scheduling [19, 20], image processing [21, 22], short-circuit analysis of induction machine [23]. Therefore, the main objective of this study is to find the applicability of BFO algorithm for solving large-sized robotic cell scheduling problems. For the implementation of this algorithm in robotic cell scheduling Pairwise interchange mutation is used for both tumbling and swimming. On the other hand, a cyclic shift neighbourhood mutation is applied for random movement during Elimination-Dispersal. In spite of these another modification was implemented by considering the calculated total number of elemental difference as the difference between the two bacterium positions (part sequences) during cell-to-cell signalling. The problems related to twomachine robotic cell scheduling problem with sequence-dependent setup times (2RCSDST) are considered as test problem. The performance of the proposed algorithm was measured by comparing its results with lower bound due to non-availability of exact solution. Further, a comparison between the results of this BFO and existing algorithm has been done to find the superiority of the algorithm over the other existing meta-heuristics. The rest of the research article is organized as follows: Section 2 describes the problem in detail, used as case study. Section 3 presents the proposed discretized bacteria foraging algorithm. Section 4 discusses the computational results of the discretized bacteria foraging algorithm and its comparison with two existing algorithms. Finally, in Section 5, the conclusions are drawn. 2. Robotic cell scheduling Consider the problem of 2-machine robotic cell scheduling of one-unit cycle with sequence-dependent setup times as well as with different loading / unloading time for each part. Consider a centered robot cell with two machines, single-gripper robot, one input (I) and one output drive (O) as shown in Figure 1. Let k represent different part types, 𝑁 = 𝑑1 + 𝑑2 + ⋯ + 𝑑𝑘 total demand of parts, 𝑛 = 𝑛1 + 𝑛2 + ⋯ + 𝑛𝑘 total number of parts in the minimal part set (MPS), where, 𝑑𝑘 and 𝑛𝑘 are the demand of part of type k and minimum ratio of part of type k in one MPS. Therefore, in order to meet the total demand of N parts, MPS is repeatedly manufactured r times (here, in r short cycles), where, r is the greatest common divisor of 𝑑1 , 𝑑2 , … , 𝑑𝑘 demands and N= 𝑟𝑛. The objective of study is to determine the sequence of robot moves and the MPS sequence of n parts of k types for the 2-machine robotic cell scheduling problem so that total cycle time (TCT) is minimized. Here, MPS sequence refers to a solution which represents a sequence among the 𝑛!� 𝑘 total number of feasible sequences over MPS. It is assumed that the ∏𝑠=1(𝑛𝑠 !) loading time of each part is dependent upon the processing of the immediate preceding part in the sequence of parts and there is no buffer storage between the machines for the 2-machine robotic cell scheduling.
Arindam Majumder et al./ Materials Today: Proceedings 4 (2017) 2129–2136
2131
For the 2-machine robotic cell scheduling problem, the robot can move into two possible sequences, namely, S1 and S2. If the initial state starts from the loading of i-th part on m2, then the sequences (S1 and S2) can be described as follows: • S1: The robot waits at m2 until i-th part has been processed, unloads the i-th part from m2, moves to O, drops the part at O, moves freely to I, picks up (i+1)-th part, moves to m1, loads the (i+1)-th part on m1, waits at m1 until the (i+1)-th part has been processed at m1, unloads the (i+1)-th part from m1, moves to m2 and loads the (i+1)-th part on m2. • S2: The robot moves freely to I after loading i-th part on m2, picks up (i+1)-th part from I, moves to m1, loads (i+1)-th part on m1, moves freely to m2, waits at m2 (if necessary) until i-th part is being processed at m2, unloads the i-th part from m2, moves to O, drops the i-th part at O, moves freely to m1, waits at m1 (if necessary) until the (i+1)-th part is being processed at m1, unloads the (i+1)-th part from m1, moves to m2 and loads (i+1)-th part on m2. The difference between S1 and S2 is that in case of S1, no waiting time parameters are considered, whereas, for S2, waiting parameters are needed. 3. Proposed algorithm Bacteria foraging optimization algorithm is a newly introduced swarm inspired algorithm based on the group foraging strategy of e-coli bacteria. In real life the bacterium moves in a particular direction by a set of tensile flagella. The flagella help the bacteria to perform operations namely tumble and swim during foraging. If the bacterium rotates its flagella in clockwise direction, the bacterium tumbles to move slowly in a nutrient gradient. While a frequent tumbling helps the bacterium to get away from a harmful place. On the other hand by moving the flagella in counter clockwise the bacterium swims to move in a faster rate. When the bacteria find sufficient amount of food, the length of the bacteria increase and at suitable temperature it splits to form its replica. Thus by taking inspiration from this phenomena of e-coli bacteria Passino [24] introduced four major steps namely Chemotaxis, Swarming, Reproduction, and Elimination-Dispersal in BFO. The brief descriptions of these four prime steps are as follows: 3.1. Chemotaxis In BFO Algorithm this process enables bacteria to move by swimming and tumbling. If suppose θi(j,k,l) represents the position of the ith bacterium at jth chemotactic, kth reproduction and lth elimination-dispersal step. Then the movement of bacteria by swimming and tumbling in computational chemotaxis can be represented as:
θ i ( j + 1, k , l ) = θ i ( j, k , l ) + C ( i )
∆ (i )
∆T ( i ) ∆ ( i )
(1)
Where, C(i) is the size of the step taken in the random direction specified by the tumble. Δ indicates a vector in the random direction whose elements lie in [-1, 1]. 3.2. Swarming This step helps the E-coli cells to signal the other cells by releasing attractants and repellents. This signal enables them to combine into groups in nutrient-rich environment by avoiding the noxious environment. The equation used to simulate this cell-to-cell signalling can be represented as follows:
Arindam Majumder et al./ Materials Today: Proceedings 4 (2017) 2129–2136
2132
s
J CC (θ , P( j , k , l )) = ∑ J CC (θ , θ i ( j , k , l )) i =1
s
P
i =1
m =1
s
P
i =1
m =1
= ∑ [−d attrac tan t exp(− wattrac tan t ∑ (θ m − θ ) )] + ∑ [−hrepellant exp(− wrepellent ∑ (θ m − θ ) )] i m 2
(2)
i m 2
Where Jcc(θ, P( j, k, l)) is the additional part to be added with the actual objective function for making the function as time varying objective function, S is the total number of bacteria, p is the number of factors involved in the search space, θ = [θ1, θ2, . . . , θp]Tdefines the location of a point on the searching space, and θmis the mth components of the ith bacterium position θi. dattractant, wattractant, hrepellant, and wrepellant are different coefficients employed for signalling. 3.3. Reproduction During this process the bacteria with least health dieSr(= S/2) while each of the healthier bacterium splits into two bacteria which are located in this vacant place. 3.4. Elimination-Dispersal Due to gradual or sudden change in the local environment, the life of the bacteria may be affected. So in order to incorporate this phenomenon, we eliminate each bacterium in the population with the probability Ped and a new replacement is randomly initialized over the search space. While, the standard BFOA cannot be applied in robotic cell problems, as in standard BFOA the equations related to the bacterial movement and the cell-to-cell signalling are continuous and can only be used on continuous domain. In order to overcome this shortcoming instead of using conventional one a new bacterial movement method was proposed in this present study. For this modified algorithm cell part sequence matrix was chosen as the position of each bacterium, θi(j,k,l) and accordingly, during cell-to-cell signalling the difference between two bacterium positions were obtained by calculating the total number of elemental difference between the two sequences. This has also been shown in Table 1. For more illustration of this operation, consider a sequence matrix of 8 parts, [2-3-6-85-7-4-1] as the position (θ1) of a bacteria (B1) and accordingly θ2= [1-3-2-8-5-7-4-6]and θ3= [2-3-6-5-8-7-4-1] are the position of two other bacteria (B2 and B3). Now, in order to obtain the value of JCC of B1, we calculate the discrete difference of θ1 with θ2 and θ3. The calculated discrete differences are: (θ1-θ2) =3 and (θ1-θ3) =2. Finally, the value of JCC for B1 is calculated from eq. 2 as JCC=0.0033, where, dattractant=hrepellant=0.1, wattractant=0.1, and wrepellant=10. On the other hand, as the position of each bacterium was represented by part sequence matrix therefore we adopted pairwise interchange mutation instead of eq. 1 for finding the movement of each bacterium during tumbling and swimming. Thus the position of the bacteria by swimming and tumbling in computational chemotaxis can be updated as follows:
θ i ( j + 1, k , l ) = f1 ( C , θ i ( j , k , l ) )
(3)
Where, f1 represents the mutation operation. Step size, C represents the number of random pairwise interchange take place during each mutation operation. For this modified algorithm the tumbling and swimming of each bacterium was carried out by pairwise interchange mutation.However, during Elimination-Dispersalcyclic shift neighbourhood mutation was used for random movement of each bacterium. To figure out the movement of the bacteria during Chemotaxis and Elimination-Dispersal, an example is shown in Table 1.
Arindam Majumder et al./ Materials Today: Proceedings 4 (2017) 2129–2136
2133
Table 1. An example of Pairwise interchange mutation and cyclic shift neighbourhoodmutation
θi(j,k,l):
3
2
1
4
5
Pairwise interchange mutationfortumbling and swimming if Ci=1 (𝑓1 (𝜃 𝑖 , 𝐶𝑖 ))
θi(j,k,l): θi(j+1,k,l):
3 3
2 4
1 1
4 2
Cyclic shift neighbourhood mutation for random movement duringElimination-Dispersal ((𝑓2 (𝜃 𝑖 ))) 5 θi(j,k,l): 3 2 1 4 5 5 θi(j,k,l+1): 3 1 2 4 5
On the other hand, for cell-to-cell signalling the difference between two bacterium positions were obtained by calculating the total number of elemental difference between the two sequences. This has also been shown in Table2. Table 2. An example of calculation of elemental difference between the two sequences Detected elemental difference between the two sequences Θm: Θmt:
1 1
2 3
4 4
3 2
5 5
Θm: Θmt:
1 1
2 3
4 4
3 2
5 5
Discrete Difference (Θm-Θmt) 2
Generate initial population While (Elimination-dispersal
4. Results and discussion In this study, the algorithm was implemented to solve 2RCSDST problem for finding the applicability of BFO in robotic cell problem. In order to evaluate the efficiency of this algorithm during solving such problems, the computational tests based on solution quality and CPU time for convergence were carried out. During the computational tests problems related to 2RCSDST were taken as case studies and the performance of the BFO was
Arindam Majumder et al./ Materials Today: Proceedings 4 (2017) 2129–2136
2134
compared with the two most popular metaheuristic algorithms, GA by Reeves (1995) [25] and SA by Zarandiet al. (2013) [14]. Further, the performance of the algorithm was tested by comparing it with lower bond solution (proposed by Zarandi, M. F. H. et al). The input parameters of BFO applied for this study are as follows: dattractant=hrepellant=0.1, wattractant=0.1, wrepellant=10, Number of bacteria (S) = 20, Number of chemotaxis steps (Nc) = 2, Number of swarming steps (Ns) = 10, Number of reproduction steps (Nre) = 100, Number of elimination-dispersal steps (Ned) = 4, Probability of eliminationdispersal (Ped) = 0.5. For making the comparison more effective, all the algorithms were coded in MATLAB 2009a programming environment and executed on a PC with Intel i5-2450M CPU with 4 GB RAM running at 2.50 GHz. The test problems were generated randomly between 200 to 500 part sizes. The basic information related to this data set is shown in Table 3. Table 3: Basic information related to test problem Processing times interval [1,100]
Loading/unloading times interval [1,30]
δ 50
Table 4 summarized the optimum solutions achieved by BFO, SA and GA in terms of best, worst and mean. During this study, the mean values of the achieved solution were calculated by considering five trials for each test problem. From the results of table 4 it has been seen that BFO provides most optimum solution while the other existing two achieved nearly similar optimum solution. Table 4. Best, Worst and Mean Solution achieved by each method No. of Part 200 225 250 275 300 325 350 375 400 425 450 475 500
BFO Algorithm
SA [14]
Best Solution
Worst Solution
Mean Solution
90309
90396
90349.6
102526
102628
102572.4
112850
112895
112865.4
124945
125040
124989.6
137061
137176
137106.6
147409
147663
147550
182588
182649
182614.8
183535
183651
183587.4
194410
194745
194565.8
207729
207863
207772.6
219649
219859
219742.6
231814
232058
231929.6
244468
244587
244563.2
GA [ 25]
Best Solution 93380
Worst Solution 93543
Mean Solution 93455.4
Best Solution 93536
Worst Solution 93615
Mean Solution 93551.8
105927
106040
105985.8
105982
106359
106283.6
113735
116715
114358.6
113643
117172
114348.8
128974
129432
129240
129319
129599
129543
141527
142142
141777.8
141824
141917
141898.4
152219
152571
152363.8
152739
152739
152739
185236
185713
185480.2
185806
185806
185806
187609
187937
187757.4
188243
188243
188243
198835
199358
199139.2
199704
199704
199704
211992
212552
212323
212939
212939
212939
224286
224867
224620.4
225041
225041
225041
236688
237206
236975.4
237437
237437
237437
249267
249750
249508.2
250799
250799
250799
For further illustration, the performance of the BFO was examined by calculating the gap % of its computed optimum solution to the lower bond (LB). These measurements demonstrate the approximate closeness of optimum results with the exact solution as for large-sized test problems the exact solutions are not possible to determine. The mathematical representation of gap % between optimum solution achieved by the algorithm and lower bound is as follows:
(Solution determined by algorithm)-LB) GAP % = × 100 LB
(4)
Lower values of gap % indicate a smaller difference between the computed solution and the lower bound. Table
Arindam Majumder et al./ Materials Today: Proceedings 4 (2017) 2129–2136
2135
5 presents the computed gap % for the proposed BFO along with existing GA and SA during solving of test problems. From the Table 3 it has been observed that the change in gap between the solution of BFO and LB varies from 13.27%-14.99%, which indicates stable gap % even in increased part size. The results of test data-set also showed a low gap % between the solution of DCS and LB. This makes the proposed DCS acceptable to solve large sized problems. While during comparing with other existing algorithm it was seen that the average gap between DCS solution and LB is lower than the average gap between LB and solution of existing algorithms (SA & GA). Table 5. Computed Gap % of BFO, SA and GA No. of Part
200 225 250 275 300 325 350 375 400
Lower Bound [Zarandi, M. F. H. et al 2013] 73257 82472 91343 100442 109775 119005 154975 150729 160554
425 450 475
170946 181320 191424
500
200921
BFO Solution
GAP (CS &LB) (%)
SA [Zarandi, M. F. H. et al [14]] Solution GAP (SA &LB) (%)
90309 102526 112850 124945 137061 147409 182588 183535
23.27696 24.31613 23.54532 24.39517 24.8563 23.8679 17.81771 21.76489
93380 105927 113735 128974 141527 152219 185236 187609
194410 207729 219649
21.08699 21.51732 21.13887
231814 244468
21.09976 21.67369
GA [Reves, C. R. [25]] Solution
GAP (GA &LB) (%)
27.47 28.44 24.51 28.41 28.92 27.91 19.53 24.47
93536 105982 113643 129319 141824 152739 185806 188243
27.68 28.51 24.41 28.75 29.20 28.35 19.89 24.89
198835 211992 224286
23.84 24.01 23.70
199704 212939 225041
24.38 24.57 24.11
236688 249267
23.65 24.06
237437 250799
24.04 24.82
Table 6 reports the CPU time taken by BFO, GA and SA for convergence. From the table it has clearly been seen that in all cases BFO requires less convergence time as compare to GA and SA. Table 6. Average CPU times (in seconds) taken by BFO, SA and GA No. of Part
BFO Algorithm
SA [14]
GA [ 25]
200 225 250 275 300 325 350 375 400 425 450 475 500
58.89976 64.98376 71.62944 77.47946 84.58374 88.44012 94.68324 102.5769 104.9573 116.8604 126.2423 153.0339 184.1311
164.28 181.58 199.47 200.65 239.33 243.37 280.74 284.61 297.00 297.80 336.90 413.32 420.74
67.33 74.70 103.25 111.38 131.96 147.66 162.89 171.10 177.95 195.16 208.76 212.98 222.80
Thus, from the results of table 4-6 it has been seen that BFO provides most optimum solution at a very less convergence time as compare to the other existing two algorithms. 5. Conclusions In this study, the two-machine robotic cell scheduling problem with sequence-dependent setup times has been considered to demonstrate the performance of the proposed discrete bacteria foraging algorithm especially for large part sized problems. In order to make use of the discretized version of the bacteria foraging algorithm, the pairwise interchange mutation is chosen for tumbling and swimming operations during chemotaxis, while the cyclic
Arindam Majumder et al./ Materials Today: Proceedings 4 (2017) 2129–2136
2136
shift neighbourhood mutation is used for random movement during elimination-dispersal for the prosed algorithm. The computational experimentation considering a set of benchmark large-sized problems was carried out to comparethe performance of the proposed bacteria foraging algorithm with two noteworthy optimization techniques. The computational results reveal that the proposed algorithm performs much better than the existing algorithms, while retaining its average CPU time much less than those required by the existing algorithms. References [1] Phillips, Larry W., and Philip S. Unger. "Mathematical programming solution of a hoist scheduling program." AIIE transactions 8.2 (1976): 219-225.
[2] Liu, Jiyin, Yun Jiang, and Zhili Zhou. "Cyclic scheduling of a single hoist in extended electroplating lines: a comprehensive integer programming solution."IIE Transactions 34.10 (2002): 905-914.
[3] Leung, Janny, and Guoqing Zhang. "Optimal cyclic scheduling for printed circuit board production lines with multiple hoists and general processing sequence." IEEE Transactions on Robotics and Automation 19.3 (2003): 480-484.
[4] El Amraoui, Adnen, et al. "A mixed linear program for a multi-part cyclic hoist scheduling problem." International Journal of Sciences and Techniques of Automatic control and computer engineering (IJ-STA), Special issue on CEM 2 (2008): 612-623.
[5] Che, Ada, and Chengbin Chu. "Cyclic hoist scheduling in large real-life electroplating lines." OR Spectrum 29.3 (2007): 445-470. [6] Lei, Lei, and Qing Liu. "Optimal cyclic scheduling of a robotic processing line with two-product and time-window constraints." InforInformation Systems and Operational Research 39.2 (2001): 185-199.
[7] Che, Ada, et al. "Multi-degree cyclic hoist scheduling with time window constraints." International journal of production research 49.19 (2011): 5679-5693.
[8] Lei, Lei, Ronald Armstrong, and ShanhongGu. "Minimizing the fleet size with dependent time-window and single-track constraints." Operations Research Letters 14.2 (1993): 91-98.
[9] Yih, Yuehwern. "An algorithm for hoist scheduling problems." THE INTERNATIONAL JOURNAL OF PRODUCTION RESEARCH 32.3 (1994): 501-516.
[10] Batur, G. D., Karasan, O. E., & Akturk, M. S. (2012). Multiple part-type scheduling in flexible robotic cells. International Journal of Production Economics, 135(2), 726-740.
[11] Carlier, J., Haouari, M., Kharbeche, M., &Moukrim, A. (2010). An optimization-based heuristic for the robotic cell problem. European Journal of Operational Research, 202(3), 636-645.
[12] Nielsen, I., Dang, Q. V., Bocewicz, G., &Banaszak, Z. (2015). A methodology for implementation of mobile robot in adaptive manufacturing environments.Journal of Intelligent Manufacturing, 1-18.
[13] Abdulkader, M. M. S., ElBeheiry, M. M., Afia, N. H., & El-Kharbotly, A. K. (2013). Scheduling and sequencing in four machines robotic cell: Application of genetic algorithm and enumeration techniques. Ain Shams Engineering Journal, 4(3), 465-474.
[14] Zarandi, M. F., Mosadegh, H., & Fattahi, M. (2013). Two-machine robotic cell scheduling problem with sequence-dependent setup times. Computers & Operations Research, 40(5), 1420-1434.
[15] Kamalabadi, I. N., Mirzaei, A. H., & Gholami, S. (2010). A New Hybrid Particle Swarm Optimization Algorithm to the Cyclic MultiplePart Type Three-Machine Robotic Cell Problem. INTECH Open Access Publisher.
[16] Kamalabadi, I. N., Gholami, S., & Mirzaei, A. H. (2007, December). Considering a cyclic multiple-part type three-machine robotic cell problem. InIndustrial Engineering and Engineering Management, 2007 IEEE International Conference on (pp. 704-708). IEEE.
[17] Zabihzadeh, S. S., & Rezaeian, J. (2015). Two meta-heuristic algorithms for flexible flow shop scheduling problem with robotic transportation and release time. Applied Soft Computing.
[18] Panda, S. K., Padhee, S., Anoop Kumar, S. O. O. D., &Mahapatra, S. S. (2009). Optimization of fused deposition modelling (FDM) process parameters using bacterial foraging technique. Intelligent information management, 1(02), 89.
[19] Nouri, H., & Hong, T. S. (2012). A bacteria foraging algorithm based cell formation considering operation time. Journal of Manufacturing Systems, 31(3), 326-336.
[20] Liu, C., Wang, J., Leung, J. Y. T., & Li, K. (2015). Solving cell formation and task scheduling in cellular manufacturing system by discrete bacteria foraging algorithm. International Journal of Production Research, 1-22.
[21] Dasgupta, S., Das, S., Biswas, A., & Abraham, A. (2010). Automatic circle detection on digital images with an adaptive bacterial foraging algorithm. Soft Computing, 14(11), 1151-1164.
[22] Bermejo, E., Cordón, O., Damas, S., &Santamaría, J. (2015). A comparative study on the application of advanced bacterial foraging models to image registration. Information Sciences, 295, 160-181.
[23] Sakthivel, V. P., Bhuvaneswari, R., & Subramanian, S. (2010). Bacterial foraging technique based parameter estimation of induction motor from manufacturer data. Electric Power Components and Systems, 38(6), 657-674.
[24] Das, S., Biswas, A., Dasgupta, S., & Abraham, A. (2009). Bacterial foraging optimization algorithm: theoretical foundations, analysis, and applications. InFoundations of Computational Intelligence Volume 3 (pp. 23-55). Springer Berlin Heidelberg.
[25] Reeves, C. R. (1995) A genetic algorithm for flowshop sequencing. Computers & operations research, 22, 5-13.