HOW TO MAKE A TIMETABLE USING GENETIC ALGORITHMS Introduction with an example.

Slides:



Advertisements
Similar presentations
Timetabling with Genetic Algorithms. Timetabling Problem Specifically university class timetabling Specifically university class timetabling Highly complex.
Advertisements

Crew Pairing Optimization with Genetic Algorithms
CS6800 Advanced Theory of Computation
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Exact and heuristics algorithms
1 Transportation problem The transportation problem seeks the determination of a minimum cost transportation plan for a single commodity from a number.
A PARALLEL GENETIC ALGORITHM FOR SOLVING THE SCHOOL TIME TABLING PROBLEM SUMALATHA.
Tuesday, May 14 Genetic Algorithms Handouts: Lecture Notes Question: when should there be an additional review session?
Non-Linear Problems General approach. Non-linear Optimization Many objective functions, tend to be non-linear. Design problems for which the objective.
1 IOE/MFG 543 Chapter 14: General purpose procedures for scheduling in practice Section 14.5: Local search – Genetic Algorithms.
1 Lecture 8: Genetic Algorithms Contents : Miming nature The steps of the algorithm –Coosing parents –Reproduction –Mutation Deeper in GA –Stochastic Universal.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
A new crossover technique in Genetic Programming Janet Clegg Intelligent Systems Group Electronics Department.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Research Trends in AI Maze Solving using GA Muhammad Younas Hassan Javaid Danish Hussain
Evolutionary Computation Application Peter Andras peter.andras/lectures.
Genetic Algorithms Nehaya Tayseer 1.Introduction What is a Genetic algorithm? A search technique used in computer science to find approximate solutions.
Chapter 6: Transform and Conquer Genetic Algorithms The Design and Analysis of Algorithms.
Optimization via Search CPSC 315 – Programming Studio Spring 2008 Project 2, Lecture 4 Adapted from slides of Yoonsuck Choe.
Brandon Andrews.  What are genetic algorithms?  3 steps  Applications to Bioinformatics.
Pawel Drozdowski – November Introduction GA basics Solving simple problem GA more advanced topics Solving complex problem Question and Answers.
Genetic Algorithm.
Slides are based on Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems.
Soft Computing Lecture 18 Foundations of genetic algorithms (GA). Using of GA.
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Introduction to Evolutionary Algorithms Session 4 Jim Smith University of the West of England, UK May/June 2012.
Applying Genetic Algorithm to the Knapsack Problem Qi Su ECE 539 Spring 2001 Course Project.
FINAL EXAM SCHEDULER (FES) Department of Computer Engineering Faculty of Engineering & Architecture Yeditepe University By Ersan ERSOY (Engineering Project)
EE459 I ntroduction to Artificial I ntelligence Genetic Algorithms Kasin Prakobwaitayakit Department of Electrical Engineering Chiangmai University.
Richard Patrick Greer.  The Neonatal ICU in Providence Alaska Medical Center would like a scheduling system to assign nurses to babies based on numerous.
2005MEE Software Engineering Lecture 11 – Optimisation Techniques.
Learning by Simulating Evolution Artificial Intelligence CSMC February 21, 2002.
1 Genetic Algorithms K.Ganesh Introduction GAs and Simulated Annealing The Biology of Genetics The Logic of Genetic Programmes Demo Summary.
Introduction to Genetic Algorithms. Genetic Algorithms We’ve covered enough material that we can write programs that use genetic algorithms! –More advanced.
Genetic Algorithms What is a GA Terms and definitions Basic algorithm.
Genetic Algorithms. 2 Overview Introduction To Genetic Algorithms (GAs) GA Operators and Parameters Genetic Algorithms To Solve The Traveling Salesman.
EE749 I ntroduction to Artificial I ntelligence Genetic Algorithms The Simple GA.
Genetic Algorithms. The Basic Genetic Algorithm 1.[Start] Generate random population of n chromosomes (suitable solutions for the problem) 2.[Fitness]
GENETIC ALGORITHM Basic Algorithm begin set time t = 0;
Neural Networks And Its Applications By Dr. Surya Chitra.
HKOI 2012 (Senior) Q4 - Gene Mutation Gary Wong For any question, please ask via MSN:
1 Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations Genetic Algorithm (GA)
Why do GAs work? Symbol alphabet : {0, 1, * } * is a wild card symbol that matches both 0 and 1 A schema is a string with fixed and variable symbols 01*1*
Genetic Algorithms. Underlying Concept  Charles Darwin outlined the principle of natural selection.  Natural Selection is the process by which evolution.
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
Agenda  INTRODUCTION  GENETIC ALGORITHMS  GENETIC ALGORITHMS FOR EXPLORING QUERY SPACE  SYSTEM ARCHITECTURE  THE EFFECT OF DIFFERENT MUTATION RATES.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
Overview Last two weeks we looked at evolutionary algorithms.
1 Comparative Study of two Genetic Algorithms Based Task Allocation Models in Distributed Computing System Oğuzhan TAŞ 2005.
Genetic Algorithm(GA)
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
 Presented By: Abdul Aziz Ghazi  Roll No:  Presented to: Sir Harris.
Genetic Algorithm (Knapsack Problem)
Introduction to Genetic Algorithms
Using GA’s to Solve Problems
Chapter 14 Genetic Algorithms.
Genetic Algorithms.
USING MICROBIAL GENETIC ALGORITHM TO SOLVE CARD SPLITTING PROBLEM.
A Study of Genetic Algorithms for Parameter Optimization
CSC 380: Design and Analysis of Algorithms
Bin Packing Optimization
Artificial Intelligence (CS 370D)
Genetic Algorithms CPSC 212 Spring 2004.
CS621: Artificial Intelligence
EE368 Soft Computing Genetic Algorithms.
Searching for solutions: Genetic Algorithms
A Gentle introduction Richard P. Simpson
Genetic algorithms: case study
CSC 380: Design and Analysis of Algorithms
Presentation transcript:

HOW TO MAKE A TIMETABLE USING GENETIC ALGORITHMS Introduction with an example

BACKGROUND  First step: Think what kind of requirements there are for the timetable For example number of students, classes and classrooms, size of classrooms, equipments in classrooms etc.  Second step: Divide these requirements by their importance Hard requirements: for example a teacher or student group can have only one class at a time, a classroom must have enough seats to all students, a classroom must have all the equipments the class requires. If one is broken, then the timetable is infeasible!! Soft requirements (can be broken): for example preferred classroom or time of class by teachers, distribution of classes for student groups or teachers.  All the requirements above depend of course on the situation

BACKGROUND  In the following example only hard requirements are implemented. They are: A teacher can have only one class at a time, A student group can have only one class at a time A classroom must have enough seats to all students A class should be scheduled exactly once

OBJECTS/CLASSES  Next step is to consider the objects that are needed in the programming. They can be for example: Teacher (Id, name, list of classes etc) Students group (Id, name, number of students, a list of classes, etc) Classroom (Id, name, number of seats, etc) Course (Id, name, id) Class (Reference to the course to which the class belongs, a reference to the teacher and to the student group, number of seats required in a classroom)

CHROMOSOME  Classes (genes) are located in chromosomes (timetables)  we need a slot for each hour, for every room and for every day.  In the following example: We assume that all classes are 75 min long, cannot begin before 8.15 am, and should finish before or at 16 pm (so max 5 lessons/day), and working days are from Monday to Friday (5 days total) We can use a table with a size 5*5*number_of_rooms.

CHROMOSOME  One slot in the example (timetable[time][day][roomId]:

FITNESS  The timetables should also store its so called fitness value  As previously mentioned, in the example only hard requirements are used to calculate the fitness of a timetable.  Each class can have (integer) points from 0 to 4 points. If a class is located in a classroom with enough available seats we increment its score. If a teacher has no other classes at the time, we increment the class's score once again. If a student group has no other classes at the time, we increment the class's score once again. The last thing that we check is if every class is scheduled exactly once. If class is not scheduled at all, we find a empty slot and put the class in it. If it is scheduled more than once, we delete all “extra” classes from the timetable (so from this the class will always get one point!)

FITNESS  The total score of a timetable is the sum of points of all classes.  The fitness value is calculated as (total score of timetable)/(number_of_classes*4)  The fitness values are represented by floating point numbers between 0 to 1.

LET’S BEGIN THE PROGRAMMING  First we create the population and a few timetables (for example randomly) to start the process  Then we evaluate the fitness value of each timetable created so far  If no timetable reaches fitness value, we move on to the Genetic Algorithm

GENETIC ALGORITHM  First we must: consider how many timetables are going to survive organize the timetables by their fitness value  GA operations: Selection Crossover Mutation Evaluation of the offspring and re-organisation of all the survived ones If solution is not found, we will start all over

SELECTION  There are many ways of doing the selection of two member of the population (parents). There can or cannot be a favoritism etc.  Basic idea: parts of a good solution are also good building block i.e. using them we can highly probably build better and better solutions. (Alander)

CROSSOVER  There are also many different ways of doing the crossover.  For example there can be a fixed crossover rate. If so, we pick a random number between 0 to 1 and if the crossover rate is bigger than the random number, we do the crossover operation to the selected parents.  A single point crossover:  After crossover we have 2 ”children”

MUTATION  Usually there are some fixed mutation rate (for example 0.01).  For each class (a slot in the timetable) we pick a random number between 0 and 1. If the mutation rate is bigger than the random number, we randomly choose another class from the current timetable and swap it with the current class

RESULT  The main goal is to find a timetable that has fitness value 1.

RESULT  Sometimes it can take too long or can be even be impossible (?!) to find the most optimal solution.  There can be a fixed number of maximum trials and after that we just accept the situation and pick the best one found so far