Job shop scheduling problem with alternative machines

J. Cent. South Univ. (2012) 19: 1322−1333
DOI: 10.1007/s11771-012-1145-8
Job shop scheduling problem with
alternative machines using genetic algorithms
I. A. Chaudhry
National University of Sciences and Technology, Islamabad, Pakistan
© Central South University Press and Springer-Verlag Berlin Heidelberg 2012
Abstract: The classical job shop scheduling problem (JSP) is the most popular machine scheduling model in practice and is known
as NP-hard. The formulation of the JSP is based on the assumption that for each part type or job there is only one process plan that
prescribes the sequence of operations and the machine on which each operation has to be performed. However, JSP with alternative
machines for various operations is an extension of the classical JSP, which allows an operation to be processed by any machine from
a given set of machines. Since this problem requires an additional decision of machine allocation during scheduling, it is much more
complex than JSP. We present a domain independent genetic algorithm (GA) approach for the job shop scheduling problem with
alternative machines. The GA is implemented in a spreadsheet environment. The performance of the proposed GA is analyzed by
comparing with various problem instances taken from the literatures. The result shows that the proposed GA is competitive with the
existing approaches. A simplified approach that would be beneficial to both practitioners and researchers is presented for solving
scheduling problems with alternative machines.
Key words: alternative machine; genetic algorithm (GA); job shop, scheduling; spreadsheet
1 Introduction
Scheduling involves the allocation of resources over
a period of time to perform a collection of tasks. It is a
decision-making process that plays an important role in
most manufacturing and service industries. An effective
schedule enables the industry to utilize its resources
effectively and attain the strategic objectives as reflected
in its production plan.
A real job shop has many complicating factors.
There may be multiple machines that can process the
same job or operation. Hence, there are several different
routings. When the issue of alternative routing or
flexibility of routing is added, the problem is more
complicated. Each job has a set of precedenceconstrained operations to be processed. Although the
alternative routing imposes more complexity to the
problem, it significantly improves performance if idle
machines can alleviate the pressure on other overloaded
machines.
In order to decrease job lateness, sets of different
jobs have to be planned with different routings. To
increase the system throughput rate, a manufacturing
system has to include various sets of identical machines
processing jobs in parallel. Each of these ‘work-centres’
performs in parallel the operations planned for this
category of identical machines. This is ‘flexible routing’
and is normally found in flexible manufacturing systems
(FMS). Routing flexibility achieves the following
advantages [1−2]:
1) The total manufacturing time is shortened;
2) The work-in-process is reduced;
3) Lead time is reduced;
4) Overall machine utilization is improved.
The job shop problem with alternative routings can
be described as follows: there are a set of machines and a
set of jobs consisting of chain of operations, each of
which needs to be processed. Each machine can process
at most one operation at a time and each operation can be
processed at more than one machine with different fixed
processing time or cost. This is called alternative routing.
An alternative operation could be used if one machine
tool is temporarily overloaded while another is idle. The
alternative routing is useful where capacity problem
arises. Even though alternative operations may incur
time penalties, they may be used to offload bottleneck
machines with the objective of balancing machine
utilization and the flow of work pieces.
In this work, we deal with the scheduling problem
in a job shop environment where several machines exist
and jobs consist of chain of operations to be processed
on more than one machine. This work uses spreadsheet
based domain independent genetic algorithm (GA) for
Received date: 2011−04−23; Accepted date: 2011−07−14
Corresponding author: I. A. Chaudhry, PhD; Tel: +92−300−4279895; E-mail: [email protected]
J. Cent. South Univ. (2012) 19: 1322−1333
1323
the scheduling problem with alternative operations in a
job shop environment.
2
Previous approaches
machine environment
for
alternative
WIHELM and SHIN [3] performed a study to
investigate the effectiveness of alternative operations in
flexible manufacturing systems. They showed that
alternate operations could reduce flow time while
increasing machine utilization. HANKINS et al [4] also
discussed the advantages of using alternative machine
tool routings to improve the productivity. They showed
that using alternative machines results in reducing
lead-time and thus improving overall machine utilization.
Among the heuristics to solve job shop problem
with alternative routings, NASR and ELSAYED [1]
developed an efficient heuristic to minimize the mean
flow time in a general job shop type machining system
with alternative machine tool routings. AHN et al [5]
developed a heuristic algorithm for a scheduling problem
with and without alternative operations. The effect of
alternative operations on the performance of schedules
generated is studied with various dispatching rules. KIM
and EGBELU [6] proposed two local search heuristics to
solve the job shop problem with alternate routing in
order to minimise makespan time.
RAJAMANI et al [7] considered a generalized
group technology problem of manufacturing and
developed three integer programming models to
successively study the effect of alternative process plans
and simultaneous formation of part families and machine
groups. JIANG and HSIAO [8] used 0−1 integer
programming approach in their solution to minimize
absolute deviation from due date and sum of finishing
times of all the jobs. KIM and EGBELU [9] presented a
mixed integer programming model for scheduling a set
of jobs through a shop when each job is supplied or
provided with multiple process plans or process routings.
CHOI and CHOI [10] considered alternative routes and
sequence dependent setups together. They developed a
mathematical programming model and a local search
algorithm using dispatching rules with an objective of
minimizing makespan. CHEN and PAN [11] described
the development of a mixed binary integer programming
(BIP) model for scheduling alternative operations in
two-machine flow-shop problems with mean tardiness as
the criterion.
THOMALLA [12] solved the job shop scheduling
problem with alternative routes using Lagrangian
relaxation. The largest problem solved is six jobs, six
machines, and ten operations per job with the objective
to minimize the sum of the weighted quadratic tardiness
of the jobs.
DAUZÈRE-PÉRÈS and PAULLI [13] considered
an integrated approach for assigning machines and
scheduling the parts using a tabu search algorithm with a
new neighborhood structure. LOGENDRAN and
SONTHINEN [14] proposed tabu search based heuristic
for scheduling parts in a job-shop type FMS. BILGE et al
[15] considered a scheduling problem for a set of
independent jobs with sequence dependent setup times
on a set of uniform parallel machines and employ a tabu
search approach to tackle this problem. SCRICH et al
[16] developed two heuristics based on tabu search for
scheduling jobs in a flexible job shop with the objective
of minimizing total tardiness. CAO et al [17] considered
a parallel machine selection and job scheduling to
minimize the machine cost and job tardiness. They
developed a tabu search method heuristic algorithm to
find the optimal or near optimal solutions. MEHRABAD
and FATTAHI [18] presented a tabu search algorithm
that solves the flexible job shop scheduling problem to
minimize the makespan time.
CANDIDO et al [19] considered alternative routes
by dividing the routes into sub-processes, where every
sub-process is a technologically similar sequence of
operations. They proposed a simple hill climbing
algorithm to find the local minimum makespan and then
a GA was used to further minimize the makespan. ZHAO
and WU [20] suggested a GA to solve the job-sequencing
problem for a production shop that is characterized by
flexible routing and flexible machines. ROSSI and DINI
[21] also presented a GA for generalized job-shop
problem solving. The generalization includes feeding
times, sequences of set-up dependent operations and jobs
with different routings among work centres including
`multi-identical’ machines. KIM et al [22] proposed a
symbiotic evolutionary algorithm for scheduling job
shop flexible manufacturing systems integrated with
process planning. Each individual in their proposed
algorithm consists of two chromosomes with different
lengths, where one is involved in the operation sequence
for the completion of a job and the other is responsible
for
machine
assignments.
TAVAKKOLIMOGHADDAM et al [23] introduced a new
mathematical programming model for a multi-criteria
parallel machine scheduling problem. The objective
function was to minimize the total earliness/tardiness
penalties and machine costs simultaneously. They
developed a meta-heuristic method based on genetic
algorithms (GAs) to solve such a hard problem.
BASKAK and EROL [24] also used GA for a flexible
JSP. HUSSAIN and JOSHI [25] proposed a two-pass GA
to solve the job shop problem with alternate routing. The
first pass picks the alternatives using a GA, and the
second pass provides the order and start time of jobs on
the selected alternatives by solving a non-linear program.
J. Cent. South Univ. (2012) 19: 1322−1333
1324
The objective is minimising the sum of squared weighted
due date deviation for every job. JAWAHAR et al [26]
proposed a search heuristic for scheduling flexible
manufacturing systems associated with alternate routing.
The proposed heuristic first selects randomly a route for
each operation and then a GA-based algorithm, evolves a
priority dispatching rule for each machine to resolve the
conflicts that arise in the schedule generation procedure.
BECK and FOX [27] proposed a constraint-directed
scheduling technique to deal with the case where the
scheduling problem includes alternative activities.
FERREIRA and WYSK [28] carried out an investigation
using simulation and design of experiments techniques
for alternative plans on a single machine. SAYGIN et al
[29] presented an algorithm, the Dissimilarity
Maximization Method (DMM), to solve a real-time
rescheduling problem that arises due to machine
breakdowns and other unexpected occurrences on the
shop floor. The goal of the research is to maximize the
throughput rate.
DEMIR [30] considered scheduling and process
planning functions concurrently and proved the benefit
of flexible process planning and integration. They
compared random search, genetic search and hybrid
search techniques with ordinary solutions. Results
proved that integrated solutions and search techniques
outperform ordinary and nonintegrated solutions.
ROSSI and DINI [31] proposed an ant colony
optimisation-based software system for solving FMS
scheduling in a job-shop environment with routing
flexibility, sequence-dependent setup and transportation
time
LOW et al [32] addressed a two-stage hybrid
flowshop scheduling problem with unrelated alternative
machines. The problem had m unrelated alternative
machines at the first machine center followed by a
second machine center with a common processing
machine in the system. The objective was to minimize
the makespan of the system. Firstly, they demonstrated
that the problem is NP-hard and then provides some
heuristic algorithms to solve the problem efficiently.
3 Problem and assumptions
For an alternative machine environment, the system
consists of m machines and n different jobs. All jobs are
processed under a predetermined technological order
given in the process plan. Ji operations are required to
finish job i. Each of these operations can be processed on
a number of alternative, identical or non-identical
machines. The detailed assumptions are as follows.
1) Jobs are independent and consist of strictly
ordered operation sequences; no priorities are assigned to
any job type.
2) Job pre-emption or cancellation is not allowed.
3) A given operation can be performed by one or
more different identical or non-identical machines.
4) Setup times are independent of operation
sequence and are included in processing times.
5) All jobs are simultaneously available at time
zero.
6) After a job is processed on a machine, it is
transported to the next machine immediately and the
transportation time is negligible.
7) Each operation has a definite work content and
operational time.
8) At most one operation can be processed on
one machine at one time.
4
Genetic algorithms
scheduling
and
production
Genetic algorithms (GAs) are directed random
search algorithms based on the mechanics of natural
selection and natural genetics. GAs are efficient search
procedures that can identify optimal or near optimal
solutions from solution populations. GAs operate as an
iterative procedure on a fixed size of population of
candidate solutions called chromosomes. In each
iteration, the best solutions (chromosomes) are allowed
to produce new solutions (children) by using the bits and
pieces of each parent (by crossover) or by occasionally
mutating features of a single parent. The worst members
of the population die off to make way for the fitter
individuals.
GAs were originally developed by HOLLAND [33],
at the University of Michigan. In the category of random
search techniques, GAs represent a class of search
algorithms, which have shown great promise in the field
of artificial intelligence.
Detailed study of GAs can be found in Ref. [34].
Applications are found within the general fields of
importance to manufacturing such as: 1) scheduling of
manufacturing shops, 2) design of machine controllers, 3)
factory layouts, and 4) optimisation of objective
functions within operations management.
One of the earliest applications of GAs to
scheduling was reported by DAVIS [35]. There is a vast
literatures available for GA application in production
scheduling. Detailed reviews of some of the recent GA
application in scheduling are given by CHAUDHRY and
DRAKE [36−37] and CHAUDHRY [38].
The authors have found that a key advantage of the
proposed GA is that it provides a ‘general purpose’
solution to the scheduling problem, with the peculiarities
of any particular example being accounted for in the
fitness function without disturbing the logic of the
standard optimization routine. This means that it is a
J. Cent. South Univ. (2012) 19: 1322−1333
relatively straight forward and simple method to adapt
the software implementation of the method to meet the
needs of particular application.
The work presented here was carried out using the
Microsoft® Excel™ spreadsheet and an add-in to provide
the GA. This add-in is called Evolver™. The details of
the software are given in Ref. [39]. It implements the
sequence optimization GA described later and acts upon
tables of the Microsoft® Excel™. The use of this
proprietary software demonstrates how simple it is to
implement the GA approach to schedule optimization
and also enables the immediate implementation of the
method presented here. This is a key aspect of this work.
The main advantage of the proposed GA approach
is that it is an independent general purpose domain
meaning that only the spreadsheet model needs to be
changed to suit a particular manufacturing environment
rather than the whole GA routine itself. Furthermore, the
objective function can be changed without changing the
model or the GA routine. The presentation of information
to user in the form of well defined spreadsheet tables
makes it easier for the user to carry out what-if analysis.
Also, the use of spreadsheets is welcomed by production
managers as they are used to this kind of tools. We have
to take into account the fact that the scheduling solutions
provided will be used by non-skilled workers.
The model of the scheduling environment presented
in this work is built in EXCEL™ using the spreadsheet’s
built-in functions. After the building of the model, the
GA is run to optimize the schedule based on a given
objective function.
Figure 1 illustrates the schematic integration of the
GA with the spreadsheet.
Fig. 1 Spreadsheet-GA integration
The fitness/objective function value is passed on to
the GA component as a single cell value for the
evaluation of the schedule. After evaluation, if the
schedule is found to have better fitness as compared to
the other organisms in the population, it is kept in the
population, thus replacing the worst performing member
of the population.
1325
5 GA implementation
The GA implemented in this work is as follows:
Firstly, an initial population or randomly generated
sequences of the tasks in the schedule are created. These
individual schedules form chromosomes which are
subjected to a form of Darwinian evolution. The fitness
of each individual schedule in the population is
calculated according to a user defined fitness function,
such as makespan and completion time variance. The
schedules are then ranked according to the value of their
fitness. Two parents are selected from the current
population using a rank based mechanism to control the
probability of selection. These parents mate to produce a
child solution by applying the crossover operator.
Following crossover, the child may be mutated.
At this step, if precedence constraints have been
defined in the model, and the child does not satisfy
precedence constraints, it is modified as necessary to
meet the precedence constraints. The child’s fitness is
then calculated and it is added into the population. New
child replaces the weakest schedule in the current pool or
population of schedules. Selection, crossover and
mutation operations are repeatedly performed until the
fittest member of the evolving population converges to
an optimal fitness value or the stopping criterion is
reached.
5.1
Chromosome representation for alternative
process plans
In this work, we use two different chromosome
representations. First, a modified permutation
representation is used. In this modified representation, all
the possible operations (including the alternative
operations) are included in the chromosome string. Thus,
the chromosome representation introduced contains all
the occurrences of alternative processes for a particular
operation.
The chromosome representation is explained by the
following example. Assume there are four jobs (A, B, C,
D) to be performed on two identical parallel machines. A
job can be performed on either of the two machines
(1, 2), but it is not performed on both. Let A1 denote the
processing of job A on machine 1, B2 the processing of
job B on machine 2, etc. The chromosome to represent
this schedule will contain eight jobs even though only
four will actually be processed. Figure 2 gives an
example of such a chromosome.
A1
B1
A2
C2
C1
D1
B2
D2
Fig. 2 First chromosome structure for alternative process plan
J. Cent. South Univ. (2012) 19: 1322−1333
1326
The chromosome in Fig. 2 says that jobs A, B and D
are processed on machine 1 and job C is processed on
machine 2. Each job actually appears twice but only the
first occurrence is taken to be an ‘actual’ occurrence that
must be included in the calculation of the fitness function
while subsequent occurrences are ignored. However, all
occurrences are included in the crossover and mutation
so that jobs may change machines by reversing the order
of the corresponding genes in the chromosome.
The second chromosome representation is shown in
Fig. 3.
Fig. 3 Second chromosome structure for alternative process
plan
This chromosome representation is explained as
follows: there are three jobs each having two operations
to be performed on three alternative machines. Each job
can be performed on any one of the three machines. In
Fig. 3, the first six genes i.e., from gene 1 to gene 6,
represent the job-operation. A-1 means job A operation 1,
A-2 means job A operation 2 and so on. The next six
genes i.e., genes 7−12 are the machines associated with
each job-operation. Genes 7−12 state that job A-1 is to
be performed on machine 3, job B-1 on machine 1, job
A-2 on machine 2, so and so forth.
For job-operation block, the order of the jobs is
manipulated keeping in view the precedence constraints
for each job-operation. They are linked to the machine
assignment through the spreadsheet model to calculate
the objective function value. For the order of jobs, i.e.,
first six genes order crossover is implemented while for
machine assignment to jobs, i.e., last six genes, uniform
crossover is implemented.
5.2 Selection
In Evolver™, parents are chosen using a rank-based
mechanism. This procedure begins by rank ordering the
population by fitness. Next, an assignment function gives
each individual a probability of inclusion. The
assignment function can be linear or nonlinear. A roulette
wheel is then built with the slots determined by the
assignment function. The next generation of an n-sized
population is built by giving the wheel ‘n’ spins. This
procedure guides selection towards the better performing
members of the population but does not force any
particular individual into the next generation.
5.3 Crossover operator
The crossover operator is an important component
of GA. The crossover operation generates offspring from
randomly selected pairs of individuals within the mating
pool, by exchanging segments of the chromosome strings
from the parents.
The order of jobs, i.e., first six genes, uses order
crossover. DAVIS [40] developed this operator. This
operator is based on using a bit string (zero-one)
template to determine which parent will contribute to
making the offspring. This fills some positions on
offspring by copying the elements from P1 wherever the
binary template contains “1” in the same position as they
appear in P1. The elements from P1 associated with “0”
in the template appear in the same order in the offspring
as they appear in P2. An example is given in Table 1.
Table 1 Order-based crossover
Parent 1
Binary
Position
(P1)
template
1
1
0
Parent 2
(P2)
4
Offspring
(O)
4
2
2
1
9
2
3
3
1
5
3
4
4
0
8
8
5
5
1
3
5
6
6
1
6
6
7
7
0
7
7
8
8
0
1
1
9
9
1
2
9̂
In Table 1, the elements associated with “1” in P1
are at position 2, 3, 5, 6 and 9 and are inherited by the
offspring in the same positions. The remaining elements
associated with “0” are 1, 4, 7 and 8. These elements
appear in the same order in the offspring as they appear
in P2.
For machine assignment, i.e., last six genes,
uniform crossover operator is implemented. In uniform
crossover operator, mixing ratio or crossover rate decides
which parent will contribute each of the gene values in
the offspring chromosome. This allows the parent
chromosomes to be mixed at the gene level rather than
the segment level. Consider the two parents in Fig. 4
which have been selected for crossover. Parent P1 has
been coloured black grey while parent P2 bright grey. A
random mask is generated corresponding to the crossover
rate. If the crossover rate is 0.5, approximately half of the
genes in the offspring will come from P1 and the other
half will come from P2. Below the second parent is the
random mask generated corresponding to the crossover
rate. The child is produced by taking bit from P1 if the
corresponding mask bit is 1 or the bit from P2 if the
corresponding bit is 0. The colour of the child
chromosome represents the mixing of genes if the
crossover rate is 0.5.
J. Cent. South Univ. (2012) 19: 1322−1333
1327
Table 2 Problem data [1]
P1
P2
1
0
1
0
0
1
0
0
1
0
0
1
1
1
0
Job No. Operation No.
1
1
Mask
Child
1
1
0
0
0
1
1
0
0
0
1
0
1
1
0
1
2
Fig. 4 Uniform crossover
5.4 Mutation operator
The purpose of the mutation is to ensure that
diversity is maintained in the population. It gives random
movement about the search space thus preventing the GA
becoming trapped in ‘blind corners’ or ‘local optima’
during the search. Evolver™ performs order-based
mutation. In this mutation, two tasks are selected at
random and their positions are swapped. The ‘mutation
rate’ determines the probability that mutation is applied
after a crossover. The number of swaps performed is
increased or decreased proportionately with the increase
and decrease in the mutation rate setting.
5.5 Reproduction
The worst performing organism is replaced with the
new organism that is created by selection, crossover and
mutation.
5.6 Precedence constraints
The precedence tasks for a particular job shop
problem are specified in a table within the spreadsheet. It
is a table of cells which describes which tasks must be
preceded by other tasks. The proposed GA then uses this
table to rearrange the order of variables in a scenario
until the precedence constraints are met. Any
chromosome that does not meet the precedence
constraints is discarded and only solutions that meet the
specified precedence constraints are kept in the
population.
6 Job shop numerical example
We use the same example as in Ref. [1]. There are
four jobs, and each has three different operations to be
processed according to a given sequence. There are six
different machines, and the alternative routing and
processing times are given in Table 2.
In this example, operation 1 of job 1 i.e., O11 can be
performed on machine 1, 2 or 3 (for 2, 3 or 4 units of
time, respectively), operation 2 of job 1 i.e., O12 on
machine 1, 2 or 3, and so on. Note, twenty three of these
operations will not in fact be performed since they only
represent the alternatives.
3
4
Alternative machines
1
2
3
4
5
6
O11
2
3
4
—
—
—
O12
—
3
—
2
4
—
O13
1
4
5
—
—
—
O21
3
—
5
—
2
—
O22
4
3
—
—
6
—
O23
—
—
4
—
7
11
O31
5
6
—
—
—
—
O32
—
4
—
3
5
—
O33
—
—
13
—
9
12
O41
9
—
7
9
—
—
O42
—
6
—
4
—
5
O43
1
—
3
—
—
3
In Table 3, Job-Oprn ID of 1-1 would mean job 1
operation 1 and so on. The ‘Dummy’ mentioned in front
of the operations means that although these operations
are shown in the schedule but their contribution in the
calculation of the objective function is zero.
We compare the results of the heuristic procedure of
NASR and ELSAYED [1] with the GA application.
NASR and ELSAYED’s heuristic found mean flow time
of 12.25 with flow time of each job as 7, 11, 18 and 13,
respectively. However, our GA application finds mean
flow time of 11.75 with flow time of each job as 6, 11,
17 and 13, respectively. Repeated runs of the GA
produced same solution. For this problem instance, the
computational time on a 2.2 GHz Core Duo computer
with 512 MB RAM was less than 10 s.
The resulting optimum schedule after running the
GA is given in Table 4. As explained before, this is a
sequence of thirty five operations.
It is instructive to observe how the GA has reversed
the order of some of the alternative machine allocations.
For example, tasks 4, 5 and 6 represent alternative
operations for operation 2 of job 1. In the optimised
schedule given in Table 3, the GA has taken the task list
5, so that tasks 4 and 6 have become a “dummy” gene in
the chromosome. This example highlights the purpose of
the duplicated “dummy” genes. Figure 5 shows the
optimized job and machine schedule generated after the
GA run.
For the second chromosome representation, the
actual chromosome for the above mentioned problem can
be seen in Fig. 6. The chromosome is read as follows:
job 1-1 to be processed on machine 2, job 4-1 on
machine 3, job 2-1 on machine 5, job 3-1 on machine 1,
job 1-2 on machine 4, job 3-2 on machine 4, job 1-3 on
machine 1, job 3-3 on machine 5, job 2-2 on machine 2,
J. Cent. South Univ. (2012) 19: 1322−1333
1328
Table 3 Chromosome representation for job shop
Task Job-Oprn
Proc Contribution to
Job ID Machine
list
ID
time fitness function
Table 4 Optimized schedule after GA run
Task
Job
Proc
Job-Oprn ID
Machine
list
ID
time
Contribution to
fitness function
1
1-1
1
1
2
2
2
1-1
1
2
3
3
2
1-1
—
—
—
Dummy
3
1-1
—
—
—
Dummy
3
1-1
—
—
—
Dummy
1
1-1
—
—
—
Dummy
4
1-2
1
2
3
3
28
4-1
4
3
7
7
5
1-2
—
—
—
Dummy
12
2-1
2
5
2
2
6
1-2
—
—
—
Dummy
19
3-1
3
1
5
5
7
1-3
1
1
1
1
5
1-2
1
4
2
2
8
1-3
—
—
—
Dummy
20
3-1
—
—
—
Dummy
9
1-3
—
—
—
Dummy
22
3-2
3
4
3
3
10
2-1
2
1
3
3
6
1-2
—
—
—
Dummy
11
2-1
—
—
—
Dummy
4
1-2
—
—
—
Dummy
12
2-1
—
—
—
Dummy
7
1-3
1
1
1
1
13
2-2
2
1
4
4
9
1-3
—
—
—
Dummy
14
2-2
—
—
—
Dummy
11
2-1
—
—
—
Dummy
15
2-2
—
—
—
Dummy
23
3-2
—
—
—
Dummy
16
2-3
2
3
4
4
29
4-1
—
—
—
Dummy
17
2-3
—
—
—
Dummy
21
3-2
—
—
—
Dummy
18
2-3
—
—
—
Dummy
25
3-3
3
5
9
9
19
3-1
3
1
5
5
26
3-3
—
—
—
Dummy
20
3-1
—
—
—
Dummy
24
3-3
—
—
—
Dummy
21
3-2
3
2
4
4
10
2-1
—
—
—
Dummy
22
3-2
—
—
—
Dummy
14
2-2
2
2
3
3
23
3-2
—
—
—
Dummy
13
2-2
—
—
—
Dummy
24
3-3
3
3
13
13
27
4-1
—
—
—
Dummy
25
3-3
—
—
—
Dummy
31
4-2
4
4
4
4
26
3-3
—
—
—
Dummy
32
4-2
—
—
—
Dummy
27
4-1
4
1
9
9
30
4-2
—
—
—
Dummy
28
4-1
—
—
—
Dummy
15
2-2
—
—
—
Dummy
29
4-1
—
—
—
Dummy
8
1-3
—
—
—
Dummy
30
4-2
4
2
6
6
16
2-3
2
3
4
4
31
4-2
—
—
—
Dummy
17
2-3
—
—
—
Dummy
32
4-2
—
—
—
Dummy
18
2-3
—
—
—
Dummy
33
4-3
4
1
1
1
33
4-3
4
1
1
1
34
4-3
—
—
—
Dummy
34
4-3
—
—
—
Dummy
35
4-3
—
—
—
Dummy
35
4-3
—
—
—
Dummy
job 4-2 on machine 4, job 2-3 on machine 3 and job 4-3
on machine 1, respectively.
For both the chromosome representations, the
model was able to find the optimal solution in less than
10 s.
7
Performance
approach
analysis
of
proposed
To illustrate the effectiveness of the proposed
approach, several problems are tested. Their results are
J. Cent. South Univ. (2012) 19: 1322−1333
1329
Fig. 5 Optimized job and machine schedule
Machine associated with each job-operation
1-1 4-1 2-1 3-1 1-2 3-2 1-3 3-3 2-2 4-2 2-3 4-3
2
3
5
1
4
4
1
5
2
4
3
1
Job-operation sequence
Fig. 6 Actual chromosome for second representation
compared to results obtained by using other approaches.
Example problem 2 is a five-part type, four-machine
type problem, taken from Ref. [8]. Each part type has
one part, each part has several alternative routings, and
each machine type has one machine. Two different
objectives, i.e. minimization of absolute deviation from
due date and minimization of sum of the finishing times
of all the jobs, are used for the problem. In both cases,
the proposed GA produced the optimal solution within
5 s on a 2.2 GHz Core Duo computer with 512 MB RAM.
The critical observation to be made here is that it is
simple to modify the basic GA to implement either of the
objective functions considered above. In the first case,
the fitness function is defined as the deviation from the
due dates summed over all the jobs. In the second case,
the objective function is the completion time summed
over all the jobs. The GA simply performs these
calculations after each crossover and mutation to yield
the fitness of the new schedule. The formulation of the
problem is far more complex than application specific
when using the integer programming approach.
Third set of three problems is taken from Ref. [12].
The objective function to be minimized is the weighted
quadratic tardiness. The optimization problem is
N Job
Z *  min{  iTi 2 }
(1)
i 1
where ωi is the weight of job Ai; Ti is the tardiness of
job Ai.
The due dates of the jobs are set to the beginning of
the planning period and the weight of the jobs to 1. The
test data can be found in Ref. [12].
The first problem is a small example with three jobs
and three operations each on three machines, which may
process all of the operations, most of them at a different
speed, i.e. all assignments are possible (3/3/3-example).
The value for the sum of quadratic tardiness found by
GA is 36 424, the Lagrange value found is 36 416.46,
with an error of 0.02%. The sum of tardiness is 328 and
optimal with respect to this criterion. GA in this work
obtained the same solution within 3 s.
The second problem is an example with four jobs
and four operations on three machines. They may
process all of the operations, i.e. all assignments are
possible (4/4/3-example). The sum of tardiness is 369
and optimal with respect to this criterion. The same
solution was found within 20 s by the GA.
The third problem is an example with six jobs and
ten operations each on six machines that may process
almost all of the operations, most of them at a different
speed, i.e. all assignments are possible (6/10/6-example).
The best value of sum of tardiness found by GA is 1 557
which is better than the best value of 1 754 found in Ref.
[41] and Ref. [12] with respect to this criterion.
The results for all the three problems are listed in
Table 5. Table 6 gives the results with respect to sum of
tardiness of the different methods including some
priority rules for the examples [12, 41].
1330
J. Cent. South Univ. (2012) 19: 1322−1333
Table 5 Test results for comparison with Ref. [12]
Age
Age
Example
GA
Heuristic
Lagrange
Sum of
improvement/
improvement/
No.
value
value
value
tardiness
%
%
1
36 424
36 424
0.00
36 416.46
0.00
328
Average
tardiness
2
36 679
36 679
0.00
35 733.16
−2.65
3
467 093
514 306
9.18
489 102.3
4.50
369
Maximal Root mean Time for GA
tardiness
square
solution/s
109.33
120
110.19
92.25
127
95.76
1 557/1 754 259.5/292.3 335/316 279/292.7
Table 6 Sum of tardiness results for different methods [12, 41] and proposed GA
Earliest due Slack Weighted loss Heuristic
Heuristic
Lagrange
Example
date
rule
of slack
B & B1
B & B2/3
method
1
342
388
347
332
328
328
Exact
B&B
328
Proposed
GA solution
328
5
20
1 200
Optimum
328
2
410
491
410
417
369
369
369
369
369
3
2 032
2 402
2 209
1 913
1 754
1 754
—
1 557
—
From Table 5, it can be seen that for example 1 and
2, proposed GA and heuristic approach produced the
same solution for the sum of quadratic tardiness.
However, Lagrange approach produced 2.65% better
solution as compared to the GA approach. The rest of the
values are same for all the three approaches. The
computation time for GA (with population size of 65,
crossover probability of 0.65 and mutation rate of 0.01)
was 5 and 20 s for example 1 and 2, respectively. For
example 3, GA consistently produced better solution as
compared to Heuristic and Lagrange approach. GA
produced 9.18% and 4.50% better solution as compared
to Heuristic and Lagrange approach, respectively. For all
other parameters, also GA produced better solution,
while the computation time for the solution was 2 min on
a 2.2 GHz Core Duo computer with 512 MB RAM. In
Table 6, the solution values have not been reported [12]
for Exact B & B. Similarly, the optimal value for the
problem is also not known.
The fourth problem set is taken from Ref. [24].
They obtained information from an electrical motor
factory and used the GA to find the optimal makespan. In
workshop, there are twelve jobs and nine machines
which are grouped by six work centers. The first five
jobs are heavier than (have long process times) other jobs.
Forward Scheduling (FS) was previously being used in
the mentioned workshop, so that heavy jobs are first
processed on Work Center A, B, …, F sequentially.
In work center A, machine 1 has been purchased
recently and its performance is higher than the other
machines (machine 2 and 3). As for work center B,
machine 4 handles the same operation more quickly than
machine 5. Work center based operation sequences and
process times of twelve jobs can be found in Ref. [24]. A
makespan time of 336 min is obtained by the GA
approach in this work. However, according to FS method
that is currently used in factory and the GA by BASKAK
and EROL, all machines process their work in 474 and
374 min, respectively, which is an improvement of 29%
over FS approach and 10% over BASKAK and
EROL’s GA. A comparative analysis of the three
approaches is given in Table 7. GA found this solution
within 1 min on a 2.2 GHz Core Duo computer with 512
MB RAM.
The fifth problem set is taken from Ref. [42]. It
consists of a job shop scheduling problem with five parts
while each part has four operations. Some of the
operations have more than one machine to process that
operation. The problem is to find a schedule, specifying
the machines to perform each operation on parts with the
objective of minimizing makespan, or the time required
to complete all operations. Using the GA-based method,
the best value obtained is 33 within 10 s as compared
with the value of 38 obtained using the heuristic reported
by SUNDARAM and FU [42]. Same value of 33 was
also obtained by MORAD and ZALZALA [43] using
genetic algorithms and by PALMER [44] using
simulated annealing.
To further illustrate the effectiveness and
performance of our proposed GA approach, we selected
five representable instances (represented by problem
n×m, where n is the number of jobs while m is the
number of machines) from the literature. These instances
have been used by many researchers. Five problem
instances (problem 4×5, problem 8×8, problem 10×7,
problem 10×10 and problem 15×10) are all taken from
Ref. [45]. We applied the proposed GA approach to the
five instances.
The proposed GA approach is compared with earlier
reported studies, i.e., simulation model by XING et al
[46], ‘PSO+SA’ by XIA and WU [47], ‘AL+CGA’,
‘Approach by Localization’, ‘Controlled GA’ and
‘Temporal Decomposition’ all by KACEM et al [45],
‘Heuristic SPT’ and moGA by ZHANG and GEN [48].
The comparative results of all of the above mentioned
approaches and the proposed GA approach are tabulated
in Table 8. The objective function, F, used in all the five
instances is the weighted sum of three objectives as
J. Cent. South Univ. (2012) 19: 1322−1333
1331
Table 7 Comparative analysis of three approaches
Work center
A
B
C
Machine No.
Jobs’ process order by
proposed GA
Jobs’ process order by
BASKAK and EROL [24]
Jobs’ process orders by
forward scheduling
1
10-1-6-9-2
1-4-10-11-2
3-9-2-6-11
2
3-4-8
3-12-9-8
8-10-12-1
3
5-12-11
5-6
4-5
4
11-2-3-4-12-9
7-2-3-12-9-8
2-7-6-12-1-9-3-8
5
6-1-7-8
11-1-4-6
11-4
6
10-9-3-11-4-5-8-2-7-12
9-7-3-4-10-11-8-2-5-12
9-4-7-10-2-3-8-11-5-12
D
7
6-10-3-11-5-1-8-2-12-9
6-3-11-1-10-5-8-12-9-2
6-3-8-11-10-1-2-5-9-12
E
8
5-10-6-1-11-4-12-3-7-9
5-1-11-10-7-4-12-9-6-3
5-1-7-12-11-4-6-10-9-3
F
9
5-10-7-6-3-1-4-8-11
5-3-10-11-1-4-7-8-6
5-7-1-3-4-6-8-10-11
336
374
474
Solution time/min
Table 8 Comparison of proposed GA approach with various previous solution methods
Temporal
Problem
XING et PSO+SA AL+CGA Approach by Controlled
Heuristic
Objective
decomposition
instance
al [46]
[47]
[45]
localization [45] GA [45]
SPT [48]
[45]
4×5
8×8
10×7
10×10
15×10
moGA
[48]
Proposed
GA
Approach
F1
12
—
16
—
—
—
—
—
11
F2
32
—
35
—
—
—
—
—
25
F3
8
—
9
—
—
—
—
—
11
F
14.8
—
17.7
—
—
—
—
—
13.8
F1
14
15
16
16
16
19
19
15
14
F2
77
75
75
75
77
91
91
73
77
F3
12
12
14
13
11
19
16
14
12
F
26
26.1
27.2
26.9
26.7
33.4
32.5
26.3
26
F1
11
—
15
—
—
—
—
—
11
F2
62
—
61
—
—
—
—
—
61
F3
10
—
11
—
—
—
—
—
11
F
20.9
—
23
—
—
—
—
—
21
F1
7
7
7
8
7
16
16
7
7
F2
42
44
45
46
53
59
59
43
42
F3
6
6
5
6
7
16
16
5
6
F
13.7
14.1
14
15
16.2
24.6
24.6
13.6
13.7
F1
11
12
24
—
—
—
—
—
14
F2
91
91
91
—
—
—
—
—
95
F3
11
11
11
—
—
—
—
—
13
F
27
27.5
33.5
—
—
—
—
—
29.9
given by
F=0.5×F1+0.2×F2+0.3F3
(2)
where F1 is the makespan or maximal completion time of
machines; F2 is the total workload of machines, which
represents the total working time on all machines; F3 is
the critical machine workload, which is the machine with
the biggest workload.
Instance 1 (small size, 4 jobs / 12 operations / 5
machines) is an instance of total flexibility i.e., each of
the operation of the four jobs can be processed on any of
the five machines. From Table 8, we can see that the
proposed GA approach produced better solutions as
compared to the previously reported approaches i.e.,
simulation model by XING et al [46] and ‘AL+CGA’
[45].
Instance 2 (medium size, 8 jobs / 27 operations / 8
machines) is an instance of partial flexibility, i.e., some
J. Cent. South Univ. (2012) 19: 1322−1333
1332
operations are only available on a part of the available
machines set. In this case, the proposed GA approach
produced same solution as obtained by simulation model
by XING et al [46], while it produced better solution
than ‘PSO+SA’ [47], ‘AL+CGA’ [45], ‘Approach by
localization’ [45], ‘Controlled GA’ [45] and ‘Temporal
decomposition’ [45], ‘Heuristic SPT’ [48] and moGA
[48].
Instance 3 (medium size, 10 jobs / 29 operations / 7
machines) is an instance of total flexibility. Proposed GA
approach produced better solution than AL+CGA’ [45],
while XING et al’s [46] solution was only 0.48% better.
Instance 4 (medium size, 10 jobs / 30 operations /
10 machines) is also a case of total flexibility. Proposed
GA approach produced same solution as obtained by
XING et al [46]. However, moGA [48] marginally
produced a better solution than both XING et al [46] and
the proposed GA approach, while the proposed approach
produced better solution as compared to the rest of the
approaches.
Instance 5 (large size, 15 jobs / 56 operations / 10
machines), is also a case of total flexibility. The proposed
GA solution was better as compared to AL+CGA’ [45]
only, while as compared to XING et al [46] and
‘PSO+SA’ [47], the obtained solution was worse.
8 Conclusions
1) It has been shown that GA can be used to
optimise schedules with alternative routes/machines. The
application of the approach has been demonstrated by a
job shop example. Performance analysis of the proposed
approach is evaluated by testing it on the job shop
problems taken from the literature. The results obtained
are competitive to those achieved by previously reported
methods, but without the need for complex customisation
to meet the needs of a particular situation.
2) A modified permutation chromosome
representation for schedules with alternative machines
for given operations has been presented. Although all the
alternatives are included in the chromosome, the second
and subsequent appearances of an operation in the
chromosome do not contribute to the overall calculation
of the fitness value. However, all occurrences are
included in the crossover and mutation operations,
allowing
for
alternatives.
This
chromosome
representation does not represent a customisation of the
GA method to accommodate a particular problem.
Instead, it is a generalisation of the existing
representation, which in turn becomes a reduced form of
this generalised form. However, the second chromosome
representation also produces the same results as the
modified permutation representation.
3) Spreadsheets have a natural interface that exists
for model building, the ease of use in terms of inputs,
solutions and report generation, and ability to perform
“what-if” analysis. Therefore, the spreadsheet based
approach makes it easier for a decision maker to perform
‘what-if’ analysis.
4) It must be noted that, in practice, not every
machine can process each operation. In reality, there
exist at most two to three alternative machines per
operation that may replace each other, as the cost for this
redundancy would be enormous. This reduces the
assignments to be examined and the fine tuning of the
multipliers a lot. Accordingly, the expected
computational effort will be reduced. These most general
examples were investigated to show the ability of the
method in principle even for this extreme case and to
demonstrate the quality of the results.
References
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
NASR N, ELSAYED E A. Job shop scheduling with alternative
machines [J]. International Journal of Production Research, 1990,
28(9): 1595−1609.
NSAR N. Scheduling of production systems with flexible routings
[C]// Proceedings of the Second Industrial Engineering Research
Conference. Los Angeles, CA, USA, 1992: 487−492.
WILHELM W, SHIN H. Effectiveness of alternative operations in a
flexible manufacturing system [J]. International Journal of
Production Research, 1985, 23(1): 65−79.
HANKINS S L, WYSK R A, FOX K R. Using a CATS database for
alternative machine loading [J]. Journal of Manufacturing Systems,
1984, 3: 115−120.
AHN J, HE W, KUSIAK A. Scheduling with alternative operations
[J]. IEEE Transactions on Robotics & Automation, 1993, 9(3):
297−303.
KIM K H, EGBELU P J. Scheduling in a production environment
with multiple process plans per job [J]. International Journal of
Production Research, 1999, 37(12): 2725−2753.
RAJAMANI D, SINGH N, ANEJA Y P. Integrated design of cellular
manufacturing systems in the presence of alternative process plans
[J]. International Journal of Production Research, 1990, 28(8):
1541−1554.
JIANG J, HSIAO W. Mathematical programming for the scheduling
problem with alternative process plans in FMS [J]. Computer &
Industrial Engineering, 1994, 27(1−4): 15−18.
KIM K H, EGBELU P J. A mathematical model for job shop
scheduling with multiple process plan consideration per job [J].
Production Planning & Control, 1998, 9: 250−259.
CHOI I C, CHOI D S. A local search algorithm for job shop
scheduling problems with alternative operations and sequencedependent setups [J]. Computers & Industrial Engineering, 2002,
42(1): 43−58.
CHEN J S, PAN J C H. Minimising mean tardiness with alternative
operations in two-machine flow-shop scheduling [J]. International
Journal of Systems Science, 2005, 36(12): 757−766.
THOMALLA C S. Job shop scheduling with alternative process
plans [J]. International Journal of Production Economics, 2001, 74(1):
125−134.
DAUZÈRE-PÉRÈS S, PAULLI J. An integrated approach for
modeling and solving the general multiprocessor job-shop scheduling
[J]. Annals of Operations Research, 1997, 70(3): 281−306.
J. Cent. South Univ. (2012) 19: 1322−1333
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
[25]
[26]
[27]
[28]
[29]
[30]
[31]
LOGENDRAN R, SONTHINEN A. A Tabu search-based approach
for scheduling job-shop type flexible manufacturing systems [J].
Journal of Operational Research Society, 1997, 48(3): 264−277.
BILGE Ü, KIRAÇ F, KURTULAN M, PEKGÜN P. A tabu search
algorithm for parallel machine total tardiness problem [J]. Computers
& Operations Research, 2004, 31(3): 397−414.
SCRICH C R, ARMENTANO V A, LAGUNA M. Tardiness
minimization in a flexible job shop: A tabu search approach [J].
Journal of Intelligent Manufacturing, 2004, 15(1): 103−115.
CAO D, CHEN M, WAN G. Parallel machine selection and job
scheduling to minimize machine cost and job tardiness [J].
Computers & Operations Research, 2005, 32(8): 1995−2012.
MEHRABAD M S, FATTAHI P. Flexible job shop scheduling with
tabu search algorithms [J]. International Journal of Advanced
Manufacturing Technology, 2007, 32(5/6): 563−570.
CANDIDO M A B, KHATOR S K, BARCIA R M. A genetic
algorithm based procedure for more realistic job shop scheduling
problems [J]. International Journal of Production Research, 1998,
36(12): 3437−3457.
ZHAO C, WU Z. A genetic algorithm approach to the scheduling of
FMSs with multiple routes [J]. International Journal of Flexible
Manufacturing Systems, 2001, 13(1): 71−88.
ROSSI A, DINI G. An evolutionary approach to complex job-shop
and flexible manufacturing system scheduling [J]. Journal of
Engineering Manufacture, 2001, 215(2): 233−245.
KIM Y K, PARK K, KO J. A symbiotic evolutionary algorithm for
the integration of process planning and job shop scheduling [J].
Computers & Operations Research, 2003, 30(8): 1151−1171.
TAVAKKOLI-MOGHADDAM R, KHODADADEGHAN Y,
HAGHNEVIS M. Efficient algorithm for a multi-criteria parallel
machine scheduling problem with sequence-dependent setup times
[C]// Proceedings of 5th International Symposium on Intelligent
Manufacturing Systems. Sakarya, Turkey: Sakarya University, 2006:
159−167.
BASKAK M, EROL V A. Genetic algorithm approach for solving
flexible job-shop scheduling problem [C]// Proceedings of 35th
International Conference on Computers & Industrial Engineering.
Istanbul, Turkey, 2005: 245−250.
HUSSAIN M F, JOSHI S B. A genetic algorithm for job shop
scheduling problems with alternate routing [C]// IEEE International
Conference on Systems, Man and Cybernetics. San Diego, CA, USA,
1998: 2225−2230.
JAWAHAR N, ARAVINDAN P, PONNAMBALAM S G. A genetic
algorithm for scheduling flexible manufacturing systems [J].
International Journal of Advanced Manufacturing Technology, 1998,
14(8): 588−607.
BECK J C, FOX M S. Constraint-directed techniques for scheduling
alternative activities [J]. Artificial Intelligence, 2000, 121(1/2):
211−250.
FERREIRA J C E, WYSK R A. On the efficiency of alternatives in
process plans [J]. Journal of Brazilian Society of Mechanical
Sciences, 2001, 23(3): 303−319.
SAYGIN C, CHEN F F, SINGH J. Real-time manipulation of
alternative routings in flexible manufacturing systems: A simulation
study [J]. International Journal of Advanced Manufacturing
Technology, 2001, 18(10): 755−763.
DEMIR H I. Scheduling with alternative routes [C]// Proceedings of
5th International Symposium on Intelligent Manufacturing Systems.
Sakarya, Turkey: Sakarya University, 2006: 1323−1338.
ROSSI A, DINI G. Flexible job-shop scheduling with routing
1333
[32]
[33]
[34]
[35]
[36]
[37]
[38]
[39]
[40]
[41]
[42]
[43]
[44]
[45]
[46]
[47]
[48]
flexibility and separable setup times using ant colony optimisation
method [J]. Robotics & Computer Integrated Manufacturing, 2007,
23(5): 503−516.
LOW C, HSU C J, SU C T. A two-stage hybrid flowshop scheduling
problem with a function constraint and unrelated alternative
machines [J]. Computers & Operations Research, 2008, 35(3):
845−853.
HOLLAND J. Adaptation in natural and artificial systems [M]. Ann
Arbor: University of Michigan Press, 1975.
GOLDBERG D E. Genetic algorithms in search, optimization and
machine learning [M]. New York: Addison-Wesley Publishing
Company, 1989.
DAVIS L. Job shop scheduling with genetic algorithms [C]//
GREFENSTETTE J J. Proceedings of the 1st International
Conference on Genetic Algorithms. Hillsdale, NJ: Lawrence Erlbaum,
1985: 136−140.
CHAUDHRY I A, DRAKE P R. Minimizing flow time variance in a
single machine system using genetic algorithms [J]. International
Journal of Advanced Manufacturing Technology, 2008, 39(3/4):
355−366.
CHAUDHRY I A, Drake P R. Minimizing total tardiness for the
machine scheduling and worker assignment problems in identical
parallel machines using genetic algorithms [J]. International Journal
of Advanced Manufacturing Technology, 2009, 42(5/6): 581−594.
CHAUDHRY I A. Minimizing flow time for the worker assignment
problem in identical parallel machine models using GA [J].
International Journal of Advanced Manufacturing Technology, 2009,
48(5−8): 747−760.
Palisade Corp. Genetic algorithm solver for Microsoft Excel: Guide
to evolver [M]. New York: Palisade corporation, 1998.
DAVIS L. Handbook of genetic algorithms [M]. New York: Van
Nostrand Reinhold, 1991: 332−349.
MUELLER K. Development, implementation and test of a heuristic
branch-and-bound procedure for machine assignment in flexible
manufacturing system [D]. Diplomarbeit, Universitat Karlsruhe,
Fakultat fur Informatik, 1992. (in German).
SUNDARAM R M, FU S S. Process planning and scheduling—A
method of integration for productivity improvement [J]. Computers
& Industrial Engineering, 1998, 15(1−4): 296−301.
MORAD N, ZALZALA A M S. Genetic algorithms in integrated
process planning and scheduling [J]. Journal of Intelligent
Manufacturing, 1999, 10(2): 169−179.
PALMER G. J. A simulated annealing approach to integrated
production scheduling [J]. Journal of Intelligent Manufacturing, 1996,
7(3): 163−176.
KACEM I, HAMMADI S, BORNE P. Approach by localization and
multi-objective evolutionary optimization for flexible job-shop
scheduling problems [J]. IEEE Transactions on Systems, Man &
Cybernetics, Part C, 2002, 32(1): 1−13.
XING L N, CHEN Y W, YANG K W. Multi-objective flexible job
shop schedule: Design and evaluation by simulation modelling [J].
Applied Soft Computing, 2009, 9(1): 362−376.
XIA W, WU Z. An effective hybrid optimization approach for
multi-objective flexible job-shop scheduling problems [J].
Computers & Industrial Engineering, 2005, 48(3): 409−425.
ZHANG H, GEN M. Multistage-based genetic algorithm for flexible
job-shop scheduling problem [J]. Journal of Complexity International,
2005, 11: 223−232.
(Edited by YANG Bing)