title: Time table Generation using Genetic Algorithms in java
body: <p>I am trying to seek a solution for timetable generation using Genetic Algorithms(GA).
  In my scenario i view a timetable of 6 days. Monday to Saturday.</p>
  
  <p>Each day is divided into number of lectures/Time slots.(maximum no. of lectures are 6 in a day/Each time slot if 1 hr so that means 6 hours for a day)</p>
  
  <p>I have tried to represent a Class consisting of Teacher,Student Group(set), and a lecture.
  I maintain a pool of possible teachers,possible subjects and possible student groups.
  And i randomly assign them to these Class.</p>
  
  <p>so a Class is collection of all these references.
  so for each time slot we have the Class object representation in it.
  similarly a day is made up of number of lectures Class object representation.
  and so on with the week making up of 6 days.</p>
  
  <p>A set of possible constraints that i have is:</p>
  
  <blockquote>
    <p>1.A teacher can take only one lecture in one time slot<br>
    2.A teacher can take a set of subjects(finite)<br>
    3.A teacher can be unavailable on a certain day<br>
    4.A teacher can be unavailable on a certain timeslot<br></p>
  </blockquote>
  
  <p>And other constraints as it may be included lately.</p>
  
  <p>Can anyone give me a idea about how to represent these constraints or handle these constraints? and how to calculate the fitness scores depending on constraints?</p>
  
  <p><strong>EDIT : The implementation is here</strong> <a href="https://github.com/shridattz/dynamicTimeTable" rel="nofollow">https://github.com/shridattz/dynamicTimeTable</a></p>