Scheduling optimization of flexible manufacturing ... - Springer Link

11 downloads 28115 Views 313KB Size Report
Mar 29, 2012 - approach has been developed for scheduling optimization of a flexible ... ical and soft computing-based tools (such as genetic algo- rithm (GA) ...
Int J Adv Manuf Technol (2013) 64:951–959 DOI 10.1007/s00170-012-4061-z

ORIGINAL ARTICLE

Scheduling optimization of flexible manufacturing system using cuckoo search-based approach Shashikant Burnwal & Sankha Deb

Received: 7 March 2011 / Accepted: 12 March 2012 / Published online: 29 March 2012 # Springer-Verlag London Limited 2012

Abstract In the present work, a cuckoo search (CS)-based approach has been developed for scheduling optimization of a flexible manufacturing system by minimizing the penalty cost due to delay in manufacturing and maximizing the machine utilization time. To demonstrate the application of cuckoo search (CS)-based scheme to find the optimum job, the proposed scheme has been applied with slight modification in its Levy flight operator because of the discrete nature of the solution on a standard FMS scheduling problem containing 43 jobs and 16 machines taken from literature. The CS scheme has been implemented using Matlab, and results have been compared with other soft computingbased optimization approaches like genetic algorithm (GA) and particle swarm optimization found in the literature. The results shown by CS-based approach have been found to outperform the results of existing heuristic algorithms such as GA for the given problem. Keywords Scheduling optimization . Flexible manufacturing system . Cuckoo search (CS)

1 Introduction Scheduling of jobs is an important decision-making task in a flexible manufacturing system (FMS) because it plays a crucial role in deciding effectiveness and capability of the system. The main objective of scheduling is to increase operational efficiency by completing job in minimum S. Burnwal : S. Deb (*) Department of Mechanical Engineering, Indian Institute of Technology Kharagpur, Kharagpur 721302, India e-mail: [email protected]

possible time with the highest standard of quality. Today FMS have transfigured into a complex system because of its need to accommodate fluctuation in demands and fulfilling customers’ requirements with immediate effects. So researchers have been taking the FMS scheduling problem seriously and trying to develop algorithms to optimize it, for that they have taken the aid of various traditional mathematical and soft computing-based tools (such as genetic algorithm (GA), particle swarm optimization (PSO), etc.) for optimization. For scheduling, the primary need is to define objective function for which optimum schedule is desired; completing the job in minimal time is among the most commonly used objective. The following objectives are of most important in the context of an FMS (Smith et al. [1]): (a) (b) (c) (d) (e) (f) (g)

Maximizing system/machine utilizations Meeting due dates Maximizing production rates Minimizing in-process inventories Minimizing setup and tool changes times Minimizing mean flow times Balancing machine utilizations

More than one objective can be chosen for scheduling purpose, and in many cases, it is often conflicting like going for maximizing machine utilization leads to higher production and hence higher inventory so objectives (a) and (d) are conflicting. Various combination of objectives can be considered for scheduling problem of an FMS; however, we have chosen the multi-objectives combination namely, meeting the due dates (and hence minimizing penalty cost) and minimizing machine idle time (hence maximizing machine utilization time) for the convenience of comparing the results of application of cuckoo search (CS) approach with the results of other researchers like Jerald [2] who applied

952

PSO technique and Sankar et al. [3] who applied GA approach for the same above multi-objectives combination. For the sake of comparison, we have also taken the same job table. In this work, the optimum solution of the scheduling has been obtained using a CS-based approach which has been developed by Yang and Deb [4]. They developed this algorithm and tested it on various standard testing functions claiming that it can outperform GA, PSO, etc. because of its simplicity and robustness and are capable of being applied successfully on wide range of problems, so it has been utilized by us in scheduling optimization of FMS. The optimum job sequence has been then compared with other existing heuristic algorithms to check the effectiveness of cuckoo search-based approach. 1.1 Survey of literature on previous research work Researchers always have been intrigued by the scheduling problem in FMS system because of its importance in today’s manufacturing industry. Proper planning of the scheduling gives a company an edge over its competitors and ability to satisfy customers by delivering the products within deadlines. Initially researchers considered the problem of scheduling as a mere mathematical problem of optimization, and their approaches were based on applying mathematical models such as enumerative procedures, mathematical programming, and techniques like linear programming, etc. to get the optima. The first mathematical formulation for FMS-loading problem was given by Stecke [5]. He formulated the production planning problem as non-linear 0–1 mixed-integer programs and applied several linear methods on the data from an existing FMS. O’grady and Menon [6] utilized a goal programming model for solving a real-life FMS problem. Chen et al. [7] used a branch and bound approach to study scheduling problem in FMS environment using Petri-net-based integrated approach. Similarly, Kim et al. [8] presented a new scheduling method for manufacturing system based on the timed Petri net model and a reactive fast graph search algorithm. Guerrero et al. [9] developed mixed-integer linear program considering alternative routes for each part type. Some researchers tried to adopt multi-criteria decisionmaking approach to solve the scheduling problem. Various objectives had been tried for scheduling such as minimizing completion time, reducing tardiness, reducing machine idleness, minimizing delay, etc. Then these objectives have been combined in different ways to achieve multi-objectivity. Ammons et al. [10] developed a bi-criterion objective for the loading problem, i.e., balancing workloads and minimizing visits to the workstations. Shanker and Tzen [11] addressed the machine-loading problem in random FMS with the bi-criterion objective of balancing the workload

Int J Adv Manuf Technol (2013) 64:951–959

among the machining centers and meeting the due dates of the jobs. Many mathematical and heuristic approaches are applied to fulfill the multi-objective criteria. Shanker and Srinivasulu [12] developed a two-stage branch and backtrack procedure with the objective of maximizing the assigned workload. They developed a heuristic procedure with a bi-criterion objective of minimizing the workload imbalance and maximizing throughput for critical resources such as the number of tool slots on machines and the number of working hours in a scheduling period. Swamkar and Tiwari [13] addressed machine-loading problem of an FMS having the bi-criterion objectives of minimizing system unbalance and maximizing the throughput. These multi-criteria decision-making approaches provided very robust models under near to realistic situations because at same time industries need to fulfill many criteria as per the customers’ needs but it also increases complexity. As complexity grew manifold by increasing number of jobs and machines, these approaches showed limitation in its applications. Many researchers such as Stecke and Solberg [14] had carried out a simulation study for a computer-controlled flexible manufacturing system consisting of nine machines, an inspection station, and a centralized queuing area—all interconnected by an automatic material-handling mechanism. The results are different from those of classical jobshop scheduling studies, showing the dependence of system performance on the loading and control strategies chosen to operate this flexible manufacturing system. Persi et al. [15] dealt with the problem of improving the machine utilization of a flexible manufacturing cell using a hierarchic approach. At the upper level, sets of parts that can be concurrently processed (batches) are determined. At the lower levels, batches are sequenced, linked, and scheduled. Lee and Kim [16] used scheduling algorithm for flexible manufacturing system with partially grouped machines. They had given priority dispatching rules to choose among parts and machines based on processing time, remaining work, queuing, etc. Many other researchers like Waiker et al. [17] tried to do scheduling based on priority rule such as shortest processing time (SPT) where jobs are scheduled depending on their processing time. Job with the lowest processing time goes for machining first and then whole schedule is decided on the increasing order of processing times. Similarly for longest processing time (LPT), reverse is done if on a machine number of jobs are in waiting, job with the highest processing time goes first and after that next one follows it with same priority. When early due date is applied in scheduling, the job sequences are found in such a manner that it decreases tardiness and due date. In smallest batch quantity, it is preferred to have lower number of batches for initial machining and try to make the sequence accordingly.

Int J Adv Manuf Technol (2013) 64:951–959

But with advancement of computing speed and evolutionary algorithms such as GA, PSO, etc. which can deal with complexity effectively, researchers applied them on various scheduling problems. Sankar et al. [3] applied multi-objective genetic algorithm for a particular case of FMS for 16 machines and 43 jobs. The results were promising and better than conventional optimization approaches. They did it by using GA pheno coding scheme taking initial population size 20. Using crossover and mutation, they created new population and tried to find the optimum level for their objective function. Pezella et al. [18] proposed an improved genetic algorithm for the distributed and flexible job-shop scheduling problem. Besides traditional crossover and mutation operators, they used a new local search-based operator to improve the available solution by refining the most promising individual for each generation. ElMaraghy and Patel [19] presented a scheduling approach, based on genetic algorithm, developed to address the scheduling problem in manufacturing system constrained by both machines and workers, while Jerald [2] developed PSO for the same problem and compared it with genetic algorithm and memetic algorithm to show that PSO can be effectively utilized for FMS problems and give better result than GA, SA, etc. Software has been written in C language. Results were obtained for three types of problems: 10 jobs 8 machines, 20 jobs 15 machines, and 43 jobs 16 machines. Results obtained by the different approaches were compared and the performances analyzed for the multi-objective function of minimizing total penalty cost and minimizing total machine idleness. Particle swarm algorithm was found to be superior and gives the minimum combined objective function. Vidyarthi and Tiwari [20] proposed a fuzzy-based methodology to solve machine-loading problem in FMS. The job ordering/job sequence determination before loading is carried out by evaluating the membership contribution of each job to its characteristics such as batch size, essential operation processing time, and optional operation processing time. Rossi and Dini [21] proposed an ant colony optimizationbased software system for solving scheduling problem in FMS considering routing flexibility, sequence-dependent setup, and transportation time. Zeballos [22] adopted a constraint programming approach to deal with FMS scheduling which consists of both a model and a search strategy and handles several features found in industrial environments, such as limitations on number of tools in the system, lifetime of tools, as well as tool magazine capacity of machines. In addition, it tackles the problem in an integrated way by considering tool planning and allocation, machine assignment, part routing, and task timing decisions in the approach. Lee and Lee [23] adopted heuristic search for scheduling flexible manufacturing systems using lower bound reachability matrix which is based on T-timed Petri net. Liu et al. [24] proposed policies for deadlock prevention in FMS by

953

defining a subclass of Petri nets called resource-shared net with buffers (RSNB). Furthermore, they also defined extensions of RSNB [25] and proposed two models as extended resource-shared net with buffers and resource-shared assembly net with buffers which permit the resources to be shared among different stages in one manufacturing process and consideration of taking assembly and choice operations into account, respectively. Yang and Deb [4] proposed a new metaheuristic algorithm which they called cuckoo search because they tried to emulate breeding behavior of cuckoo to find solution space for optimization. They also used Levy flight for finding new solutions. By using this approach on various testing functions such as Michaelwicz function, Rosenbrock’s function, etc., they proved that this algorithm can be very effective. They compared their results with existing GA and PSO’s results and claimed that cuckoo search has potential to outperform those. Moreover, they applied cuckoo search on engineering optimization [4] by showing its applicability in engineering problems such as spring design optimization and welded beam design. They argued that due to less parameters involved in cuckoo search, this can be widely applied in many engineering problems effectively. And as Levy flight [26] ensures diversification of solution space, they succeeded in finding global optima for given problems.

2 Proposed methodology for scheduling optimization of FMS Metaheuristic algorithms are aimed to perform global search, e.g., genetic algorithms [3] and particle swarm optimization [2]. The metaheuristic algorithms can emulate the best characteristics in nature, especially the selection of the fittest in biological systems through evolution by natural selection over the years. Two important characteristics of a metaheuristic are intensification and diversification [18]. Intensification is aimed to search around the present best solutions and select the best candidates or solutions, while diversification is meant for the algorithm to explore the search space more efficiently, often by randomization. The CS approach inherits the above two behaviors from nature and combines both to give an algorithm which fulfill the criteria of being metaheuristic algorithm. These are: 1. Cuckoo breeding behavior Many species of cuckoo are brood parasites, laying their eggs in the nest of other species though they may remove others’ eggs to increase the hatching probability of their own eggs. If a host bird discovers the eggs are not its own, it will either throw away these alien eggs or simply abandon its nest and builds a new nest elsewhere. These characteristics are utilized in cuckoo

954

Int J Adv Manuf Technol (2013) 64:951–959

search approach as after each step, worst solutions are discarded and new solutions are generated, as if worst nests are being identified by host birds so they have to be discarded and the new nests are searched by host birds. And by doing so, whole solution space is being explored for required optimization problem. Then in every iteration, a cuckoo solution tries to replace a nest among solution nests to get better solution after each repetition. 2. Levy flight In general, the path of an animal in search of food is effectively a random walk because the next move is based on the present location/state and the transition probability to the next location. Which direction it chooses depends implicitly on a probability which can be modeled mathematically. For example, various studies have shown that the flight behavior of many animals and insects has demonstrated the typical characteristics of Levy flights [24]. Levy flight is a type of random walk in which the increments are distributed according to a heavy-tailed probability distribution. Specifically, the distribution used is a power law of the form y ¼ xa where 1o(109). Such a high value of α is used to make addition significant because x in our case is 86 digit string. After getting new string, we convert it into matrix of (43, 1) form. Now if same numbers are found at the two places, then their values are simply swapped similar to the mutation operation of genetic algorithm. If any number is more than 43, then the previous number is simply retained. For example, suppose string is 21, 14, 8, 30, 32, 12, 13, 19, 43, 3, 33, 27, 42, 39, 15, 37, 35, 29, 06, 17, 28, 24, 07, 31, 41, 04, 40, 2, 16, 05, 25, 11, 36, 18, 34, 10, 22, 26, 09, 01, 38, 23, 20 We want to generate new nest from this string using Levy flight then we add α·t−γ to this string. Suppose we are doing it for 15th step so in this case t015 and take α0109 and +02 which yield α·t−γ as 4,444,444 (converted to nearest integer). That would be added to string which will yield new string: As 21, 14, 8, 30, 32, 12, 13, 19, 43, 3, 33, 27, 42, 39, 15, 37, 35, 29, 06, 17, 28, 24, 07, 31, 41, 04, 40, 2, 16, 05, 25, 11, 36, 18, 34, 10, 22, 26, 09, 05, 82, 67, 64 Now as in the new string, 5 is repeated (shown in italics) but initially at 30th position there was 5 and at 40th

Int J Adv Manuf Technol (2013) 64:951–959

957

Table 1 Job table Part no.

M/c no. (processing time in min)

1

6 (1)–7 (1)–8 (1)–10 (2)

17

150

1

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

2 (1)–6 (1)–8 (2)–9 (2)–14 (4)–16 (2) 8 (1)–11 (3)–13 (4) 9 (4) 4 (5)–5 (3)–15 (4) 6 (5)–14 (1) 3 (5)–6 (3)–16 (5) 5 (4)–6 (5)–8 (1) 4 (1)–5 (5)–8 (1)–11 (1) 2 (2)–9 (1)–16 (4) 8 (4)–12 (2) 6 (2)–8 (4)–10 (1) 6 (1)–7 (5)–10 (4) 4 (2)–5 (3)–6 (2)–15 (2) 5 (4)–8 (3) 5 (3) 3 (1)–6 (4)–14 (1) 9 (2)–16 (3) 4 (1)–5 (5)–6 (2)–8 (2)–15 (5)

17 14 26 11 16 26 26 1 20 1 19 25 22 15 27 20 24 5

200 800 700 150 700 250 850 100 150 250 1,000 700 1,000 700 750 650 250 450

1 1 2 1 1 2 2 0 2 1 3 4 4 5 3 4 5 1

20 21

8 (2)–11 (4) 4 (5)–5 (5)–8 (4)–15 (4)

11

50

5

22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37

12 (5) 4 (2)–5 (1)–6 (5)–8 (4) 8 (4)–11 (4)–12 (5)–13 (4) 7 (3)–10 (2) 10 (2) 8 (5)–11 (5)–12 (4) 2 (1)–8 (1)–9 (2) 4 (1)–5 (5) 11 (3)–12 (5) 8 (2)–10 (2) 2 (3)–6 (4)–9 (3) 5 (4)–6 (5)–15 (3) 3 (2)–6 (2) 3 (4)–14 (1) 3 (2) 1 (5)–2 (2)–6 (3)–8 (3)–9 (2)–16 (4)

16 24 14 7 24 27 22 3 7 18 2 15 27 12 9 20 22

850 200 50 200 350 450 400 950 700 1,000 800 800 500 300 900 700 250

3 5 4 5 1 0 1 5 1 1 2 1 4 4 2 2 4

38 39 40 41 42 43

2 (4)–8 (3)–9 (2)–16 (5) 6 (5)–10 (5) 2 (2)–6 (4)–9 (4) 5 (1)–8 (2)–15 (1) 2 (5)–6 (4)–9 (3)–16 (1) 1 (3)–5 (2)–6 (2)–8 (2)–15 (3)

8 9 7 22 19

50 500 250 800 400

1 1 5 4 2

15

550

3

position it was 1 so according to our proposed rule now at 30th position, it would be 1 and at 40th position it would be 5 (swapping is done). Moreover, at 41st, 42nd, and

Due date (days)

Batch size

Penalty cost (Rs./unit/day)

43rd positions, numbers are greater than 43, i.e., 82, 67, and 64, respectively, so these places will retain the earlier values, i.e., 38, 23, and 20, respectively.

958

Int J Adv Manuf Technol (2013) 64:951–959

Fig. 4 Comparison of various approaches for multi-objective function Fig. 3 Results of CS when code run for 40 generations

4 Conclusions So new string will finally become 21, 14, 8, 30, 32, 12, 13, 19, 43, 3, 33, 27, 42, 39, 15, 37, 35, 29, 06, 17, 28, 24, 07, 31, 41, 04, 40, 2, 16, 01, 25, 11, 36, 18, 34, 10, 22, 26, 09, 05, 38, 23, 20

3 Results This developed program has been run for different iterations. It has been found that for less number of iterations (loop counter), results are not good but as we increase the iteration number it started giving better results. After running the program for different iterations, we got COF00.2646 as the minimum value corresponding to 40 iterations. Figure 3 shows the results of CS when the program is run for 40 generations. Initial nests are generated randomly and then cuckoo search is applied on that final results converged to COF00.2646. 3.1 Comparison between the proposed cuckoo search and other algorithms A comparison between the proposed CS and other algorithms, namely LPT, SPT, GA, and PSO (found in literature), has been presented in Table 2 and Fig. 4.

The main contributions of the research work reported in this paper can be highlighted as follows: The CS-based optimization approach is characterized by its remarkable ability to imitate a real phenomena of nature, i.e., cuckoo’s breading behavior in much the same way as ACO method or the PSO method. Yet its potential has so far remained unexplored in solving the scheduling optimization, which is an important and widely researched engineering optimization problem. This paper has demonstrated for the first time the application of a CS-based approach in solving an FMS scheduling problem. We had to suitably modify the CS method as explained in the paper to adapt it for solving the present problem of scheduling on a discrete set of numbers. The Levy flight operator has been also modified to get next better solution set. The implementation of the CS approach has been shown for a FMS scheduling problem involving having 43 jobs and 16 machines considering multiple objectives, namely minimizing the penalty cost due to delay in manufacturing and maximizing the machine utilization time. For the given set of objectives, the results obtained by the CS-based algorithm have been compared with a number of existing algorithms including LPT, SPT, GA, and PSO (found in literature), and the value of COF obtained by the CS scheme is found to be better than or as good as the best

Table 2 Comparison between various approaches Algorithm

LPT [3]

SPT [3]

GA (pheno code) [3]

PSO [2]

CS

COF Sequence

0.485 21, 14, 8, 30, 32, 12, 13, 19, 43, 3, 33, 27, 42, 39, 15, 37, 35, 29, 6, 17, 28, 24, 7, 31, 41, 4, 40, 2, 16, 5, 25, 11, 36, 18, 34, 10, 22, 26, 9, 1, 38, 23, 20

0.324 20; 23; 38; 1; 9; 26; 22; 10; 34; 18; 36; 11; 25; 5; 16; 2; 40; 4; 41; 31; 7; 24; 28; 17; 6; 29; 35; 37; 15; 39; 42; 27; 33; 3; 43; 19; 13; 12; 32; 30; 8; 14; 21

0.274 21; 28; 16; 42; 39; 25; 5; 23; 22; 35; 36; 37; 15; 1; 2; 9; 4; 3; 40; 20; 31; 11; 14; 30; 27; 43; 17; 10; 7; 26; 33; 18; 29; 8; 41; 32; 13; 12; 24; 6; 19; 38; 34

0.2983 27; 30; 38; 10; 18; 15; 34; 42; 5; 33; 8; 37; 23; 25; 9; 2 3; 5; 43; 20; 6; 4; 36; 19; 17; 24; 39; 31; 12; 8; 32; 26; 6; 14; 22; 3; 1; 11; 41; 9; 40; 21; 13; 7

0.2646 8, 14, 28, 31, 3, 42, 26, 33, 22, 20, 5, 24, 12, 41, 18, 7, 10, 19, 23, 38, 4, 35, 40, 37, 15, 15, 17, 39, 6, 2, 34, 1, 29, 27, 16, 36, 30, 25, 32, 13, 43, 11, 10, 9

Int J Adv Manuf Technol (2013) 64:951–959

results obtained by the aforementioned methods. For example, it is found from the comparison of the results that the GA (pheno coding) scheme gave a COF value of 0.274, whereas the proposed CS scheme gave a COF value of 0.2646. Although one may argue that the difference is subtle, it is nonetheless encouraging and shows that the CS scheme can be applied on various scheduling problems. Further, we find that CS needs less iterations to converge to the optimal solution; therefore, the algorithm is faster and takes less processing time. From the comparison study of the performance of CS with GAs and PSO, we find that our new cuckoo search in combination with Levy flights is very efficient and proves to be superior for given test problems. This is partly due to the fact that there are fewer parameters to be fine-tuned in CS than in PSO and genetic algorithms. In fact, apart from the population size n, there is essentially one parameter pa. If we look at the CS algorithm carefully, there are essentially three components: selection of the best, exploitation by local random walk, and exploration by randomization via Levy flights globally. The selection of the best by keeping the best nests or solutions is equivalent to some form of elitism commonly used in genetic algorithms, which ensures the best solution is passed onto the next iteration and there is no risk that the best solutions are cast out of the population.

References 1. Smith ML, Ramesh R, Dudek R, Blair E (1986) Characteristics of US flexible manufacturing systems survey. In: Proc. 2nd ORSA/ TIMS Conf. FMS, pp 477–486 2. Jerald J (2005) Scheduling optimisation of flexible manufacturing systems using particle swarm optimisation algorithm. Int J Adv Manuf Technol 25:964–971 3. Sankar S et al (2003) A multiobjective genetic algorithm for scheduling a flexible manufacturing system. Int J Adv Manuf Technol 22:229–236 4. Yang XS, Deb S (2010) Engineering optimization by cuckoo search. Int J Math Model Numer Optim 1(4):330–343 5. Stecke KE (1983) Formulation and solution of non-linear integer production planning problem for flexible manufacturing system. Manag Sci 29:273–288 6. O’Grady PJ, Menon U (1987) Loading a flexible manufacturing system. Int J Prod Res 25:1053–1068 7. Chen C, Yu D, Zhang B (1993) Scheduling parallel processing by Petri nets. In: Automatic-control world congress, pp 739–742

959 8. Kim, Suzuki, Narikiyo (2007) FMS scheduling based on timed petro net model and reactive graph search. Appl Math Model 31:955–970 9. Guerrero F, Lozano S, Koltai T, Larraneta J (1999) Machine loading and part type selection in flexible manufacturing systems. Int J Prod Res 37(6):1303–1317 10. Ammons JC, Lofgren CB, McGinnis (1985) A large scale machine-loading problem in flexible assembly. Ann Oper Res 3:319–322 11. Shanker K, Tzen YJ (1985) A loading and dispatching problem in a random flexible manufacturing system. Int J Prod Res 23(3):579– 595 12. Shanker K, Srinivasulu A (1989) Some solution methodologies for loading problems in a flexible manufacturing system. Int J Prod Res 27(6):1019–1034 13. Swamkar R, Tiwari MK (2004) Modeling machine loading problem of FMSs and its solution methodology using a hybrid tabu search and simulated annealing-based heuristic approach. Robot Comput Integrat Manuf 20:199–209 14. Stecke KE, Solberg JJ (1981) Loading and control policies for flexible manufacturing system. Int J Prod Res 19:481–490 15. Piero P, Walter U (1999) A hierarchic approach to production planning and scheduling of a flexible manufacturing system. Robot Comput Integrated Manuf 15:373–385 16. Lee D-H, Yeong-Dae K (1999) Scheduling algorithm for flexible manufacturing systems with partially grouped machines. J Manuf Syst 18(4):301–309 17. Waiker AM, Sarker BR, Lal AM (1995) A comparative study of some priority dispatching rules under different shop loads. Int J Prod Plan Cont 6(4):301–310 18. Pezella F, Morganti G, Ciaschetti G (2008) A genetic algorithm for the flexible job-shop scheduling problem. Comput Oper Res 35:3202–3212 19. ElMaraghy H, Patel V (2000) Scheduling of manufacturing systems under dual-resource constraints using genetic algorithms. J Manuf Syst 19(3):186–201 20. Vidyarthi NK, Tiwari MK (2001) Machine loading problem of FMS: a fuzzy-based heuristic approach. Int J Prod Res 39 (5):953–979 21. Rossi A, Dini G (2007) Flexible job-shop scheduling with routing flexibility and separable setup times using ant colony optimisation method. Robot Comput Integrated Manuf 23:503–516 22. Zeballos LJ (2010) A constraint programming approach to tool allocation and production scheduling in flexible manufacturing systems. Robot Comput Integrated Manuf 26:725–743 23. Lee J, Lee SJ (2010) Heuristic search for scheduling flexible manufacturing systems using lower bound reachability matrix. Comput Ind Eng 59:799–806 24. Liu J et al (2009) A live subclass of Petri nets and their application in modeling flexible manufacturing system. Int J Adv Manuf Technol 41:66–74 25. Liu J et al (2009) Two types of extended RSNBs and their application in modeling flexible manufacturing system. Int J Adv Manuf Technol 45:573–582 26. Metzler et al (2007) Some fundamental aspects of Levy flights. Chaos, Solitons and Fractals 34:129–142