Solving flexible job shop scheduling using an ...

4 downloads 26134 Views 321KB Size Report
Int. J. Computer Applications in Technology, Vol. 53, No. 2, 2016. 157 ... flexible job shop scheduling using an effective memetic algorithm', Int. J. Computer.
Int. J. Computer Applications in Technology, Vol. 53, No. 2, 2016

157

Solving flexible job shop scheduling using an effective memetic algorithm Wenchao Yi and Xinyu Li* State Key Laboratory of Digital Manufacturing Equipment and Technology, Huazhong University of Science & Technology, Wuhan 430074, China Email: [email protected] Email: [email protected] *Corresponding author

Baolin Pan Research Institute of Nuclear Power Operation, Wuhan 430223, China Email: [email protected] Abstract: This paper proposes an effective Memetic Algorithm (MA) for the Flexible Job Shop Scheduling Problem (FJSP) with the objective of minimising the makespan. The proposed MA is a combination of TABU Search (TS) and Genetic Algorithm (GA).This hybridisation presents an effective way of performing both exploration and exploitation by incorporating the local search abilities of TS with the global reaching capabilities of GA. The approach provides an effective encoding method, genetic operators and neighbourhood structure in order to effectively solve the FJSP. To evaluate the performance of the proposed MA, several benchmark instances of FJSP have been used. The experimental results show that the proposed MA is a very effective method for solving FJSP. Keywords: MA; memetic algorithm; FJSP; flexible job shop scheduling problem; makespan. Reference to this paper should be made as follows Yi, W., Li, X. and Pan, B. (2016) ‘Solving flexible job shop scheduling using an effective memetic algorithm’, Int. J. Computer Applications in Technology, Vol. 53, No. 2, pp.157–163. Biographical notes: Wenchao Yi is currently pursuing her PhD in the State Key Laboratory of Digital Manufacturing Equipment and Technology, Huazhong University of Science and Technology. She received her Bachelor’s degree in Industrial Engineering in 2011. Her research interests include evolutionary algorithms and their application in scheduling. Xinyu Li is currently an Associate Professor in the School of Mechanical Science and Engineering, Huazhong University of Science and Technology. He received his PhD in Industrial Engineering from Huazhong University of Science and Technology in 2009. His research interests include swarm intelligence, intelligent computation and manufacturing system optimisation. He has published more than 20 research papers. Baolin Pan is currently an Engineer in Research Institute of Nuclear Power Operation. He received his Master’s degree in Industrial Engineering from Huazhong University of Science and Technology in 2008. His works focus mainly on the production and project management. This paper is a revised and expanded version of a paper entitled ‘Solving flexible job shop scheduling by an effective memetic algorithm’ presented at the ‘2013 5th International Forum on Systems and Mechatronics’, Guilin, China, 23–25 July 2013.

1

Introduction

Scheduling is one of the most important issues in the planning of modern manufacturing systems (Chen et al., 1999; Saravanan and Noorul Haq, 2011). Production scheduling optimisation can significantly improve manufacturing efficiency and product resources utilisation while reducing scheduling conflicts, flow-time, work-in-process and shop floor

Copyright © 2016 Inderscience Enterprises Ltd.

disturbances. The classical job shop scheduling problem (JSP), proven to be an NP-hard problem is one of the most difficult problems in this field (Graey et al., 1976). Flexible Job Shop Scheduling Problem (FJSP) is an extension of the classical JSP, which was firstly introduced by Nuijten and Aarts (1996). In the FJSP, n jobs are to be processed on m unrelated machines and each job must be processed on a machine from a set of candidate resources in a predefined

158

W. Yi, X. Li and B. Pan

sequence. Each operation of a job should be processed only on one machine at a time while each machine can process only one operation at a time. It allows an operation to be processed by any machine from a given set. The FJSP can be decomposed into two sub-problems: the Machine Selection (MS) problem and the Operation Sequencing (OS) problem. The MS problem is assigning each operation to a machine out of a set of candidate machines, while the OS problem is sequencing the assigned operations on all machines to obtain an optimum solution. The JSP only contains the operation sequencing problem. Therefore, the FJSP is more complicated than the JSP. Consequently, the FJSP is also a NP-hard problem. After Brucker and Schile (1990) first presented this problem in 1990, many methods have been introduced to solve it. The current approaches for solving FJSP mainly include Genetic Algorithms (GA) (Pezzella et al., 2008; Wang et al., 2012; Wang et al., 2013), TABU Search (TS) (Mastrolilli and Gambardella, 2000) and variable neighbourhood search algorithm (VNS) (Yazdani et al., 2010). Zribi et al. (2007) proposed a new hierarchical method (HA) for solving FJSP. They solved the assignment sub-problem by using localisation method with TS branch-andbound algorithm. Taking into account two components of the problem, a hybrid GA is applied to optimise the sequencing part of the solutions. Li et al. (2011) introduced a Multi-Swarm Collaborative Evolutionary Algorithm (MSCEA) to solve FJSP, which can achieve significant improvement in the FJSP tested benchmark set. Ho et al. (2007) proposed a Learnable Genetic Architecture (LEGA), which extracted the knowledge from the previous generation by its schemata learning module. Ennigrou and Ghedira (2008) proposed improved multi-agent approaches based on the TABU search meta-heuristic (MAS), which used TS for global searching and the local optimisation approach (FJS MATSLO) for local searching. The research results of FJSP are also used in some real-world applications. In the work of Tanev et al. (2004), an approach for scheduling of customers’ orders in factories of plastic injection machines is presented as a case of real-world FJSP. A practical job-shop scheduling problem was presented by Mati et al. (2010), their work included modelling and solving the problem to help a company to design a new production workshop. Memetic Algorithm (MA) was developed by Moscato (1989) and Mocasto and Norman (1992). It combined an evolutionary algorithm for exploration and a LS method to perform exploitation. An MA can use several LS techniques. Hasan et al. (2009) proposed three new priority rules as local search technique for selecting individuals after the fitness evaluation. Their proposed MA found 27 optimal solutions in 40 benchmark problems, which is better than the classical GA. The proposed method is effective as it accepts local search action only if the solution is improved. The MA has been successfully applied for search and optimisation (Krasnogor and Smith, 2005; Liu et al., 2007). In this paper, a MA-based approach is proposed to solve the FJSP. In this method, the MA is made of GA with a guided

LS algorithm (TS). The GA has powerful global searching capabilities, while TS is very efficient in performing local search. Hence, this method takes the advantages of both GA and TS. In order to solve the FJSP effectively, effective encoding method, genetic operators and neighbourhood structure are employed in this method. The rest of this paper is organised as follows. The problem formulation is discussed in Section 2. The MAbased approach for FJSP is proposed in Section 3. Experimental studies are reported in Section 4, through experimental studies, the merits of the proposed approach can be demonstrated. Conclusions are given in Section 5.

2

Problem formulation

FJSP is to select a sequence of operations along with the resource allocation for each operation to meet some given criteria. The n × m FJSP can be stated as follows (Gao et al., 2006). A set of n jobs J = {J1, J2, J3,…,Jn} and a set of m machines M = {M1, M2, M3,…,Mm}. Each job Ji consists of a sequence of operations {Oi1, Oi2, Oi3,,Oim} where ni is the number of operations that Ji comprises. Each operation Oij (i = 1,2,…,n; j = 1,2,…, ni) is processed by one machine Mk out of a set of given machines MijM (for MkMij, MijM). In this paper, the scheduling objective is to minimise the maximal completion time of all operations i.e. makespan, which is defined as MK  max(Ci ) , where Ci is the 1 i  n

completion time of job Ji. The mathematical model of FJSP can be found in the work of Fattahi et al. (2007) and Ozguven et al. (2010).

3

Proposed memetic algorithm for FJSP

3.1 Working steps of the proposed MA The proposed MA follows the steps of the classical GA with additional LS to improve the solution quality for each generation. The steps involved in the proposed approach are as follows: Step 1: Set the parameters of the proposed MA. Step 2: Initialise the population and set Gen = 1, where Gen is the current generation. Step 3: Evaluate the objective of every individual in the population. Step 4: Check the termination criteria. If the criteria is satisfied, go to Step 7. Otherwise go to Step 5. Step 5: Generate new population: Step 5.1: Use the genetic operators; selection, crossover and mutation, to generate the new population. Step 5.2: Apply the LS algorithm to improve the quality of each individual design.

Solving flexible job shop scheduling using an effective memetic algorithm

159

Step 6: Set Gen = Gen + 1 and go to Step 3.

3.3.1 Selection

Step 7: Output the best solution.

The selection operator is used to select the individuals according to their fitness values. In this part, two selection operators are adopted. The first one is the elitist selection scheme and the other is the tournament selection scheme. The elitist selection scheme reproduces pr × Popsize, where pr is the reproduction probabilistic and Popsize is the size of the population. The individuals with the best fitness values will be selected to produce the offspring. The elitist operator is adopted to enhance the local search ability in GA. A number of individuals are selected from the population first at random, depending on the tournament size typically between 2 and 7.). The individual with the best fitness value is then selected in the tournament selection for reproduction. The tournament selection approach allows a balance between exploration and exploitation of the gene pool. The size of the tournament can be modified to adjust the selection pressure.

3.2 Encoding and decoding Encoding of the individual solution of the FJSP is very important in the proposed MA. The method introduced by Gao et al. (2006) is employed in this study for encoding. Since the solution of the FJSP contains two distinct subsolutions, its chromosome to represent the solution is made of two strings. The first one is the OS string and the second is the MS string. The OS and MS strings have different encoding methods. The OS string is encoded using an un-partitioned permutation with Oni-repetitions of job numbers. Note that, the length of the OS string is equal to

n

 On i 1

i

where n is the

total number of the jobs and Oni is the total number of operations of job i. In this representation, each job number is associated with a length of Oni digits in the OS string. By scanning the OS string from left to right, the f-th digit of job number Ji refers to the f-th operation of job Ji. The important feature of this representation is that any permutation of the OS string can be decoded to an operational solution. The MS string denotes the selected machine for the corresponding operations of all jobs. The length of this string is equal to that of the OS string. The i-th part of this string has a length of Oni, each of which denotes the selected machine for the corresponding operation of job i. Thus, the h-th part of this string can be denoted as

g



i1 , gi 2 ,..., gih ,..., giOni . The integer value of one of the string,

say gih, indicates that the machine mihgih in the machine set, set Sih  {mih1 , mih 2 ,..., mihcih } is selected to complete the h-th

operation of job i A solution of the FJSP is formed by combining an OS string with an MS string. The solutions can be decoded into semi-active, active, non-delay and hybrid schedules. The detailed descriptions of the active, the semi-active and the non-delay schedules can be found in the reference by Gonzalez et al. (2006). The hybrid schedule is a combination of the above mentioned schedules (Goncalves et al., 2005; Zhang et al., 2008). The active schedule is adopted in this paper. The active schedule is a feasible schedule in which no activity could be started earlier without delaying some other activity or breaking a precedence constraint. An optimal schedule is always active. It can be found in a space that is limited to the set of all active schedules (Gonzalez et al., 2006).

3.3.2 Crossover In this paper, the Job-Based Crossover (JBX) (Zhang et al., 2011) is adopted for the OS string. The goal of the crossover is to obtain a better offspring by exchanging the information between the current parents. The procedure of the JBX is described as follows. Let P1 and P2 denote the selected parents and O1 and O2 denote the offspring. Step 1: The Jobset J = {J1, J2, J3,…,Jn} is divided into two subsets Jobset1 and Jobset2 randomly. The boxes shaded blue in P1 of Figure 1 are in Jobset1 and those in P2 are in Jobset2. Step 2: Copy any element in P1 that belongs to Jobset1 to the same position in O1 and copy any element in P2 which belongs to Jobset2 to the same position in O2. Step 3: Orderly fill the remaining empty positions in O1 one by one with the remaining elements in P2. Following the same process fill in the remaining empty positions in O2 with the remaining elements in P1. Figure 1

OS job-based crossover operator (see online version for colours)

P1

2

1

2

3

4

3

1

2

4

1

3

2

P2

3

4

1

1

2

3

2

2

1

4

4

3

O1

4

1

2

3

2

3

1

2

4

1

3

4

P2

3

4

1

1

2

3

2

2

1

4

4

3

P1

2

1

2

3

4

3

1

2

4

1

3

2

O2

1

4

3

3

2

1

2

2

1

4

4

3

3.3 Genetic operators In this paper, the chromosome contains two strings: OS string and MS string. Each string is subjected to its own genetic operators. Three commonly used genetic operators, selection, crossover and mutation, will be briefly discussed in the following sub-sections.

For the MS string part, a standard two-point crossover has been adopted as the crossover operation. In this operation, two positions are first randomly select then two children strings are created by swapping all elements between the positions of the two parent strings.

160

W. Yi, X. Li and B. Pan

3.3.3 Mutation The swapping mutation (Zhang et al., 2011) has been adopted for the OS string in this paper. The mutation can provide some extra variation into the current population, which can enhance the diversity of the population. A single point mutation is used for the MS string. The mutation probability should be small as a large one will be adverse for the information preservation of the good chromosomes. The basic working procedure of the swapping mutation is described in Figure 2, where P denotes one parent and O denotes an offspring. Step 1: Select two positions in P. Step 2: Swap the elements in the selected positions to generate O. Figure 2

The OS swapping mutation operator (see online version for colours)

P

2

1

5

3

4

O

3

1

5

2

4

A mutation operator for an MS string is designed as follows: Step 1: Select r positions in the parent, usually, r is taken less than the half of the length of the MS string. Step 2: Change the value of each selected positions with the other machine listed in the machine set of the corresponding operation. An illustration is shown in Figure 3. The symbols P denotes the parent MS chromosome before mutation, O denotes the offspring MS chromosome after mutation, Mset is the machine set and T the processing time related to each machine. In Figure 3, the parent machine M4 is replaced by M3. Figure 3

The MS swapping mutation operator (see online version for colours) P

3

1

2

Array index Mset

1

2

3

M1

M3

M4

T

6

4

7

O

3

1

2

3

records recent moves in one or more lists. The intent of the list is not to prevent a previous move from being repeated, but rather to insure the evolutionary process is not reversed. In this paper, it has been adopted as a LS strategy for the proposed MA. The neighbourhood function NFJ1 proposed by Mastrolilli and Gambardella (2000) has been used here. This neighbourhood function has been proved to be optimally connected. Since the critical path determines the minimum makespan, the neighbourhood solutions are generated based on the critical operations on the critical path. The neighbourhood solutions are generated as follows: Each operation v that belongs to the critical path P, will be inserted v in each machine k that belongs to the optional machine set to find the best solution. After generating and evaluating the neighbourhood solutions, they should be compared with the current solution. If the neighbourhood solutions are better than the current solution and the best solution, the replacement takes place. Otherwise the best solution will be compared with the current solution which is not the result of the neighbourhood solutions from the TABU search. The replacement occurs only if the current solution is better than the existing solution.

3.3.5 Termination criteria In this paper, the MA terminates either when the number of generations reaches the maximum value (maxGen) or when there is no improvement possible in the permitted maximum step size (maxStagnantStep). On the other hand, the TS algorithm terminates when the number of iterations reaches the maximum size (maxTSIterSize). Once the algorithm ends, the best chromosome along with the corresponding schedule is reported.

4

Experimental studies

The proposed MA was coded in C++ and implemented on a computer with a 2.0 GHz Core (TM) 2 Duo CPU. To illustrate the effectiveness and performance of the proposed MA algorithm, a famous benchmark problem set taken from Brandimarte (1993) is utilised in this study. The MA parameters for the problem set are given in Table 1.

4.1 Experiment results

2

3.3.4 Local search by TABU search TABU search proposed by Glover and Laguna (1997) is a meta-heuristic method, which has been successfully applied in solving scheduling and other combinatorial optimisation problems. TABU search begins by marching to a local minimum. To avoid retracting the previous steps, TS

The data set contains ten problems. The problems were randomly generated using a uniform distribution given in Table 2. Table 3 gives experimental results and the comparison with other algorithms. In Table 3, LB and UB represent the lower and upper bounds of the problem set and MA the proposed algorithm. Other algorithms compared in Table 3 are TS (Mastrolilli and Gambardella, 2000), LEGA (Ho et al., 2007), HA (Zribi et al., 2007), GA (Pezzella et al., 2008), MAS (Ennigrou and Ghedira, 2008) and MSCEA (Li et al., 2011). In Table 3, the notion, N/A, indicates that the result was not available and the number marked by * is the best result among these seven algorithms. As an example output, the Gantt chart of the test

Solving flexible job shop scheduling using an effective memetic algorithm Table 2

problem MK05 is illustrated in Figure 2. Results confirm the effectiveness of the proposed algorithm as it can be seen from Table 3 that the proposed MA along with TS and MSCEA are the only algorithms to obtain the best results for nine out of ten test problems. This initial investigation indicates that the proposed MA has the potential to be an effective algorithm for solving FJSP. Table 1

The MA parameters

Parameters The size of the population, Popsize

100

The total number of generations, maxGen

100

The permitted maximum step size with no improvement, maxStagnantStep

20

Crossover probability, pc

0.9

Mutation probability, pm

0.05

The maximum iteration size of TS, maxTSIterSize

Table 3

Nop2

Meq3

Proc4

MK01

10 × 6

5–7

3

1–7

MK02

10 × 6

5–7

6

1–7

MK03

15 × 8

10–10

5

1–20

MK04

15 × 8

3–10

3

1–10

MK05

15 × 4

5–10

2

5–10

MK06

10 × 15

15–15

5

1–10

MK07

20 × 5

5–5

5

1–20

MK08

20 × 10

10–15

2

5–20

MK09

20 × 10

10–15

5

5–20

MK10

20 × 15

10–15

5

5–20

200 × (Gen/maxGen)

Length of TABU list, maxT

Parameter settings for example problems n × m1

Notes:

0.02

Reproduction probability, pr

161

6

1: n × m: number of jobs × number of machines. 2: Nop: minimum and maximum numbers of operations per jobs. 3: Meq: maximum number of equivalent machines per operation. 4: Proc: minimum and maximum processing times per operation.

The experimental results

Problem

(LB, UB)

TS

LEGA

HA

GA

MAS

MSCEA

MA

MK01

(36, 42)

40*

40*

41

40*

40*

40*

40*

MK02

(24, 32)

26*

29

28

26*

32

26*

26*

MK03

(204, 211)

204*

N/A

204*

204*

N/A

204*

204*

MK04

(48, 81)

60*

67

67

60*

67

60*

60*

MK05

(168, 186)

173*

176

177

173*

188

173*

173*

MK06

(33, 86)

58*

67

61

63

85

58*

58*

MK07

(133, 157)

144

147

154

139*

154

141

139*

MK08

(523)

523*

523*

523*

523*

523*

523*

523*

MK09

(299, 369)

307*

320

321

311

N/A

307*

307*

MK10

(165, 296)

198*

229

219

212

N/A

198*

201

Figure 4

Gantt chart of MK05 (makespan = 173) (see online version for colours)

162

5

W. Yi, X. Li and B. Pan

Conclusions

The combination of the population-based evolutionary searching ability of GA with local improvement ability of TS enables the proposed MA to balance effective design space exploration and exploitation. The proposed algorithm has been applied to solve one of the hardest combinatorial problems, namely the FJSP problem, for minimising the makespan. A benchmark problem set has been used to investigate the performance of the MA. The numerical results obtained by the proposed MA are compared with results obtained by other recently proposed algorithms. Based on these results it can be concluded that the proposed MA can be effective in solving the FJSP problem. The future research efforts will include finding better local search strategies and testing the proposed MA on large scale problems.

Acknowledgements The authors would like to thank the anonymous reviewers for their invaluable comments. This research work is supported by the Natural Science Foundation of China (NSFC) under Grant no. 51375004, National Key Technology Support Program under Grant no. 2015BAF01B04 and the Fundamental Research Funds for the Central Universities, HUST: Grant no. 2015TS061.

References Brandimarte, P. (1993) ‘Routing and scheduling in a flexible job shop by TABU search’, Annals of Operations Research, Vol. 41, No. 3, pp.157–183. Brucker, P. and Schile, R. (1990) ‘Job-shop scheduling with multi-purpose machines’, Computing, Vol. 45, No. 4, pp.369–375. Chen, H., Ihlow, J. and Lehmann, C. (1999) ‘A genetic algorithm for flexible job shop scheduling’. IEEE International conference on Robotics and Automation, Detroit, Vol. 2, pp.1120–1125. Ennigrou, M. and Ghedira, K. (2008) ‘New local diversification techniques for flexible job shop scheduling problem with a multi-agent approach’, Autonomous Agent and Multi-Agent Systems, Vol. 17, No. 2, pp.270–287. Fattahi, P., Mehrabad, M.S. and Jolai, F. (2007) ‘Mathematical modeling and heuristic approaches to flexible job shop scheduling problems’, Journal of Intelligent Manufacturing, Vol. 18, No. 3, pp.331–342. Gao, L., Peng, C.Y., Zhou, C. and Li, P.G. (2006) ‘Solving flexible job shop scheduling problem using general particle swarm optimization’, Proceedings of the 36th CIE Conference on Computers & Industrial Engineering, Taipei, Taiwan, pp.3018–3027. Glover, F. and Laguna, M. (1997) Tabu Search, Kluwer Academic Publishers. Goncalves, J.F., Mendes, J.J.M. and Resende, M.G.C. (2005) ‘A hybrid genetic algorithm for the job shop scheduling problem’, European Journal of Operation Research, Vol. 167, pp.77–95.

Gonzalez, M.A., Vela, C.R. and Varela, R. (2006) ‘Scheduling with memetic algorithms over the spaces of semi-active and active schedules’, Proceedings of 8th International Conference Artificial Intelligence and Soft Computing, 25–29 June, Zakopane, Poland, pp.370–379. Graey, M.R., Jonmson, D.S. and Sethi, R. (1976) ‘The complexity of flow shop and job shop scheduling’, Mathematics of Operational Research, Vol. 1, pp.117–129. Hasan, S.M.K., Sarker, R., Essam, D. and Cornforth, D. (2009) ‘Memetic algorithms for solving job shop scheduling problems’, Memetic Computing, Vol. 1, No. 1, pp.69–83. Ho, N.B., Tay, J.C. and Lai, E.M.K. (2007) ‘An effective architecture for learning and evolving flexible job shop schedules’, European Journal of Operational Research, Vol. 179, pp.316–333. Krasnogor, N. and Smith, J.E. (2005) ‘A tutorial for competent memetic algorithms: model, taxonomy and design issues’, IEEE Transactions on Evolutionary Computation, Vol. 9, No. 5, pp.474–488. Li, X.Y., Gao, L., Zhang, L.P. and Li, W.D. (2011) ‘An effective multi-swarm collaborative evolutionary algorithm for flexible job shop scheduling problem’, Proceedings of the 15th International Conference on Computer Supported Cooperative Work in Design, 8–10 June, Laussane, Switzerland, pp.281–284. Liu, D.S., Tan, K.C. and Goh, C.K. and Ho, W.K. (2007) ‘A multiobjective memetic algorithm based on particle swarm optimization’, IEEE Transactions on Systems, Man, and Cybernetics – Part B: Cybernetics, Vol. 37, No. 1, pp.42–50. Mastrolilli, M. and Gambardella, L.M. (2000) ‘Effective neighbourhood functions for the flexible job shop problem’, Journal of Scheduling, Vol. 3, No. 1, pp.3–20. Mati, Y., Lahlou, C. and Peres, S.D. (2011) ‘Modelling and solving a practical flexible job shop scheduling problem with blocking constraints’, International Journal of Production Research, Vol. 49, No. 8, pp.2169–2182. Moscato, P. (1989) On Evolution, Search, Optimization, GAs and Martial Arts: Toward Memetic Algorithm, Caltech Concurrent Computation Program, Technical Report 826, California Instition of Technology, Pasadena, CA, USA. Moscato, P. and Norman, M.G. (1992) ‘A memetic approach for the traveling salesman problem implementation of a computational ecology for combinatorial optimization on message-passing systems’, Proceedings of the International Conference on Parallel Computing and Transputer Applications, 21–25 September, Barcelona, Spain, Vol. 1, pp.177–186. Nuijten, W.P.M. and Aarts, E.H.L. (1996) ‘A computational study of constraint satisfaction for multiple capacitated job shop scheduling’, European Journal of Operational Research, Vol. 90, No. 2, pp.269–284. Ozguven, C., Ozbakir, L. and Yavuz, Y. (2010) ‘Mathematical models for job shop scheduling problems with routing and process plan flexibility’, Applied Mathematical Modelling, Vol. 34, No. 6, pp.1539–1548. Pezzella, F., Morganti, G. and Ciaschetti, G. (2008) ‘A genetic algorithm for the flexible job shop scheduling problem’, Computers & Operations Research, Vol. 35, pp.3202–3212. Saravanan, M. and Noorul Haq, A. (2011) ‘Evaluation of metaheuristic approaches for scheduling optimisation of flexible manufacturing systems’, International Journal of Computer Applications in Technology, Vol. 42, Nos. 2/3, pp.150–158. Tanev, I.T., Uozumi, T. and Morotome, Y. (2004) ‘Hybrid evolutionary algorithm based real-world flexible job shop scheduling problem: application service provider approach’, Applied Soft Computing, Vol. 5, pp.87–100.

Solving flexible job shop scheduling using an effective memetic algorithm Wang, X.J., Gao, L. and Li, X.Y. (2012) ‘A multi-objective genetic algorithm for fuzzy flexible job-shop scheduling problem’, International Journal of Computer Applications in Technology, Vol. 45, Nos. 2/3, pp.115–125. Wang, X.J., Li, W.F. and Zhang, Y. (2013) ‘An improved multiobjective genetic algorithm for fuzzy flexible job-shop scheduling problem’, International Journal of Computer Applications in Technology, Vol. 47, Nos. 2/3, pp.280–288. Yazdani, M., Amiri, M. and Zandieh, M. (2010) ‘Flexible job shop scheduling with parallel variable neighborhood search algorithm’, Expert Systems with Applications, Vol. 37, No. 1, pp.678–687.

163

Zhang, C.Y., Rao, Y.Q. and Li, P.G. (2008) ‘An effective hybrid genetic algorithm for job shop scheduling problem’, International Journal of Advanced Manufacturing Technology, Vol. 39, Nos. 9/10, pp.965–974. Zhang, G.H., Gao, L. and Shi, Y. (2011) ‘An effective genetic algorithm for the flexible job-shop scheduling problem’, Expert Systems with Applications, Vol. 38, pp.3563–3573. Zribi, N., Kacem, I., Kamel, A. E. and Borne, P. (2007) ‘Assignment and scheduling in flexible job shops by hierarchical optimization’, IEEE Transactions on Systems, Man, and Cybernetics - Part C: Applications and Reviews, Vol. 37, No. 4, pp.652–661.