Skip to content

cpsolver-1.3.255

Compare
Choose a tag to compare
@tomas-muller tomas-muller released this 15 Nov 16:02
· 103 commits to master since this release

Student Sectioning: Priority Request Date Order

  • added a student order comparing students by:
  1. student priority (priority students first)
  2. average course request timestamp (student with eariler requests first)
  3. number of choices (student with fewer choices first)

Revision 8246405 by tomas-muller muller@unitime.org (18-Oct-2021 2:40 PM)

Student Sectioning: Request Priority Report

  • include the first column with student id (__Student)
  • this will make the report clickable in UniTime (showing details about the student)

Revision 2367140 by tomas-muller muller@unitime.org (18-Oct-2021 2:39 PM)

Online Student Scheduling: Reservation Limit Cap

  • do not cap the reservation limit of OnlineReservation any further
  • it is already capped by the config/class limits (XReservation.getLimit() minus the current
    enrollment, except of the student in question)
  • capping the limit any further can create discrepancies as the config/class limits are computed
    differently
    (excluding other students, possibly causing the class no longer available errors in the
    check-assignment action)

Revision 9ad6480 by tomas-muller muller@unitime.org (6-Aug-2021 2:01 PM)

Parallel Solver: Solver Thread

  • set the iStop variable to its previous state at the end, before calling onStop or onFinish
  • this is to fix the onStop/onFinish tasks ability to get stopped (and not being stopped
    immediately)

Revision 7e419e6 by tomas-muller muller@unitime.org (30-Jul-2021 1:28 PM)

Placement: Get Long Name

  • avoid Null exception if the placement has no lecture (e.g., when used by the student sectioning
    solver)

Revision 685795c by tomas-muller muller@unitime.org (17-Jun-2021 9:38 AM)

Student Scheduling: Section Times

  • added ability to load arranged hours (no time) classes with a time (listing the date pattern but
    no time) and rooms (that are required by the class)

Revision 701adec by tomas-muller muller@unitime.org (16-Jun-2021 6:19 PM)

Student Scheduling: Tableu Report

  • only report the assigned section on the assigned course (not on all courses of the request)

Revision ec04dab by tomas-muller muller@unitime.org (12-Jun-2021 9:11 PM)

Course Timetabling: JenrlConstraint

  • fixed a null exception when getWorkDayLimit is called on a constrain with no model

Revision 13a521b by tomas-muller muller@unitime.org (12-Jun-2021 9:10 PM)

Solver: Solver Thread

  • reset the solver thread only after all is finised (after onStop() or onFinish() are called)
  • this will allow the tasks that run after the solver has finished (like student sectioning or
    save) to be stopped

Revision bb1283a by tomas-muller muller@unitime.org (18-May-2021 2:20 PM)

Student Scheduling Reports: Tableau Report

  • added Request Type column (including request priority: Critical, Important, or Normal)

Revision 4367942 by tomas-muller muller@unitime.org (26-Apr-2021 5:48 PM)

CVSFile: Line Breaks

  • when reading CSV file, consider line breaks inside of cells -- do not import as multiple lines

Revision 0bec949 by tomas-muller muller@unitime.org (19-Apr-2021 11:30 AM)

Batch Student Scheduling: Backtracking phase

  • ensure that the solver does not get stuck (as it repeatedly adds requests that failed) by
    setting a limit on the number of iterations (2x the initial size of the request queue)

Revision fa515df by tomas-muller muller@unitime.org (23-Mar-2021 6:09 PM)

Student Scheduling Algorithm: backtrack and branch&bound after restore best

  • added BacktrackSelection and BranchBoundSelection after best solution is (possibly) restored
  • this is to improve the chance to finish the search in a locally optimal solution

Revision 5ed13c8 by tomas-muller muller@unitime.org (15-Mar-2021 9:27 PM)

Student Scheduling: Restore Best

  • corrected checking for the restore best step

Revision aad08c6 by tomas-muller muller@unitime.org (15-Mar-2021 9:25 PM)

Student Scheduling Reports: Accommodations Conflicts

  • added student's curriculum, groups, and advisors

Revision 6ba8e52 by tomas-muller muller@unitime.org (12-Mar-2021 4:10 PM)

Student Scheduling: Area Classification Major

  • toString: add concentration, if it is present

Revision aa1f1e2 by tomas-muller muller@unitime.org (12-Mar-2021 3:54 PM)

Student Scheduling Model: Student Curriculum (Degree)

  • added optional degree (only to be used for display at the moment)

Revision 0f3f041 by tomas-muller muller@unitime.org (8-Mar-2021 3:57 PM)

Student Scheduling Model: Student Curriculum (Area, Classification, Major/Minor, Concentration)

  • added optional names and weight (for display purposes, not actually used by the solver)

Revision cee0c1b by tomas-muller muller@unitime.org (25-Feb-2021 6:39 PM)

Student Scheduling: Restore Best

  • log the restore best phase

Revision 9ce54f3 by tomas-muller muller@unitime.org (24-Feb-2021 6:13 PM)

Student Scheduling: Branch&Bound / Backtrack

  • when sorting possible enrollments, avoid contract violations

Revision 7bdb71e by tomas-muller muller@unitime.org (24-Feb-2021 6:11 PM)

Student Scheduling Algorithm: Priority Students / Critical Courses

  • when priority and/or critical students are preferred, added an ability to cycle through the
    students/requests more than once
    Sectioning.CriticalRounds for critical courses (defaults to 1)
    Sectioning.PriorityRounds for priority students (defaults to 1)
  • when cycling through the priority students, added ability to include all students of the desired
    or higher priority during the last round
    when Sectioning.PriorityLastRoundAllStudents is true (defaults to false)

Revision 14e629e by tomas-muller muller@unitime.org (24-Feb-2021 6:07 PM)

Student Sectioning: Student Priority

  • fixed a typo in Freshman

Revision 1483eb4 by tomas-muller muller@unitime.org (24-Feb-2021 6:04 PM)

Student Scheduling: Schedule Quality

  • to increase speed, only consider criteria that are enabled (have non-zero weight)

Revision 4900055 by tomas-muller muller@unitime.org (24-Feb-2021 4:15 PM)

Student Scheduling: Load XML

  • corrected assignment of best enrollments
  • this fixes the changes in commit 504f598 which made the enrollments with an override to be
    ignored instead of going last

Revision 1cf28a4 by tomas-muller muller@unitime.org (17-Feb-2021 3:32 PM)

Student Scheduling: Curriculum Reservation/Restriction

  • added ability to have multiple academic areas (restrictions)
  • added optional concentrations (further division within majors)

Revision 4545039 by tomas-muller muller@unitime.org (27-Jan-2021 2:52 PM)

Student Scheduling: Curriculum Reservation/Restriction

  • added ability to have multiple majors
  • added ability to match on student minors
  • when a reservation has both majors and minors, a student must have a least one matching minor OR
    major

Revision 505be75 by tomas-muller muller@unitime.org (13-Jan-2021 6:11 PM)

Examination Timetabling: Overlapping Periods

  • added ability to check for direct (student or instructor) conflicts between two examination
    periods that overlap in time
  • only enabled when Exams.CheckForPeriodOverlaps is set to true (defaults to false)

Revision 54ad167 by tomas-muller muller@unitime.org (11-Jan-2021 1:45 PM)

Student Scheduling Quality: Accommodations

  • few minor adjustments
  • added Accommodation Conflicts report

Revision d26cba8 by tomas-muller muller@unitime.org (7-Jan-2021 10:45 PM)

Student Scheduling Quality: Accommodations

  • students needing short distances (SD accommodation)
  • weight: StudentWeights.ShortDistanceConflict
  • there is a conflict when classes are back-to-back and distance in minutes is above zero
  • students needing free time (FT accommodation)
  • weight: Accommodations.FreeTimeOverlapFactor
  • higher penalization for free-time conflicts
  • students needing back-to-back classes (BTB accommodation)
  • weight: Accommodations.BackToBackFactor
  • a (negative) penalization for classes that are back-to-back, or within 30 minutes of each other
  • students needing breaks between classes (BBC accommodation)
  • weight: Accommodations.BreaksBetweenClassesFactor
  • a (positive) penalization for classes that are back-to-back, or within 30 minutes of each other

Revision 9bca75a by tomas-muller muller@unitime.org (7-Jan-2021 3:53 PM)

Student Scheduling: Student Groups & Accommodations

in preparation for being able to start using student minors:

  • created separate lists for student groups and accommodations (instead of storing them as minors
    which have not been used so far)
  • removed the old student academic area - classification and student academic area - major pairs
    (use the student area, classification, major tripplets)
  • updated XML load and save (XML load does understand the old format, creting student groups and
    accommodations)

Revision f5fe357 by tomas-muller muller@unitime.org (7-Jan-2021 3:39 PM)

Code Cleanup: Removed Unused Imports

Revision e152854 by tomas-muller muller@unitime.org (7-Jan-2021 3:37 PM)

Student Scheduling: Past Sections

  • added ability to mark sections that are in the past (e.g., start before current date)
  • the use of past sections can be minimized (using StudentWeights.PastFactor student weight)
  • during online, the use of sections that are in the past is minimized
    (between following reservations and checking schedule quality)

Revision adcc8cb by tomas-muller muller@unitime.org (16-Dec-2020 4:43 PM)