Lecture (variable) selection.
If there are one or more variables unassigned, the variable selection
criterion picks one of them randomly. We have tried several approaches using
domain sizes, number of previous assignments, numbers of constraints in which
the variable participates, etc., but there was no significant improvement in
this timetabling problem towards the random selection of an unassigned
variable. The reason is, that it is easy to go back when a wrong variable is
picked - such a variable is unassigned when there is a conflict with it in
some of the subsequent iterations.
When all variables are assigned, an evaluation is made for each variable
according to the above described weights. The variable with the worst
evaluation is selected. This variable promises the best improvement in
optimization.
Parameters (selection among unassigned lectures):
Parameter |
Type |
Comment |
Lecture.RouletteWheelSelection |
Boolean |
Roulette wheel selection |
Lecture.RandomWalkProb |
Double |
Random walk probability |
Lecture.DomainSizeWeight |
Double |
Domain size weight |
Lecture.NrAssignmentsWeight |
Double |
Number of assignments weight |
Lecture.InitialAssignmentWeight |
Double |
Initial assignment weight |
Lecture.NrConstraintsWeight |
Double |
Number of constraint weight |
Parameters (selection among assigned lectures, when the solution is
complete):
Parameter |
Type |
Comment |
Comparator.HardStudentConflictWeight |
Double |
Hard student conflict weight |
Comparator.StudentConflictWeight |
Double |
Student conflict weight |
Comparator.TimePreferenceWeight |
Double |
Time preference weight |
Comparator.ContrPreferenceWeight |
Double |
Group constraint preference weight |
Comparator.RoomPreferenceWeight |
Double |
Room preference weight |
Comparator.UselessSlotWeight |
Double |
Useless slot weight |
Comparator.TooBigRoomWeight |
Double |
Too big room weight |
Comparator.DistanceInstructorPreferenceWeight |
Double |
Distance (of the rooms of the back-to-back classes) based instructor
preferences weight |
Comparator.DeptSpreadPenaltyWeight |
Double |
Department balancing penalty (see
DepartmentSpreadConstraint ) |
Parameters (selection among subset of lectures (faster)):
Parameter |
Type |
Comment |
Lecture.SelectionSubSet |
Boolean |
Selection among subset of lectures (faster) |
Lecture.SelectionSubSetMinSize |
Double |
Minimal subset size |
Lecture.SelectionSubSetPart |
Double |
Subset size in percentage of all lectures available for selection |