APEM jowatal Advances in Production Engineering & Management Volume 12 | Number 1 | March 2017 | pp 5-16 https://doi.Org/10.14743/apem2017.1.235 ISSN 1854-6250 Journal home: apem-journal.org Original scientific paper Solving dual flexible job-shop scheduling problem using a Bat Algorithm Xu, H.a*, Bao, Z.R.a, Zhang, T.a aSchool of Internet of Things Engineering, Jiangnan University, Wuxi, China A B S T R A C T A R T I C L E I N F O For the flexible job-shop scheduling problem with machine selection flexibility and process sequence flexibility in process design, types and characteristic of machine selection and process sequence flexibility are analyzed. The mathematical model of dual flexible job-shop scheduling problem is established, and an improved bat algorithm is proposed. For purpose of expressing the relationship effectively between the process and the bat population, a new method of encoding strategy based on dual flexibility degree is proposed. The crossover and mutation operation are designed to strengthen the searching ability of the algorithm. For purpose of overcoming the shortcomings of the fixed parameters in bat algorithm, the value of the inertia weight was adjusted, and a linear decreasing inertia weight strategy was proposed. We carried out experiments on actual examples, it can be seen from the experimental results that the robustness and optimization ability of the algorithm we proposed are better than Genetic Algorithm (GA) and Discrete Particle Swarm Optimization algorithm (DPSO). This shows that the proposed algorithm is more excellent in solving the flexible job-shop scheduling problem, and it is an efficient scheduling algorithm. © 2017 PEI, University of Maribor. All rights reserved. Keywords: Flexible job-shop scheduling Optimization Process sequence flexibility Machine selection flexibility Bat algorithm Genetic algorithm Particle swarm optimization *Corresponding author: joanxh2003@163.com (Xu, H.) Article history: Received 16 November 2016 Revised 13 February 2017 Accepted 15 February 2017 1. Introduction Dual Flexible Job-shop Scheduling Problem (DFJSP) based on machine selection flexibility and process sequence flexibility is an extension of the classical Job-shop Scheduling Problem (JSP) and the Flexible Job-shop Scheduling Problem (FJSP). It overcomes the problems of the fixed step sequence and uniqueness of machine selection, and increases the flexibility of scheduling problem, making it closer to an actual production environment. DFJSP needs to consider not only the processing sequence of the work, but also the problems of assigning operations to machines, which are a more complicated NP-hard problem [1]. Therefore, research on DFJSP has theoretical significance and application value. At present, researches on FJSP are mainly focused on two aspects. The first involves assigning operations to machines. Yuan et al. [2] proposed a hybrid harmony search algorithm for solving FJSP, they converted the continuous vector to the discrete vector and introduced heuristic and random strategies for a resentful initialization scheme. Zhao et al. [3-4] proposed a hybrid genetic algorithm to solve FJSP. Luan et al. [5] proposed a new genetic algorithm to solve FJSP, in which they optimize the performance by minimizing the data sizes of the constrained model and reduced the time and space complexity of GA. The second involves processing sequence flexibility. A model is defined by Saygin[6] , which combines flexible process design and production 5 Xu, Bao, Zhang scheduling. Huang et al. [7] proposed an improved genetic algorithm for solving JSP based on process sequence flexibility. Ba et al. [8] proposed a new model of multi-resource flexible job shop scheduling problem, and designed a new genetic algorithm for solving this problem. Moreover, Modrak et al. [9] proposed an algorithm that can convert a multi-machines problem to a two-machines problem, and experiments show that the algorithm is effective in solving n-jobs and m-machine problems. Bat Algorithm (BA) is a materialistic optimization algorithm developed by Yang [10] in 2010. Since its proposed the algorithm has caught the attention of scholars in different fields. It has been used in the study of power system stability by Ali [11]. Shi et al. [12] has applied BA to WSN position. Chen et al. [13-14] proposed a mind evolutionary bat algorithm which is applied to feature selection of mixed gases infrared spectrum. Besides its relevance to practical application BA is applied to the function optimization problem [15], pattern recognition [16] and optimization of engineering problems [17]. In area of workshop scheduling, there are a lot of articles concerning the influencing factors since the BA was presented. Marichelvam el al. [18-19] has applied the BA to the hybrid flow shop scheduling problem (FSP) in 2013, and it shows BA was more effective than genetic algorithm and particle swarm optimization in solving this problem through the simulation results. Luo et al. [20] proposed a discrete BA solution for permutation flow shop scheduling problem (PFSP) in 2014 and it also shows that BA was effective in solving PFSP through the simulation results. Zhang et al. [21] proposed an improved BA for solving PFSP, the simulation results show that the improved BA is feasible and effective. La et al. [22] proposed a hybrid BA to solve the two stages hybrid FSP and the result shows that the hybrid BA is better than the classical BA. Be seen from the above, the studies of FJSP are primarily focused on the single FJSP. DFJSP is less researched. Although BA is applied to various fields, few investigators utilize it to solve DFJSP. Therefore, this paper establishes a model for DFJSP and proposes an improved bat algorithm for solving it. 2. Definition and formalization problem Assumptions of notations for DFJSP are as follows: • Let J = J\, 1 < i < n, indexed i, be a set of n jobs. • Let M = Mj, 1 < j < m, indexed j, be a set of m machines. • Each job ]t consists of several operations. Certain jobs consist of unfixed process sequence. The operations of each job are not fixed numbers. Each operation can be processed for a given set of machines. Some symbols used throughout the paper are as follows: n Total number of jobs m Total number of machines À Total number of operations Ai Number of operations of job ]t °tj j-th operation of job ]t Su Total number of alternative machines of operation Otj Wijk j-th operation of job ]t on machine Mk Mij Set of alternative machines of operation Otj Tijk Processing time of on machine Mk In the actual production process there are many kinds of flexibility, such as machine selection flexibility and process sequence flexibility and so on. Descriptions of two of these flexibilities are described as below in details. 6 Advances in Production Engineering & Management 12(1) 2017 Solving dual flexible job-shop scheduling problem using a Bat Algorithm Process sequence flexibility Process sequence flexibility is a kind of flexibility where there is not a fixed process sequence among operations for a job. Assume job ]t need operations to be finished. If order of operations from k-t-th to k2-th (k1 is denoted as the flexible process sequence span of job /¿. Flexible operation is classified into two types as follows: (1) Partial flexible operation: An operation which belongs to a flexible process sequence span can be inserted into any arbitrary position of the span. (2) Total flexible operation: An operation can be inserted into any arbitrary position of the process sequence. Machine selection flexibility The machine selection flexible scheduling problems can be classified into two main groups according to the relation between set M^ and set M. (1) Total machine selection flexible scheduling problem: Each operation can be processed on any machine among the set Mtj, where Mij = M. (2) Partial machine selection flexible scheduling problem: Each operation can be processed on any machine among the set M^, where M^ c M. The partial machine selection flexible scheduling problem suits better than the total machine selection flexible scheduling problem in the practical manufacturing environments. But compared to the total machine selection flexible scheduling problem, the partial machine selection flexible scheduling problem has the disadvantages of great search space, great computation and difficulties solution. Table 1 An example of processing time table of partial machine selection flexible scheduling problem Job Operation M1 M2 M3 M4 On 2 7 — 6 A 0l2 6 — 4 5 0l3 — 3 2 4 02i 3 1 6 3 h o22 1 3 — 3 Table 2 An example of processing time table of total machine selection flexible scheduling problem Job Operation M1 M2 m3 M4 On 2 7 2 6 A 0l2 6 3 4 5 0l3 4 3 2 4 02i 3 1 6 3 h o22 1 3 4 3 Examples of partial machine selection flexible scheduling problem and a total machine selection flexible scheduling problem are shown in Table 1 and Table 2 respectively. Processing time of each operation on the corresponding machine is indicated in the table. In Table 1, the tag "—" means that a machine cannot execute the corresponding operation. Assumptions used throughout the DFJSP are as follows: • In flexible process sequence span, each operation has the same priority. • Each operation, once started, cannot be interrupted. • Each machine can process only one job at the same time. • Arrival time of a job is included in the processing time. • When machines are available for re-scheduling when the corresponding operations are completed, machines can choose to stop or no-load running. The task of DFJSP is to seek an appropriate schedule which cost minimum time to complete all operations. The makespan Tmax can be calculated by the formula: Tmax = max{7^ax| j = 1,2,..., m] (1) where T^ax is time of completion of last job on machine j. Advances in Production Engineering & Management 12(1) 2017 7 Xu, Bao, Zhang 3. The improved bat algorithm To effectively avoid the bat algorithm from prematurity and to improve the global search capability and search precision, in this paper the following improvements of BA are made: (1) In order to express the relationship between the process flexibility, process sequence and bat population, a new coding strategy based on dual flexibility is proposed. (2) To enhance the ability of neighborhood search, the corresponding operations like crossover and mutation are designed. (3) A linear decreasing inertia weight strategy is adopted to effectively control the local and global search capability of BA during the optimization procedure. 3.1 Coding strategies Coding is to abstract and specify the research problem, and then to develop mathematical model. Finally, it realizes the mapping between the solution space of feasible solution and the exploration space of BA. This is the key step in BA solving, and also the primary problem to be solved. Classical JSP only needs to code based on the process sequence. But DFJSP need not only to code based on process sequence, but also need to select the corresponding machine for each operation. Therefore, the coding strategy needs to be done in the following three points: (1) The coding strategy should reflect machine selection flexibility and process sequence flexibility. (2) The coding strategy should show the sequence of operations for each job. (3) It has to show the corresponding processing machine that each job need for each operation. Thus, we design three coding strategy based on above requirements: A coding strategy base on the sequence In the bat algorithm, all processes are required to be added to the code, present with vector Xx = (x11,x12,..,x1^) , the length is A, among those vector elements, x11 indicates the first process of the first job, x12 indicates the second process of the first job. By that analogy, the total number of t is the operation of the i-th job characters of y'-th job. In vector X1, the order of the ith corresponds to the order of processing sequence of each process. The advantages of this coding strategy are the high flexibility and always generate the feasible schedule after an exchange of the processing sequence. A coding strategy base on the process sequence flexibility In the DFJSP, after the coding based on sequence, it is needed to mark and determine the priority of each job with flexible process sequence span, here we use vector Xi = (x2i,x22,",X2a) to present, the length is A. Among them, the default initialization for x2i is 0 or 1, 0 indicates that the process sequence is not flexible, to 1, indicates the opposite. A coding strategy base on the machine selection flexibility In the bat algorithm, we use vector X3 = (x31,x32,...,x3%) to present machine selection. The length is A. Among them, each variable is a positive integer which represents the position in the selected machine set. The advantage of this coding strategy is to ensure that generate the feasible schedule after the operation, and it can be applied to either totally FJSP or partially FJSP. 3.2 Bat algorithm and its improvement Assume search space is a d-dimensional space, v^t — 1) and X;(t — 1) denote the velocity and location of bat i at the time step t-1. The location xt (t) and velocity Vi (t) at the time step t are as follows: where Ft is the update frequency of bat i, Fmin and Fmax represent the minimum and maximum value of the update frequency. ft e [0,1] and £ e [—1,1] are random numbers. Here x* is the cur- (2) (3) (4) (5) (6) (7) At{i) = aAt~1(i) ßt(i) = ß0(i)[l-exp(-7(i-l))] 8 Advances in Production Engineering & Management 12(1) 2017 Solving dual flexible job-shop scheduling problem using a Bat Algorithm rent global optimal solution, xoM is an optimal solution from a random selection of the optimal solution set, is the average loudness at the time step t — 1. For any 0 < a < 1 (ffEfi) or y > 0 (y E R), we have, At(i) ^0,Rt(j) as t^œ (8) The standard bat algorithm flow is presented in Fig. 1. Begin Step 1. Step 2. Step 3. Step 4. Step 5. Step 6. Step 7. Step 8. Step 9. Step 10. Step 11. Step 12. Step 13. Step 14. Step 15. Step 16. Step 17. Step 18. End Initialize parameters such as bat population xt, velocity vt, loudness A(i), pulse rates R(i) and so on Define pulse frequency Fj Calculated fitness value fitmin and the current global optimal solution x* While (t < Max number iterations) For (i = 1 to pop size) Generate new solutions by adjusting frequency, and updating velocities and locations via Eq. 2 to Eq. 4 If (rand>fl(i)) Select a solution among the optimal solution set Generate a new solution via Eq. 5 end if Calculated fitness value fitnew If (fitnew means to mutate the selection of by value from Mtj. Updating process of position and velocity in bat algorithm is similar to the updating process of PSO algorithm [24]. The inertia weightw is introduced to balance the local searching and the global searching via equation (9) [25]. In order to enhance the algorithm's ability of global searching at prophase of evolution, the weight exponential decline strategy is applied as shown in equation (10). Vi (t) = wVi(t-1) + (Xi (t-1)-x*)Fi (9) w = T-^- (wmax -wmin) + wmin (10) Where, t is the current number of iterations and T is maximum number of iterations; wmax and wmin are the maximum and minimum values of the inertia weight. To summarize, the basic steps of the improved bat algorithm for solving DFJSP can be described as follows in Fig 2. Step 1. Initialize parameters, include the size of bat population PopSize, loudness A(i), pulse rates R (¿), maximum inertia weight wmax, minimum inertia weight wmin and so on Step 2. The coding sequence is generated based on these three coding strategies Step 3. Calculate fitness value Step 3.1 Load the information of all jobs into PJ and TRP Step 3.2 Every job is processed in the beginning from the first operation by PJ. Firstly, judge by RS whether the machine which the first operation needing is processed is used by another operation. If not, then the job is into the processing status. Meanwhile, record the corresponding numbers of the job and the operation. Otherwise, the job is flagged as waiting for processing in PJ. Step 3.3 The first job starts to be processed in PJ and TRP, which judge by TRP is being processed. If it is and the rest time of processing is greater than zero, the processing of the job is going on. If not, judge whether all operations of the job are finished. If the job is accomplished, make the machines free by RS. Otherwise, add the information of the next operation into PJ and TRP. Step 3.4 If all jobs are already processed by PJ, go to Step 3.5; otherwise, go to Step 3.2 Step 3.5 Output fitness value Step 4. If the termination criterion is reached, go to step 10; otherwise, go to Step 5 Step 5. Generate new solutions by adjusting frequency, and updating velocities and locations via Eqs. 2, 9 and 10 Step 6. If rand>fl(i), select a solution from optimal solution set and generate a local solution xnew around the selected optimal solution via Eq. 5 Step 7. Calculate fitness value fitnew of corresponding xnew Step 8. If fitnew , <5,6> h 3 — h 5 <3,5> h 3 <2,3> Js 6 <3,4> h 4 — The tag "—" means that the job does not have a flexible process span. 12 Advances in Production Engineering & Management 12(1) 2017 Solving dual flexible job-shop scheduling problem using a Bat Algorithm Table 5 Data of process sequence flexibility and processing time (min) Job Operation — m2 M4 mc, — m7 mr On 12 — — 9 14 20 Ol2 18 — 19 — 15 11 — A Ol3 — 12 14 9 — — 17 — — 014 — 11 — 9 — — 12 Ois 15 — — 8 — — — — 18 0l6 12 — 9 — 11 — — o2i — — 12 — 19 14 — — — h o22 8 — 9 — 11 — — 15 — 023 16 7 — 9 — — 031 — — — 11 10 — — — 13 — 032 — — 12 18 — — 14 — h 033 9 — — — 15 7 12 034 12 — — 15 — 7 — 9 035 3 — — 4 — 8 — — 041 — 19 — — — 7 — 13 — — J* 042 8 — 11 — 16 — 043 9 11 — 8 — — 18 Osl 6 — — 12 — — 14 9 — 052 — — — 22 — 12 17 js 053 — 18 — — — 11 — — 9 054 9 — 12 — — — — — — 7 — 055 11 — — 9 14 — 056 8 — — 12 6 — — 9 061 — 11 — 17 — 18 h 062 5 — — 12 — — — — 7 9 063 11 — — — — 8 13 — 7 — 0M 19 13 7 15 4.3 Experimental results and comparisons This paper used the improved bat algorithm, discrete particle swarm optimization [26] (DPSO) and genetic algorithm [27] (GA) to solve the DFJSP. And the experimental results are compared and analyzed. To obtain meaningful results, we run each algorithm fifty times on the above instance. The experimental results of these three kinds of algorithms are shown in Table 6 and Table 7. The optimum solution, average solution and standard deviation of three algorithms in 50 experiments are shown in Table 6. The optimum solution obtained by this paper is 55, which is obviously better than 65 obtained by GA and 62 obtained by DPSO. Furthermore, the average value and standard deviation are also better than both GA and DPSO. In a conclusion, the algorithm in this paper is obviously better than GA and DPSO in searching performance. Table 6 Makespan comparison between three algorithms Algorithm Optimum solution Average solution Standard deviation GA 65 70.72 4.25 DPSO 62 65.56 3.15 Improved bat algorithm 55 57.32 2.24 Table 7 Distribution of 50 calculation results ———___Interval Interval Algorithm —■—____ [55,60) [60,65) [65,70) [70,75) [75,80) GA 0 0 23 14 13 DPSO 0 23 19 8 0 Improved bat algorithm 40 10 0 0 0 The distribution of experiments results in each interval for running 50 times is presented in Table 7. It is clear from the table, the results of the improved bat algorithm are comparatively concentrated, which are mainly in the range of [55, 60], whereas the results of GA and DPSO algorithm are relatively distributed. Thus, the improved bat algorithm in terms of solving DFJSP Advances in Production Engineering & Management 12(1) 2017 13 Xu, Bao, Zhang is more robust than GA and DPSO algorithm. Figs. 3, 4, and 5 shows the Gantt charts of optimal scheduling concerning three kinds of algorithms. ms m7 Mb m5 m4 m3 m2 mi 3-1 5-3 5-4 _13_1S_ 1-2 3-2 5-2 6-3 3-4 4-1 1-4 3-3 1-1 1 1 1-3 1 1 3-5 1 1-5 1 6-4 1 9 20 29 34 38 46 53 2-1 1 6-1 1 4-2 1 1 1-6 1 12 23 31 46 55 1 4-3 1 1 2-3 1 1 5-5 7 18 20 27 34 4 5 5-1 1 1 2-2 1 1 6-2 1 5-6 1 5 10 15 20 25 30 35 40 45 50 55 Fig. 3 The Gantt chart of optimal scheduling of the improved bat algorithm 60 27 34 20 9 36 38 6 28 18 29 45 7 52 6 12 20 23 28 45 53 m8 m7 mb m5 m4 m3 m2 m1 3-1 5-3 _13_12- 1-2 I I_3-3_ 20_25_ 5-2_I 6-3 I_6-4_I 2-3 I 3-4 50 2-1 I 2-2 I 4-1 I 4-2 I I 5-6 51 1-1 I I 1-3 I I 1-5 I l~3-5~l 48_57 61 6-1 I 3-2 I I 5-4 I I 1-6 1-4__5-5__4-3 5-1 I I 6-2 6 11 16 5 10 15 20 25 30 35 40 45 50 55 60 65 Fig. 4 The Gantt chart of optimal scheduling of DPSO algorithm 27 37 11 13 25 27 39 57 51 32 29 40 m8 m7 mb m5 m4 m3 m2 mi 5-1 I 6-1 I 5-3 I 5-4 I 3-4 5-2_ I 6-2 1-2 3-1 I I 4-2 I I 1-4 H I 5-6 I 47_ œ_ 62 I 1-5 I 3-5 I 55_53_ 1-1 3-2 1 9 10 28 2-1 1 1 12 24 4-1 1 1 2-3 1 19 20 27 1 2 -2 1 1 12 20 28 5 10 15 20 25 1-3_I I 1-6 I-33--5^ I 6-3 I 5-5 \ _34_45 _56_ 3-3 I 4-3 I 6-4 65 -► Fig. 5 The Gantt chart of optimal scheduling of GA 10_ 27 52 36 34 26 27 64 46 37 14 Advances in Production Engineering & Management 12(1) 2017 Solving dual flexible job-shop scheduling problem using a Bat Algorithm 5. Conclusion According to dual flexible job shop scheduling problems, we established a mathematical model based on process sequence flexibility and machine selection flexibility, and an improved bat algorithm is presented to solve it. The premise of BA used in DFJSP is to realize the mapping between operations and bat populations. Therefore, we proposed a dual flexible encoding strategy. In order to intensify neighborhood searching ability of the algorithm, several operations are designed such as crossover and mutation. Furthermore, a linear decreasing inertia weight strategy is put forward to effectively avoid the algorithm of premature convergence and to intensify the global searching ability and the precision of the algorithm. Aiming at solving actual job-shop scheduling problems, we set up the scheduling model and designed the detailed algorithm. Experimental results indicate that the improved bat algorithm for solving DFJSP is feasible and effective, which provides a new way to solve such problems. It is a further research direction to use the improved algorithm to solve multi-objective DFJSP and construct new dispatching rules. Acknowledgement The research has been supported by Natural Science Foundation of Jiangsu Province (Grant No. BK20140165) and China Scholarship Council Sponsored (Grant No. 201308320030). References [1] Rock, H. (1984). The three-machine no-wait flow shop problem is NP-complete, Journal of the ACM, Vol. 31, No. 2, 336-345, doi: 10.1145/62.65. [2] Yuan, Y., Xu, H., Yang, J. (2013). A hybrid harmony search algorithm for the flexible job shop scheduling problem, Applied Soft Computing, Vol. 13, No. 7, 3259-3272, doi: 10/1016/j.asoc.2013.02.013. [3] Zhao, S.-K., Fang, S.-L., Gu, X.-J. (2013). Genetic algorithm with new initialization mechanism for flexible job shop scheduling, Journal of Zhejiang University (Engineering Science), Vol. 47, No. 6, 1022-1030, doi: 10.3785/j.issn. 1008-973X.2013.06.013. [4] Zhao, S.-K., Fang, S.-L., Gu, X.-J. (2014). Machine selection and FJSP solution based on limit scheduling completion time minimization, Computer Integrated Manufacturing Systems, Vol. 20, No. 4, 854-865, doi: 10.13196/j.cims. 2014.04.zhaoshikui.0854.12.20140416. [5] Luan, F., Wang, W., Fu, W.P., Bao, Y.T., Ren, G.C., Wang, J., Deng, M.M. (2014). FJSP solving by improved GA based on PST hierarchy structure, Computer Integrated Manufacturing Systems, Vol. 20, No. 10, 2494-2501. [6] Saygin, C., Kilic, S.E. (1999). Integrating flexible process plans with scheduling in flexible manufacturing systems, The International Journal of Advanced Manufacturing Technology, Vol. 15, No. 4, 268-280, doi: 10.1007/ s001700050066. [7] Huang, X.W., Zhao, X.Y., Ma, X.L. (2014). An improved genetic algorithm for job-shop scheduling problem with process sequence flexibility, International Journal of Simulation Modelling, Vol. 13, No. 4, 510-522, doi: 10.2507/ ijsimm13(4)co20. [8] Ba, L., Li, Y., Yang, M.S., Gao, X.Q., Liu, Y. (2016). Modelling and simulation of a multi-resource flexible job-shop scheduling, International Journal of Simulation Modelling, Vol. 15, No. 1, 157-169, doi: 10.2507/IJSIMM15(1)C03. [9] Modrak, V. Pandian, R.S. (2010). Flow shop scheduling algorithm to minimize completion time for n-jobs m-machines problem, Tehnicki vjesnik -Technical Gazette, Vol. 17, No. 3, 273-278. [10] Yang, X.-S. (2010). A new materialistic bat-inspired algorithm, Nature Inspired Cooperative Strategies for Optimization, Vol. 284, 65-74, doi: 10.1007/978-3-642-12538-6 6. [11] Ali, E.S. (2014). Optimization of power system stabilizers using bat search algorithm, International Journal of Electrical Power & Energy Systems, Vol. 61, 683-690, doi: 10.1016/j.ijepes.2014.04.007. [12] Shi, H., Wang, W., Li, Y., Lu, L. (2015). Bat algorithm based on Levy flight feature and its localization application in WSN, Chinese Journal of Sensors and Actuators, Vol. 6, 888-894, doi: 10.3969/j.issn.1004-1699.2015.06.019. [13] Chen, Y., Wang, Z., Wang, Z. (2014). Feature selection of infrared spectrum based on improved bat algorithm, Infrared and Laser Engineering, Vol. 43, No. 8, 2715-2721, doi: 10.3969/j.issn.1007-2276.2014.08.054. [14] Chen, Y., Wang, Z., Wang, Z. (2015). Mind evolutionary bat algorithm and its application to feature selection of mixed gases infrared spectrum, Infrared and Laser Engineering, Vol. 3, 845-851, doi: 10.3969/j.issn.1007-2276. 2015.03.010. [15] Yang, X.-S. (2011). Bat algorithm for multi-objective optimization, International Journal of Bio-Inspired Computation, Vol. 3, No. 5, 267-274, doi: 10.1504/IIBIC.2011.042259. [16] Komarasamy, G., Wahi, A. (2012). An optimized k-means clustering technique using bat algorithm, European Journal of Scientific Research, Vol. 84, No. 2, 263-273. [17] Yang, X.-S., Gandomi, A.H. (2012). Bat algorithm: A novel approach for global engineering optimization, Engineering Compotations, Vol. 29, No. 5, 464-483, doi: 10.1108/02644401211235834. Advances in Production Engineering & Management 12(1) 2017 15 Xu, Bao, Zhang [18] Marichelvam, M.K., Prabaharan, T. (2012). A bat algorithm for realistic hybrid flowshop scheduling problems to minimize makespan and mean flow time, ICTACTJournal on Soft Computing, Vol. 3, No. 1, 428-433, doi: 10.21917 /ijsc.2012.0066. [19] Marichelvam, M.K., Prabaharan, T., Yang, X.-S., Geetha, M. (2013). Solving hybrid flow shop scheduling problems using bat algorithm, International Journal of Logistics Economics and Globalization, Vol. 5, No. 1, 15-29, doi: 10.1504 /IILEG.2013.054428. [20] Luo, Q., Zhou, Y., Xie, J., Ma, M., Li, L. (2014). Discrete bat algorithm for optimal problem of permutation flow shop scheduling, The Scientific World Journal, Vol. 2014, 1-15, doi: 10.1155/2014/630280. [21] Zhang, J.J., Li, Y.G. (2014). An improved bat algorithm and its application in permutation flow shop scheduling problem, Advanced Materials Research, Vol. 1049-1050, 1359-1362, doi: 10.4028/www.scientific.net/amr.1049-1050.1359. [22] Dekhici, L., Belkadi, K. (2015). A bat algorithm with generalized walk for the two-stage hybrid flow shop problem, International Journal of Decision Support System Technology, Vol. 7, No. 3, 1-16, doi: 10.4018/ijdsst.2015070101. [23] Mirjalili, S., Mirjalili, S.M., Yang, X.-S. (2014). Binary bat algorithm, Neural Computing and Applications, Vol. 25, No. 3, 663-681, doi: 10.1007/s00521-013-1525-5. [24] Bai, J., Gong, Y.-G., Wang, N.-S., Tang, D.-B. (2010). Multi-objective flexible job shop scheduling with lot-splitting, Computer Integrated Manufacturing Systems, Vol. 16, No. 2, 396-403. [25] Zhao, S. (2015). Bilevel neighborhood search hybrid algorithm for the flexible job shop scheduling problem, Journal of Mechanical Engineering, Vol. 51, No. 14, 175-184. [26] Xu, H., Zhang, T. (2015). Improved discrete particle swarm algorithm for solving flexible flow shop scheduling problem, Journal of Computer Application, Vol. 35, No. 5, 1342-1347, doi: 10.11772/j.issn.1001-9081.2015.05. 1342. [27] Cui, J.S., Li, T.K., Zhang, W.X. (2005). Hybrid flow shop scheduling model and its genetic algorithm, Journal of University of Science and Technology Beijing, Vol. 27, No. 5, 623-626, doi: 10.3321/j.issn:1001-053X.2005.05.027. 16 Advances in Production Engineering & Management 12(1) 2017