tomas-muller
released this
03 Feb 14:06
·
1 commit
to master
since this release
Student Scheduling: Hard Distance Conflicts
- HardDistanceConflicts.inConflict(..) -- avoid null exceptions when call for a null section or a free-time's enrollment
Revision e705efa by tomas-muller [email protected] (30-Jan-2025 1:32 PM)
Distance Metric: Copy
- when using new DistanceMetric(DistanceMetric), copy the new hard distance conflict parameters
- this fixes the problem of hard distance conflicts not being enabled for unavailabilities, when they are not enabled by default
Revision 32515c6 by tomas-muller [email protected] (27-Jan-2025 3:40 PM)
Student Scheduling: Hard Distance Conflicts
- allow hard distance conflicts between sections which allow for time overlaps
Revision 28b3e96 by tomas-muller [email protected] (16-Jan-2025 9:18 AM)
Student Scheduling: Hard Distance Conflicts
- added an ability to make (some) student distance conflicts hard
- to enable, set Sectioning.HardDistanceConflict to true (defaults to false)
- a distance conflict is considered hard when
- the distance between the two classes (or a class and an unavailability) is HardDistanceConflict.DistanceHardLimitInMinutes or more (defaults to 60)
- the travel time exceeds the time for travel (break time + gap) by more than HardDistanceConflict.AllowedDistanceInMinutes (defaults to 30)
- so in other words, a distance conflict with travel time of 60 or more munites will be considered hard if student has less than 30 mintes to get between the classes
Revision 11cd291 by tomas-muller [email protected] (15-Jan-2025 6:25 PM)
Course Timetabling: Instructor Unavailable Dates
- check department of the unavailable dates
- this is to allow for an instructor to have different unavailable dates on each of the departments they are teaching
Revision 9d7b9a5 by tomas-muller [email protected] (8-Jan-2025 5:35 PM)
Course Timetabling: Following Dates Constraint
- new group constraint added
FOLLOWING_DATES: Following Dates - given classes must be taught on dates that are back-to-back and in the given order
- when prohibited or (strongly) discouraged: given classes must be taught on dates in the given order with at least one day between any two following classes
- the primary use for this constraint are for classes that meet only once
- the constraint will fail if one of the meetings falls on a holiday and the other does not
Revision d81ac71 by tomas-muller [email protected] (19-Dec-2024 3:29 PM)
Instructor Scheduling: Distributions
- many course timetabling distributions (group constraint and flexible constraints) have been included in the instructor scheduling problem
- namely
- At Most N Hours A Day
- Same Weeks
- N Hour Workday
- Mininal Gap Between Classes
- Max Block
- Max Breaks
- Max Days
- Break
- Max Weeks
- Max Holes
- Max Half-Days
- Max Consecutive Days
Revision 9663d04 by tomas-muller [email protected] (18-Dec-2024 7:47 PM)
Course Timetabling: New Group Constraints
- added two new group constraints (distribution types)
SAME_STUD_NODST: Same Students w/o Distance - same as the Same Students distribution, except there is no distance conflict checking and no work-day limit
- also, the distribution gets ignored when there is Ignore Student Conflicts distribution between the two classes
- to replace DIFF_TIME in General.AutoSameStudentsConstraint
- same as different time, but does not ignore cases when there is Ignore Student Conflicts between two classes in parent-child relation
DIFF_TIME_IGN_STUDS: Different Time + Ignore Student Conflicts - combination of two constraints, Different Time and Ignore Student Conflicts
- given classes cannot overlap in time, replacing any student conflicts between these classes
- when prohibited or (strongly) discouraged: every pair of classes in the constraint must overlap in time
- still, student conflicts are ignored
Revision 84c6f7b by tomas-muller [email protected] (13-Dec-2024 2:10 PM)