i wan't to develop as a high school time-tabling system. the school has streams ranging from 4 to 7(maximum) streams and teaches more than 20 subjects. can somebody give me the required logic/or algorithm to enable me develop it.
1.Each teacher should be in one class during a given session/period of study e.g from 8:30 am - 9:00 am mr. geoffrey in form three north,mr. ndegwa in form four south etc.
2. No two lessons should collide i.e a class should have one teaching lesson at a particular time interval
3. A subject should have at most two lessons per day(in case of double lesson, it should be consecutive) and at most five lessions per week i.e from monday to friday.
4. No teacher should be allocated more than 28 lessons in a week.
5. A subject should not have all its lessons exhausted in a single day i.e all lessons of a particular subject should be spread out.
6. a lesson takes 30 minutes and all lessons starts from 8:30 am and ends 4:30 pm. a teacher should not have a lesson throughout this period i.e a teacher should have at least one period/interval off teaching.