Please complete the form below to notify us of your personal details and timetabling constraints. Once you have submitted the form, you will receive a copy of your completed form, which will act as a confirmation of receipt to the Timetables Office.
The standard teaching week is Monday to Friday 09.00-18.00. Please only state hard constraints e.g. due to clashing work or caring commitments, not simply preferences not to teach on a particular day or time, this is to give us maximum flexibility when building the timetable.
Some Departments/Institutes have meetings or Research Seminars which members of the Department should all be available to attend. If this applies to your Department/Institute this time should be marked as unavailable on the constraints form.
TimeTables - Constraints - TeachersWindows (gaps) in teachers timetablesWe have teacher who teaches only 2 days per week and it doesn't matter whichTeacher is teaching 2 lessons per week in class 5A but both are in the afternoon.How to specify min and max lesson teacher shall have on one day?We need one free Math teacher for every period in weekHow could be distributed the first/last lessons for all teachers in equality?Our class teachers always have to teach the 1st lessonOur teachers cannot teach more than 6 lessons consecutivelyHow to specify a teacher can teach only one 7th lessonWe have 10 day timetable (two weeks), I want to spread teacher's lessons equally into these 2 weeksHow to ensure lunch break for teachersEach teacher shall have one or two free afternoonTwo teachers cannot teach at the same timeTeacher cannot teach 4th in Grade 5 and 5th lessons in Grade 6Teacher must have some lessons in the morningWe need two free teachers on each period to make sure we have enough teachers for substitutionsTeacher cannot teach both in the morning and in the afternoonOur teachers have substitution duty lessons, we need min 2 at each periodTeacher cannot teach in two different classes in one dayTeacher can teach max 2 periods per day in one classTwo teachers are teaching together, but only 3 times per week out of 5 lessons (lessons with assistant)Teacher cannot teacher more than 3 consecutive periods in one classHow to ensure that teacher starts teaching with 1st or 2nd period (he cannot start later than 2nd)Teacher cannot have gap of length 2Teacher cannot teach both 6th and 7th period. He can teach only one of these two.Teacher can teach max 5 lessons per day, but only twice in weekOur teacher must teach in consecutive days Teachers can not teach more than 3 consecutive periods without counting Planning timeOur teachers can teach max 5 days in two weeks timetableOur teacher teach two different subjects but they need at least one period gap between.Our teachers can teach only three different week days in three weeks timetableHow can I define that teacher can have max 3 consecutive periods(but he can have 2 doubles)
TimeTables - Constraints - SubjectsMax one history lesson on 6th-7th position in each class (solution 1)Max one history lesson on 6th position in each class (solution 2)Two subjects cannot follow/Cannot be on the same day.Distribution of subject over the weekI do not want my geography to be on Friday and then on MondayI want subject in one class to be on the same positions as subject in another classWhat if 2 specific subjects must be taught simultaneously?I need subject Math to be on the same position in classes 5.A and 5.BTwo subjects must follow each otherSpreading lessons on different periods each dayI want to have Math lessons in a class on the same period every dayI need subject Geography to be last lesson on a day in classes 5.A, 5.B, 5.C...Modifying the default card distribution per week for the subjectI want just one PE/Art/Drama lesson per dayI have Geography two times per week. It shall not be on consecutive days.How can I define lessons that can be outside teaching block(in the afternoon)?There can be two maths on one day, but not consecutivellyThere can be two math lessons on one day, but they need to be placed consecutivellyBiology cannot be on the day after ChemistryDouble lessons must be before single lessonsBiology has to be in the afternoon in certain classes and in the morning in other classes5A has to have Biology right before or after biology in 5B (the two classes have to have biology lesson on consecutive periods)French and Spanish language lessons can be in one day, but with a gap at least 2 periodsHow to distribute lessons in multiple weeks timetable.
TimeTables - Constraints - ClassesHow to specify that class can have max one 7th lesson or max one 0lesson?Education block - Checking of gaps in class timetablesEducation block - allow some classes to come later or to leave school earlier.Education block - How to allow gaps in class timetablesCan I set the min/maximum number of lessons per day for one class?Avoid single lesson after lunch break.Both groups have to finish the education at the same time!What does the warning 'The entered timetable is probably not complete' mean?How to apply constraints to whole gradesClass can have max 2 gaps per dayChildren can come to the school on second period, but only once per weekOur school works in two shifts, some classes come in the morning, some in the afternoonMath can not be right after PE, but it can be before or at least one period laterPainting lessons in class must have gap at least 2 free days.The children cannot finish after 8th period, there is no bus after period 8 on our school...
TimeTables - Constraints - ClassroomsOptimizing the room usage for studentsAt least one lesson per week has to be in certain classroomWe have 3 lessons per week and they shall be in the same classroomLesson can be only once per week in certain classroomReducing the room usageGymRoom can only be used 4 days per week(GymRoom has to be free on 3 afternoons)Concentrate groups of lessons into fewer classrooms
TimeTables - Constraints - Terms/WeeksStudent has to finish Biology before he can attend Biology practiceSubject has to be in consecutive weeks/termsTwo subjects have to be at the same time in both weeks/terms
TimeTables - Constraints - OtherIs it possible to prevent two specific lessons from being taught simultaneously?Specify how many lessons shall be before certain positionGroups have to start at the same timeI have double and single lessons but doubles cannot be on MondayMaximum one planning time lesson per dayBiology in 5A has to be only on Wednesday (or Biology cannot be on Wednesday)What does "Apply to" mean in the cardrelationships?What does the time map in advanced cardrelationships mean?Double lesson cannot be over certain breaksDouble lesson cannot be on Monday (specific days/periods/part of the day)Checking room capacityDouble lessons can not start on even periods
I want to schedule tasks with Constraints (similar to the job shop scheduling problem) and thought I could use something like the Microsoft Solver Foundation (I need to use C#). But as far as I know you can only solve problems by finding the optimal maximal or minimal which takes way to long. I need an approximation so the scheduling is not optimal (as good as possible) concerning the total time but all the Constraints are fulfilled.Any ideas how to approach this problem?
I would suggest you using Z3 solver. It provides you C# API. Basically, it is a SMT solver, which searches for 'good enough' solution with respect to given constraints. It could be rather difficult to define your problem in SMTLIB language.
If it's too hard for you, look at Minizinc or Clingo solvers - just generate problem formulation as a text file, run a solver as a separate process from your C# code, parse solution back from output text file.
If you want to minimize a length of a schedule, you can try the following approach. Let's assume that there is a schedule of length K. Is your planning problem satisfiable under this assumption? Let's call a solver to find this out! Generate several problems with different K's and run the solver iteratively. Use binary search to reduce the number of trials.
I have to implement an algorithm that generates a timetable for a university. I've searched and found a lot of algorithms. But here is the problem. I need an algorithm that generates a timetable for the whole semester, not on a weekly base. It should also consider the predefined order of the course's parts, e.g. exercise 1 should be after lecture 2 and before lecture 3. Do you have any suggestions?
UPDATE:
I have the following hard constraints:
H1: Only one course part is assigned to each room at any time slot.
H2: The room can host all attending students and satisfies all features required by the event.
H3: No student attends mode than one course at the same time (at least the obligatory courses)
H4: No teacher teaches more than one course part at the same time.
The soft constraints are:
S1: A course part should be not allocated to a time slot inconvenient for a lecturer.
S2: There should be a minimal number of gaps between classes of a teacher.
S3: There should be a minimal number of gaps between classes for student.
S4: Classes should satisfy lecturer preferences - days and time slots.
S5: Course parts should be scheduled to predefine order.
You might want to look into interval scheduling. It sounds like you would need a modified version that added some constraints such as where the exercises are allowed to be placed. Greedy algorithms are usually rather easy to modify, and there's a whole bunch of already modified versions of the basic IS algorithm.
I ended up with a modified algorithm of the one suggested here. I used the Iterative Forward Algorithm and then applied the simulated annealing for the soft constraints. I changed the timeslots set, so that it contains the whole set of timeslots for the semester without the weekends and the holidays. For example, if the semester has 6 weeks and for each week I have 40 hours, then my set of timeslots will contain the whole 240 timeslots.
64591212e2