solving an industrial shop scheduling problem using genetic algorithm
TRANSCRIPT
Solving an Industrial Shop Scheduling Problem
Using Genetic Algorithm
Ali Mokhtari Moghadam1,a*, Kuan Yew Wong 1,b, Hamed Piroozfard1,c, Ali Derakhshan Asl1,d and Tiurmai Shanty Hutajulu2,e
1Department of Manufacturing and Industrial Engineering, Faculty of Mechanical Engineering, Universiti Teknologi Malaysia, UTM Skudai 81310, Johor, Malaysia
2Department of Petroleum Engineering, Faculty of Petroleum and Renewable Energy Engineering, Universiti Teknologi Malaysia, UTM Skudai 81310, Johor, Malaysia
[email protected], [email protected], [email protected], [email protected], [email protected]
Keywords: Scheduling; genetic algorithm; industrial shop; flexible job shop
Abstract. Spool fabrication shop is an intermediate phase in the piping process for construction
projects. The delivery of pipe spools at the right time in order to be installed in the site is very
important. Therefore, effective scheduling and controlling of the fabrication shop has a direct effect
on the productivity and successfulness of the whole construction projects. In this paper, a genetic
algorithm (GA) is developed to create an active schedule for the operational level of pipe spool
fabrication. In the proposed algorithm, an enhanced solution coding is used to suitably represent a
schedule for the fabrication shop. The initial population is generated randomly in the initialization
stage and precedence preserving order-based crossover (POX) and uniform crossover are used
appropriately. In addition, different mutation operators are used. The proposed algorithm is applied
with the collected data that consist of operations processing time from an industrial fabrication
shop. The results showed that by using GA for scheduling the fabrication processes, the
productivity of the spool fabrication shop has increased by 88 percent.
Introduction
Scheduling and sequencing have a significant effect on the productivity of a pipe spool
fabrication shop (PSFS). Therefore, some researchers have developed simulation models for
scheduling some processes in a shop floor based on the scheduling rules [1, 2]. However, these
rules achieve low quality solutions in comparison with meta-heuristic techniques [3]. In addition,
most of the scheduling problems are well-known NP-hard problems and therefore using
approximate algorithms for solving these combinatorial problems has increased during the past
decades. In this regard, among other meta-heuristic algorithms genetic algorithms (GAs) have
received the most attention from many researchers and have been widely applied for solving real-
world optimization problems [12]. Gen et al. [5] coded the chromosome for a flexible job-shop
scheduling problem (FJSP) with two vectors: (1) machine selecting vector and (2) operation
sequence vector. In order to transform a schedule to an active schedule, Gao et al. [6] proposed a
priority-based decoding approach in the initialization stage. The initialization of population in an
evolutionary algorithm like genetic algorithms is very important, due to the effect on convergence
speed and consequently final solution quality [7]. In this regard, Kacem [8], introduced an
“approach by localization” which is based on the jobs sequencing list to enhance the quality of
initial solutions. Pezzella et al. [9] applied the integration of different methods for producing the
initial population in GA. Zhang et al. [10] have designed global selection and local selection based
on the jobs sequencing for generating initial solutions with high quality. Because of the precedence
constraints between operations in a job-shop scheduling problem (JSP), Lee et al. [11] developed
the precedence preserving order-based crossover (POX). Vaghefinezhad and Wong [12] have
Advanced Materials Research Vol. 845 (2014) pp 564-568Online available since 2013/Dec/04 at www.scientific.net© (2014) Trans Tech Publications, Switzerlanddoi:10.4028/www.scientific.net/AMR.845.564
All rights reserved. No part of contents of this paper may be reproduced or transmitted in any form or by any means without the written permission of TTP,www.ttp.net. (ID: 128.173.127.127, Virginia Tech University, University Libraries, Blacksburg, USA-23/08/14,21:14:45)
developed an integer mathematical model with a maximization objective function for a real case of
FJSP over a finite time horizon and solved it by GA.
This paper proposes a GA for the scheduling and sequencing of pipe spools in a fabrication shop.
In this paper, first the problem is explained and then the different steps of the proposed GA are
presented. After that, a pipe spool fabrication shop as a case study which deals with the scheduling
problem is discussed. Finally, the computational results and conclusion are presented.
Problem Description
The scheduling of a PSFS can be described as a set of independent spools, J={ , ,…, },
each of which consists of a sequence of operations, , , , , … , , (ℎ denotes the last operation
of job j). The operations of each spool should be performed in a predetermined sequence on a subset
of , ⊆ M (i denotes the machine index) capable machines (or workforces) from a given set of
M={ , ,…, } machines (or workforces). The problem is partially flexible, which means, a
proper subset of machines (or workforces) can perform operation , (h denotes the operation
index). Processing time of operations consists of all preparation and moving time and no sequence-
dependent setup-time. All machines and workforces are available at time 0 and they process one
spool at a time. All materials for the fabrication of spools are available at time 0. Modules of spool
can visit work centers more than once, i.e. recirculation. Each operation of spool once started must
be completed without interruption, i.e. no preemption.
The scheduling problem in a PSFS is to, at first, order the operations of spools (sequencing
problem) and then allocate them to the suitable machine or workforce (routing problem) with the
aim of minimizing makespan, i.e. the total time required for completing all spools. The makespan
can be defined as maximum {Cj}, where Cj is the completion time of spool j.
Genetic Algorithm for Scheduling of Pipe Spool Fabrication Shop
Genetic algorithm (GA) is a random search optimization technique, which is based on the
principles of genetic and natural selection. This technique was inspired by Charles Darwin’s theory
of evolution and was initially introduced by John Holland in the 1970s [4]. Based on the mechanism
of GA, first, the problem encodes into a set of strings, i.e. chromosome, which consists of several
bits. Then it operates on the strings to simulate the process of evolution [13].
Chromosome Representation and Initial Population. Each solution consists of two vectors:
operation sequencing vector and machine assignment vector. To have enough diversity in the
population, initialization is carried out in random. To do this, the operations of spools are randomly
sequenced in the operation sequencing vector and then a machine is selected randomly from the
capable machines for performing each operation (machine assignment vector). Fig. 1 shows a
feasible randomly generated solution. The length of each vector is equal to the total number of
operations of all jobs. The numbers in the operation sequencing vector are job indices. Each job j
appears in the operation sequence vector exactly times to represent its ordered operations. In
addition, the numbers in the machine assignment vector are machine indices.
GA Operators. In order to obtain a better chromosome, operators of GA such as selection,
crossover, and mutation are carried out in each generation as follows:
Selection Operator. In order to select two parents from the mating pool for reproduction by
crossover operators, Roulette Wheel Selection is applied. In addition, an individual from the mating
pool is selected randomly for reproduction by mutation operators.
Fig. 1. Chromosome representation for a scheduling problem consisting of 5 jobs and 16 machines.
Priority No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
Operation Sequencing Vector 5 3 5 1 1 2 4 5 5 2 4 4 4 3 3 4 2 5 2 5 5 1 3 3 4 3 3 1 3 5 1 1 2 2
Machine Assignment Vector 1 2 4 2 4 2 2 8 9 4 4 8 9 3 5 15 8 10 9 8 15 5 9 13 16 8 15 9 16 16 10 16 12 16
Advanced Materials Research Vol. 845 565
Crossover Operators. Because each chromosome in FJSP has two vectors; therefore, two
crossover operators, defined as sequencing operator and assignment operator, must be applied on
the operation sequencing vector and machine assignment vector, respectively. Let P1, P2, C1, and
C2 be called parent1, parent2, child1, and child2, respectively.
Sequencing Operator: The POX crossover is applied on the operation sequencing vectors of two
selected chromosomes for obtaining two offsprings in each generation without changing the
machine assignment part. To apply POX, firstly, two sub-jobs are created randomly among all jobs
and called sj1 and sj2. Then copy all genes from P1 and P2 which are involved in sj1 and sj2 to C1
and C2 in the same positions according to P1 and P2, respectively. Next, delete all genes belonging
to sj1 and sj2 from P2 and P1 and fill the empty positions in C1 and C2 orderly from the genes
which are remaining in P2 and P1, respectively.
Assignment Operator: The uniform crossover is carried out on the machine assignment vectors
of two selected chromosomes for obtaining two offsprings in each generation without changing the
operation sequencing part. To perform uniform crossover, first, we sort P1 and P2 based on
operations and record the indices. Next, a mask is created randomly and called alpha, i.e. a uniform
binary vector in the length of the chromosome. Then copy genes from P1 to C1 in such a position in
which alpha is equal to 1 and if alpha is equal to 0, copy genes from P2 to C1. In the same way
copy genes from P2 to C2 in such a position in which alpha is equal to 1 and if alpha is equal to 0,
copy genes from P1 to C2. Finally, re-sort C1 and C2 according to indices which are recorded
before.
Mutation Operators. Two mutation operators called sequencing operator and assignment
operator are applied on the operation sequencing vector and machine assignment vector of a
selected chromosome, respectively.
Sequencing Operator: Swapping operator is applied on the operation sequencing vector of a
selected chromosome for producing an offspring in each generation. To do this, two operations
from the operation sequencing vector are selected randomly and swapped with respect to the
assigned machines to produce a feasible solution.
Assignment Operator: In order to change the machine assignment part in the selected
chromosome, a mutation operator is applied which assigns a machine with the shortest processing
time among the alternative machines, if compatible.
Fitness Evaluation Function and Stopping Criterion. Chromosomes, which represent the
solutions, are evaluated based on the completion time of all spools, i.e. makespan. Since the
objective of this paper is to minimize makespan, the solutions with the lower completion time are
preferable and the best solutions are recorded. The stopping criterion is set based on the maximum
number of iterations.
Case Study
Spool fabrication is an industrial shop which produces pipe spools from raw materials such as
pipe, elbow, flange, reducer, tee, etc. Fig. 2 shows the pipe spool fabrication shop’s layout and
process. The production process of pipe spool consists of six work centers, labeled as cutting and
beveling, grinding and smoothing, fitting-up (taking), dimension and specification checking,
welding (roll and position welding), and welding checking (radiography test). The number of
machines or workforces in each work center is 2, 2, 4, 1, 6, and 1, respectively. Each spool visits
these work centers in a predefined sequence and some modules of spools must visit them more than
once in order to produce final spools. The data which consist of operations processing time of 30
spools were collected from a real fabrication shop. These spools consist of 200 operations, which
have to be performed by 16 machines or workforces.
566 Materials, Industrial, and Manufacturing Engineering Research Advances 1.1
Computational Results
The proposed GA was coded in MATLAB and executed on a personal computer. The processor
used was an Intel Core 2 processor with a speed of 1.83 GHz and 1GB RAM. During several
experiments, different values of parameters were tested. Computational results prove that the
following values for the parameters of the proposed GA are more effective. The population size,
300; number of generations, 300; crossover probability, 0.7, and mutation probability, 0.3. After
running the GA for ten times with the above parameter values, Fig. 3 shows the best found solution
in which the makespan is decreased to 1230.3 minutes.
The total diameter inch for 30 spools is equal to 724 inches. Usually the productivity of a PSFS
is calculated based on the total length of welded diameter. According to the planning and control
project report, in average each welder in the condition in which the fabrication shop is located can
weld 25 inches of diameter per day. Hence, for welding 724 inches of diameter with 6 welders, it
takes 4.826 days to complete the selected spools; however, based on the makespan which is
obtained, all jobs (spools) can be completed in 2.563
days (1230.3 minutes / 480 minutes). Therefore, the
productivity of the fabrication shop is increased by 88
percent, which means that spools can be delivered
earlier for installation at the site. Consequently, the total
cost of fabrication shop and the whole project will be
decreased. Fig. 4 shows the scheduling Gantt chart for
operations of jobs which have to be executed on the
corresponding machines or workforces.
Conclusion
In this paper, a GA has been proposed to solve an industrial shop scheduling problem,
particularly a PSFS, with the aim of minimizing the completion time of all spools, i.e. minimizing
makespan. The results showed that the proposed GA always obtains a high quality feasible schedule
for the operational level of fabrication processes and can increase the productivity of the fabrication
shop by 88 percent.
Fig. 3. Decreasing of C-max (makespan)
for the scheduling problem.
Fig. 2. Pipe spool fabrication shop’s layout and process.
Advanced Materials Research Vol. 845 567
References
[1] L. Song, P. Wang and S. AbouRizk, (2006). A virtual shop modeling system for industrial
fabrication shops. Simulation Modelling Practice and Theory, 14 (5) 649-662.
[2] N. Sadeghi and A. R. Fayek, (2008). A framework for simulating industrial construction
processes. Winter Simulation Conference, Miami, FL, United states. 2396-2401.
[3] M.L. Pinedo, Scheduling-Theory, Algorithms and Systems, third ed., Springer, NY, 2008.
[4] V. Sels, F. Steen and M. Vanhoucke, (2011). Applying a hybrid job shop procedure to a
Belgian manufacturing company producing industrial wheels and castors in rubber. Computers and
Industrial Engineering, 61 (3) 697-708.
[5] M. Gen, J. Gao and L. Lin, (2009). Multistage-Based Genetic Algorithm for Flexible Job-Shop
Scheduling Problem. Intelligent and Evolutionary Systems, 187, pp. 183-196.
[6] J. Gao, M. Gen and L. Sun, (2006). Scheduling jobs and maintenances in flexible job shop with
a hybrid genetic algorithm. Journal of Intelligent Manufacturing, 17 (4) 493-507.
[7] S. Rahnamayan, H.R. Tizhoosh and M.M.A Salama, (2007). A novel population initialization
method for accelerating evolutionary algorithms. Comp. & Math. with App., 53 (10) 1605-1614.
[8] I. Kacem, S. Hammadi and P. Borne, (2002). Approach by localization and multi-objective
evolutionary optimization for flexible job-shop scheduling problems. IEEE Transactions on
Systems, Man, and Cybernetics, Part C: Applications and Reviews, 32 (1) 1-13.
[9] F. Pezzella, G. Morganti and G. Ciaschetti, (2008). A genetic algorithm for the Flexible Job-
shop Scheduling Problem. Computers and Operations Research, 35 (10) 3202-3212.
[10] G. Zhang, L. Gao and Y. Shi, (2011). An effective genetic algorithm for the flexible job-shop
scheduling problem. Expert Systems with Applications, 38 (4) 3563-3573.
[11] L. Kyung-Mi, T. Yamakawa and L. Keon-Myung, (1998). A genetic algorithm for general
machine scheduling problems, Proceedings at the Second International Conference on Knowledge-
Based Intelligent Electronic Systems, 62 60-66.
[12] S. Vaghefinezhad and K.Y. Wong, (2012). A genetic algorithm approach for solving a flexible
job shop scheduling problem. International J. of Comp. Sci. Issues, 9 (3) 85-90.
[13] H. Zhou, Y. Feng and L. Han, (2001). The hybrid heuristic genetic algorithm for job shop
scheduling. Computers and Industrial Engineering, 40 (3) 191-200.
Fig. 4. Scheduling Gantt chart for the pipe spool fabrication shop.
568 Materials, Industrial, and Manufacturing Engineering Research Advances 1.1
Materials, Industrial, and Manufacturing Engineering Research Advances 1.1 10.4028/www.scientific.net/AMR.845 Solving an Industrial Shop Scheduling Problem Using Genetic Algorithm 10.4028/www.scientific.net/AMR.845.564
DOI References
[1] L. Song, P. Wang and S. AbouRizk, (2006). A virtual shop modeling system for industrial fabrication
shops. Simulation Modelling Practice and Theory, 14 (5) 649-662.
http://dx.doi.org/10.1016/j.simpat.2005.10.012 [4] V. Sels, F. Steen and M. Vanhoucke, (2011). Applying a hybrid job shop procedure to a Belgian
manufacturing company producing industrial wheels and castors in rubber. Computers and Industrial
Engineering, 61 (3) 697-708.
http://dx.doi.org/10.1016/j.cie.2011.04.023 [5] M. Gen, J. Gao and L. Lin, (2009). Multistage-Based Genetic Algorithm for Flexible Job-Shop
Scheduling Problem. Intelligent and Evolutionary Systems, 187, pp.183-196.
http://dx.doi.org/10.1007/978-3-540-95978-6_13 [6] J. Gao, M. Gen and L. Sun, (2006). Scheduling jobs and maintenances in flexible job shop with a hybrid
genetic algorithm. Journal of Intelligent Manufacturing, 17 (4) 493-507.
http://dx.doi.org/10.1007/s10845-005-0021-x [13] H. Zhou, Y. Feng and L. Han, (2001). The hybrid heuristic genetic algorithm for job shop scheduling.
Computers and Industrial Engineering, 40 (3) 191-200. Fig. 4. Scheduling Gantt chart for the pipe spool
fabrication shop.
http://dx.doi.org/10.1016/S0360-8352(01)00017-1