Academia.eduAcademia.edu

Discrete Cuckoo Search Applied to Job Shop Scheduling Problem

AI-generated Abstract

This paper presents a discrete version of the Cuckoo Search algorithm applied to the Job Shop Scheduling Problem (JSSP). The authors discuss the challenges of JSSP, highlighting its NP-hard nature and the effectiveness of metaheuristic algorithms. The proposed Discrete Cuckoo Search (DCS) algorithm aims to balance exploration and exploitation in search space to find optimal schedules. The experimental results demonstrate that DCS outperforms traditional Particle Swarm Optimization (PSO) across various instances, showcasing its potential for real-world applications in manufacturing and service industries.

Xin-She Yang Editor Recent Advances in Swarm Intelligence and Evolutionary Computation 123 x.yang@mdx.ac.uk Editor Xin-She Yang School of Science and Technology Middlesex University London UK ISSN 1860-949X ISSN 1860-9503 (electronic) Studies in Computational Intelligence ISBN 978-3-319-13825-1 ISBN 978-3-319-13826-8 (eBook) DOI 10.1007/978-3-319-13826-8 Library of Congress Control Number: 2014956560 Springer Cham Heidelberg New York Dordrecht London © Springer International Publishing Switzerland 2015 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, express or implied, with respect to the material contained herein or for any errors or omissions that may have been made. Printed on acid-free paper Springer International Publishing AG Switzerland is part of Springer Science+Business Media (www.springer.com) x.yang@mdx.ac.uk Contents Swarm Intelligence and Evolutionary Computation: Overview and Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Xin-She Yang and Xingshi He 1 Globally Convergent Hybridization of Particle Swarm Optimization Using Line Search-Based Derivative-Free Techniques . . . . . . . . . . . . . A. Serani, M. Diez, E.F. Campana, G. Fasano, D. Peri and U. Iemma 25 Fireflies in the Fruits and Vegetables: Combining the Firefly Algorithm with Goal Programming for Setting Optimal Osmotic Dehydration Parameters of Produce . . . . . . . . . . . . . . . . . . . Raha Imanirad and Julian Scott Yeomans Hybrid Metaheuristic Algorithms: Past, Present, and Future . . . . . . . . T.O. Ting, Xin-She Yang, Shi Cheng and Kaizhu Huang Binary Flower Pollination Algorithm and Its Application to Feature Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Douglas Rodrigues, Xin-She Yang, André Nunes de Souza and João Paulo Papa 49 71 85 Bat Algorithm Application for the Single Row Facility Layout Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sinem Büyüksaatçı 101 Discrete Cuckoo Search Applied to Job Shop Scheduling Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aziz Ouaarab, Belaïd Ahiod and Xin-She Yang 121 vii x.yang@mdx.ac.uk viii Contents Cuckoo Search and Bat Algorithm Applied to Training Feed-Forward Neural Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Milan Tuba, Adis Alihodzic and Nebojsa Bacanin 139 The Potential of the Firefly Algorithm for Damage Localization and Stiffness Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sara Casciati and Lorenzo Elia 163 Synthesizing Cross-Ambiguity Functions Using the Improved Bat Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Momin Jamil, Hans-Jürgen Zepernick and Xin-She Yang 179 Sustainable Building Design: A Review on Recent Metaheuristic Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Somayeh Asadi and Zong Woo Geem 203 Firefly Algorithm for Flow Shop Optimization . . . . . . . . . . . . . . . . . . M.K. Marichelvam, T. Prabaharan and M. Geetha Evaluation of Harmony Search and Differential Evolution Optimization Algorithms on Solving the Booster Station Optimization Problems in Water Distribution Networks . . . . . . . . . . . Şerife Gökçe and M. Tamer Ayvaz 225 245 Web Document Clustering by Using PSO-Based Cuckoo Search Clustering Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Moe Moe Zaw and Ei Ei Mon 263 Geometrically Nonlinear Analysis of Trusses Using Particle Swarm Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rasim Temür, Yusuf Sait Türkan and Yusuf Cengiz Toklu 283 x.yang@mdx.ac.uk Discrete Cuckoo Search Applied to Job Shop Scheduling Problem Aziz Ouaarab, Belaïd Ahiod and Xin-She Yang Abstract Discrete Cuckoo Search (DCS) algorithm is applied to solve combinatorial optimization problems. In this chapter we discuss how DCS solves the Job Shop Scheduling Problem (JSSP), one of the most difficult NP-hard combinatorial optimization problems. DCS is recently developed by Ouaarab et al. in 2013, based on Cuckoo Search (CS) which was proposed by Yang and Deb in 2009. DCS seeks solutions, in the discrete search space, via Lévy flights and a switching parameter pa of the worst solution in the population. Its search uses a subtle balance between local and global random walks. This first version of DCS for JSSP is designed without using an advanced local search method or hybrid with other metaheuristics. Our experimental results show that DCS can find the optimum solutions for a number of JSSP instances. 1 Introduction The aim of a scheduling problem is to find out the optimal feasible schedule in a finite or countable infinite set of schedules by optimizing the defined objective function. One of the well-known scheduling problems is the so-called Job Shop Scheduling Problem (JSSP) [1, 2]. JSSP occurs frequently in many manufacturing and service industries, where it is necessary to optimize the costs of production by minimizing the all production times. Many manufacturing scheduling problems can A. Ouaarab (&)  B. Ahiod LRIT, Associated Unit to the CNRST (URAC 29), Mohammed V-Agdal University, B.P. 1014, Rabat, Morocco e-mail: aziz.ouaarab@gmail.com B. Ahiod e-mail: ahiod@fsr.ac.ma X.-S. Yang School of Science and Technology, Middlesex University, The Burroughs, London NW4 4BT, UK e-mail: x.yang@mdx.ac.uk © Springer International Publishing Switzerland 2015 X.-S. Yang (ed.), Recent Advances in Swarm Intelligence and Evolutionary Computation, Studies in Computational Intelligence 585, DOI 10.1007/978-3-319-13826-8_7 x.yang@mdx.ac.uk 121 122 A. Ouaarab et al. be considered as a JSSP model to find the optimum solution. Therefore, JSSP is both important and challenging, and thus researchers are still trying to develop efficient algorithms and propose some resolutions. However, as an NP-hard optimization problem, all existing algorithms are not able to find the optimum solution within a reasonable time for all problem instances. In fact, many recent studies have attempted to use metaheuristic algorithms to find an optimal or good solution in a good runtime [3]. Metaheuristic algorithms have demonstrated their potential and effectiveness in many applications, and thus have been used to solve a wide range of discrete or continuous optimization problems. As a result, they are becoming the most widely used alternatives to solve NP-hard problems and they can perform better than traditional algorithms for highly nonlinear problems. Two important advantages of metaheuristic algorithms are simplicity and flexibility. They are usually simple to implement, however they can often solve complex problems. In addition, they can be adapted easily (or combined with other methods) to solve many real-world optimization problems, from the fields of operations research, engineering to artificial intelligence [4, 5]. To balance their search between exploring and exploiting the solution space, metaheuristics use several search strategies. Ideally, an algorithm should concentrate the search process on some promising regions by starting the search with a population of initially guessed solutions, and then continues to iterative step-by-step as a sequence of solutions so as to reach the optimal solution as quickly as possible [5, 6]. Among the most popular metaheuristics, especially those inspired by nature, we can have a long list, to name a few, Genetic Algorithms (GA) [7, 8], Tabu Search (TS) [9], Simulated Annealing (SA) [10], Ant Colony Optimization (ACO) [11], Particle Swarm Optimization (PSO) [12], Bee Colony Optimization (BCO) [13], Monkey Search (MS) algorithm [14], Harmony Search (HS) algorithm [15], Firefly Algorithm (FA) [16], Intelligent Water Drops (IWD) [17], Bat Algorithm (BA) [18], Cuckoo Search (CS) [19], Flower Pollination Algorithm (FPA) [20, 21]. Most of these metaheuristics are nature-inspired, mimicking how nature successfully finds ingenious solutions to a very difficult problem (either biological, social or even physical-chemical) under dynamically changing environment. Not all algorithms perform equally well, some may obtain better results than others for a given problem, and there is no universally efficient algorithm to deal with all problems. So many challenges remain, especially for solving tough, NP-hard optimization problems [22]. Starting in the early 80s, as an important approach to solving difficult problems with a good compromise between the cost of resolution and quality of the solution, metaheuristics were applied to job shop scheduling problems. Some metaheuritics such as Tabu Search (TS) algorithm [23] were implemented to adopt the disjunctive graph representation by Taillard [24], and other studies included the TS introduced by Nowicki and Smutnicki in 1996 [25] and the improved version proposed by the same authors in 2005 [26]. Extensive case studies and approaches include the Simulated Annealing approach [27], Genetic Algorithm [28, 29] and its hybridized version with a local search procedure [30], Particle Swarm Optimization combined x.yang@mdx.ac.uk Discrete Cuckoo Search Applied to Job Shop Scheduling Problem 123 with Simulated Annealing [31], Ant Colony Optimization combined with Taboo Search [32] and Tabu Search-simulated annealing hybrid [33], GRASP technique [34, 35], Bee Colony Optimization [36], Particle Swarm Optimization algorithm hybridized with Tabu Search [37]. The aim of this chapter is to apply the Discrete Cuckoo Search to study job shop scheduling problems. Therefore, this chapter is organized as follows: Sect. 2 presents an overview of the JSSP by discussing scheduling problem variants, schedule classes, problem representations and JSSP graphical modelling. Section 3 first briefly describes the standard CS, then discusses the improvements on the CS. Then, the proposed discrete CS is presented in detail. Section 4 solves a set of benchmarks from the OR-Library [38]. Finally, Sect. 5 concludes and summarizes the contributions of this work. 2 Job Shop Scheduling Problem In manufacturing, production is a system that leads to the creation of a product through the use and transformation of resources. This production system is a set of resources that provide a production activity. To manage production, a set of processes is implemented to ensure to complete the manufacture of products using a set of data and forecasts. So, we must deal with one of the most important problems that affect directly the time and the cost of the production process. This problem is scheduling. In general, a scheduling problem concerns one of the following: • A set of tasks or jobs to perform, • A set of resources or machines to use by these jobs, • A program to identify, to properly allocate resources to tasks. Scheduling problems are often defined in terms of four main elements: jobs, resources, constraints and objectives. So, it is important to discuss these four basic elements before studying scheduling problems [39, 40]. Jobs: A job is an elementary unit of the work that uses resources from a start date ti to an end date ci, whose implementation requires a time pi such that pi ¼ ci ti . For such a problem, a job can be executed by piece or uninterrupted. In the case of a job shop scheduling problem, we consider the first category, each job with a set of operations subject to a number of constraints. Resources: A resource is all that is intended to be used for performing a task, and available in limited quantities and for a limited time. In the manufacturing context, resources can be machines, workers, equipment, facilities and energy, etc. In a job shop scheduling problem, a resource is a machine. x.yang@mdx.ac.uk 124 A. Ouaarab et al. Constraints: A constraint is the restriction or limit in values. Therefore, the constraints are the limits imposed by the environment. Objectives: Objectives are the goals that guide the scheduling process. These goals are distinguished in classes according to the schedule time, resources, cost, and energy. 2.1 Scheduling Problem Variants In scheduling, there are several variants of problem formulations, depending on the constraints, objectives or how we manage resources and the queues in front of these resources. In this context, there are many extensively studied such as the Flow Shop, Flexible Flow Shop, Job Shop, Flexible Job Shop and Open Shop. We now outline them briefly. 2.1.1 Flow Shop All machines are in series. Each job (say, j) must be processed on each one of the available m machines. By following the same sequence, all the jobs must be carried out sequentially, first on machine 1 of the series, then on machine 2, etc. At each machine, there is a queue of the jobs that come from the previous machine. While waiting in the queue, a job cannot pass another, which means that all queues operate under the First In First Out (FIFO) method [39]. 2.1.2 Flexible Flow Shop In essence, a flexible flow shop problem is the generalization of a flow shop problem where each machine is replaced by a set of identical machines in parallel. All these sets of identical machines are in series. So, all jobs have to be processed first on the first set and so on. At each set a job j has to be processed on only one machine at a time [39]. 2.1.3 Job Shop In a job shop with m machines, each job has to be carried out a predetermined sequence of machines. The sequence of m machines for one job is different from that for another, which cannot be changed during the process. At most one job can be processed on each machine at a time [39]. x.yang@mdx.ac.uk Discrete Cuckoo Search Applied to Job Shop Scheduling Problem 125 2.1.4 Flexible Job Shop The extension of a job shop scheduling problem is called a flexible job shop, and a set of identical machines (in parallel) are used to replace each single machine. In addition, a job is carried out by any machine from the given set and each job has its own sequence of sets. At a parallel set, any job j can be processed on only any one machine and no two machines should process the same job at the same time [39]. 2.1.5 Open Shop In the context of an open shop, each job can be done only on each machine, while one machine can only carry out one job at a time. However, unlike the job shop, the sequence of job-processing machines can vary freely and different jobs may have different sequences as well. Some of job processing times may be zero [39]. 2.2 Schedule Classes To order to use the most effective methods to find an optimal solution or schedule, any knowledge about the search space is useful. Therefore, it is important to organize the solutions as classes. Each class has its own feature that is important to know before the construction of the feasible schedules. This will allow us to properly exploit the time of the schedule. The relations between these classes are inclusion or intersection. If we begin with the largest class which encompassing the other classes, we will find the feasible schedule class. There are many classes, but three classes are emphasized here: active, non-delayed and optimal schedules. It worth mentioning that an active schedule is that for which no operation can be put into an empty hole, while preserving feasibility, without delaying another operation. In this case, no shift to the left is possible. The non-delayed schedules are defined in the case that if and only if no operation, available for processing, is on the queue while a machine is free to run. A non-preemptive, non-delayed schedules are active schedules and the reverse is not necessarily true. A non-delayed schedule class can intersect with the optimal solution class. For details about classes, please refer to more advance literature [39–41]. 2.3 Problem Representation There are different ways of formulating a job shop scheduling problem (JSSP), though in essence a JSSP can be considered as a discrete optimization problem, and such problems can have important applications in manufacturing and engineering. x.yang@mdx.ac.uk 126 A. Ouaarab et al. The primary task concerning the JSSP is to transform manufacturing decisions to detailed implementation instructions, defined by the production manager program so as to minimize the production time and cost. The typically output of the JSSP is a schedule that provides detailed assignments of jobs with specific start and end dates. Obviously, such a schedules must be subject to a set of constraints. Loosely speaking, each one of the n jobs in J ¼ f1; . . .; ng ðn  1Þ, in a JSSP, has to be processed via the path of m machines in M ¼ f1; . . .; mg ðm  1Þ, and each job can be processed once and once only, in a given sequence. For each job, the sequence of m machines can be different, and once fixed, it cannot be changed during the process. An operation is equivalent to the processing of one job on a machine in a specific order. In general, each job j ð1  j  nÞ can require m combined operations ðoj1 ; oj2 ; . . .; ojm Þ so as to complete the work. Obviously, one operation can be processed on only one of the m machines at a given, fixed time. Each machine can only process at most one operation at a time, and a machine that is processing one job cannot be interpreted by another job, The main objective or aim of solving a JSSP is to try to find a feasible schedule of operations so as to minimize the maximum completion time or makespan Cmax. In essence, the makespan can be defined as the complete time for carrying out all the operations on m machines for all the n jobs. Detailed formulation can be found in [2, 42, 43]. In general, the sequence for one job can be different from another. Obviously, the number of operations for a given job cab be the number of machines in most cases, which means that each job is processed once and only once. For such reasons, the total number of operations is essentially jOj ¼ n  m, or n  m instances. The following descriptions are mainly based on the formulation by Ponsich et al. [41] and others [31, 44]. Now let O ¼ foji ; j 2 f1; . . .; ng and i 2 f1; . . .; mgg corresponds to the set of all the operations in a JSSP. There is a fixed processing time pji for each operation oji 2 O. Two conditions are: 1) an operation oji can only be processed on a machine only if the machine is idle and ready. 2) Each operation oji can start only if its predecessor operation ojði 1Þ is completed. In essence, a schedule sequence can be coded as a vector of completion times for all the operations, that is ðCji ; i 2 f1; . . .; mg and j 2 f1; . . .; ngÞ. Thus, we use the following notations, 1. oji : the operation i of job j, 2. pji : the processing time of oji , 3. Cji : the completion time of oji . A schedule or solution can be generated by permutation, which can lead to the JSSP complexity of Oððn!Þm Þ [41]. The objective of a JSSP is to minimize the overall completion time of all the operations, or the makespan Cmax , subject to the following constraints: • Once a machine is processed a job, it cannot be interrupted. • A machine can only process (at most) one job at a time. • An operation cannot start if its predecessor has not been completed, and the starting time must be later than the completion time of its predecessor. x.yang@mdx.ac.uk Discrete Cuckoo Search Applied to Job Shop Scheduling Problem 127 Therefore, the scheduling problem can be written in a compact form as Minimize Cmax ¼ Cnm : ð1Þ 2.4 JSSP Graphical Modelling For simplicity in describing the JSSP scheduling process, the so-called disjunctive graph and Gantt chart methods are often used. 2.4.1 Disjunctive Graph The fundamental ideas of a disjunctive graph were proposed by Roy and Sussmann in 1964 [45]. Briefly speaking, a disjunctive graph representation (Fig. 1) can be denoted as G ¼ ðA; V; EÞ where V is a set of nodes (corresponding to the set of operations O) with a (starting) source S and a (finishing) sink T. In addition, A corresponds to a set of conjunctive arcs showing the sequencing or precedence constraints, while E consists of a set of disjunctive edges, linking two operations to be processed on the same machine. Furthermore, the edge represents the time of the operation. 2.4.2 Gantt Diagram By far, the most common representation for a JSSP is to use the so-called Gantt chart where an operation is represented by a segment or a horizontal bar with its length being proportional to the time of operation. Consequently, a temporal scale is used to indicate the occupation of all machines by different tasks and idle times as well as the potential unavailability of machines. As shown in Figs. 2 and 3, two types of Gantt 1,1 S 2,2 2,1 1,2 1,3 3,1 4,1 4,2 2,3 3,2 4,3 Fig. 1 A JSSP example of a disjunctive graph representation x.yang@mdx.ac.uk 3,3 T 128 A. Ouaarab et al. J1 J2 J3 M1 M2 M3 1 2 3 4 5 6 7 8 9 10 11 12 Fig. 2 Machine Gantt chart M1 M2 M3 J1 J2 J3 1 2 3 4 5 6 7 8 9 10 11 12 Fig. 3 Job Gantt chart charts are used. A machine Gantt chart consists of a horizontal line for each machine where the line displays the various operations in sequence periods and periods of idleness of the machines. On the other hand, a job Gantt chart provides the overview the sequence of job operations where each job is represented by a line with the periods of execution of operations and waiting periods for machines [46, 47]. 3 Discrete Cuckoo Search for JSSP Now the discrete cuckoo search approach for solving the JSSP is presented in detail. 3.1 Cuckoo Search Cuckoo Search (CS) [19] is inspired by the brood parasitism behaviour of some cuckoo species [48]. CS uses Lévy flights [49] to enhance the search both locally and globally where a solution in the search space is represented by a nest or an egg. Lévy flights are a model of random walks characterized by their step lengths which obey a power-law distribution. Most of the Lévy steps are relatively small, with occasional large jumps. The standard CS was developed by Yang and Deb in 2009, initially designed for solving multimodal functions. The main ideas can be summarized as the following x.yang@mdx.ac.uk Discrete Cuckoo Search Applied to Job Shop Scheduling Problem 129 ideal rules: (1) Each cuckoo lays one egg at a time and selects a nest randomly; (2) The best nest with the highest quality egg can pass onto the new generations; (3) The number of host nests is fixed, and the egg laid by a cuckoo can be discovered by the host bird with a probability pa 2 ½0; 1Š. Here, pa is a switching parameter that guides the search style in the solution space. CS can perform a balanced choice between local and the global explorative random walks. The local random walk can be written as xtþ1 ¼ xti þ as i Hðpa eÞ ðxtj xtk Þ; ð2Þ where xtj and xtk are two different solutions selected by a permutation randomly, HðuÞ is a Heaviside function, ε is a random number drawn from a uniform distribution, and s is the step size. On the other hand, the global random walk is carried out by using Lévy flights xtþ1 ¼ xti þ aLðs; kÞ; i ð3Þ where Lðs; kÞ ¼ kcðkÞ sinðpk=2Þ 1 ; ðs  s0 [ 0Þ: p s1þk ð4Þ Here a [ 0 is the step size scaling factor, which should be related to the scales of the problem of interest, and s0 is a small constant (s0 = 0.001–0.1 can be used). Lévy flights have an infinite variance with an infinite mean [5, 19]. x.yang@mdx.ac.uk 130 A. Ouaarab et al. 3.2 Discrete Cuckoo Search In the continuous space, a solution vector is generally represented by its real coordinates. In fact, to move from the actual position to a new one, we change only the current values of the coordinates. A small step is done by a small modification on the coordinate values and a big change of the coordinate values generates a big jump. In the discrete space, a solution can be denoted by a set of acceptable combinations or permutations that are positioned, according to the order and the relations between their components. So, the meaning of locations and distances changes and becomes more complex. To locate a solution in the discrete space in terms of using permutations, we need to verify that the new found solution is acceptable. In many problems, finding a feasible solution is relatively difficult when we consider all the constraints of this problem. On the other hand, moving in this search space requires the proper definition of distances and neighbourhood, and thus requires proper operators and perturbations according to the type of problem. This discrete version of Cuckoo Search (DCS) algorithm, developed by Ouaarab et al. [6, 50], is designed and adapted to solve discrete optimization problems such as the Travelling Salesman Problem [50, 51], Quadratic Assignment Problem and Job Shop Scheduling Problem. For solving a JSSP, DCS adopts its own procedure without any subordinate heuristic used generally to improve results. DCS is applied to solve the JSSP in order to show its performance against other metaheuristics rather than hybrids. In the DCS, Lévy flights have a control on all moves in the solution space. A global random walk is performed to explore the space. In fact, we will show how to represent a solution in the space and how to move from the current solution to another one using Lévy flights. The switching parameter pa is also used to diversify the search to another unexplored new areas. DCS improves its search strategy by inspiring a new notion from the way how cuckoos exploit and explore new nests. Such cuckoo ‘intelligence’ can find much better nests/solutions. Studies showed that cuckoos can engage a kind of surveillance, before and after brooding, on nests that are likely to be a host [48]. In this case, we are talking about a second level of local search performed by a fraction of intelligent cuckoos around the current solutions. The new mechanism can be introduced in the CS algorithm by a new population fraction pc. The population is structured around three types of cuckoos: (1) A cuckoo, seeking new solutions that are much better than the solution of an individual, randomly selected, in the population; (2) A fraction pa of cuckoos, seek new solutions far from the best solution in the population; (3) The new fraction pc [50]. To move from a current solution to another, we now use a step that will be associated to the value generated by Lévy flights. Concerning the solution space of the studied problem, we design a model of operators and thus associate each operator with a specific step. To facilitate the generation of these steps via Lévy x.yang@mdx.ac.uk Discrete Cuckoo Search Applied to Job Shop Scheduling Problem 131 flights, we calculate them in an interval between 0 and 1. Therefore, according to the value given by Lévy flights in this interval we can choose the appropriate step. Obviously, two important components in the application of DCS on JSSP are: solutions and moves. Each combinatorial optimization problem can have a different solution/search space. So how to define a solution can be tricky. How to move from one solution to another can be even harder. In a JSSP, a schedule/solution can be interpreted by DCS as one egg in a nest, which represents an individual in the population. 3.3 JSSP Solution To illustrate this idea further, we use a simplified example. Considering an instance of a JSSP, Table 1 contains (for example) 3 jobs and 4 machines where each job operation is associated with its machine and processing time. Here, a solution of this JSSP instance is a permutation of operations that can be generated randomly for the initial solution as shown in Fig. 4. The solution space is all the possible solutions/permutations for this JSSP instance. To generate a JSSP solution from an integer series (or a random integer series in the case of random solutions), we can take each integer from this series and apply the operation: (i mod n) + 1, where i is a series integer and n is the number of jobs. In the current example n = 3, so the result is a permutation of jobs, or the permutation of the operations as showed in Fig. 4. From Table 1 and the solution shown in Fig. 4, we can design a Gantt chart (Fig. 5) for this solution (schedule). In the DCS, a schedule with the good (minimum) completion time is selected to generate the next generation schedules. Table 1 A 3 × 4 JSSP problem Jobs Machine sequence 1 2 3 1 2 1 2 1 2 3 4 4 Processing times 4 3 3 p11 ¼ 10 p21 ¼ 8 p31 ¼ 4 p12 ¼ 8 p22 ¼ 3 p32 ¼ 7 Fig. 4 Procedure of generating a random initial solution x.yang@mdx.ac.uk p13 ¼ 4 p23 ¼ 5 p33 ¼ 3 p14 ¼ 2 p24 ¼ 6 p34 ¼ 5 132 A. Ouaarab et al. M1 M2 M3 M4 2 3 1 2 3 1 1 10 3 2 3 2 20 30 1 40 Fig. 5 Gantt chart for the solution shown in Fig. 4 3.4 Moving in Space In order to move from one solution to another in the combinatorial search space, the move can be generated by considering step lengths or topologies. A step length is represented by the distance between solutions in a given search space. In terms of topology, one solution is moved to another by passing from one topology to another one. This case concerns a different kind of moves or operators. In this application of the DCS to solve a JSSP, we propose three different moves or operators that are controlled by or associated with Lévy flights. The first move operator is the insertion move (Fig. 6) that removes the integer in an indicated position ‘2’ and inserts it in the second indicated position ‘6’. The second move operator is the swapping move operator (Fig. 7) that swaps to integers which are located respectively in position ‘2’ and ‘6’. The third operator is the inversion move operator (Fig. 8) that reverses integers’ order between two positions, i.e., ‘2’ and ‘6’ in the example. Fig. 6 Insert move operator Fig. 7 Swap move operator Fig. 8 Inverse move operator x.yang@mdx.ac.uk Discrete Cuckoo Search Applied to Job Shop Scheduling Problem 133 These moves are associated with random values following a Lévy distribution. In fact, a balance search in JSSP combinatorial space should be between restricted and large areas or topologies when appropriate. 4 Experimental Results In order to validate the proposed approach and show the performance, the DCS algorithm has been implemented and tested on 16 instances among the benchmarks taken from the OR-Library [38]. The DCS algorithm has been coded in JAVA language under the 32 bits Seven Operating System, and simulated on a laptop with the configurations of Intel(R) CoreTM 2 Duo 2.00 GHz, and 2 GB of RAM. The parameters used are summarized in Table 2, and the parameters were based on some preliminary parametric studies of pa, pc and the population size n. In each case study, 10 independent runs of the DCS algorithm have been carried out and the test results are summarized in Table 3. The first column shows the name of the instance and the best known solution in parenthesis, the column ‘best’ shows the completion times of the best solution found by the algorithms and the column ‘average’ denotes the average solution completion time of the independent runs of the algorithms, and the column ‘PDav(%)’ denotes the percentage deviation of the average solution completion time over the optimal solution completion time of 10 runs, as shown in Eq. (5): PDavð%Þ ¼ average solution length best known solution length  100 best known solution length ð5Þ All numbers shown in bold in Table 3 mean that the found solutions have the same completion time over all the 10 runs. As shown in Table 3, after testing some JSSP instances, comparisons have been made (for all the tested instances) with the results by the recently published discrete version of PSO for JSSP [31]. Their discrete PSO did not use any advanced local search methods or subordinate heuristics, which is the same case as in DCS. So, we can easily compare these two methods in terms of performance fairly. Table 2 Parameter settings for the DCS algorithm Parameter Value Meaning n Pa pc MaxGeneration α λ 30 0.2 0.6 300 0.01 1 Population size Portion of bad solutions Portion of smart cuckoos Maximum number of iterations Step size Index x.yang@mdx.ac.uk 134 A. Ouaarab et al. Table 3 Computational comparison between PSO and DCS algorithms Instance (opt) DCS Best Average PDAv (%) PSO [31] Best Average PDAv (%) Abz5 (1234) Abz6 (943) Ft06 (55) Ft10 (930) Ft20 (1165) La01 (666) La02 (655) La03 (597) La04 (590) La06 (926) La11 (1222) La16 (945) La21 (1046) La26 (1218) La31 (1784) La36 (1268) 1,239 943 55 945 1,173 666 655 604 590 926 1,222 946 1,055 1,218 1,784 1,297 1,239.6 946.4 55 966.8 1,178.8 666 655 607 590 926 1,222 967.7 1,070.1 1,218 1,784 1,313.6 0.00 0.00 0.00 0.03 0.01 0.00 0.00 0.01 0.00 0.00 0.00 0.02 0.02 0.00 0.00 0.03 – – 55 985 1,208 666 – – – 926 1,222 956 1,102 1,263 1,789 1,373 – – 0.02 0.11 0.08 0.00 – – – 0.00 0.00 0.04 0.07 0.07 0.02 0.10 – – 56.1 1,035.6 1,266.9 668.6 – – – 926 1,222 986.9 1,128.4 1,312.6 1,830.4 1,406.2 Based on the three columns [Best, Average and PDAv (%)] in Table 3, we can see that DCS performs better than PSO in the tested instances, which is confirmed by Fig. 9 by indicating the lower curve associated with DCS. Hence, DCS is more appropriate to be adapted to solve JSSPs with good results. Such good performance can be explained basically by the balance performed by CS to explore and exploit the search space via Lévy flights and the switch parameter pa. The performance is also enhanced by the added improvement presented by the new smart cuckoo fraction pc. These results confirm that this first version of DCS is more adaptable to this kind of combinatorial optimization problems. The proposed DCS can also provide a Fig. 9 PDAv (%) for 11 ORLibrary instances Particle swarm optimization Discrete cuckoo search 0.075 0.05 0.025 Instance x.yang@mdx.ac.uk 31 26 21 36 la la la la la 16 la 11 la 06 20 0 la 01 ft f t1 06 0 ft PDAv(%) 0.1 Discrete Cuckoo Search Applied to Job Shop Scheduling Problem 135 good balance between intensification and diversification. The use of Lévy flights, the reduced number of parameters and the introduced fraction pc of smart cuckoos has enhanced the performance of the population by improving its structure. One further advantage of the improved DCS is the level-independence varieties for the best positions. Each cuckoo (according to its category) in the population can follow one of the three different strategies (discussed in the DCS part). So, it is more likely to find good solutions in the areas unexplored by other metaheuristics. It can be expected that our proposed approach can be easily improved by adding a good local search method or by hybridization with other metaheuristics. 5 Conclusion We have discussed a class of well-known job shop scheduling problems that are important in real-world applications. In this chapter, we have prosed an improved discrete version of Cuckoo Search (CS) to solve this NP-Hard problem. The new discrete CS (DCS) developed to solve combinatorial optimization problems, can enhance the performance of CS by reconstructing the population and introducing a new kind of intelligent cuckoos category. Such adaptation to the JSSP is based on a study of terminology interpretation used in CS and in its inspiration sources. It provides an effective to generate JSSP solutions and to move from one solution to another new one, using new move operators in terms of distances and neighbourhood. DCS has been implemented and its performance has been tested on sixteen benchmark JSSP instances. Its performance has been compared with the discrete PSO [31]. The results of the comparison have shown that the discrete CS outperforms the discrete PSO for solving JSSP instances. The good performance of DCS can be explained by the management of intensification and diversification through Lévy flights and the structure of the population. The new population structure contains a variety of cuckoos that use multiple research methods adopted by pa and pc fractions. So, the combination of more than one search components and the high level use of the best solution from the population provides an effective approach for problem solving for combinatorial problems. The aim of such adaptation is to give a good example of mimicking nature and try to design new algorithms to solve very complex problems more efficiently. It is also important to link the efficiency of the algorithms with the simplicity of its implementation. It can be expected that it will be useful to investigate how DCS can be improved and hybridized with other methods. DCS shows, in some recent studies that it can be adapted to solve the Traveling Salesman Problem and Quadratic Assignment Problems, which confirms that DCS can provide more flexibility to solve (or by hybridization) more combinatorial optimization problems. In addition, DCS has fewer number of parameters and thus it is easier to implement and to tune these parameters. Furthermore, further studies can be fruitful when focusing on the applications of DCS into other combinatorial problems. x.yang@mdx.ac.uk 136 A. Ouaarab et al. References 1. Applegate, D., Cook, W.: A computational study of the job-shop scheduling problem. ORSA J. comput. 3(2), 149–156 (1991) 2. Manne, A.S.: On the job-shop scheduling problem. Oper. Res. 8(2), 219–223 (1960) 3. Blum, C., Roli, A.: Metaheuristics in combinatorial optimization: Overview and conceptual comparison. ACM Comput. Surv. (CSUR) 35(3), 268–308 (2003) 4. Gandomi, A.H., Yang, X.S., Talatahari, S., Alavi, A.H.: Metaheuristic applications in structures and infrastructures. Newnes (2013) 5. Yang, X.S.: Nature-inspired metaheuristic algorithms. Luniver Press, Bristol (2010) 6. Ouaarab, A., Ahiod, B., Yang, X.S.: Improved and discrete cuckoo search for solving the travelling salesman problem. In: Cuckoo Search and Firefly Algorithm, pp. 63–84. Springer, Berlin (2014) 7. Davis, L., et al.: Handbook of genetic algorithms, vol. 115. Van Nostrand Reinhold, New York (1991) 8. Sivanandam, S., Deepa, S.: Genetic Algorithm Optimization Problems. Springer, Berlin (2008) 9. Glover, F., Laguna, M.: Tabu search. Springer, Berlin (1999) 10. Van Laarhoven, P.J., Aarts, E.H.: Simulated annealing. Springer, Berlin (1987) 11. Dorigo, M., Blum, C.: Ant colony optimization theory: A survey. Theoret. Comput. Sci. 344 (2), 243–278 (2005) 12. Kennedy, J.: Particle swarm optimization. In: Encyclopedia of Machine Learning, pp. 760– 766. Springer, Berlin (2010) 13. Karaboga, D., Basturk, B.: On the performance of artificial bee colony (abc) algorithm. Appl. Soft Comput. 8(1), 687–697 (2008) 14. Mucherino, A., Seref, O.: Monkey search: a novel metaheuristic search for global optimization. In: Data Mining, Systems Analysis and Optimization in Biomedicine, vol. 953, pp. 162–173. AIP Publishing, New York (2007) 15. Geem, Z.W., Kim, J.H., Loganathan, G.: A new heuristic optimization algorithm: harmony search. Simulation 76(2), 60–68 (2001) 16. Yang, X.S.: Firefly algorithms for multimodal optimization. In: Stochastic algorithms: foundations and applications, pp. 169–178. Springer, Berlin (2009) 17. Shah-Hosseini, H.: The intelligent water drops algorithm: a nature-inspired swarm-based optimization algorithm. Int. J. Bio-Inspired Comput. 1(1), 71–79 (2009) 18. Yang, X.S.: A new metaheuristic bat-inspired algorithm. In: Nature Inspired Cooperative Strategies for Optimization (NICSO 2010), pp. 65–74. Springer, Berlin (2010) 19. Yang, X.S., Deb, S.: Cuckoo search via lévy flights. In: Nature & Biologically Inspired Computing, 2009. NaBIC 2009. World Congress on, pp. 210–214. IEEE, New York (2009) 20. Yang, X.S.: Nature-Inspired Optimizaton Algorithms. Elsevier (2014) 21. Yang, X.S., Karamanoglu, M., He, X.: Flower pollination algorithm: a novel approach for multiobjective optimization. Eng. Optim. 46, 1222–1237 (2014) 22. Wolpert, D.H., Macready, W.G.: No free lunch theorems for optimization. Evolut. Comput. IEEE Trans. 1(1), 67–82 (1997) 23. Dell’Amico, M., Trubian, M.: Applying tabu search to the job-shop scheduling problem. Ann. Oper. Res. 41(3), 231–252 (1993) 24. Taillard, E.D.: Parallel taboo search techniques for the job shop scheduling problem. ORSA J. Comput. 6(2), 108–117 (1994) 25. Nowicki, E., Smutnicki, C.: A fast taboo search algorithm for the job shop problem. Manage. Sci. 42(6), 797–813 (1996) 26. Nowicki, E., Smutnicki, C.: An advanced tabu search algorithm for the job shop problem. J. Sched. 8(2), 145–159 (2005) 27. Van Laarhoven, P.J., Aarts, E.H., Lenstra, J.K.: Job shop scheduling by simulated annealing. Oper. Res. 40(1), 113–125 (1992) x.yang@mdx.ac.uk Discrete Cuckoo Search Applied to Job Shop Scheduling Problem 137 28. Davis, L.: Job shop scheduling with genetic algorithms. In: Proceedings of an International Conference on Genetic Algorithms and Their Applications, vol. 140 (1985) 29. Della Croce, F., Tadei, R., Volta, G.: A genetic algorithm for the job shop problem. Comput. Oper. Res. 22(1), 15–24 (1995) 30. Gonçalves, J.F., de Magalhães Mendes, J.J., Resende, M.G.: A hybrid genetic algorithm for the job shop scheduling problem. Eur. J. Oper. Res. 167(1), 77–95 (2005) 31. Lin, T.L., Horng, S.J., Kao, T.W., Chen, Y.H., Run, R.S., Chen, R.J., Lai, J.L., Kuo, I., et al.: An efficient job-shop scheduling algorithm based on particle swarm optimization. Expert Syst. Appl. 37(3), 2629–2636 (2010) 32. Huang, K.L., Liao, C.J.: Ant colony optimization combined with taboo search for the job shop scheduling problem. Comput. Oper. Res. 35(4), 1030–1046 (2008) 33. Zhang, C.Y., Li, P., Rao, Y., Guan, Z.: A very fast ts/sa algorithm for the job shop scheduling problem. Comput. Oper. Res. 35(1), 282–294 (2008) 34. Aiex, R.M., Binato, S., Resende, M.G.: Parallel grasp with path-relinking for job shop scheduling. Parallel Comput. 29(4), 393–430 (2003) 35. Binato, S., Hery, W., Loewenstern, D., Resende, M.: A grasp for job shop scheduling. In: Essays and Surveys in Metaheuristics, pp. 59–79. Springer, Berlin (2002) 36. Chong, C.S., Low, M.Y.H., Sivakumar, A.I., Gay, K.L.: A bee colony optimization algorithm to job shop scheduling. In: Simulation Conference, 2006. WSC 06. Proceedings of the Winter, pp. 1954–1961. IEEE, New York (2006) 37. Sha, D., Hsu, C.Y.: A hybrid particle swarm optimization for job shop scheduling problem. Comput. Ind. Eng. 51(4), 791–808 (2006) 38. Beasley, J.E.: Or-library: distributing test problems by electronic mail. J. Oper. Res. Soc. pp. 1069–1072 (1990) 39. Pinedo, M.L.: Scheduling: theory, algorithms, and systems. Springer, Berlin (2012) 40. T’kindt, V., Scott, H., Billaut, J.C.: Multicriteria scheduling: theory, models and algorithms. Springer, Berlin (2006) 41. Ponsich, A.: Coello Coello, C.A.: A hybrid differential evolution—tabu search algorithm for the solution of job-shop scheduling problems. Appl. Soft Comput. 13(1), 462–474 (2013) 42. Błażewicz, J., Domschke, W., Pesch, E.: The job shop scheduling problem: Conventional and new solution techniques. Eur. J. Oper. Res. 93(1), 1–33 (1996) 43. Jain, A.S., Meeran, S.: Deterministic job-shop scheduling: Past, present and future. Eur. J. Oper. Res. 113(2), 390–434 (1999) 44. Cheng, T., Peng, B., Lü, Z.: A hybrid evolutionary algorithm to sovle the job shop scheduling problem. Ann. Oper. Res. pp. 1–15, 2013. http://link.springer.com/article/10.1007 45. Roy, B., Sussmann, B.: Les problemes d’ordonnancement avec contraintes disjonctives. Note ds 9 (1964) 46. Esquirol, P., Lopez, P., professeur de robotique) Lopez, P.: L’ordonnancement. Économica (1999) 47. Herrmann, J.W.: Handbook of production scheduling, vol. 89. Springer, Berlin (2006) 48. Payne, R.B.: The cuckoos, vol. 15. Oxford University Press, Oxford (2005) 49. Shlesinger, M.F., Zaslavsky, G.M., Frisch, U.: Lévy flights and related topics in physics. In: Levy flights and related topics in Physics, vol. 450 (1995) 50. Ouaarab, A., Ahiod, B., Yang, X.S.: Discrete cuckoo search algorithm for the travelling salesman problem. Neural Comput. Appl. pp. 1–11 (2013) 51. Ouaarab, A., Ahiod, B., Yang, X.S.: Random-key cuckoo search for the travelling salesman problem. Soft Comput. pp. 1–8 (2014) x.yang@mdx.ac.uk