430 likes | 548 Views
FINAL EXAM SCHEDULER (FES). By Ersan ERSOY ( Engineering Project) Advisor: Assist.Prof.Dr. Ender ÖZCAN. Department of Computer Engineering Faculty of Engineering & Architecture Yeditepe University. Outline. Timetabling Problem Timetabling Markup Language (TTML)
E N D
FINAL EXAM SCHEDULER(FES) By Ersan ERSOY (Engineering Project) Advisor:Assist.Prof.Dr. Ender ÖZCAN Department of Computer Engineering Faculty of Engineering & Architecture Yeditepe University
Outline • Timetabling Problem • Timetabling Markup Language (TTML) • Genetic Algorithms (GAs) • Implementation • Experiments • Conclusion & Future Work
Timetabling Problem • Assignment of variables (courses, exams etc.) to some specific domains (time slots, rooms, etc) based on various constraints. • NP-complete problem. • Hard and soft constraints.
Examination Timetabling • Represented as (V, D, C) • V contains variables (exams), • D contains domains (time slots , rooms), • C contains constraints. • Constraint classifications : • Edges. • Preset and exclusions. • Ordering. • Event-spread. • Capacity. • Aim in this project is to assign exams to time slots.
Solution Approaches • Human based techniques. • Random search. • Simulated annealing. • Tabu search. • Evolutionary algorithms.
Timetabling Markup Language (TTML) • Standard representation for timetabling problems. • Based on XML and MathML • Consists of three parts. • Input-data. • Output. • Test-results.
TTML (Cntd.) • Input-data • Author. • Description. • References. • Variables. • Domains. • Constraints. • Classifiers • Hard • Soft
TTML (Cntd.) • Classifiers • Base • Parent • Projection • Self • Child • Single
TTML (Continues) • Supports 11 different constraint functions. • notsame • nooverlap • preset • exclude • ordering • eventspr • fullspr • freespr • chksum • attrcomp • resnoclash
Genetic Algorithms (GAs) • GAs were introduced by J. Holland. • Member of Evolutionary Algorithms (EAs) • Simply explained as : • Set i to 0 and randomly generate an initial population (P(i)) • Do until break criteria is satisfied • Evaluate the fitness of each individual • Select parents of the next generation from P(i) according to their fitness • Produce new offspring by using crossover and mutation operators and put them into P(i+1),set i to i+1
Components of GAs (Cntd.) • Chromosomes. • Gene. • Population. • Representation • Binary encoding. • Real value encoding. • Initializing Population
Components of GAs (Cntd.) • Evaluating chromosomes • Fitness function. • Mate Selection. • Fitness-based selection • Rank-Based selection • Tournament Selection
Components of GAs (Cntd.) • One-point Crossover
Components of GAs (Cntd.) • Two-point Crossover
Components of GAs (Cntd.) • Uniform Crossover
Components of GAs (Cntd.) • Mutation • Randomly alters the values of genes of a chromosome after crossover. • Replacement Strategy • Trans-generational Genetic Algorithms. • Steady-State Genetic Algorithms. • Elitism
Components of GAs (Cntd.) • GA Parameters • Crossover probability. • Mutation probability. • Population size.
GAs (Cntd.) • Memetic Algorithms (MAs) • In GAs, crossover and mutation usually performs solutions near the local optima • Memetic Algorithms (MAs) can be explained as hybridization of GA and local search algorithms. • Gene in GAs is called meme in MAs.
Implementation • Three different programs are implemented. • CONFETI generates examination problem data in TTML format. • Final Exam Scheduler (FES) that takes problem input in TTML format and finds the optimum solution. • FESViewer is implemented to view the output of FES
Implementation (CONFETI) • Java applet. • Support generating TTML documents for examination timetabling problem. • Consists: • Description • Domain • Variable • Classifiers • Students • Curriculum • Base Classifiers • Constraints • Capable of loading TTML documents
Implementation (FES) • Java application • Solves examination problems. • Deals with different types of constraints that can be converted to TTML form by CONFETI.
FES • Getting TTML Document and Basic Data Structures. • Each course (variable) in TTML document stored in a class (Variable) that contains duration (length of the exam), number students, list of hard domain slots, list of soft domain slots. • Hard domains are initialized according to hard preset and exclude constraints. • Soft domains are initialized according to soft preset and exclude constraints. • This class contains a function that returns random slots according to hard and soft domain for each course.
FES • Getting TTML Document and Basic Data Structures. • Each student information, student id and courses that he takes, are stored in memory after reading from input in a array of array form with a length of student number.
FES • Getting TTML Document and Basic Data Structures.. • FES supports nine types of constraints that CONFETI supports. But it does not support every combination of these constraints. The set of constraints that FES generally does not support is: • Constraints with parent classifiers other than Students parent classifier. • Constraints which take two base classifiers as arguments. • For eventspr, constraints that have compare value other than ‘<’ .
FES • Getting TTML Document and Basic Data Structures.. • If a preset or exclude constraint is defined to a course than, modifications are implemented on the hard and soft domains of the courses. • If two courses must have same slot, same slot references are given to them.
FES • Algorithm • A Memetic algorthm is used. • Representation • Each meme contains assigned slot number of an exam. • Evaluating chromosomes • Fitness function Where w i is the weight of the constraint ci.
FES • Algorithm • Initializing Population • Random • With hill climbing. • Mate Selection • Fitness-based selection • Rank based Selection • Tournament Selection • Crossover • One-point • Two-point • Uniform
FES • Mutation • Random • Random & Swap • Hill Climbing • Each constraint has an hill climbing function to improve its fitness except for eventspr and some combinations.
FES • Hill Climbing • Pseudo code for hill climbing function of notsame • If there exits a violation between course A and B • Set counter to 0 • While counter is less than 10 • Get a random slot for B • if violation is improved • return; • Increment counter by one. • Set counter to 0 • While counter is less than 10 • Get a random slot for A • if violation is improved • return; • Increment counter by one.
FES • Hill Climbing • Two hill climbing algorithm is defined • HCA1 • A chromosome is selected by using tournament selection. And hill climbing functions of all defined constraints is applied.
FES • Hill Climbing • HCA2 • Select a chromosome by tournament selection • Step1. Select a constraint • Use hill climbing function to whole chromosome • If individual is improved go to Step1. • Step2. Select a constraint • Use hill climbing function to a part of chromosome • If individual is improved go to Step2. • Step3. Select a constraint • Use hill climbing function to one gene of chromosome • If individual is improved go to Step3.
FES • Replacement strategy • Steady-state • Trans-generational • Other Features & User Interfaces • GA parameters, operator types, weight of constraints can be entered. • Any time, output ( examination schedule) can be viewed in student, department and faculty view and can be saved for examining later by FESViewer.
Implementation(FESViewer) • Java application. • Displays the output of FES.
Experiments • Experimental data • Yeditepe University, Faculty of Engineering and Architecture, 2004 second semester, final exam data are used in the experiments.It consists of 443 courses, 1169 students • Constraints • No students must have two exams in one slot (hard). • Students must have maximum 2 courses per day (hard). • Each section of the courses has to be assigned on the same slot (Hard). • Students have at least one free slot between two exams in a day (soft). • Also there are many preset and exclude constraints (hard or soft).
Experiments • Experimental data Hard constraints have a weight value of one and soft constraints except for the fourth constraint have weight value of 0.01. Fourth constraint’s weight is 0.075. • Constant parameters
Experiments • Variable parameters Total of 24 different configuration and 20 runs for each configuration is made.
Experiments • Results • Results are grouped by the operator type to make compare between the types of each operator.
Experiments • Crossover
Experiments • Mutation
Experiments • Mate Selection
Experiments • Hill Climbing • HCA1 with two-point crossover, random mutation, and tournament selection can be best configuration.
Conclusion & Future Work • Experimental results show that hard constraints are easily solved. But few soft constraint violations remain. • An early configuration is made for the algorithm by examining tests results • In future, CONFETI and FES can be modified to support room assignments, and their constraints.