Skip to content

org.unitime.cpsolver 1.4.34 Latest version

Install 1/2: Add this to pom.xml:
Learn more about Maven or Gradle
<dependency>
  <groupId>org.unitime</groupId>
  <artifactId>cpsolver</artifactId>
  <version>1.4.34</version>
</dependency>
Install 2/2: Run via command line
$ mvn install

About this package

Course Timetabling: XML Save

  • when saving best solution (Xml.SaveBest = true) always output the best="true" attributes, event if the placement is the same as current
  • this fixes an issue in UniTime where the best solution is not remembered after restart or pasivation

Revision 1058d5a by tomas-muller muller@unitime.org (15-Feb-2024 6:22 PM)

Student Scheduling: Universal Override

  • added the ability to match on concentration, degree, or program
  • added the ability to match on primary area, classification, major, concentration, degree, program, or campus

Revision 94d6ae0 by tomas-muller muller@unitime.org (23-Jan-2024 4:56 PM)

Student Scheduling: Universal Override

  • added UniversalOverride reservation that is matching using a student filter
  • the student filter may contain the following attributes
  • area for academic area code
  • clasf or classification for classification code
  • campus for campus code
  • major for major code
  • minor for minor code
  • group for student group code
  • accommodation for accommodation code
  • student for student's external id or name
  • advisor for student's advisor external id
  • status for student status code
  • type for student groups with a type

Revision 8a27733 by tomas-muller muller@unitime.org (23-Jan-2024 4:44 PM)

Student Scheduling: Student Campus

  • added student campus to AreaClassificationMajor

Revision 9e9b6b9 by tomas-muller muller@unitime.org (23-Jan-2024 4:44 PM)

Course Timetabling: Room Partition

  • if a class needs two or more rooms, ensure that it does not have a room and one of its partitions at the same time

Revision 1573987 by tomas-muller muller@unitime.org (11-Jan-2024 7:13 PM)

Course Timetabling: Multiple Rooms With Different Preferences

  • support multiple rooms with different preferences
  • including the case when some rooms are prohibited in some positions
    e.g., a class needs a classroom and a lab (that is not a classroom)

Revision b3e78d8 by tomas-muller muller@unitime.org (11-Jan-2024 6:56 PM)

Course Timetabling: Class Split Attendance Between Multiple Rooms

  • added ability to split class attendance between multiple rooms
    (class.nbrRooms > 1 and class.splitAttendance = true)
  • in this case, the class must fit the selected rooms (total of room capacity is equal or above class mit limit times room ratio)

Revision 8530c94 by tomas-muller muller@unitime.org (9-Jan-2024 4:01 PM)

Examples: Binary CSP

  • corrected ClassCastException in the Test class

Revision 133fc00 by tomas-muller muller@unitime.org (23-Dec-2023 1:53 PM)

Student Scheduling Solver: Distance Conflicts

  • shorter synchronization times when computing distance conflicts
  • use read/write lock when updating distance cache instead of having the whole method synchronized

Revision 7c51d7e by tomas-muller muller@unitime.org (22-Nov-2023 3:02 PM)

Batch Student Scheduling: Standard Selection (IFS)

  • do not penalize unassignments by default
  • added an additional parameter to disable/enable the ability to accept worsening moves for critical course requests
    Neighbour.CriticalStandardCanWorsen, defaults to false
  • disabled timeout for switching of IFS (Neighbour.StandardTimeOut=0)
  • updated default timeout for not allowing conflicts to last 10% of the seach (Neighbour.StandardConflictTimeOut parameter)
  • conflicts are not allowed during the last 10% of the search time
  • added timeout for accepting worsening moves (Neighbour.StandardWorsenTimeOut)
  • defaults to last 30% of the time limit (worsening moves are not allowed during the last 30% of the search)

Revision bd49bca by tomas-muller muller@unitime.org (19-Nov-2023 11:35 PM)

Batch Student Scheduling: Standard Selection (IFS)

  • in the enrollment selection, allow to only select values with conflicts that can be unassigned
    (passing the AssignmentCheck interface from StandardSelection and CriticalStandardSelection who already implement the canUnassign method)
  • Standard Selection: added ability to only select neighbors that are not worsening the total value (when Neighbour.StandardCanWorsen is set to false, default to true)
  • Critical Standard Selection: always only select neighbors that are not worsening the total value

Revision edf1e54 by tomas-muller muller@unitime.org (16-Nov-2023 12:23 PM)

Simple Neighbour: Value

  • include conflicts in the value computation, i.e., toValue(Assignment) method

Revision 84de73e by tomas-muller muller@unitime.org (15-Nov-2023 9:54 PM)

Student Scheduling: Time / Availability Conflicts Report

  • added ability to filter the course requests by priority
  • for instance, to only lists time and space conflicts for critical course requests

Revision d5af64f by tomas-muller muller@unitime.org (8-Nov-2023 10:11 PM)