Download a parallel genetic algorithm for solving the school time tabling problem

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Genetic algorithm wikipedia , lookup

Transcript
A PARALLEL GENETIC
ALGORITHM FOR SOLVING THE
SCHOOL TIME TABLING
PROBLEM
SUMALATHA
WHAT IS SCHOOL TIMETABLING?
• SCHEDULING TEACHERS, ROOMS AND
CLASSES INTO A FIXED NUMBER OF PERIODS
SUCH THAT NO TEACHER OR CLASS OR ROOM
APPEARS MORE THAN ONCE IN A PERIOD(NO
CLASHES).
• A PARTICULAR COMBINATION OF A TEACHER,
CLASS AND ROOM IS CALLED AS A TUPLE.
WHAT IS SCHOOL TIME TABLING? CONT..
•EACH PERIOD IS SCHEDULED WITH SOME TUPLES
SUCH THAT THERE ARE NO CLASHES.
•EFFICIENCY OF A TIMETABLE IS ESTIMATED BY
COUNTING THE NUMBER OF CLASHES IN EACH
PERIOD.
•LESSER THE COUNT GREATER THE EFFICIENCY
PERIOD:
TUPLE 1
TUPLE 5
TUPLE 4
TUPLE 9
TUPLE 10 TUPLE 7
TIME TABLE:
PERIOD 1
TUPLE 4
TUPLE 5
TUPLE 8
TUPLE 1
TUPLE 12
PERIOD 2
TUPLE 10
TUPLE 5
TUPLE 9
TUPLE 11
TUPLE 6
TUPLE 6
TUPLE 9
TUPLE 15
TUPLE 1
|
|
PERIOD N TUPLE 3
WHY GENETIC ALGORITHMS?
•GENETIC ALGORITHMS ARE USED TO
GENERATE A BETTER SET OF SOLUTIONS
(NEW POPULATION) FROM A GIVEN SET
OF SOLUTIONS (OLD POPULATION) BY
USING CROSSOVER AND MUTATION.
•IF THE NEWLY FORMED CHILD SUITS THE
ENVIRONMENT, THEN THE PROBABILITY
THAT THE CHILD SURVIVES INCREASES.
•AVERAGE FITNESS OF THE POPULATION
INCREASES WITH EACH GENERATION.
APPLICATION OF GA TO TIME
TABLING PROBLEM
• EACH PERIOD REPRESENTS A CHROMOSOME.
• EACH TUPLE REPRESENTS A GENE.
• SELECTION OF PARENTS:
• RANDOM SELECTION METHOD IS USED TO
SELECT PARENTS(TIME TABLES) FROM THE
POPULATION.
• CROSSOVER OR MATING:
• CROSS OVER IS DONE BETWEEN THE
CORRESPONDING PERIODS OF THE
TIMETABLE.
• RANDOM CROSSOVER METHOD IS USED.
MUTATION:
• RANDOM MUTATION METHOD IS USED.
• HERE, MUTATION IS CHANGING THE PERIOD
OF A TUPLE.
• A TUPLE IS SELECTED RANDOMLY FROM A
PERIOD AND MOVED TO A RANDOMLY
SELECTED PERIOD.
• CROSSOVER AND MUTATION ARE APPLIED TO
THE OLD POPULATION FOR A FIXED NUMBER
OF GENERATIONS OR TILL NO PERFECT
INDIVIDUAL IS LEFT.
PARALLEL IMPLEMENTATION:
• MATING IS HIGHLY CONCURRENT, i.e.
CROSSOVER IS INDEPENDENT OF REST OF
THE POPULATION.
• THIS SECTION IS IMPLEMENTED IN PARALLEL
USING SHARED MEMORY MULTIPROCESSORS.
• NUMBER OF GENERATIONS AND SIZE OF THE
POPULATION(NO OF CHILDREN TO BE
GENERATED) ARE ASSUMED BEFOREHAND.
• CREATION OF CHILDREN IS DISTRIBUTED
AMONG THE PARALLEL PROCESSORS.
• EACH PROCESSOR IS RESPONSIBLE FOR A
FIXED NUMBER OF CHILDREN.
• CARE IS TAKEN THAT NO TWO PROCESSORS
WILL GENERATE SAME CHILD.
ALGORITHM:
while number of generations < limit & no perfect
individual
{
for each child in the population
{
choose two living parents at random from old
population
create an empty child
for each period of the parents
{
mate corresponding periods
Copy new child period to corresponding
position in child
}
Apply mutation to randomly selected
period and tuple
Measure fitness of the child
if fitness < minimum allowed fitness then
Set child status to born dead
else
Set child status to living
end if
}
OLD POPULATION = NEW POPULATION
}
CONCLUSION:
• WHILE USING THE OLD POPULATION:
• TWO PROCESSORS MAY ACCESS SAME
PARENT.
• CRITICAL REGIONS ARE NOT REQUIRED
BECAUSE PARENTS ARE USED IN READ ONLY
MODE.
• WHILE CREATING THE NEW POPULATION:
• CRITICAL REGIONS ARE NOT REQUIRED IN
CHILD CREATION BECAUSE EACH CHILD IS
CREATED BY ONLY ONE PROCESSOR.
• BARRIER LEVEL SYNCHRONISATION IS
REQUIRED AT THE END OF EACH
GENERATION.
PERFORMANCE OF SEQUENTIAL GA
DATA
TUPLES CLASESS
TEACHERS ROOMS FINAL
COST
GENER
ATIONS
1
2
3
4
5
6
7
100
150
200
250
300
90
120
15
15
15
15
15
3
4
7
31
102
198
445
307
4098
15
15
15
15
15
3
4
15
15
15
15
15
3
4
0
0
0
0
0
0
0
SPEEDUP OF TESTS ON DATASET 7
DAT
A
TUPLE
S
POPUL
ATION
1
PROC
2
PROCS
3
4
PEAK
PROCS PROCS SPEED
UP
7
120
120
752
376
197
108
9.3/10
PROC
S
7
120
200
1886
921
431
205
9.2/10
PROC
S