You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Consider room partitions when checking room availability (other non-class events).
Multiple Class Setup: Room-related Columns
In order to be consistent with the Instructional Offering Configuration page, the order of the room-related columns changed to be: Nbr Rooms, Splt Attd, and Room Ratio.
Instead of Room Ratio, Nbr Rooms, and Splt Attd.
Edit Scheduling Subpart: Subpart Credit
Max Units made editable when editing Variable Min/Max credit without the need to change the credit type first (when editing existing credit information).
Fixed an issue when no units or max units are provided (for a type that requires units/max units) or when the provided units are not a number.
Course Timetabling Solver: Optimization
In order for the solver to start optimization even when a complete solution cannot be found, added an ability to halt the initial search phase when a maximum number of non-improving iterations is reached.
This can be controlled by the Search.MaxIdleIterations parameter.
It defaults to 1000.
Set to -1 to disable the ability to halt the initial search phase (previous behavior).
Set to 0 to disable the construction heuristics, going directly to the optimization phases.
Added an ability to disable the max-idle limitation during the first part of the search, effectively setting up a minimal construction time.
Parameter Search.MinConstructionTime, which can be in seconds or in percentage of the total time (Termination.TimeOut).
Defaults to 10% of the total time limit. So, if max-idle is enabled, it will not stop construction or the IFS phase during the first 10% time of the solver run.
Improved the ability to assign an unassigned class during the optimization phase.
To enable this, add ;org.cpsolver.coursett.neighbourhoods.Suggestion@0.1 to the following parameters:
HillClimber.AdditionalNeighbours
GreatDeluge.AdditionalNeighbours
SimulatedAnnealing.AdditionalNeighbours
This is especially needed when the construction phase is disabled or the solver struggles to find a complete solution when one exists.
Course Timetabling Solver: Random Student Swap Selection
Added a neighborhood selection that attempts to swap a student between alternative sections of a course.
To be used with the Hill Climber (HC), Great Deluge (GD), or Simulated Annealing (SA) algorithms.
Enable by adding the RandomStudentSwap class to the AdditionalNeighbours properties.
The selection is only available/enabled when the solver is using a single thread as student class assignments are not included in the solution/
Course Timetabling Solver: Simulated Annealing
Various improvements and changes in an attempt to make the SA algorithm more reliable.
Added minimal and maximal temperature.
Improved temperature training (when SimulatedAnnealing.InitialTemperature is set to -1)
Examination Timetabling
Room Partitions
Added support for room partitions in the examination timetabling.
Student Scheduling
Student Scheduling Solver: Linked Classes
Allow one class to be present in multiple Linked Classes distributions between the same two courses.
This allows for the Linked Classes to overlap with each other, e.g., when most classes can be linked one-to-one, but there are exceptions (e.g., one course has an additional course that can be used with any class of the other course).
Events
Lookup Classes/Examination: Bugfix
Populate the event filter even when it is not present.
This fixes an issue caused by a recent change, having the events and rooms parameters incorrectly interpreted.
Edit Event: Meeting Contacts
Record which meetings have their contacts changed in the Notes.
Administration
Data Exchange: Course Offering XML
Added an optional attribute class.roomRatio, defaults to 1.
Added an optional attribute class.splitAttendance for classes with two or more rooms, defaults to false.
Add/Edit Date Pattern: Make Default
Added a confirmation dialog when the Make Default button is clicked.
Added an option to hide the Make Default button on this page by setting unitime.pattern.showMakeDefault to false.
If the Make Default button is disabled, the default date pattern can still be set on the Edit Academic Session page.
Scripts: ECMAScript
Nashorn is now included in the UniTime distribution.
Starting with Java 15, ECMAScript has been removed from JDK.