Sei sulla pagina 1di 16

Journal of the Operational Research Society (1998) 49, 1130±1145 #1998 Operational Research Society Ltd.

d. All rights reserved. 0160-5682/98 $12.00


http://www.stockton-press.co.uk/jor

Maintenance scheduling of rolling stock using a


genetic algorithm
C Sriskandarajah1, AKS Jardine2 and CK Chan2
1
University of Toronto and 2Mass Transit Railway Corporation, Hong Kong
We have developed a Genetic algorithm (GA) for the optimisation of maintenance overhaul scheduling of rolling stock
(trains) at the Hong Kong Mass Transit Railway Corporation (MTRC). The problem is one of combinatorial optimisation.
Genetic algorithms (GAs) belong to the class of heuristic optimisation techniques that utilise randomisation as well as
directed smart search to seek the global optima. The workshop at MTRC does have dif®culties in establishing good
schedules for the overhaul maintenance of the rolling stock. Currently, an experienced scheduler at MTRC performs this
task manually. In this paper, we study the problem in a scienti®c manner and propose ways in which the task can be
automated with the help of an algorithm embedded in a computer program. The algorithm enables the scheduler to
establish the annual maintenance schedule of the trains in an ef®cient manner; the objective being to satisfy the
maintenance requirements of various units of the trains as closely as possible to their due dates since there is a cost
associated with undertaking the maintenance tasks either `too early' or `too late'. The genetic algorithm developed is
found to be very effective for solving this intractable problem. Computational results indicate that the genetic algorithm
consistently provides signi®cantly better schedules than those established manually at MTRC. More over, we provide
evidence that the algorithm delivers close to optimal solutions for randomly generated problems with known optimal
solutions. We also propose a local search method to recon®gure the trains in order to improve the schedule and to balance
the work load of the overhaul maintenance section of the workshop throughout the planning horizon. We demonstrate that
the recon®guration of trains improves the schedule and reduces cost signi®cantly.

Keywords: maintenance scheduling; rolling stock; optimisation; genetic algorithms

Introduction machine or equipment is concerned with an economic


trade-off between the overhaul and the unit production
Maintenance management is an important function as
cost.6 In deterministic maintenance problems, the machines
industries=service organisations are making an effort to
are not subject to failure but their unit production costs
increase productivity and product=service quality to be
increase with usage. Several research papers have been
competitive in the global market place. Preventive main-
devoted to provide mathematical models of these type of
tenance is undertaken to keep equipment in a speci®ed
problems in various manufacturing=service contexts (see for
condition, taking into account both the cost of undertaking
example Jardine).6,7
maintenance activities and the consequence of equipment
Kralj and Petrovic8,9 provided a review of various
failures. Therefore, the scheduling of maintenance activ-
models that have been developed to solve the problem of
ities is an important topic since smart scheduling will
maintenance scheduling for energy generator units in
reduce the overall maintenance budget.
electric power systems. A majority of the literature formu-
Comprehensive bibliographies for classical scheduling
lates the problem as an integer program and devises a
problems appear in the works of Conway et al,1 Baker,2
branch and bound algorithm for its resolution. Escudero10
Lawler et al,3 Pinedo4 and others. The literature, however,
presented a large scale mixed integer programming model
does not cover the area of maintenance scheduling but is
to determine the optimal maintenance schedule of produc-
focused on manufacturing settings. The work by Paz and
tion units under the time allocation and labor assignment
Leigh5 is the ®rst one to review the issues, results and
constraints. Hyunchul et al11 presented a genetic algorithm
research needs concerning maintenance scheduling
combined with simulated annealing techniques for main-
problems that arise in manufacturing=service organisations.
tenance scheduling of thermal units in electric power
They also describe how such problems vary from classical
systems. Christer and Doherty12 obtained the optimal over-
scheduling problems. The overhaul decision regarding a
haul schedule for soaking pits in the steel industry, the
objective of their study being to minimise the total operating
and overhaul costs. The maintenance scheduling problem
Correspondence: Prof C Sriskandarajah, School of Management, Univer- under a deterministic environment for several non-identical
sity of Texas at Dallas, 2601 N Floyd Road, Richardson, Texas 75083-
0688, USA. machines is studied by Sule and Harmon,13 Hariga,14
E-mail: chelliah@utdallas.edu and Duffuaa and Ben-Daya.15 Other works relevant to
C Sriskandarajah et alÐMaintenance scheduling of rolling stock using a genetic algorithm 1131

maintenance scheduling are those by Chakravarty and in Figure 1. The MTRC is performing the running main-
Balakrishnan,16 Anily et al,17 and Banerjee and Burton.18 tenance task well. They do have dif®culties, however, in
In this paper we study a complex maintenance schedul- establishing good schedules for the second category (over-
ing problem of trains providing service in an underground haul maintenance or called C-checks which take between
railway system in Hong Kong. The detailed operational 16 and 22 days at MTRC) which is a very important but
aspect related to the maintenance scheduling problem is dif®cult scheduling problem to solve. Currently, an experi-
provided in section 2 while the problem description is enced scheduler at MTRC performs this task manually. In
presented in section 3. In section 4, we propose a genetic this paper, we study the problem in a scienti®c manner and
algorithm (GA) to solve the maintenance scheduling propose ways in which the task can be automated and
problem. The GA is parameterised in section 5. Computa- optimised.
tional tests for the maintenance scheduling problem are
described in section 6. In section 7, we propose a local
Maintenance overhaul scheduling
search method to recon®gure the trains in order to improve
the schedule that saves cost signi®cantly. Finally, in section Annual maintenance overhaul scheduling is an important
8 we concluded the study. function of the workshop at MTRC. The performance of the
MTRC greatly depends on the maintenance overhaul sche-
dule that has to satisfy a number of constraints such as the
Operational aspects
number of trains simultaneously maintained is limited,
The Mass Transit Railway Corporation (MTRC) of Hong work force assignment and many others. In dealing with
Kong was established in 1975 to provide an ef®cient, the scheduling problem, usually one has to incorporate
effective and reliable public transport system in Hong multiple objectives relating to economic, reliability and
Kong. The service commenced in 1979. New lines were technological concerns. The optimisation criteria consid-
added incrementally and existing lines were extended in ered here will be described later in this section.
stages. At present, the system that is fully operational, In this paper, we examine a unique and highly challen-
consists of three lines, namely Tsuen Wan (TWL), Kwun ging maintenance overhaul scheduling problem at the Hong
Tong (KTL) and Island Line (ISL). These train lines are Kong Mass Transit Railway Corporation. For the purpose
separate but intersect with each other at several inter- of planning, the scheduling horizon of one year is divided
changes. The services are provided seven days a week, into days which includes holidays. The train consists of
with long operating hours each day. Typically, the service eight cars as shown in Figure 2. The maintenance require-
starts each day at 5:00 am and terminates at around 2:00 am ments of each car is brie¯y shown in Table 1. For example,
of the following day. There are about 95 trains in the a car requires a C1-check when it is ®ve years old. The A-
system. The minimum number of trains required during the car is the power car that consists of a driving cab and part
peak time for TWL, KTL and ISL are 32, 20 and 19, of control equipment whereas the B-car is the same as the
respectively while for the preferred level of service, the A-car but it does not have a driving cab. The C-car which
number of trains required during the peak time for TWL, does not have a driving cab, is also a power car that carries
KTL and ISL are 34, 26 and 25, respectively. Hence a total the pantograph and remaining control equipment. The D-
of 85 trains are required for the preferred level of service car which is a non-power car, is known as a trailer. Until
during the peak hours. The excess capacity of trains is used recently, the MTRC had been maintaining their ¯eet, car by
for the purpose of maintenance, emergencies, modernisa- car, known as car based maintenance. In other words, cars
tion and modi®cation of trains. The maintenance tasks for A and C that must be maintained as one unit (AC unit), can
the rolling stock (trains) are classi®ed into two categories, be separated from the train and maintained independently
running maintenance and overhaul maintenance. In the case regardless of the maintenance schedule of other units.
of running maintenance, each train is pulled out of the line Similarly, cars B and C must be maintained as one unit
every 15 days to perform a certain set of maintenance tasks (BC unit). Therefore, a train consists of ®ve maintenance
called an H-check and every 45 days to perform an units (or train units), two AC units, one BC unit and two D
additional set of maintenance tasks called an L-check. units. The front unit of the train is known as AC-odd unit
The durations of H- and L-checks are about one hour and while the back of the unit is called AC-even.
six hours, respectively. Each line has its own depot for Recently, the MTRC changed their maintenance policy
performing the running maintenance of trains providing from car based maintenance to train based maintenance. In
service in its line. Since the running maintenance does not the latter case, a train is maintained as a single entity. This
consume signi®cant time, trains can be pulled out of the policy change creates a dif®cult maintenance scheduling
line regularly, maintained, and put back into service. The problem. Due to their previous policy, the various units of a
number of trains that can be pulled out at any time from train actually running in a line may require different main-
each line depends on the service demand in that line. A tenance requirements at different due dates; see for example
typical service demand pattern for a line in a day is shown Tables 2 and 3 that are obtained from the date base at
1132 Journal of the Operational Research Society Vol. 49, No. 11

Figure 1 Service demand pattern.

Figure 2 Train.

Table 1 Overhaul maintenance, C-checks

Type Frequency Description


C0-check 2.5 years Train structural inspection.
Train control system calibration/testing.
C1-check 5.0 years Train structural inspection.
Train control system calibration/testing.
Major components servicing.
C2-check 7.5 years All 2.5 years tasks.
Flexible hose hard time replacement.
C3-check 10.0 years All 5.0 years tasks.
Rubber parts except ¯exible hose hard time replacement.
C4-check 12.5 years Same as 2.5 years tasks.
C5-check 15.0 years All 7.5 years tasks.
Gangway skirt hard time replacement.
A/C air duct cleaning.
Fibre glass cab front painting.
C6-check 17.5 years Same as 2.5 years tasks.
C Sriskandarajah et alÐMaintenance scheduling of rolling stock using a genetic algorithm 1133

Table 2 Example of due dates of a train at ISL sj ˆ start time of maintenance work of job Jj.
fj ˆ completion time of maintenance work of job
Train No. 25 AC-odd AC-even BC D D Jj .
Serial No. 247 264 452 756 757 ak(ij) ˆ earliness penalty of unit i of job Jj requiring
C-check C3 C1 C5 C1 C1 maintenance type k(ij) if fj 4 dij.
Due date 30±4±94 03±5±94 04±4±96 10±8±94 22±7±94 bk(ij) ˆ tardiness penalty of unit i of job Jj requiring
Start date 19±3±94 14±3±95 02±10±95 25±2±94 23±3±95
Finish date 09±4±94 07±4±95 27±10±95 22±3±94 31±3±95
maintenance type k(ij) if fj > dij.
wek…ij† ˆ earliness weight of unit i of job Jj requiring
maintenance type k(ij) if fj 4 dij.
Table 3 Example of due dates of a train at TWL wlk…ij† ˆ tardiness weight of unit i of job Jj requiring
maintenance
 type k(ij) if fj > dij.
Train No. 40 AC-odd AC-even BC D D 1 if fj > dij
Uij ˆ
Serial No. 179 242 443 688 742 0 otherwise.
C-check C4 C3 C4 C3 C2
Due date 18±2±95 27±5±94 29±11±94 30±1±95 07±11±94 The objective function W is the minimisation of the total
Start date 03±6±95 24±2±95 01±7±94 05±7±95 19±12±94 cost of earliness and tardiness (or the total penalty for not
Finish date 20±6±95 30±3±95 12±7±94 18±7±95 29±12±94 satisfying the due dates), where
n P
P v n P
P v
W ˆ Uij bk…ij† … fj ÿ dij † ‡ …1 ÿ Uij †ak…ij† …dij ÿ fj †:
MTRC. Consequently, for the purpose of maintenance, the jˆ1 iˆ1 jˆ1 iˆ1
scheduler has to ®nd a suitable common due date for each …1†
train so that the due dates of individual units do not deviate
too much from the common due date since there is a cost The reason behind the choice of the objective function will
associated with undertaking the maintenance tasks either become clear in the next subsection. Note that the words
`too early' or `too late' (`too tardy'). So we are faced with `job' and `train' which mean the same in the treatment of
the problem of scheduling trains that have to meet the due our scheduling problem, are used interchangeably.
dates of train units as closely as possible. We achieve this by The maintenance duration of each train depends on the
selecting an appropriate objective function which will be maintenance requirements of various units consisting of the
de®ned shortly. train. At MTRC, this duration pj of train Jj is estimated as
We use the following notation: follows:
Pv
n ˆ the number of trains to be maintained in a mik…ij†
planning horizon (one year). pj ˆ iˆ1 ‡ y: …2†
xM
J1, J2, . . . , Jn ˆ the set of trains (jobs) to be maintained in a
planning horizon. The values for mik(ij) are given in Table 4.
v ˆ the number maintenance units in each train x ˆ manhours per day per person ˆ 7.75.
(v ˆ 5, in our case). M ˆ Total number of persons available at the work
k ˆ the maintenance type, where k ˆ 0, 1, . . . , shop ˆ 89.
6. y ˆ Number of days required for recommissioning and
k(ij) ˆ the maintenance type required by unit i of testing of the train at the end of maintenance
train Jj, where k(ij) ˆ 0, 1, . . . , 6. Note that work ˆ 8 days.
k(ij) ˆ 2 means that unit i of train Jj requires
C2-check type maintenance. Note that in the duration of processing the maintenance
i ˆ 1 denotes AC-odd unit. work of a train, all maintenance tasks are performed in the
i ˆ 2 denotes AC-even unit. beginning of the duration while at the end of the duration (8
i ˆ 3 denotes BC unit. days) commissioning and testing are carried out. Due to
i ˆ 4 and i ˆ 5 denote D units. capacity limitation in the workshop, the maintenance sche-
s ˆ {Js(1), Js(2), . . . , Js(n)}, a sequence of dule has to satisfy the important constraint that the number
maintaining the trains. of trains simultaneously maintained is limited to two and
Js(r) ˆ the job in the rth position in the sequence s.
dij ˆ due date of unit i of train Jj. Table 4 Work force requirement (manhours)
qij ˆ serial number of unit i of train Jj. mik kˆ0 kˆ1 kˆ2 kˆ3 kˆ4 kˆ5 kˆ6
mik ˆ work force requirement (in manhours) of
unit i for the maintenance type k. i ˆ 1, 2 581 1314 1256 1314 650 2200 646
iˆ3 581 1314 1256 1314 650 2261 646
pj ˆ the processing time or maintenance duration i ˆ 4, 5 261 400 300 500 300 775 251
(in number of days) of job Jj.
1134 Journal of the Operational Research Society Vol. 49, No. 11

Figure 3 A train maintenance schedule.

their overlap is limited to not more than 8 days. In other cumulative manhours of 7961 units is used if the C0-check
words, the maintenance tasks of a train can be started is done one month early (Table 4). In other words,
during the commissioning and testing period of the train (7.961  1000  z)=30 Hong Kong dollars will be wasted
that is scheduled previously. Therefore, the maintenance for being one month early in this case, where z is the cost of
schedule of trains will take the form as shown in Figure 3 one manhour in Hong Kong dollars. The weight for earli-
which does not include holidays. The workshop functions ness in this case is taken as 7.961 which means the unit
one shift (8 hours) per day. Since the workshop does not weight cost of being one month early is (1000  z)=30.
function during Sundays and public holidays, the schedules Similarly, the weights for all train units for each C-check
that we develop later include holidays for obtaining mean- can be estimated and are given in Table 5.
ingful Gantt charts. It has to be noted that the jobs are not It is dif®cult to estimate the customer service component
split (no pre-emption), that is, when a train is brought to the due to unreliable trains. Since the customer service and the
workshop, the processing of the maintenance work of the cost of maintenance are equally important to MTRC, we
train is not interrupted and all the maintenance tasks for the assume the unit weight cost of being one month late is
train must be ®nished before processing the next job. (1000  z)=30 which is the same as above. Moreover it is
Moreover, in order to maximise the utilisation of workshop natural to provide larger weights to the older units over the
capacity, no idle time is allowed (except holidays and the younger units, power units over non-power units. The
short breaks during the work days) during the processing of weights for lateness are established as in Table 6 after
jobs or in between jobs. intense discussion and consultation with the maintenance
personnel at MTRC. The weights given in Table 6 is
comparable to that given in Table 5. Note that the power
Weighting scheme units (AC, BC) having important components such as trac-
Since it is dif®cult to meet the due dates of all the train tion motors, control systems, are given larger weights than
units in a schedule, we must establish a weighting scheme the non-power unit (D).
that re¯ects the objectives of MTRC and captures the cost Note that the objective function is the minimisation of W,
(penalties) of earliness and tardiness into the objective the total penalty for not satisfying the due dates (see (1)).
function. The scheme is developed in consultation with We need to de®ne the penalties (bk…ij†, ak…ij†) and this will be
the maintenance personnel at MTRC. As can be seen done shortly. Ideally, the MTRC wants to maintain the train
shortly, the weighting scheme provides meaningful penal- units within three months of the due dates. Any deviation of
ties for both earliness and tardiness. more than three months from the due dates is not desirable
Maintaining the train too soon may be costly because of due to the nonlinear nature of the cost (penalty) of being too
the need for extra manpower. Maintaining the train too late early or too tardy. Thus, we further re®ne our weighting
may cause unreliable trains in the system which in turn scheme to take into account the nonlinearity and de®ne the
affects customer service. For example, if a train fails in an
underground tunnel between stations, it adversely affects
the welfare of the passengers. While it is dif®cult to Table 5 Weights if dij 7 fj 4 90
measure the social cost associated with unreliable trains, wek…ik† kˆ0 kˆ1 kˆ2 kˆ3 kˆ4 kˆ5 kˆ6
it is pointed out that both customer service and the cost of
maintenance are equally important to MTRC. Now we i ˆ 1, 2 7.961 7.380 6.066 4.810 3.496 2.846 0.646
iˆ3 8.022 7.441 6.127 4.871 3.557 2.907 0.646
establish an appropriate weighting scheme to penalize the i ˆ 4, 5 2.785 2.526 2.126 1.826 1.326 1.026 0.251
maintenance work of train units being carried out either
`early' or `tardy'. Therefore, the most appropriate objec-
tives in this scheduling problem, are the minimisation of
the total penalty for not satisfying the due dates for being Table 6 Weights if fj 7 dij 4 90
both early and tardy. Firstly, we discuss the penalty of wlk…ik† kˆ0 kˆ1 kˆ2 kˆ3 kˆ4 kˆ5 kˆ6
earliness. Suppose an AC-odd unit requiring C0-check is
maintained one month early. Since the interval between the i ˆ 1, 2 2.0 3.0 4.0 5.0 6.0 7.0 8.0
iˆ3 2.0 3.0 4.0 5.0 6.0 7.0 8.0
C-checks are 2.5 years (30 months), all the subsequent C- i ˆ 4, 5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
checks will also be due one month early. This means, a
C Sriskandarajah et alÐMaintenance scheduling of rolling stock using a genetic algorithm 1135

penalties in the following intervals: 0 to 3 month interval, 3 earliness penalty aj and tardiness penalty bj, Baker and
to 6 month interval, 6 to 9 month interval, more than 9 Scudder23 reviewed the E=T problem literature. A well
months. The details are as follows (we assume, one studied special case of the E=T problem involves minimis-
month ˆ 30 days): ing the total absolute deviations of completion time about a
common due date, that is, aj ˆ bj ˆ 1 and dj ˆ d for all jobs
If the ®nish time of job Jj is later than the due date and
Jj,24,25 the problem is shown to be NP-hard.25 A more
… fj ÿ dij † 4 90, then the penalty is bk…ij† ˆ wlk…ij† . If the
general model allows earliness and tardiness to be penalized
®nish time of job Jj is earlier than the due date and (dij ±
differently (a 6ˆ b).23 The E=T model gets more complicated
fj) 4 90, then the penalty is ak…ij† ˆ wek…ij†.
when earliness and tardiness are penalized differently
Similarly for 90 < (fj ± dij) 4 180, the penalty is
among the jobs (aj 6ˆ bj all jobs Jj).24 The most general
bk…ij† ˆ 2wlk…ij† while for 90 < (dij ± fj) 4 180, the penalty
E=T model in the literature relaxes the common due date
is ak…ij† ˆ 2wek…ij† .
assumption. Each job has its own due date and may have
For 180 < ( fj ± dij) 4 270, the penalty is bk…ij† ˆ 10wlk…ij† and
different earliness and tardiness penalty costs. This E=T
for 180 < (dij 7 fj) 4 270, the penalty is ak…ij† ˆ 10wek…ij† .
model has been studied by Fry et al,26 Ow and Morton,27
For 270 < ( fj ± dij), the penalty is bk…ij† ˆ 100wlk…ij† and for and others. Heuristics have been developed for this problem.
270 < (dij ± fj), the penalty is ak…ij† ˆ 100wek…ij† . One such heuristic is the sequence by earliest due date rule
(known as EDD). Using an empirical study, Fry et al26
Note that the deviations of ®nish time from due date of
reported the best results for a heuristic that ®rst ®nds an
more than 3, 6 and 9 months are penalized by assigning
EDD sequence and then improves the solution by applying a
increasing weights in those intervals.
local search procedure known as adjacent pairwise inter-
changes of jobs. Ow and Morton27 also observed similar
performance of an EDD sequence. All of the above studies
Related scheduling problems
deal with linear penalties. Our problem is much more
The standard classi®cation scheme for scheduling problems complicated than the E=T problem in the sense that each
(Graham et al.19) can be denoted c1 j c2 j c3 j , where c1 job consists of ®ve maintenance units having ®ve due dates.
indicates the scheduling environment, c2 describes the job Therefore the simple EDD sequence is not meaningful in
characteristics or restrictive requirements, and c3 de®nes the our context. Moreover, units of a train may have different
objective function to be minimised. Under c1, we may have penalty costs which are nonlinear with respect to the amount
1, a single machine environment where jobs can be of earliness and tardiness.
processed on a single machine one job at a time. The In the next section, we describe and illustrate an algo-
processing of job Jj is pj. Under c2, we may have dj, the rithm (known as a genetic algorithm) based on evolutionary
due search methods to tackle our maintenance scheduling
P date for job Jj. Under c3, we may wish to minimize
wjT j, the total weighted tardiness P of the problem. The problem. The research into the use of genetic algorithms
weight for job Jj is wj. 1 j dj j wjTj denotes the minimisa- for the solution of real world maintenance scheduling
tion of the total weighted tardiness in a single machine problems is still in its infancy.11 But the application of
environment where the tardiness, Tj ˆ max{0, fj 7 dj} and fj genetic algorithms to various ®elds including scheduling is
is the ®nish time of job Jj in a schedule.P gaining momentum in the recent years.28
Note that the classical problem, 1 j dj j wjTj is a special
case of our problem. If we set all earliness weights equal to
zero, the due dates for all ®ve units of each train equal and
bk…ij† ˆ wlk…ij† , i ˆ 1, . . . , v, for each train Jj regardless of the
Genetic algorithms
amount P of tardiness, thenPour problem is equivalent to
1 j dj j wjT j, where wj ˆ P viˆ1 wlk…ij† . Lawler,20 and Lenstra Most of the combinatorial optimisation problems belong to
et al21 show that 1 j dj j wjTj is strongly NP-hard, see the class of NP-hard problems for which probably no
Garey and Johnson22 for related de®nitions. Therefore, polynomial time algorithm can be found.22 This motivated
there is no hope of ®nding a polynomial time algorithm researchers to develop heuristics for solving large combi-
for our problem. Hence, in the next section, we develop a natorial optimisation problems. Genetic algorithms (GAs)
heuristic optimisation technique known as a Genetic algo- belong to the class of heuristic optimisation techniques that
rithm for solving this combinatorial optimisation problem. utilise randomisation as well as directed smart search to
The Earliness=Tardiness problem (E=T problem) which seek the global optima. The creation of GAs was inspired
is well studied in the literature is also close to our problem. by evolutionary processes through which life is believed to
The problem can be stated as follows: a given set of n jobs have evolved to its present forms.29 Other such popular
to be processed on a single machine with the objective of techniques are simulated annealing30 and tabu search.31,32
®nding a schedule that minimises total early and tardy costs. GAs have been regarded as being more general and ab-
Each job Jj has a processing time pj, a due date dj, a linear stract than these two other approaches.4 In developing the
1136 Journal of the Operational Research Society Vol. 49, No. 11

heuristics, researchers looked for parallels in other ®elds structed by taking the trains in the order in which they
and in nature to mimic them. Conceptualised by Holland,33 appear in the chromosome, then ®tness of the schedule can
GAs mimic Darwin's natural evolution of biological organ- be evaluated. The ®ttest chromosomes are selected from the
isms. In natural evolution, organisms reproduce through population and reproduced whereby the second generation
crossover and mutation, and the ®ttest member of the is created. Reproduction is through two operations: cross-
population will survive, two ®ttest parents are likely to over and mutation. In crossover, the two ®ttest chromo-
produce ®tter progenies (offspring). somes are mated to get two new offsprings. In mutation, a
GAs have been applied to solve scheduling prob- ®ttest chromosome is used to produce offspring by adjacent
lems.28,34,35 When applied to our scheduling problem, pairwise interchange, or three point interchange etc. The
GAs view sequences (of train) as individuals (the candidate ®tness of the offspring is evaluated. Then the weakest
schedules or solutions), which in turn are members of a member of the population is killed and others are used to
population. Each individual (a schedule) is characterised produce the third generation. This procedure is repeated
(merited) by its ®tness (for example, the total penalty for until the desired number of generations are created.
not satisfying the due dates). Therefore the ®tness of an `Selection' is a key operation in GA search. Selection in
individual is measured by the associated value of the the context of scheduling may be used to optimise the
objective function (here the total penalty for not satisfying objective functions. The purpose of selection is to propa-
the due dates, the smaller the better). The GA procedure gate high ®tness characteristics in the population and to
works iteratively (emulating an algorithm) with the eliminate from the population the weaker individuals,
members of the population and each new iteration in the keeping the search directed toward the minimization of
GA terminology being referred to as a generation. the objective functions. One effective way of doing selec-
In the GA environment a generation of individuals tion is to select the elite (higher ®tness solutions) in the
consists of surviving individuals of the previous generation population and then reproduce them in proportion to their
and some new solutions or progenies from the previous relative ®tness.29 A parameter (elite fraction or e) controls
generation. While the GA is iterating, population size is what upper fraction of the population is treated as elite,
usually kept constant from one generation to the next. The many other variations are possible.
progenies are produced through reproduction, mating by It has to be noted that each chromosome must represent a
crossover and mutation of the individuals of the previous maintenance schedule of trains without any ambiguity. For
generation (parents). example, consider scheduling six trains according to chro-
Emulating their biological heritage, individual solutions mosome given in Figure 4. A schedule representing the
in the GA are also often referred to as chromosomes, their chromosome can be established as shown in Figure 3. Note
makeup being unique, consisting of the juxtapositioning of that the ®rst entry in the chromosome consist of units
subchromosomes, or genes, as in biology. It is the presence corresponding to the ®rst train scheduled, the second
of certain subchromosomes or genes that imparts each entry in the chromosome consists of units corresponding
chromosome its individual and sometimes unique charac- to the second train scheduled, and so on.
teristic. In the current scheduling practice at MTRC, an
experienced scheduler selects about 27 trains that require
maintenance in the next 12 months, and develops an
intuitive schedule manually. Therefore, we de®ned a
vector of 1 27 to represent an organism (chromosome).
Crossover
We want the vector to contain all the potential 27 trains that
require maintenance in the next 12 months (see Figure 4 for The `crossover' operator lets suitably chosen pairs of
a chromosome representing a schedule of six trains). The individuals mate with each other to produce progenies. In
total penalty for not satisfying due dates measures the our case, crossover is implemented slightly differently from
®tness of that organism. The GA begins with a population the manner it is done in simple numerical optimisation. One
of randomly generated vectors where trains are kept in a has to worry here about preventing infeasible solutions
random order. Each entry in the vector represents a train (schedules) from being created, using special methods
and its maintenance units. The maintenance requirements described below.
of units in each train determines the maintenance duration Different crossover operators can be used. We use `two-
of the train. Therefore, a maintenance schedule can be con- point' crossover in which two points are randomly selected
for dividing one parent. The elements outside the selected
two points are always inherited from one parent to the
child. The elements inside will be transferred from the
second parent as they appear in the order which is taken
from left to right, two children are produced in this way as
Figure 4 A Chromosome for scheduling six trains. illustrated in Figures 5 and 6.
C Sriskandarajah et alÐMaintenance scheduling of rolling stock using a genetic algorithm 1137

Figure 5 Parents.

Figure 6 Children.

Mutation achieved by proportional selection. The parents with higher


relative ®tness are used for reproduction with higher
A mutation in a chromosome may be equivalent to an
probabilities. This method is referred to as Roulette
adjacent pairwise interchange in the corresponding
Wheel Parent Selection. As a result, this method gives a
sequence. As the GA iterates, in each generation the `®ttest'
chance to even the weakest member of the population to
individuals reproduce and the least ®t die. The birth, death,
reproduce. Goldberg29 proposes selecting from only a top
and reproduction processes that determine the characteris-
fraction of the population. This is done by assigning a value
tics of the next generation of solutions can be a complicated
for the elite fraction (e). However, our GA considers all the
process. This process is a function of the ®tness levels of
members of the population (that is, e ˆ 1) whereby we give
the individuals of the current generation and the rates of
an opportunity to all members to reproduce in proportion to
mutation, crossover and reproductionÐthe controlling
their relative ®tness, we now write the steps of our GA. In
elements or operators of the genetic evolutionary process.
this procedure, ps stands for population size, pc stands for
`Mutation' is the other operator utilised in the genetic
crossover probability, pm stands for mutation probability,
algorithm, the mutation operator is a mechanism by
and ngen stands for the number of generations desired.
which local search is performed, by introducing small
Crossover probability gives the chance that a selected pair
changes (randomly) in the makeup of an individual. A
of parents will be crossed over. If not crossed over, they
few variations of mutation in seeking optimum schedules
remain as new children in the population. Similarly, muta-
are considered in the literature for scheduling problems, we
tion probability gives the chance that a child obtained by
use the `shift change' mutation. In this mutation, a column
crossover will be mutated.
of chromosome at one position is removed and put at
another position as shown in Figure 7. The two positions
are randomly selected. In Figure 7, the column 6 of child 1
Algorithm GA
is removed and inserted in between columns 2 and 3.
Selection of parents for reproduction requires the inge- Step 1. Initialise ps, pc, pm, ngen, set i ˆ 0
nuity of the GA user. Selecting good parents are likely to Step 2. Generate ps random vectors (sequences of trains)
produce good offsprings. On the other hand currently lesser Step 2.1. Set m ˆ 0
®t parents might produce the best ever offspring. Therefore Step 3. Select two parents from the population randomly
the trade-off between further exploiting promising regions and crossover as explained above to obtain two
of the search space while at the same time also exploring children. m ˆ m ‡ 1.
other regions has to be optimised. This optimisation is Step 4. Mutate the children based on mutation probability

Figure 7 Children.
1138 Journal of the Operational Research Society Vol. 49, No. 11

Step 5. Estimate the ®tness of the children therefore, that the optimisation of ps, pc, pm, etc. itself is a
Step 6. if m < ps=2 go to Step 3. global search problem and one that must be tackled in the
Step 7. Kill the weakest members of the population and problem domain of interest, before we apply the GA in a
record the current best sequence and the corre- `production run'. However, we note that rather little care is
sponding objective function value. extended at the present time to optimising the GA param-
Step 8. i ˆ i ‡ 1, if (i ˆ ngen) stop else go to Step 2.1. eters, before such production runs are made.
The GA search `process' is controlled by multiple factors
As with the parameterisation of GAs, these observations
(here starting conditions, ps, pc, pm) whose effects may
may be problem-domain speci®c rather than being valid in
possibly interact. It is also a process without a known
all situations. A key challenge in the application of GAs is
response structure. In order to ®nd good parameters, it
the optimisation of the computational effort in balancing
would then be natural to study the problem empirically for
exploration (of the solution space) and exploitation (of the
the various parameter settings. However, we caution GA
features of good solutions or sequences produced along the
users that the speci®c parameter values arrived at in this
way). This balance is affected greatly by the choices of the
manner may be strongly context-speci®c, and therefore not
different GA parameters, including population size (ps), the
valid in all GA applications or even in scheduling applica-
probability of crossing two parents (pc), and the probability
tions involving different problem structures and objectives.
of mutation (pm). The problem itself is one of optimisation,
The experimental layout for our maintenance scheduling
and guidelines here are still rather few.34,36
application was full factorial, involving three parameters
(factors) with two or three possible values each, judged to
be the likely suitable values. We select typical scheduling
Parameterisation of the GA
data for year 1996 at MTRC with 27 trains for our
A fundamental result in genetic algorithms, the schema experiment. Each `setting' in these experiments involved
theorem,29 by itself is insuf®cient to guide the effective use parameterising the GA according to the rows in Table 7 and
of GAs in global optimisation. It does not indicate what then running the GA from certain initial condition for a
speci®c values should be chosen for the different GA given number of generations (here 50), in a pilot run
parameters, namely ps, pc, pm, etc., and the different fashion. The objective value of the best schedule produced
schemes that introduce a controlled amount of randomness in each such run would be an indication of the parameters'
while the GA is executing. However, it is well known that combined performance. Furthermore, to remove the bias of
the GAs ef®ciency depends to a high degree upon the the starting sequence, ten randomly produced initial start-
selection of these `control parameters'.36 A further compli- ing (job) sequences were tested in each setting, providing
cation exists because it is also widely reported that `opti- the necessary replications; these ten starting sequences
mum parameter settings' may be problem-speci®c, and that were kept unaltered in each of the full factorial settings.
the effects of these parameters may interact. Indeed, Davis36 A good combination of parameter values would have two
noted that crossover and mutation effects can interact and properties. Firstly, it would produce a lower objective value
`support each other in important ways'. Moreover, he average of the best schedules reached in the replicated runs.
observes that a judicious blend of mutation and crossover Secondly, it would produce these best values with high
does better than either one alone to strike a good balance consistency, or a lower variance. Therefore, a well-parame-
between exploration of the total solution space and exploita- terised GA would converge towards the global optimum
tion of good solutions currently at hand. It is easy to see, rapidly, and consistently, regardless of the algorithm's

Table 7 Full factorial results for pilot GA runs for best objective value in 50 generations

Experiment
No. ps pc pm Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 8 Run 9 Run 10 Average
1 50 0.8 0.05 359.58 342.32 332.73 349.12 352.45 353.51 357.20 361.40 357.80 336.03 350.21
2 50 0.8 0.10 343.76 355.57 330.22 353.66 345.25 341.30 329.43 340.48 338.02 355.77 343.35
3 50 0.8 0.15 350.13 353.23 347.85 322.76 345.39 338.69 349.03 362.56 339.79 327.10 343.65
4 50 0.9 0.05 348.71 333.91 328.35 351.47 343.00 335.68 361.90 362.70 374.04 352.00 349.18
5 50 0.9 0.10 358.83 345.31 334.49 354.87 358.73 336.74 339.47 353.41 338.84 356.78 347.75
6 50 0.9 0.15 338.33 329.47 348.80 327.61 346.58 343.17 355.09 339.62 343.30 344.14 341.61
7 100 0.8 0.05 344.21 329.22 339.21 338.40 322.09 334.18 325.18 333.88 363.07 340.64 337.01
8 100 0.8 0.10 333.39 347.77 323.01 324.73 331.50 326.29 336.72 323.86 336.77 318.25 330.23
9 100 0.8 0.15 329.84 350.39 328.97 332.32 316.45 326.88 327.22 336.98 329.06 328.94 330.71
10 100 0.9 0.05 332.18 336.23 348.52 324.57 325.53 340.32 351.06 332.14 336.69 330.16 335.74
11 100 0.9 0.10 333.94 340.82 331.17 338.46 312.32 341.51 328.41 338.75 332.39 332.14 332.99
12 100 0.9 0.15 313.92 333.83 332.40 333.09 312.83 326.95 333.98 322.65 344.89 303.40 325.79
C Sriskandarajah et alÐMaintenance scheduling of rolling stock using a genetic algorithm 1139

starting condition. Consequently, the values ps ˆ 100, dates and holidays are given in days with reference to this
pc ˆ 0.9 and pm ˆ 0.15 were selected as the most appropriate starting date (see Tables 8, 9).
ones (Table 7). A similar result was obtained for the One hundred iterations of the GA with a random start
scheduling data for the year 1997. delivered a `best' sequence with the shortest objective
function value of 304.92. The sequence was J4, J5, J1, J6,
J 2, J 3, J 10, J 12, J 11, J 7, J 8, J9, J16, J15, J18, J14, J13, J21, J22,
Computational results
J17, J19, J20, J26, J23, J24, J25, J27. The corresponding
As indicated above, our methodology to seek an optimal schedule is given in Table 10. Several other good sequences
job sequence to minimise the total penalty for not satisfying were delivered along the way. Note that the manually
the due dates involved two stages. The ®rst aimed at established schedule (Table 11) at MTRC has the objective
parameterising the GA using pilot runs and a relatively function value of 422.87. We thus obtained a 27.89 percent
limited number of iterations. The second stage was the improvement which is equivalent to 11 793 844.30 Hong
production run of the GA incorporating the values of ps, pc Kong Dollars (approximately 0.95 million Sterling Pounds)
and pm uncovered in stage one. Thus, we set, ps ˆ 100, according to the monetary value attached to the weighting
pc ˆ 0.9, pm ˆ 0.15. scheme presented above, a similar result was obtained for
In order to compare the performance of our GA to the the scheduling data for the year 1996.
manual schedules developed at MTRC, the codes for the The computing time for each generation with a single
GA were rewritten in Turbo Pascal. All tests were randomised start was about 1.1 seconds (110 seconds for
performed on a Pentium (586) machine. We now describe 100 generations) on a Pentium (586) machine executing the
the performance of the GA for the year 1997 maintenance program code in Turbo Pascal. This requirement is rela-
scheduling problem with 27 jobs (trains). The data is given tively short when we consider the size of the solution space,
in Table 8. The workshop does not function during Sundays which is 27!, because of its permutative character. The
and public holidays. January 8, 1997 which is the start date effectiveness of the GA-based approach in delivering good
of the planning horizon, is set equal to day one, the due maintenance schedules, nevertheless, is evident.

Table 8 The data for 1997 scheduling problem with 27 trains

AC-odd AC-even BC D D
Train
Jj q1j k(1j) d1j q2j k(2j) d2j q3j k(3j) d3j q4j k(4j) d4j q5j k(5j) d5j
J1 221 4 7135 174 4 65 412 5 92 647 4 222 656 4 207
J2 235 4 119 144 5 102 451 5 142 659 4 245 633 4 235
J3 227 4 85 238 4 112 423 5 151 756 2 256 652 4 253
J4 157 4 132 170 5 113 461 4 186 675 4 273 674 4 259
J5 237 4 201 234 4 132 482 2 198 668 4 283 662 4 288
J6 245 4 220 190 5 132 484 2 202 666 4 299 671 4 293
J7 241 4 228 240 4 137 483 2 253 670 4 307 661 4 312
J8 265 2 243 112 4 139 419 5 260 686 4 327 665 4 319
J9 163 5 245 232 4 143 480 2 263 696 4 341 673 4 332
J10 125 5 265 132 4 171 444 5 281 690 4 347 655 4 353
J11 247 4 274 110 4 192 481 2 290 685 4 364 672 4 357
J12 165 5 277 230 4 208 447 5 292 682 4 370 708 4 379
J13 271 0 294 172 5 236 486 0 294 663 4 382 765 0 383
J14 121 6 315 258 2 248 470 5 298 664 4 388 764 0 383
J15 183 5 348 246 4 264 446 5 305 687 4 401 669 4 396
J16 147 6 353 186 5 286 467 5 312 667 4 417 657 4 426
J17 115 6 378 270 0 294 471 5 319 676 4 441 683 4 432
J18 203 5 381 116 6 297 448 5 323 684 4 445 692 4 455
J19 275 0 386 130 6 327 465 5 332 727 3 468 658 4 460
J20 273 0 393 128 6 348 472 5 341 689 4 475 729 3 482
J21 257 2 420 160 6 370 462 5 385 731 3 490 725 3 488
J22 119 6 425 180 5 375 485 2 356 730 3 501 732 3 496
J23 261 2 458 206 5 385 450 5 361 734 3 504 726 3 509
J24 145 6 458 272 0 385 443 5 368 770 0 509 735 3 514
J25 277 0 452 274 0 401 428 5 482 733 3 523 728 3 526
J26 209 5 472 104 6 438 440 5 489 742 3 538 738 3 530
J27 129 6 503 208 5 477 425 5 496 744 3 543 772 0 539
1140 Journal of the Operational Research Society Vol. 49, No. 11

Table 9 Public holidays for the year 1997 Table 11 Manual schedule: year 1997

5 12 19 26 30 31 32 33 40 47 Jj pj sj fj Schedule
54 61 68 75 80 81 82 83 88 89
96 103 110 117 124 131 138 145 152 153 J1 18 0 21 08 January±28 January
159 166 172 173 174 175 176 180 187 194 J2 20 12 38 20 January±14 February
201 208 215 222 223 229 236 243 250 253 J3 18 26 50 03 February±26 February
257 264 267 268 271 276 278 285 292 299 J4 18 41 62 18 February±10 March
306 313 320 327 334 341 348 352 353 355 J5 16 52 71 01 March±19 March
359 362 369 376 383 390 397 404 411 418 J6 19 62 87 11 March±04 April
J7 16 75 98 24 March±15 April
J8 19 89 111 07 April±28 April
J9 19 101 123 19 April±10 May
Table 12 provides more results for the year 1997 sche- J10 20 114 137 02 May±24 May
J11 16 128 147 16 May±03 June
duling problem at MTRC, note that the objective function
J12 20 138 162 26 May±18 June
value W and the corresponding percentage improvement r J13 18 153 178 10 June±04 July
obtained (from the best solution in the initial population) by J14 19 164 191 21 June±17 July
the GA heuristic at various generations are given. Each row J15 20 182 205 09 July±31 July
represents a randomised start with the manual schedule J16 20 196 219 23 July±14 August
J17 18 210 232 06 August±27 August
included as one member of its initial population, ngen ˆ 0
J18 20 223 246 19 August±10 September
represents the initial population. It has to be observed that J19 18 237 259 02 September±23 September
the GA improves the manual schedule ®nally converging J20 18 248 273 13 September±07 October
towards good solutions with objective function values J21 19 261 287 26 September±21 October
between 305 and 330. The percentage improvement of the J22 19 278 300 13 October±03 November
J23 22 290 316 25 October±19 November
solution is about 22±28% for each start from the solution
J24 18 307 328 11 November±01 December
obtained manually. Note that most of the improvement is J25 18 318 339 22 November±12 December
obtained within 50 generations. We observe similar results J26 21 330 357 04 December±30 December
in Table 13 for the year 1997 scheduling problem at MTRC. J27 20 345 372 19 December±14 January
Each row represents a randomized start where the manual

schedule is not included in the initial population. Note that


Table 10 GA schedule for year 1997 after 100 generations again the GA improves the schedule ®nally converging
Jj pj sj fj Schedule
towards good solutions with objective function values
between 305 and 340. The percentage improvement of the
J4 18 0 21 08 January±28 January solution is about 80±88% for each start from the initial best
J5 16 12 34 20 January±10 February
solution. It is possible to improve the solution in some cases
J1 18 21 45 29 January±21 February
J6 19 36 58 13 February±06 March by running the GA again with another randomized start but
J2 20 49 72 26 February±20 March with the previously obtained GA schedule included in its
J3 18 63 87 12 March±04 April initial population. In this case, in order to obtain good
J10 20 75 102 24 March±19 April performance of the GA, the mutation rate has to be
J12 20 93 116 11 April±03 May
increased to pm ˆ 0.25 and other parameters required to be
J11 16 107 126 25 April±13 May
J7 16 117 135 05 May±22 May set at the same previous values. For example, if we run the
J8 19 126 148 14 May±04 June GA again for the problem in row 5 of Table 13, the solution
J9 19 139 162 27 May±18 June is improved from the value 340.68 to 320.95.
J16 20 153 181 10 June±07 July We generate some random problems that resemble the
J15 20 167 195 24 June±21 July
real problem. Table 14 shows the objective function value
J18 20 185 209 12 July±04 August
J14 19 199 221 26 July±16 August obtained by the GA heuristic at various generations for
J13 18 212 234 08 August±29 August random problems. Each row represents a random problem
J21 19 225 247 21 August±11 September with a randomised start. The GA improves the schedule and
J22 19 238 261 03 September±25 September converges towards good solutions in each problem. The
J17 18 251 275 16 September±09 October
percentage improvement of the solution is about 55±65%
J19 18 264 288 29 September±22 October
J20 18 279 300 14 October±03 November for all the cases from the initial best solution.
J26 21 290 315 25 October±18 November In order to test the GA performance with respect to the
J23 22 306 331 10 November±04 December optimal solutions, we generate ten random problems whose
J24 18 322 343 26 November±16 December optimal function value is zero (that is, W ˆ 0). The ®rst ®ve
J25 18 334 357 08 December±30 December
problems that are generated from the year 1997 scheduling
J27 20 345 372 19 December±14 January
data with 27 trains, are obtained by generating random
C Sriskandarajah et alÐMaintenance scheduling of rolling stock using a genetic algorithm 1141

Table 12 GA runs for scheduling of 27 trains: year 1997 dataÐmanual schedule used in initialisation

ngen 0 10 20 30 40 50 60 70 80 90 100
1 W 422.87 421.25 368.92 352.67 334.94 330.46 328.03 328.03 328.03 328.03 328.03
r 0.0 0.38 13.00 16.60 20.79 21.85 22.43 22.43 22.43 22.43 22.43
2 W 422.87 398.52 358.19 326.71 321.60 310.21 306.84 306.84 306.84 306.84 306.84
r 0.0 5.76 15.30 22.74 23.95 26.64 27.44 27.44 27.44 27.44 27.44
3 W 422.87 420.05 389.00 346.76 335.97 327.79 319.99 316.35 313.80 313.14 313.14
r 0.0 0.67 8.01 18.00 20.55 22.48 24.33 25.19 25.79 25.95 25.95
4 W 422.87 416.61 360.78 325.42 320.75 319.04 317.66 317.66 317.66 317.66 317.66
r 0.0 1.48 14.68 23.04 24.15 24.55 24.88 24.88 24.88 24.88 24.88
5 W 422.87 408.00 366.31 335.73 326.71 320.64 320.51 314.40 313.91 313.91 313.91
r 0.0 3.52 13.37 20.61 22.74 24.18 24.21 25.65 25.77 25.77 25.77

Table 13 GA runs for scheduling of 27 trains: year 1997 dataÐManual schedule not used in initialisation

ngen 0 10 20 30 40 50 60 70 80 90 100
1 W 1817.72 928.94 424.23 365.42 350.73 336.98 332.06 320.19 308.24 307.44 307.44
r 0.0 48.90 76.66 79.90 80.70 81.46 81.73 82.38 83.04 83.09 83.09
2 W 2683.25 1013.18 402.61 368.20 347.91 338.61 331.06 330.12 330.12 330.12 330.12
r 0.0 62.24 85.00 86.28 87.03 87.38 87.66 87.70 87.70 87.70 87.70
3 W 1604.93 918.04 509.64 390.43 363.13 342.06 334.09 332.10 329.29 328.62 328.56
r 0.0 42.80 68.25 75.67 77.37 78.69 79.18 79.31 79.48 79.52 79.53
4 W 2600.45 1214.84 460.59 365.63 334.13 324.50 323.97 318.56 315.98 311.65 311.65
r 0.0 53.28 82.29 85.94 87.15 87.52 87.54 87.75 87.85 88.02 88.02
5 W 1629.66 961.15 439.72 395.23 378.50 359.87 352.07 343.81 340.68 340.68 340.68
r 0.0 41.02 73.02 75.75 76.77 77.92 78.40 78.90 79.10 79.10 79.10

Table 14 GA runs for scheduling of 27 trains: random problems

ngen 0 10 20 30 40 50 60 70 80 90 100
1 W 4137.94 2789.44 1791.59 1598.17 1516.79 1498.57 1490.43 1454.91 1450.21 1437.60 1433.26
r 0.0 32.59 56.70 61.38 63.34 63.78 63.98 64.84 64.95 65.26 65.36
2 W 7289.85 5538.73 4202.82 3527.55 3444.29 3426.32 3409.18 3402.71 3399.59 3336.51 3334.90
r 0.0 24.02 42.35 51.61 52.75 53.00 53.23 53.32 53.37 54.23 54.25
3 W 5338.29 3641.45 3084.79 2760.55 2647.53 2521.30 2518.21 2443.44 2395.73 2326.02 2326.02
r 0.0 31.79 42.21 48.29 50.40 52.77 52.83 54.23 55.12 56.43 56.43
4 W 5240.66 3337.89 2766.11 2711.68 2690.52 2674.46 2666.75 2652.03 2639.46 2580.86 2567.96
r 0.0 36.31 47.22 48.26 48.66 48.97 49.11 49.40 49.63 50.75 51.00
5 W 6863.44 4408.47 3361.20 2844.98 2680.29 2645.34 2643.03 2643.03 2630.69 2630.69 2630.69
r 0.0 35.77 51.03 58.55 60.95 61.46 61.49 61.49 61.67 61.67 61.67

Table 15 GA runs for scheduling of 27 trains: random problems

Problem No. 1 2 3 4 5 6 7 8 9 10
Optimal W 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
W by GA (100 gen) 4.69 2.76 5.47 4.77 7.83 4.40 3.42 1.76 7.66 3.33
Best initial 230.91 318.35 408.25 201.96 399.30 336.00 384.16 401.78 406.12 382.20
Worst initial 5788.86 5611.59 6064.92 7018.57 5246.51 6977.54 6835.24 7483.46 7405.35 6136.81
r (at 100 gen) 97.97 99.13 98.66 97.64 98.04 98.69 99.11 99.56 98.11 99.13
1142 Journal of the Operational Research Society Vol. 49, No. 11

schedules for trains then setting the due dates of all ®ve AC-odd unit form train Y having due date 24 requiring
units for each train equal to its ®nish time in the schedule. C0-check
Similarly, another ®ve problems are generated from the BC unit form train Y having due date 23 requiring C3-
recon®gured train data for the year 1997 (refer to next check
section for the details of recon®guring trains). For each D unit form train X having due date 25 requiring C4-
problem tested, Table 15 shows the optimal and GA solu- check
tions, and the corresponding percentage improvement r D unit form train Y having due date 26 requiring C6-
obtained by the GA at 100 generations. The table also check
provides the best and worst solution in the initial population.
Recon®gured Train 2 consists of the following:
The values of r indicate that the GA performs extremely
well on the tested problems. AC-even unit form train Y having due date 75 requiring
C5-check
AC-odd unit form train X having due date 91 requiring
Recon®gure trains for better schedule C1-check
As we pointed out earlier, recently the MTRC changed BC unit form train X having due date 89 requiring C0-
their maintenance policy from car based maintenance to check
train based maintenance, in the latter case, a train is D unit form train X having due date 72 requiring C6-
maintained as a single entity. This policy change creates a check
dif®cult maintenance scheduling problem. Due to their D unit form train Y having due date 78 requiring C4-
previous policy, the various units of a train actually running check.
in a line may require different maintenance requirements at Note that in order to satisfy the due dates, a schedule
different due dates. It is possible although not preferred, that needs to be established so that the maintenance of recon-
for the purpose of maintenance, the scheduler may request ®gured Train 1 is completed by the due date around 22
to dismantle the trains and then recon®gure them according while for the recon®gured Train 2, it can be ®nished by the
to the maintenance requirements and due dates of various due date around 72.
units in the trains. This ¯exibility may lead to a better In recon®guring trains, the scheduler must also balance
schedule with lower penalty. Consider the examples of the work load allocated to each train. Since manhours
typical maintenance requirements of two trains that are required by C-checks (Table 4) are different, it is undesir-
given in Tables 16 and 17. In this case, a scheduler may able to allocate three or more units requiring C5-check to
have to dismantle the trains X and Y shown in Tables 16 and one recon®gured train. Thus we are faced with the problem
17, respectively to recon®gure to form maintenance units as of recon®guring trains to provide a schedule that meets the
follows: due dates of their units as closely as possible and to balance
Recon®gured Train 1 consists of the following: the work load throughout the planning horizon (one year).
The workshop would like to obtain this balance through the
AC-even unit form train X having due date 22 requiring two following constraints.
C5-check
Constraint R1 Total manhours required to maintain a
Table 16 Overhaul maintenance requirement of train X
train should not exceed 22 days capacity of workshop (or
22 7.75 89 manhours).
Unit type Maintenance requirement Maintenance due date
AC-odd C1-check 91 Constraint R2 Total manhours required to maintain a
AC-even C5-check 22 train should not be less than 16 days capacity of workshop
BC C0-check 89 (or 16  7.75  89 manhours).
D C4-check 25
D C6-check 72 In our scheduling application, note that the number of
trains that can be maintained in the next 12 months is about
Table 17 Overhaul maintenance requirement of train Y 27 and each train has ®ve units. We now describe an
algorithm (called Switch) that improves the solution
Unit type Maintenance requirement Maintenance due date obtained for 27 trains by the algorithm GA of the previous
AC-odd C0-check 24 section. The idea behind the algorithm which is based on a
AC-even C5-check 75 local search procedure, is as follows. Let s ˆ {J1, J2, . . . ,
BC C3-check 23 Jn} be a sequence of jobs obtained by the algorithm GA.
D C4-check 78
D C6-check 26
Note that all the jobs ®rst satisfy the constraints R1 and R2,
as it was the original train con®guration given by the
C Sriskandarajah et alÐMaintenance scheduling of rolling stock using a genetic algorithm 1143

workshop at MTRC. The algorithm Switch ®rst starts by Table 19 Schedule for year 1997 after recon®guring the trains
calculating the total penalty improvements achieved by
interchanging the AC-odd unit of the ®rst job J1 in the Jj pj sj fj Schedule
sequence s with the AC-odd unit of all other jobs Jj, j ˆ 2, J4 20 0 23 08 January±30 January
. . . , n. Then it interchanges a pair of AC-odd units that still J5 20 14 41 22 January±17 February
satis®es the constraints R1 and R2 and provides the largest J1 16 28 50 05 February±26 February
J6 19 41 63 18 February±11 March
improvement. A tie is broken arbitrarily. The procedure is
J2 18 54 74 03 March±22 March
repeated for all other AC-odd units of jobs Jj, j ˆ 2, . . . , n. J3 19 65 92 14 March±09 April
Similarly, all the possible interchanges are considered for all J10 20 78 106 27 March±23 April
AC-even, BC and D units as described above. J12 19 97 119 15 April±06 May
For the year 1997 scheduling problem, we obtain the J11 20 110 133 28 April±20 May
J7 20 124 147 12 May±03 June
objective function value of 229.65 which corresponds to a
J8 18 138 160 26 May±16 June
total of 45.69% improvement (equivalent to 19 320 930.30 J9 18 149 171 06 June±27 June
Hong Kong Dollars or approximately 1.55 million Sterling J16 20 162 190 19 June±16 July
Pounds) from the original manual schedule. Note that this J15 19 181 203 08 July±29 July
total improvement corresponds to the improvement made J18 21 194 218 21 July±13 August
J14 19 209 232 05 August±27 August
by both algorithms GA and Switch. The composition of
J13 20 223 246 19 August±10 September
trains and the schedule after the recon®guration are shown J21 19 237 260 02 September±24 September
in Tables 18 and 19, respectively. According to the sche- J22 18 250 274 15 September±08 October
dule given in Table 19, the recon®gured train J1 starts its J17 19 262 288 27 September±22 October
overhaul maintenance on 05 February 1997. By comparing J19 18 279 300 14 October±03 November
J20 16 290 309 25 October±12 November
Tables 8 and 18, we note that the recon®gured train J1 is
J26 21 300 324 04 November±27 November
formed by switching AC-odd, AC-even, BC and D units J23 18 315 336 19 November±09 December
from the original trains J4, J5, J4 and J5, respectively. Only J24 19 327 349 01 December±22 December
one D unit (serial number 647) remains unchanged in J1. J25 18 339 364 13 December±06 January
The recon®guration of train J1 alone involves another two J27 18 353 375 27 December±17 January

Table 18 Train composition after recon®guration

AC-odd AC-even BC D D
Train
Jj q1j k(1j) d1j q2j k(2j) d2j q3j k(3j) d3j q4j k(4j) d4j q5j k(5j) d5j
J1 157 4 132 234 4 132 461 4 186 647 4 222 662 4 288
J2 237 4 201 174 4 65 423 5 151 659 4 245 652 4 253
J3 125 5 265 238 4 112 482 2 198 756 2 256 674 4 259
J4 221 4 7135 144 5 102 412 5 92 675 4 273 671 4 293
J5 235 4 119 170 5 113 451 5 142 668 4 283 656 4 207
J6 227 4 85 190 5 132 484 2 202 666 4 299 633 4 235
J7 121 6 315 172 5 236 448 5 323 686 4 327 665 4 319
J8 245 4 220 132 4 171 470 5 298 667 4 417 673 4 332
J9 241 4 228 110 4 192 419 5 260 690 4 347 657 4 426
J10 165 5 277 240 4 137 444 5 281 696 4 341 655 4 353
J11 163 5 245 112 4 139 446 5 305 670 4 307 661 4 312
J12 265 2 243 232 4 143 447 5 292 682 4 370 708 4 379
J13 115 6 378 186 5 286 465 5 332 687 4 401 764 0 383
J14 247 4 274 258 2 248 467 5 312 676 4 441 729 3 482
J15 147 6 353 180 5 375 480 2 263 663 4 382 765 0 383
J16 183 5 348 230 4 208 471 5 319 685 4 364 672 4 357
J17 257 2 420 160 6 370 462 5 385 727 3 468 692 4 455
J18 203 5 381 206 5 385 483 2 253 664 4 388 669 4 396
J19 261 2 458 116 6 297 481 2 290 730 3 501 658 4 460
J20 145 6 458 270 0 294 486 0 294 689 4 475 725 3 488
J21 119 6 425 130 6 327 472 5 341 731 3 490 735 3 514
J22 271 0 294 246 4 264 450 5 361 684 4 445 683 4 432
J23 129 6 503 104 6 438 440 5 489 770 0 509 726 3 509
J24 273 0 393 208 5 477 485 2 356 733 3 523 728 3 526
J25 275 0 386 274 0 401 428 5 482 742 3 538 738 3 530
J26 209 5 472 128 6 348 443 5 368 734 3 504 732 3 496
J27 277 0 452 272 0 385 425 5 496 744 3 543 772 0 539
1144 Journal of the Operational Research Society Vol. 49, No. 11

trains (J4, J5). It has to be noted that a total of 87 switches trains in order to improve the schedule that dramatically
are required to recon®gure all 27 trains, which represents a reduces cost.
considerable logistic problem to bring the trains together at The maintenance schedule for the year 1997 was
the workshop as the trains are very busy running in three submitted to the workshop at MTRC for implementation.
different lines. In fact, the maintenance manager was very pleased with the
GA solution. However, the proposal for the recon®guration
of trains was not adopted, as it involves a large number of
Algorithm switch switches of units between trains, this was considered
Step 1: s, sequence of jobs obtained by algorithm GA, impractical since each switch consumes a lot of time and
s ˆ {J1, J2, . . . , Jn}. Wo, the total penalty for not manpower and the resources available to perform this
satisfying the due dates of jobs in the sequence s. additional task is limited at the workshop. However, in
Step 2: For k ˆ 1 to v do the future, the MTRC is willing to explore this possibility
Begin with a very limited but feasible number of switches that
For i ˆ 1 to n do improves the solution signi®cantly. It is also recommended
Begin that MTRC adopts a longer term planning horizon, such as
rˆ0 two years, and revises the train schedule annually or
For j ˆ 1 to n do whenever such a need arises. In this way, the MTRC
Begin could move towards global optimisation of their system
For jobs Ji and Jj (i 6ˆ j) interchange units rather than the current short term local optimisation invol-
qv,i and qv, j. ving the schedule of 27 trains.
If Constraints R1 and R2 are satis®ed, then
AcknowledgementsÐThis research was supported by the Hong Kong
Begin Polytechnic University (Grant No. 351=318). The authors would like to
Calculate the new total penalty W for s. thank Mr TP Lo, Operations Engineering Manager and his staff of the Hong
if W < Wo then Kong Mass Transit Railway Corporation for their outstanding support and
Begin valuable insights during the course of this research.
rˆj
Wo ˆ W References
End 1 Conway RW, Maxwell WL and Miller LW (1967). Theory of
End Scheduling. Addison-Wesley: Reading Massachusetts.
Interchange units qv,i and qv, j back in jobs 2 Baker KR (1974). Introduction to Sequencing and Scheduling.
Wiley: New York.
Ji and Jj.
3 Lawler EL, Lenstra JK, Rinnooy Kan AHG and Shmoys DB
End (1993). Sequencing and scheduling: algorithms and complexity.
if r > 0 then switch units qv,i and qv,r in jobs In Graves SC et al (eds). Handbooks in Operations Research
Ji and Jr. and Management Science 4 North Holland, Amsterdam
End 445±552.
4 Pinedo M (1995). Scheduling: Theory, Algorithms and Systems.
End
Prentice Hall: New York.
Terminate. 5 Paz NM and Leigh W (1994). Maintenance Scheduling: Issues,
Results and Research Needs. Int J Opns and Prod Mgmt 14: 47±
69.
6 Jardine AKS (1973). Maintenance, Replacement and Relia-
Conclusions bility. Pitman Publishing: London.
In this paper we have described the use of genetic algo- 7 Jardine AKS (1979). Solving industrial replacement problems.
IEEE Proceedings of the 1979 Annual Reliability and Main-
rithms for a dif®cult maintenance scheduling problem tainability Symposium IEEE, New York 136±141.
encountered in a service organization providing public 8 Kralj B and Petrovic R (1988). Optimal preventive maintenance
transport by means of an underground railway system. scheduling of thermal generating units in power systems: a
Computational results indicate that the genetic algorithm survey of problems formulations and solutions methods. Eur J
is highly effective and can routinely deliver close to Opl Res 35: 1±15.
9 Kralj B and Petrovic R (1995). A multiobjective optimisation
optimal solutions for this problem. The performance of approach to thermal generating units maintenance scheduling.
the algorithm compares well with manual schedules estab- Eur J Opl Res 84: 481±493.
lished by the Hong Kong Mass Transit Railway Corpora- 10 Escudero LF (1982). On maintenance of production units. Eur J
tion (MTRC) for the years 1996 and 1997. A total cost Opl Res 9: 264±274.
improvement of about 25% is obtained for both years. The 11 Hyunchul K, Nara K and Gen M (1994). A method for
maintenance scheduling using GA combined with SA. Comp
present work supports the view that genetic algorithms can and Indust Engng 27: 477±480.
provide good solutions to dif®cult maintenance scheduling 12 Christer A and Doherty D (1977). Scheduling overhauls of
problems. We also propose a method to recon®gure the soaking pits. Opns Res Q 28: 915±926.
C Sriskandarajah et alÐMaintenance scheduling of rolling stock using a genetic algorithm 1145

13 Sule DR and Harmon B (1979). Determination of co-ordinated 25 Hall NG, Kubiak W and Sethi SP (1991). Earliness-tardiness
maintenance scheduling frequencies for a group of machines. scheduling problem ii: deviation of the completion times about
AIIE Trans 11: 48±53. a restrictive common due date. Opns Res 39: 847±856.
14 Hariga M (1994). A deterministic maintenance-scheduling 26 Fry T, Armstrong, R and Blackstone J (1987). Minimizing
problem for a group of non-identical machines. Int J Opns weighted absolute deviation in single machine scheduling: a
and Prod Mgmt 14: 27±36. Survey. IIE Trans 19: 445±450.
15 Duffuaa SO and Ben-Daya M (1994). An extended model for 27 Ow P and Morton T (1989). The single machine early-tardy
the joint overhaul scheduling problem. Int J Opns and Prod problem. Mgmt Sci 35: 177±191.
Mgmt 14: 37±43. 28 Dowsland KA (1996). Genetic algorithms-a tool for OR? J Opl
16 Chakravarty AK and Balakrishnan N (1995). Impact of job- Res Soc 47: 550±561.
sequence on the down-time of a deteriorating ¯exible machine. 29 Goldberg DE (1989). Genetic Algorithms in Search, Optimiza-
Eur J Opl Res 87: 299±315. tion and Machine Learning. Addison-Wesley, Reading: Massa-
17 Anily S, Glass C and Hassin R (1994). The scheduling of chusetts.
maintenance service. Report No. OR57, University of South- 30 Connolly DT (1992). General purpose simulated annealing.
ampton, Faculty of Mathematical Studies, Southampton, UK. J Opl Res Soc 43: 495±505.
18 Banerjee A and Burton S (1990). Equipment utilization based 31 Glover F (1989). Tabu Search-Part I. ORSA J on Comput 1:
maintenance task scheduling in a job shop. Eur J Opl Res 45: 190±206.
191±202. 32 Glover F (1990). Tabu Search-Part II. ORSA J on Comput 21:
19 Graham RL, Lawler EL, Lenstra JK and Rinnooy Kan AHG 4±32.
(1979). Optimization and approximation in deterministic 33 Holland JH (1975). Adaptation in Natural and Arti®cial
sequencing and scheduling: a survey. Annals of Discrete Mathe- Systems. The University of Michigan Press: Ann Arbor.
matics 5: 287±326. 34 Chen CL, Vempati VS and Aljaber N (1995). An application of
20 Lawler EL (1977). A pseudopolynomial algorithm for sequen- genetic algorithms for ¯owshop problems. Eur J Opl Res 80:
cing jobs to minimize total tardiness. Annals of Discrete 389±396.
Mathematics 1: 331±342. 35 Murata T and Ishibuchi H (1994). Performance evaluation of
21 Lenstra JK, Rinnooy Kan AHG and Brucker P (1977). genetic algorithms for ¯owshop scheduling problems. In:
Complexity of machine scheduling problems. Annals of Proceedings of the IEEE Conference on Genetic Algorithms
Discrete Mathematics 1: 343±362. IEEE, New York 812±817.
22 Garey MR and Johnson DS (1979). Computers and Intract- 36 Davis L (Ed) (1991). Handbook of Genetic Algorithms. van
ability: a Guide to the Theory of NP-Completeness. W.H. Nostrand Reinhold: New York.
Freeman and Company: New York.
23 Baker KR and Scudder G (1990). Sequencing with earliness and
tardiness penalties: A review. Opns Res 38: 22±36.
24 Hall NG and Posner M (1991). Earliness±tardiness scheduling
problem i: weighted deviation of the completion times about Received April 1997;
common due date. Opns Res 39: 836±846. Accepted June 1998

Potrebbero piacerti anche