2.6.2. Dealing with Constraints

For this scenario, the admin deals with all of the constraints that affect the scheduling process. There are two types of constraints: absolute and preferred. Preferred constraints can be adjusted in order of priority, but the absolute constraints are set and cannot be moved, changed, or violated. The preferred constraints are:  distance between classrooms, time constraints, course constraints. More preferred constraints include the type of classrooms needed (such as included equipment in the rooms). The admin decides on these constraints, therefore professors don’t put preferences on these aspects and are not adjusted in the processes of this scenario. The reason for this is because classrooms are automatically paired with courses based on what is required of the courses. This was explained in section 2.5.3.  The absolute constraints are: No double-booking (2 or more classes in the same room at the same time). In the case that instructors get undesired schedules, the admin may choose to manually override the constraints in order to attain a fairer schedule that is more desirable to the particular instructor(s).

The admin has the ability to edit the preferred constraints by first navigating to the constraints dialog. This is done by selecting the “Edit Instructor Preferences” item under “Database”. The admin is taken to the Select Instructor dialog which is shown in figure 2.6.2-1.

Figure 2.6.2-1: Select Instructor Dialog

The admin proceeds to choose the professor whose constraints need to be edited. After selecting the professor he then clicks on the “Edit Constraints” button. The admin is taken to the Edit Constraints dialog for that professor.

Figure 2.6.2-2: Edit Constraints Dialog

The scheduler will generate a schedule using guidelines specified in this dialog. The constraints are ordered by priority, which means that the scheduler will try to satisfy the highest priority constraint first, then the subsequent constraints in order from highest to lowest priority. Each instructor has individual constraint orders, which means a change in the order for one instructor will not affect the constraint orders of any other professor. The default settings of these priorities are Course preferences as first, Time preferences second, and Distance preferences third.

The admin then prioritizes these constraints in the order desired by clicking on the dropdown boxes beside each of the constraints. Two or more constraints cannot have the same priority, e.g., if the admin tries to set Course Preferences to first priority and Time Preferences are already selected as first priority, Course Preferences will now become 1st priority and Time Preferences will be automatically changed to second or third, depending on the priority level of the Distance Between Classes constraint. The admin then selects “OK” if finished with editing the constraints, or “Cancel” to exit this dialog.

After editing the constraints and selecting “OK”, the new constraint settings will be applied, and the admin proceeds to generate another schedule which may change the results of the schedule. The effects of the various ways of prioritizing these constraints are as follows.

When the user selects Course Preferences to be the first priority constraint, the Scheduler will schedule instructors based primarily on their course preferences. For example, if an instructor has a Time Preference of 1 for a certain time but their Course Preference is 9 and the only section of that course is at the low-preference time, the Scheduler will give the instructor the course at that time.

When the user selects Time Preferences to be the first priority constraint, the Scheduler will schedule instructors based primarily on their time preferences. For example, if an instructor has a Course Preference of 9 for a certain course but their Time Preference is 1 and the only section of that course is at the low-preference time, the Scheduler will not give the instructor the course.

When the user selects Distance Between Classes Preferences to be the first priority constraint, the Scheduler will schedule instructors based primarily on their distance preferences. For example, an instructor’s Course Preference is 9 for a certain course and the only section of that course is 50 meters away. If the Distance Between Classes Preference is less than 50 meters, then the Scheduler will not give the instructor that class.

Next are examples of these preferred constraints being met and not being met, depending on the settings chosen by the admin.

The figure below shows a schedule that has already been generated. So far only one professor has been added. Assuming this professor has entered “15” meters for distance preferences, “10” for a CPE-102 course, and “1” for a CPE-101 course, it is evident that the professor did not get the correct course. This may be ignored, but the admin notices a preference of “1” for the CPE-101 course. With a preference this low, the admin attempts to change the constraint settings to give the professor the desired course.

Figure 2.6.2-3: Undesired Schedule

The admin navigates to the Edit Constraints Dialog and sees that Distance preferences are 1st priority, Course preferences are 2nd priority, and Time preferences are last priority. Since the professor did not get the desired course, instead a classroom that was within range of the distance preference ( no available room could be found that satisfied the course and the distance preferences), the admin changes the priorities around. Course preferences are now 1st, Distance 2nd, and Time 3rd.

Figure 2.6.2-4: Initial Priorities

Figure 2.6.2-5: Changed Priorities

The admin then presses “OK” and is taken back to the Professor Select dialog. The admin presses “OK” again and proceeds to generate another schedule. The results of this regeneration are shown in the schedule view below.

Figure 2.6.2-6: Fixed Schedule

It is evident that the professor’s schedule has been fixed. The desired class has now been scheduled, and although the room does not meet the preferences for distance, this can also be changed with an adjustment of the professor’s distance preferences as described in the previous section.

 

 Next, User-error problems that may occur with use of the Scheduler are handled and described. In situations like the Schedule Class dialog, if a user tries to select a room that has already been reserved at the same time, the user sees the following window appear and a message describing the impossibility is displayed. This window is also shown when the user is manually editing the schedule and an absolute constraint is violated. The message is shown below in figure 2.6.2-6.


Figure 2.6.2-7: Error Message

 

The Scheduler automatically prevents an absolute constraint from being broken. Since the ramifications are very severe if a scheduling conflict occurs, this situation is avoided altogether. The user must then select a different room from the classroom selection dialog after “OK” is pressed. Constraints that are not met are handled by the administrator, who may override preferences or change items manually in the schedule, which has been covered in section 2.6 and 2.6.1.


Prev: Changing Preferences | Next: [None] | Up: Advanced Scheduling | Top: index