Skip to content

Commit

Permalink
CPSolver Update: Simple Search, Linked Sections
Browse files Browse the repository at this point in the history
Simple Neighbour: Assign
- when conflicts are provided, unassing the conflicting variables before assigning the given variable
- some constraints my provide different conflicts each time the conflicts are computed and may even return a different number of conflicts
  - this can cause issue when used during the HC/GD/SA phase (e.g., by the Suggestion selection) when the number of assigned variables cannot decrease

Simple Search: HC/GD/SA
- when max-idle is enabled and unassignments are not allowed (Suggestion.AllowUnassignments is false, which is the default)
  - when the number of unassigned classes increases (is above the number in best solution) > automatically restore best

Student Scheduling: Linked Section
- allow one class to be present in multiple Linked Classes distributions between the same two courses
- for example having Lec 1 - Lec 1 and Lec 1 - Lec 2, and Lec 2 - Lec 1 to allow any combination except of Lec 2 - Lec 2
  - or Lec 1 - Lec 1, Lec 2 - Lec 2, and Lec 3 - Lec 1 or Lec 2 (prohibiting Lec 1 - Lec 2 and Lec 2 - Lec 1)
  • Loading branch information
tomas-muller committed Nov 22, 2024
1 parent 59a25ca commit d8d8a58
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 0 deletions.
Binary file modified 3rd_party/sources/cpsolver-1.4-SNAPSHOT-sources.jar
Binary file not shown.
Binary file modified WebContent/WEB-INF/lib/cpsolver-1.4-SNAPSHOT.jar
Binary file not shown.
10 changes: 10 additions & 0 deletions WebContent/help/Release-Notes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,16 @@
</description>
</item>
</category>
<category>
<title>Student Scheduling</title>
<item>
<name>Student Scheduling Solver: Linked Classes</name>
<description>
<line>Allow one class to be present in multiple Linked Classes distributions between the same two courses.</line>
<line>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).</line>
</description>
</item>
</category>
<category>
<title>Events</title>
<item>
Expand Down

0 comments on commit d8d8a58

Please sign in to comment.