Timetable Evaluation
To check the value of a solution, we first consider the hard constraints, and every violation of a hard constraint counts as one. Hard violations are:
Lectures: A missing (or extra) lecture.
Conflicts: Two conflicting lectures in the same period (three conflicting lectures count as 3 violations: one for each pair).
RoomOccupancy: Two lectures in the same room at the same time (any extra lecture in the same time and room counts as one more violation).
Availabilities: Each lecture in an unavailable period
The Distance to Feasibility is simply the total of these numbers.
After checking this, the solution will be clasified based on the satisfaction of the soft constraints. The penalty to be applied each time a soft constraint is violated is the following;
RoomCapacity: For each lecture, the number of students that attend the course must be less or equal than the number of seats of all the rooms that host its lectures. Each student above the capacity counts as 1 point of penalty.
MinimumWorkingDays: The lectures of each course must be spread into a minimum number of days. Each day below the minimum counts as 5 points of penalty.
CurriculumCompactness: Lectures belonging to a curriculum should be adjacent to each other (i.e., in consecutive periods). For a given curriculum we account for a violation every time there is one lecture not adjacent to any other lecture within the same day. Each isolated lecture in a curriculum counts as 2 points of penalty.
RoomStability: All lectures of a course should be given in the same room. Each distinct room used for the lectures of a course, but the first, counts as 1 point of penalty.
A timetable's quality is therefore reflected by two values: the Distance to Feasibility (hopefully 0), and the number of soft constraint violations. In order to compare two solutions, we will use the following procedure:
First, we will look at the solution's Distance to Feasibility. The solution with the lowest value for this will be the winner.
If the two solutions are tied, we will then look at the number of soft constraint violations. The winner will be the solution that has the lowest value here.
We advise you to make use of the validator in order to make sure that
you have understood the constraints.