A Heuristic Genetic Algorithm for the Crew
Scheduling Problem
Sara Nasser Fall 2001
CS department UNR
Abstract. Crew Scheduling comes in the category of scheduling problem like timetable
scheduling, open shop scheduling, etc. These scheduling problems are hard in general
and cannot be solved in polynomial time. A lot of work has been done to solve crew
scheduling problem using different heuristics. Genetic Algorithms have been known to
offer successful techniques to solve these problems. Especially if the genetic algorithm
is combined with certain heuristics it can yield good results. The objective of this paper
is to solve the Crew scheduling problem using various rules to select the crew and to
find the optimal solution for the given problem. This paper attempts to show that the
rules that are used by conventional programming methods can also be used in Gas to
get optimal results.
Introduction. Crew Scheduling problems often occur in real world, in airline and bus
transmit system. There has been lot of significant work to solve this problem using
various techniques including Genetic Algorithms.
The crews scheduling problems involves assigning crew to a given number of tasks and
reduce the overall cost of doing it. There are N number of tasks to be performed by K
crews, where (K< N). The problem is of assigning the K crews to the N tasks. Each
task has associated with it a cost, the time limit in which it has to be performed. The
cost of a task can contain two costs one of performing it and the other cost which was
incurred for the crew to get to the task if they had a previous task. An example of it
would be: travel time and cost incurred when a crew at a location is assigned a task at
another location. The problem therefore is to minimize the total cost such that each task
is performed only once and the time taken to perform them does not exceed the total
time.
Emma Hart and Peter Ross have done similar work for job shop scheduling. They use
a Heuristic combination method to solve the job shop problem. The heuristics for
selecting the next job from a set of jobs is selected based of Giffler and Thompson
Algorithm. Hsaio-Lan Fang has also done a theoretical paper to solve the Timetable
scheduling problem. He describes a model of GA, which has columnar chromosomes,
uses uniform crossover and smart mutation. J.E. Beasley and B. Cao use a tree search
algorithm for solving the crew scheduling.
There have been many attempts to solve NP Hard problems in polynomial time, and
GAs offer a promising way to get that. Moreover if the genetic algorithm is combined
with certain heuristics then it has more potential. Thus my approach is to try using
certain heuristics or guidelines to gear up the GA to get optimal or sub-optimal results.
I use certain rules to assign the available crew to the next task to be performed. This
eliminates the problem of assigning an already working crew to a job, or a crew, which
did not have enough rest, etc. Thus minimizing the total cost.
The Crew Scheduling Problems
Literature Survey
Crew Scheduling problems include wide variety of problem including the airline crew
system, the bus transit system etc. There has been a lot of work to solve the
optimization problems. One of prominent works is the tree search algorithm for crew
scheduling by J.E.Beasley and B.Cao. The problem is considered as a tree in which the
nodes represent the tasks and the arcs between two nodes represent a transition of a
crew from one tasks to another. Each arc has a cost associated with it that incurs with
the transition. The problem is therefore to find crew paths (of minimal total cost) such
that each task is performed exactly once and the total working time involved in each
path does not exceed the available working time T. Another significant paper was using
a set partition algorithm to solve the CSP. In this the representation was using the rows
for the tasks and columns for the crew. CSPs can also be efficiently solved using
Branch and bound and Branch and cut methods.
A number of crew scheduling papers can be classified as
Generate and cost an initial set (S) of candidate feasible crew schedules.
1. Formulate the problem of selecting from S a minimum cost subset that performs all
tasks either as a set covering problem(SCP) or as a set partitioning problem
2. Solve the SPP/SCP using appropriate algorithms
Genetic Algorithms
Besides traditional methods, Genetic Algorithms offer promising solutions to crew
scheduling problems as to any other scheduling or NP-Hard problems. Genetic
algorithms can be used to solve optimizations problems where the problem space is
huge and trying all possibilities is not an option. An example of that can be a problem
to assign 200 crews to 500 tasks. Thus genetic algorithms are very efficient in these
kinds of problems because they are faster and offer promising solutions.
There has been previous work on CSPs using Genetic algorithms. One such paper is by
Application of Hybrid GA to Airline Scheduling by David Levine. In this paper he uses
a set partitioning technique to represent his problem. He uses a simple GA with simple
crossover, mutation and selection. In this paper he tries to apply certain heuristics
locally to get the optimum. Emma Hart and Peter Ross and Hsaio-Lan Fang have
presented papers in related fields of OSSP and JSSP. Emma Hart and Peter Ross
present a heuristic genetic algorithm to solve the JSSP.
Heuristic Based GA
The first problem associated with the GA is the representation. There have been
‘extreme’ approaches to represent the individuals. The Heuristic GA uses a simpler
approach in which the chromosome is represented as a set of ordered numbers. The
ordering of the numbers corresponds to the tasks and the contents at the location are the
crew, which is assigned to perform the tasks. The second thing that simplifies the GA is
having the tasks in order of their starting times. This reduces the span time and also
gives an easier way to assign crew to the earlier tasks first. There is no encoding
involved.
The Heuristic GA to solve the CSP problem can be divided into the following sub
problems
Create a list of crew that can perform the next task
The first issue is to assign a task a valid crew which can perform that tasks and its time
does not conflict with any other tasks that crew is performing. Thus the approach used
is to generate a feasible set of crews that can be assigned to the next waiting task.
Screening the Tasks
Dorndorf and Pesch algorithm proposed a ‘priority-rule-based’ algorithm incorporating
the Giffler and Thompson algorithm for the JSSP problem. This used a chromosome
(p1,p2,…p j*m), where gene pi encoded a dispatch rule to be used to resolve the conflicts
produced by the G&T algorithms. Thus this has been used on many benchmark
problems to solve the JSSP problems. The algorithm used in the heuristic GA is based
on these previous algorithms, which tries to reduce the make span. The algorithm
works as follows from the selected list of feasible crews for the next task it selects the
crews such that the ones those have less than average of the total transaction cost are
selected.
Use a set of rules to assign crew to the next task
The final work is to assign this crew to the tasks. To do this a set of heuristics are
followed. Which are listed in the following section. After a crew is assigned to each of
the tasks the regular GA is run.
GA Parameters:
Representation
The GA uses single dimensional arrays to represent the chromosome. The length of the
chromosome is the number of tasks to be scheduled. A cell represents a task. The index
of the cell gives the number of the tasks. This representation is simpler since we will
have all our tasks placed in order of their start time. The content of the cell is the crew
number, in other words each cell contains a number, which is the crew, which will be
performing the task. The figure below shows the representation:
c13 c24 c3 c4 c10 c3 c7 …..…….. ck-2 ck-1 c1
j1 j2 j3 j4 j5 j6 j7 …………… jn-2 jn-1 jn
Crossover:
A uniform crossover is used with a probability of 0.3 that a chromosome is changed.
Uniform crossover performs well with scheduling problem.
Mutation:
A smart mutation is used for this problem. The smart mutation operator mutates a
choosen genome with another one based on how much effect the mutation has on the
overall cost. Hsaio-Lan Fang proposed this kind of mutation in his paper for Time
Table Scheduling. It gets some inside information about the problem and then performs
the mutation. Such as the genome having the highest cost is taken and is replaced by
another with a lower cost. Thus ensuring that the new chromosome has the same cost or
lesser than the previous.
Selection:
For selecting the genes for the next generation an Elitist selection is used. Which
preserves the best gene in the population and moves it to the next generation.
Heuristic Combination Methods
There are certain constraints for the CSP while selecting the crew for the next task.
These can be generalized as follows select a crew having
-Maximum flight time
-Maximum total duty time, total flight time
-Minimum interval time
Keeping in mind the regulations the set of heuristics are as follows
_________________________________________________________
Rule Description of the rule______________________________
RND Select a random crew
LCT Select a crew that has the least cost of transaction
LCT2 Select the second least cost of transaction
HCT Select the highest cost of transaction
HCT2 Select the highest cost of transaction
ETM Crew having the highest elapsed time
ETP Crew having least elapsed time
________________________________________________________
LCT: From the total n crew available for the K tasks select all the crews who can
perform this task. Selecting the feasible crew for the task requires checking which crew
do not have a task assigned currently and which of them can move from a previous task
to the present one. From this set select the task , which has the least cost of transaction.
If the crew is being assigned a task for the first time the cost of transaction is 0, hence
implying that this is the best task.
LCT2: Selects the second least cost of transaction from the selected crew.
HCT: Selects the highest cost of transaction from the selected crew.
HCT2: Selects the second highest cost of transaction from the selected crew.
RND: This selects a random crew from the given set of feasible ones.
ETM: Selects a crew, which has the minimum elapsed time that it’s the time between
its previous job and the present one is the least.
ETP: Selects the crew having the most elapsed time between its previous task and the
present. If the crew has not performed any tasks yet then its elapsed time is higher.
All the crew a first pre selected based on whether they can perform the job and then we
apply the heuristics.
Results
The results were achieved for a population size of 1000. Average value for 10 runs is
taken. We are interested in the most optimal solution we and not in the average or
maximum.
No of Tasks No of Crew Generations Avg of min Avg of avg Optimal Value
50 31 100 1925 3634.43 1888
30 100 2710 3712.26 2233
29 500 2486 4233.82 2486
100 48 500 4483.0 7493.37 4483
47 100 6562.97 9119.32 4604
46 500 5197.86 9757.52 4751
150 73 500 7493 8675.85 5224
72 200 9296 12849.4 6844
71 200 6991 12330.96 6991
Analysis
Thus we can see the results of the GA and can compare with the results obtained by the
tree search algorithm by Beasley and Cao.
No of Tasks No of Crew Optimal Value from Tree Alg Optimal Value using GA
50 31 1872 1888
30 2092 2233
29 2399 2468
100 48 3905 4483
47 4107 4604
46 4310 4751
150 73 5551 5779
72 5754 6844
71 5999 6991
The GA performs well on smaller input but as the input and also does not deteriorate
too much for higher inputs. The cost for a schedule gets high if it is not optimal this is
due to the fact that we are adding a huge penalty on tasks which were not scheduled for
their proper time. The time deflection is very small.
The GA gets very close to the optimal but never really touches it; this could be
attributed to the rules used.
The solution for this problem is to reschedule the whole gene if any one of them is does
not fall within the time frame. This rescheduling works as follows:
If a task does not have a crew, then search for any previous task and replace its crew
with this one. Then our problem will be to schedule this task.
This rescheduling works because not all tasks have limitation on their transaction form
one to another so if the first task could not get any crew, then we have chances that this
crew may get some crew. This rescheduling can also be performed based on some
insight about the task we are getting the crew from. Like look for a task, which has a
huge number of transaction arcs, in other words can be reached form other tasks. (the
results above are not from rescheduled tasks).
The GA for this problem performs well with a uniform crossover and an Elitist
selection. When one point crossover was used it did not give good results. Similarly by
using elitist Selection we preserve the best individual thus getting an optimal solution.
Conclusions
This paper presents an approach for solving the Crew Scheduling problem based on GA
with Heuristics for local hill climbing and to give the GA a start. The paper works well
for a range of input and can solve relatively large problems.
Thus we can infer that a combination of traditional programming, heuristics and
Genetic algorithm can resolve a hard scheduling problem.
Future Work or Improvements
Future work can be done in areas to have more heuristics as can be seen that adding
heuristics significantly improves the GA.
So adding more rules can enhance the GA to find the optimal solution.
Then there can be exploration of more GA parameters to solve larger problems.
The algorithm can be generalized to solve related scheduling problems such as
timetable scheduling.
More real world parameters can be included instead of just having them summed up as
cost.
Implement rescheduling which considers some insight about the data.
References
-A tree search algorithm for the crew scheduling problem by J.E.Beasley, B. Cao.
-Genetic Algorithms in Timetabling and scheduling by Hsaio-Lan Fang
-A heuristic Combination Method for solving Job-Shop Scheduling Problems by Emma
Hart and Peter Ross
-Job-Shop Scheduling by Peter Ross, Hsiao-Lan Fang and Dave Corne
-Application of Hybrid GA to Airline Scheduling by David Levine
-Using Genetic Algorithms to schedule Distributed Tasks on a bus based System by
Michelle D. Kidwell