140 likes | 241 Views
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).
E N D
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
TIME TABLE: PERIOD:
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.