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