Professional Documents
Culture Documents
Abstract: This paper presents a genetic algorithm for a job shop scheduling
problem with parallel machines. The objective is to minimise the makespan.
After solving an example, the performance of the proposed algorithm was
examined on a set of test problems. The computational test was performed with
moderate benchmark instances given in the literature. Now, many industrial
work centres are shifting their focus towards implementation of job shop
scheduling model. Large throughput and just-in-time restrictions have
augmented the requirement of additional parallel machines at various
production stages. This generates the scope for research on optimising job shop
problem with parallel machines. However, research on this topic is very limited
as compared to other job shop problems. A genetic algorithm has been
proposed in this research work which effectively finds the near optimal
makespan schedules for the job shop problem with parallel machines. The
algorithm was implemented on the modified benchmarks from the literature
and the results were compared with heuristics methods available in literature
for solving this problem. It is shown that the proposed GA performs reasonably
well when compared to the other techniques under consideration.
1 Introduction
The achievement of workshop objectives greatly depends upon the management of its
resources. Subsequently, scheduling of tasks on available resources forms the major
portion of workshop management. The increased tendency of managers towards
implementation of job shop models in their production workshops has augmented the
need of effective machine layouts and efficient scheduling of tasks at hand. This problem
aggravates in large-scale industries where great number of tasks need to be scheduled on
several resources, sometimes working in parallel, to achieve production targets. This
environment may have a large number of benefits but implementation of its various
phases especially resource layout and scheduling of tasks, is a very complex undertaking.
Researchers and managers have carried out extensive study on various methods for
carrying out the optimal scheduling of job shops and its variants. Out of these, genetic
algorithm (GA), also known as evolutionary algorithm, has been the focus of research
over the last two decades and it provides optimal or near-optimal solutions for job shop
scheduling problems (JSSPs) if implemented in a correct manner. The nature of this
algorithm supports integration to other methods, which in turn yields better solutions to
complicated job shop problems including parallel machine issues. Therefore to sum up,
successful implementation of GA on complicated JSSPs is a dire necessity of large-scale
production work-centres for realisation of their highly variable demands. Section 2 of this
paper will cover the literature review whereas Section 3 is problem description, Section 4
is selection of GA parameters and formulation of algorithm will be followed by Section 5
is calculation and results and Section 6 is analysis discussion. Last section of the paper
will cover the conclusions.
2 Literature review
The current trend in manufacturing industries and services is creating a tendency for
work centres to shift towards high variety production and high automation, which is
subsequently increasing the application of job shop environment with parallel resources.
The scheduling problem linked with this environment is more commonly known as
parallel machine job shop scheduling problem (PMJSSP).
A genetic algorithm-based schedule optimisation of a job shop 231
Immensely detailed research has been carried out over the past few decades on
minimisation of makespan of job shop scheduling problem (JSSP). It is important to
mention that even with the large research in this field, there yet has not been any
technique that provides the optimum values for each type of test case. Correspondingly,
in the last decade, focus of researchers has now shifted to an extension of JSSP namely
flexible job shop scheduling problem (FJSSP). This shift is because of the great deal of
challenge that this problem poses due its attribute for catering two problems
simultaneously; sequencing of tasks and assignment of variable machines for a particular
operation. That is why; the literature on PMJSSP is scarce when compared to JSSP and
FJSSP.
This limited available literature is further trimmed down due to the different objective
functions which are optimised in these researches. Nevertheless, no researcher has
applied a pure GA for optimising a makespan to this problem. This coupled with the
importance of this problem in industrial/services area has been the drive for this research
work.
Gholami and Sotskov (2014b) presented an adaptive algorithm with a learning stage
for solving parallel resources job-shop. The learning stage uses the knowledge gained
from some benchmark priority dispatching rules which subsequently allows a scheduler
to improve the solution quality. Once trained on solving sample relatively small
problems, the adaptive algorithm is able to solve similar job shop problems with larger
size better than learning stage benchmark heuristics. Gholami and Sotskov (2014a) also
developed a fast heuristic algorithm using mixed model graph for a multistage processing
system, which includes both identical (parallel) resources that can process the same set of
operations and different resources that can process only different operation sets (IJ||Cmax).
Chen et al. (2006) applied the shifting bottle neck procedure on parallel machine job
shop. Whereas Liu and Kozan (2012) used a hybrid shifting bottleneck procedure
(HSBP) algorithm for same problem. In their research work, based on the analysis of
structural properties in an extended disjunctive graph model, a HSBP algorithm was
combined with a tabu search metaheuristic algorithm to solve the PMJSS problem. The
HSBP uses a topological-sequence algorithm to breakdown the given problem into a set
of single-machine scheduling and/or parallel-machine scheduling sub-problems.
Moreover, they utilised the extended Jackson rule to solve the PMS sub-problem. The
tabu search algorithm was embedded under the framework of SBP to optimise the JSS
and PMJSS cases. These problems were tested on modified benchmark test instances
from literature and proved their performance abilities. Zhang and Liu (2012) presented a
hybrid ant colony optimisation algorithm for this problem. Apart from these researches,
two reinforcement learning approaches for parallel machines JSSP have been proposed
by Martinez et al. (2010). Gomes et al. (2005) have discussed the parallel resources job
shop with re-circulation and machine buffers.
As per the information available through exploration of available researches, the
amount of research work available on implementation of GA on JSSP with parallel
resources is not scarce but is also not in abundant quantity. Chen et al. (2012) have
discussed use of GA and grouping GA for the same problem with re-entrant process,
optimising multi-objective functions (total tardiness, total machine idle time and
makespan). The proposed algorithm worked upon two major modules: machine selection
module (MSM) and operation scheduling module (OSM). Simulation results
demonstrated that MSM and OSM respectively using GGA and GA outperformed current
232 A. Wasim et al.
methods used in practice. Chang et al. (2014) implemented GA for optimising total
completion time of unrelated parallel machines FJSSP. Mönch et al. (2007) introduced
implementation of GA in sub problem solutions for a shifting bottleneck procedure for
total weighted tardiness. Rossi and Boschi (2009) presented an advanced algorithm for
solving the flexible manufacturing systems (FMS) scheduling in a job shop environment
with routing flexibility where the assignment of operations to identical parallel machines
has to be managed, in addition to the traditional sequencing problem. The researchers
propose a hybrid GA-ACO whose results on modified benchmark problems were
compared with independent GA and ACO. A modular approach was adopted by the
researchers in order to obtain a simplistic scalable parallel evolutionary-ant colony
framework.
3 Problem description
Objective function of the under study problem was generated through coding and is
embedded in the code of the algorithm while maintaining the validity of constraints and
conditions. The basic description and details of parameters of the problem are as follows:
n number of jobs
m number of machines
ji job ‘i’ where i = 1, 2, ……, n
mk machine ‘k’ where k = 1, 2, ….., m
wk number of parallel machines available at machine ‘k’ where ‘w’ = 1, 2, ….., w
Pik processing time of job ‘i’ on machine ‘k’
O(i,z) operation ‘z’ of job ‘i’ that is performed on a specific machine
CMax maximum completion time or makespan.
The completion of any job ‘i’ is dependent upon completion of its set of operations
{O(i,1), O(i,2), ….., O(i,z)} while being processed on respective machines {m1, m2, …., mk}
as per the given pre-determined order where processing time of each operation is Pik > 0.
Whereas identical machines in any group of machines mk have the handling capacity of
wk jobs, however, the operation on a particular machine cannot be stopped before
completion. Each operation of a particular job O(i,z) has a starting time S(O(i,z)). The
completion time of any operation C(O(i,z)) is given by
C ( O(i , z ) ) = S ( O(i , z ) ) + Pik (1)
where an operation O(i,z) cannot have a starting time S(O(i,z)) before C(O(i,z–1)).
Furthermore, the objective function is to find a sequence of operations for the given jobs
{ji} on the set of machines {mk} where the completion of schedule ‘C’ has minimal
length, i.e.,
The algorithm was formulated through selection of parameters from available literature,
while keeping in mind requirement of effective integration of these parameters in order to
work together efficiently for resolution of under review problem. Normal process of
algorithm operation was amended by introduction of resources capability so that parallel
resources could be handled by algorithm. MATLAB was used for coding and
implementation of proposed algorithm due to its versatility and generic interface which
can be integrated with many other applications if required. The baseline pseudo code has
been included as Appendix. Details of each parameter have been elaborated in
subsequent paragraphs.
Figure 1 Results for random selections (PC 0.6 and PM 0.1) (see online version for colours)
4.3 Crossover
Order preserving one point crossover (‘A survey of genetic algorithms for shop
scheduling problems’) was selected for implementation. A cut point is selected for the
pair of parents and the offspring are subsequently generated such that the first portion for
each offspring is selected from one of the parents and the remaining is taken from the
other parent while preserving the order of its genes. Through this process, characteristics
of both parents are inherited in the offspring. Different crossover rates (PC) were tested
against a modified bench mark problem in combination with various mutation rates.
Results showed that combination of PC 0.6 and PM 0.1 showed the best result which is
evident from Figures 3 to 6.
4.4 Mutation
Swap mutation was selected for the proposed algorithm. This mutation works well with
the chosen encoding strategy and infeasible solutions are not generated hence saving time
and efforts. Furthermore, this mutation has the least deviation effect from the parent
(Cicirello and Cernera, 2013).
A genetic algorithm-based schedule optimisation of a job shop 235
Figure 3 Results for 0.5 PC with different PM combinations (see online version for colours)
Figure 4 Results for 0.6 PC with different PM combinations (see online version for colours)
236 A. Wasim et al.
Figure 5 Results for 0.7 PC with different PM combinations (see online version for colours)
Figure 6 Comparison of best combinations for each PC (see online version for colours)
As already discussed in the previous sections that very limited work has been performed
on problems for job shop scheduling with parallel resources and correspondingly no
benchmark cases are available for these problems. However, researchers have utilised the
available benchmark cases for job shop scheduling and amended them accordingly to
check efficacy of their algorithms. In this regard, benchmark cases of Lawrence (1984)
and Muth and Thompson (1963) have been amended by most researchers to include
parallel resources. However, in order to check for its implementation and effectiveness on
general JSSP also, the baseline algorithm was tested on the some selected original
benchmark cases and compared to the already available optimal values (Gholami and
Sotskov, 2014b) to.
Table 1 Application of baseline algorithm on JSSP benchmark instances
Makespan values %
JSSP Size
Proposed GA Optimal (Gholami and Sotskov, 2014b) deviation
la01 10 × 5 666 666 0.0
la05 10 × 5 593 593 0.0
la07 15 × 5 916 890 –2.9
la11 20 × 5 1,260 1,222 –3.1
The results in Table 1 show that the algorithm can effectively be used for JSSPs. These
give a fair idea that the proposed GA is effective in finding the near optimal solution to
JSSP problems. It does not provide the optimal values for each case; nevertheless, the
obtained values have only a little deviation from the optimal ones. The efficacy can be
checked from percentage (%) deviation of objective function which is calculated
through (3)
% deviation = (Opt − GA) Opt (3)
depicted in Table 2, where each standard notation is added by with a character (’) to
differentiate between modified and original test instances.
Table 2 Generation of work centres with multiple parallel resources
Work centres
JSSP Size
M1 M2 M3 M4 M5 M6 M7 M8 M9 M10
la01’ 10 × 5 3 2 1 1 4 - - - - -
la02’ 10 × 5 1 2 3 1 2 - - - - -
la03’ 10 × 5 3 4 5 1 1 - - - - -
la04’ 10 × 5 3 2 4 5 2 - - - - -
la05’ 10 × 5 3 1 2 3 4 - - - - -
la06’ 15 × 5 2 1 2 3 1 - - - - -
la07’ 15 × 5 4 1 3 3 2 - - - - -
la08’ 15 × 5 5 2 4 1 1 - - - - -
la09’ 15 × 5 1 3 4 3 5 - - - - -
la10’ 15 × 5 5 3 3 2 4 - - - - -
la11’ 20 × 5 4 2 5 4 4 - - - - -
la12’ 20 × 5 5 4 2 3 1 - - - - -
la13’ 20 × 5 3 4 3 4 3 - - - - -
la14’ 20 × 5 2 5 2 5 2 - - - - -
la15’ 20 × 5 4 1 4 1 4 - - - - -
la16’ 10 × 10 3 4 5 2 1 5 4 3 2 1
la17’ 10 × 10 4 3 5 1 3 2 3 1 4 4
la18’ 10 × 10 4 4 4 4 4 3 3 3 3 3
la19’ 10 × 10 4 5 3 4 1 1 1 2 4 3
la20’ 10 × 10 4 3 3 2 5 5 3 3 4 4
mt10’ 10 × 10 1 3 2 4 2 2 3 2 3 3
mt20’ 20 × 5 3 3 2 2 3 - - - - -
Source: Muth and Thompson (1963) and Gholami and Sotskov (2014a)
Similarly, Liu and Kozan (2012) have replicated resources in their research in such a
manner that for 5 resources the replication is {1, 2, 1, 2, 1} and for ten resources it is
{1, 2, 1, 2, 1, 2, 1, 2, 1, 2} and so on. Rossi and Boschi (2009) have modified the
instances by increasing each resource and jobs by the same number (2 and then 3) for
each problem.
5.1 Calculations
Before application of the algorithm on the test instances, it was necessary that the
operation parameters of the algorithm for each test instance should be finalised. Selection
process of these operation parameters has already been discussed in Section 4. Final
selected values for each operation parameter for respective test instance have been
depicted in Table 3. The stopping criteria are 100 iterations or no improvement in last ten
iterations as already discussed.
A genetic algorithm-based schedule optimisation of a job shop 239
No. of Work
S Crossover Mutation
Case jobs centres PS
no.
n m PC Best Rand PM Best Rand
1 la01’ 10 5 50 0.6 27 3 0.1 4 1
2 la02’ 10 5 50 0.6 27 3 0.1 4 1
3 la03’ 10 5 50 0.6 27 3 0.1 4 1
4 la04’ 10 5 50 0.6 27 3 0.1 4 1
5 la05’ 10 5 50 0.6 27 3 0.1 4 1
6 la06’ 15 5 75 0.6 42 4 0.1 7 1
7 la07’ 15 5 75 0.6 42 4 0.1 7 1
8 la08’ 15 5 75 0.6 42 4 0.1 7 1
9 la09’ 15 5 75 0.6 42 4 0.1 7 1
10 la10’ 15 5 75 0.6 42 4 0.1 7 1
11 la11’ 20 5 100 0.6 54 6 0.1 9 1
12 la12’ 20 5 100 0.6 54 6 0.1 9 1
13 la13’ 20 5 100 0.6 54 6 0.1 9 1
14 la14’ 20 5 100 0.6 54 6 0.1 9 1
15 la15’ 20 5 100 0.6 54 6 0.1 9 1
16 la16’ 10 10 100 0.6 54 6 0.1 9 1
17 la17’ 10 10 100 0.6 54 6 0.1 9 1
18 la18’ 10 10 100 0.6 54 6 0.1 9 1
19 la19’ 10 10 100 0.6 54 6 0.1 9 1
20 la20’ 10 10 100 0.6 54 6 0.1 9 1
21 mt10’ 10 10 100 0.6 54 6 0.1 9 1
22 mt20’ 20 5 100 0.6 54 6 0.1 9 1
5.2 Results with instances from Gholami and Sotskov (2014a, 2014b)
The algorithm was first applied on the 22 modified test instances used by Gholami and
Sotskov (2014a, 2014b) to compute the objective function value (Makespan). After
getting the makespan values from proposed GA, these values were compared with the
results of adaptive algorithm (Gholami and Sotskov, 2014b) and PMJS-H algorithm
(Gholami and Sotskov, 2014a) and seven famous dispatching rules (Gholami and
Sotskov, 2014b) frequently used in literature and are frequently used by managers for
workshop scheduling. These seven dispatching rules are part of the analysis of Gholami
and Sotskov (2014b) and include:
1 shortest processing time (SPT)
2 shortest release time (SReT)
3 shortest start time (SStT)
4 longest delay (LD)
240 A. Wasim et al.
As can be seen from Table 4, the makespan calculated from the proposed GA
outperforms all other methods and techniques under review. The proposed GA fails to
optimise the makespan for only 01 test case (La19’).
A genetic algorithm-based schedule optimisation of a job shop 241
Figure 7 Gantt chart for La01’ machine sequence (see online version for colours)
Figure 8 Gantt chart for La01” machine sequence (see online version for colours)
Figure 9 Gantt chart for La01”‘ machine sequences (see online version for colours)
The importance of GAs for scheduling problems cannot be denied and the same has been
shown in this research through application of the proposed GA on a generalisation of
JSSP, i.e., JSSP with parallel resources (PMJSSP). The results in Tables 5 and 6 are
reasonable enough to confirm the efficacy of the proposed algorithm for JSSP with
parallel resources. However, after reviewing the results, following can be easily
concluded:
1 Efforts have been made to select the parameters of the proposed GA in such a
way that basic issues pertaining to generation of infeasible solutions and early
convergence can be removed which is evident from the results. Moreover, the
inclusion of randomness in selection/population generation combined with elitism
selection provides the deviation required at each stage to avoid trapping at local
minima.
A genetic algorithm-based schedule optimisation of a job shop 243
Figure 10 Comparison of GA with other methods/techniques (see online version for colours)
25
20
20 SNRO
No of Optimum
Makespans
15 SStT
10
10 Adaptive
Algo
4 PMJS-H Algo
5 2 2
0
Methods / Techniques
The proposed GA gradually converges to the best makespan value without any deviations
and does it in small number of iterations. Furthermore, it can be seen that although the
number of iterations increase with the increase in size of the problem, the convergence
slope remains the same. This depicts that the algorithm is feasible for both small and
large problems. Moreover, the stepwise improvement is gradual and even the initial result
is also not far placed from the final makespan values.
244 A. Wasim et al.
Figure 11 Fitness evaluation of proposed GA relative to available optimal (see online version
for colours)
The computation times for each algorithm under review have been noted from their
respective research papers. Different operating systems have been used by each
researcher and therefore an exact comparison cannot be made; nevertheless when placed
together, it is evident that the values obtained for the proposed GA are higher than others
but reasonably low and therefore can be accepted. The computation times have been
stated down in Table 7.
Table 7 Computational time comparison
7 Conclusions
A generic GA has been applied on job shop problems with parallel resources in this
research. The GA effectively finds the better values of makespan when compared to other
methods. The implementation and comparison of the proposed GA on various test cases
and its good performance in all cases supports the fact that it can be used in a variety of
A genetic algorithm-based schedule optimisation of a job shop 245
References
‘A survey of genetic algorithms for shop scheduling problems’, Heuristics: Theory and
Applications, 1st ed., Chapter 8, pp.161–222, Nova Science Publishers.
Bierwirth, C. (1995) ‘A generalized permutation approach to job shop scheduling with genetic
algorithms’, OR Spectrum, Vol. 17, Nos. 2–3, pp.87–92.
Chang, H-C., Tsai, H-T. and Liu, T-K. (2014) ‘Application of genetic algorithm to optimize
unrelated parallel machines of flexible job-shop scheduling problem’, Control and Automation
(ICCA), 11th IEEE International Conference, pp.596–599.
Chen, J.C., Wu, C-C., Chen, C.W. and Chen, K-H. (2012) ‘Flexible job shop scheduling with
parallel machines using genetic algorithm and grouping genetic algorithm’, Expert Systems
with Applications, Vol. 39, No. 11, pp.10016–10021.
Chen, K-P., Lee, M.S., Pulat, P.S. and Moses, S.A. (2006) ‘The shifting bottleneck procedure for
job-shops with parallel machines’, Int. J. Industrial and Systems Engineering, Vol. 1,
Nos. 1/2, pp.244–262.
Cicirello, V.A. and Cernera, R. (2013) ‘Profiling the distance characteristics of mutation operators
for permutation-based genetic algorithms’, in Boonthum-Denecke, C. and Youngblood, G.M.
(Eds.): FLAIRS Conf., AAAI Press.
Gholami, O. and Sotskov, Y.N. (2014a) ‘A fast heuristic algorithm for solving parallel-machine
job-shop scheduling problems’, International Journal Advanced Manufacturing Technology,
Vol. 70, pp.531–546.
Gholami, O. and Sotskov, Y.N. (2014b) ‘Solving parallel machines job-shop scheduling problems
by an adaptive algorithm’, International Journal of Production Research, Vol. 52, No. 13,
pp.3888–3904.
Gomes, M.C., Barbosa-Povoa, A.P. and Novais, A.Q. (2005) ‘Optimal scheduling for flexible
job shop operations’, International Journal of Production Research, Vol. 43, No. 11,
pp.2323–2353.
Lawrence, S. (1984) Supplement to Resource Constrained Project Scheduling: An Experimental
Investigation of Heuristic Scheduling Techniques, Graduate School of Industrial
Administration, Carnegie-Mellon University, Pittsburgh.
Liu, S.Q. and Kozan, E. (2012) ‘A hybrid shifting bottleneck procedure algorithm for the parallel-
machine job-shop scheduling problem’, Journal of the Operational Research Society, Vol. 63,
pp.168–182, DOI: 10.1057/jors.2011.4.
Martinez, Y., Wauters, T., De Causmaecker, P., Nowé, A., Verbeeck, K., Bello, R. and Suarez, J.
(2010) ‘Reinforcement learning approaches for the parallel machines job shop scheduling
problem’, Proceedings of the Cuba-Flanders Workshop on Machine Learning and Knowledge
Discovery.
246 A. Wasim et al.
Mehta, A. and Sharma, A. (2013) ‘Observing the effect of elitism on the performance of GA’,
International Journal of Advanced Research in Computer Science and Software Engineering,
June, Vol. 3, No. 6.
Mönch, L., Schabacker, R., Pabst, D. and Fowler, J.W. (2007) ‘Genetic algorithm-based sub
problem solution procedures for a modified shifting bottleneck heuristic for complex job
shops’, European Journal of Operational Research, 16 March, Vol. 177, No. 3,
pp.2100–2118.
Muth, J.F. and Thompson, G.L. (1963) Industrial Scheduling, Prentice-Hall, Englewood Cliffs, NJ.
Rossi, A. and Boschi, E. (2009) ‘A hybrid heuristic to solve the parallel machines job-shop
scheduling problem’, Advances in Engineering Software, Vol. 40, No. 2, pp.118–127.
Zhang, J. and Liu, G.B. (2012) ‘Hybrid ant colony algorithm for job shop schedule with unrelated
parallel machines’, Advanced Materials Research, January, Vols. 430–432, pp.905–908, Trans
Tech Publications.