The aim is to solve a timetable planning problem for a group in the computer science bachelor degrees in this E.T.S. of Computer Systems Engineering. The timetable planning problem consists of distributing N courses, each with a number of hi hours per week, in a timetable of M days with k hours per day, ensuring that the following constraints are met:
Each hour of each course must be taught on a different day and time, i.e. there can be no overlapping of hours. No more than 2 hours of the same course can be taught on the same day.
The aim is to find a timetable that takes into account the following preferences:
The timetable should be as continuous as possible, i.e. there should be no or minimal gaps in the day between courses. The timetable should be as compact as possible, i.e. as few days as possible should be used. If a course has more than one hour per day, these hours should be consecutive.