Embed
Email

46NASSER GA

Document Sample

Shared by: Kerala g
Categories
Tags
Stats
views:
1
posted:
12/13/2011
language:
pages:
12
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



Other docs by Kerala g
union-budget-2012-13-highlights
Views: 89  |  Downloads: 0
notification M.Tech_05-03-09
Views: 58  |  Downloads: 0
India_Customs Regulation 1
Views: 55  |  Downloads: 0
CE Notification 39-2011-12.9.2011
Views: 53  |  Downloads: 0
STATISTICS
Views: 71  |  Downloads: 0
A Hero (R.K. Narayan)
Views: 88  |  Downloads: 6
RRBPatna-Info-HN
Views: 100  |  Downloads: 0
RRB-Notice-Para
Views: 102  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!