Skip to content

Releases: UniTime/cpsolver

cpsolver-1.3.91

02 Nov 15:59
Compare
Choose a tag to compare

Student Scheduling: Instructors

  • XML Load: improved backward compatibility (read instructorIds and instructorNames attributes of
    a section element if it has no instructor elements)

Revision ccadc70 by tomas-muller muller@unitime.org (2-Nov-2016 4:37 PM)

Student Scheduling: Instructors

  • Instructor.toInstructors(...): avoid NumberFormatException when called with an empty
    instructorIds string

Revision 95ef62b by tomas-muller muller@unitime.org (2-Nov-2016 4:21 PM)

Student Scheduling: Reservations

  • CourseRequest.computeEnrollments(...): do not skip enrollments without a reservation if there is
    a matching reservation that is not marked as must be used

Revision 31f1cf0 by tomas-muller muller@unitime.org (2-Nov-2016 4:20 PM)

Student Scheduling: Selected Choices

  • algorithm: added ability to branch (or not to branch) when there is a non-conflicting selected
    enrollment found
    (parameter Students.BranchWhenSelectedHasNoConflict, defaults to false)
  • CourseRequest.isSelected(Section) check corrected to work on partial selections
    (a section is NOT selected when there is a selected choice on the matching subpart or
    configuration that is not matching the section)

Revision bf5d7bb by tomas-muller muller@unitime.org (31-Oct-2016 12:58 PM)

Student Scheduling: Course Request Choices

  • added ability to create preference on a configuration or on an individual section
  • consider following choice matching (from most to least preferred):
  • same section
  • same choice (same itype, time and instructor)
  • same time (same itype and time)
  • same configuration
  • include section/configuration preferences in the weighting models and search criteria

Revision 4e30627 by tomas-muller muller@unitime.org (26-Oct-2016 5:19 PM)

Student Scheduling: Instructional Method

  • added instructional method id and name on a configuration

Revision bced2fd by tomas-muller muller@unitime.org (25-Oct-2016 6:06 PM)

Student Scheduling: Instructors

  • moved instructor information from Section.choice onto the Section
    (using the new Instructor object)

Revision 95e6239 by tomas-muller muller@unitime.org (25-Oct-2016 5:36 PM)

cpsolver-1.3.88

14 Sep 18:55
Compare
Choose a tag to compare

Course Timetabling: Max N Hours A Day

  • fixed another issue in conflict checking of Max N Hours A Day group constraint to prevent the
    constraint from returning null conflicts when there are too many committed classes on a day

Revision 336b437 by tomas-muller muller@unitime.org (14-Sep-2016 8:41 PM)

cpsolver-1.3.87

07 Sep 16:07
Compare
Choose a tag to compare

Course Timetabling: Max N Hours A Day

  • conflict checking for the Max N Hours A Day group constraint corrected: do not return a constant
    variable (i.e., a committed class of some other problem) as a conflict
  • also, return the evaluted placement as a conflict when there is not enough time on the day for
    the class without unassigning a constant variable

Revision 177dc65 by tomas-muller muller@unitime.org (7-Sep-2016 4:18 PM)

Course Timetabling: Test

  • when provided loader/saver classes are not found, fall back to the default XML loader/saver
    classes

Revision 2a9735b by tomas-muller muller@unitime.org (7-Sep-2016 1:13 PM)

Javadoc: fixed two warning

Revision 9ed45ef by tomas-muller muller@unitime.org (22-Aug-2016 2:05 PM)

Instructor Scheduling: Same Course / Common Preferences

  • better handing of same course and same common preferences
  • when same common is discouraged or prohibited: penalize case when common sections are partially
    shared
  • count satisfied positive preferences (preferred and strongly preferred) as negative penalty
    instead of penalizing dissatisfaction
    (no difference for the solver, better display)

Revision 35b85db by tomas-muller muller@unitime.org (22-Aug-2016 1:54 PM)

Instructor Scheduling: CHM Test Fix

  • fixed "strings in switch are not supported in 1.6" compilation error

Revision 5b0d267 by tomas-muller muller@unitime.org (14-Aug-2016 8:50 AM)

Instructor Scheduling: Same Course, Same Common Preferences

  • added ability to define same course and same common preferences individually on each teaching
    request
  • including both hard and soft variants

Revision ff3615c by tomas-muller muller@unitime.org (12-Aug-2016 6:07 PM)

Instructor Scheduling: Same Course, Same Common Preferences

  • added ability to define same course and same common preferences individually on each teaching
    request
  • including both hard and soft variants

Revision 6375e64 by tomas-muller muller@unitime.org (12-Aug-2016 5:38 PM)

Batch Student Scheduling: Request Groups

  • improved ability to keep students of the same request group together by shuffling students of
    a request group that are spread over multiple sections into a single section or into a fewer
    number of sections

Revision e34d1c8 by tomas-muller muller@unitime.org (9-Aug-2016 4:43 PM)

Student Scheduling: Model

  • Same group characteristic moved from the extended info table to the info table

Revision 69fbe60 by tomas-muller muller@unitime.org (9-Aug-2016 2:06 PM)

Backtrack Neighbour Selection: Custom Context

  • added ability to provide a custom search context

Revision b85882c by tomas-muller muller@unitime.org (9-Aug-2016 2:04 PM)

Roulette Wheel Selection: add existing

  • added ability to add an object multiple times into the selection

Revision c544d35 by tomas-muller muller@unitime.org (9-Aug-2016 2:02 PM)

Instructor Scheduling: Attribute Preference

  • penalize a case when there is at least one preference for an attribute of a given (not required)
    type, but the instructor has no matching attribute of that type

Revision 625edea by tomas-muller muller@unitime.org (29-Jul-2016 9:58 PM)

Instructor Scheduling: Unused Instructor Load

  • added a criterion that penalizes unused instructor load

Revision 9514ec5 by tomas-muller muller@unitime.org (29-Jul-2016 9:56 PM)

Course Timetabling: Back-to-Back

  • avoid issues (especially ArrayIndexOutOfBoundsException) when classes that are in a back-to-back
    constraint can partially overlap in time

Revision d1b838d by tomas-muller muller@unitime.org (1-Jul-2016 2:09 PM)

Instructor Scheduling: Attribute Preference

  • required attribute type: only prohibit teaching request that have an attriubute of a required
    type that does not match the instructor
    (this fixes an issue when no attribute of a required type is used)

Revision d348ca8 by tomas-muller muller@unitime.org (30-Jun-2016 10:13 PM)

Instructor Scheduling: Criteria

  • improved computation of the criterion value for a particular instructor

Revision 1ffcc8e by tomas-muller muller@unitime.org (30-Jun-2016 10:12 PM)

Instructor Scheduling: Enrolled Classes

  • added ability to include which classes the instructor is enrolled into (as student) or teaching
    (outside of the assignment problem)

Revision a1ae950 by tomas-muller muller@unitime.org (16-Jun-2016 8:19 PM)

cpsolver-1.3.79

15 Jun 16:24
Compare
Choose a tag to compare

Build: added changelog target

Revision 893e3e4 by tomas-muller muller@unitime.org (15-Jun-2016 6:00 PM)

Student Scheduling: Linked Sections

  • fixed computation of the constraint when it contains classes of two or more configurations of
    a course

Revision b48fe7f by tomas-muller muller@unitime.org (15-Jun-2016 5:00 PM)

Global Constraint

  • assigned(assignment, iteration, value) -- do not allow unassignment of the value that is being
    assigned
  • just like commit 22121f5 for the Constraint

Revision c098b26 by tomas-muller muller@unitime.org (15-Jun-2016 4:59 PM)

Instructor Assignment: Problem Model Changes

  • improved modeling of cases when a teaching requests needs two or more instructors
  • now, there is only one TeachingRequest class with multiple variables (TeachingRequest.Variable
    classes)

Revision 2588fb4 by tomas-muller muller@unitime.org (13-Jun-2016 9:52 PM)

Instructor Scheduling: Teaching Request

  • nrSameLectures: return 1.0 when there are no shared common sections

Revision fc79512 by tomas-muller muller@unitime.org (13-Jun-2016 5:29 PM)

MacPropagation, MacRevised Extensions: Assignments

  • fixed the MacPropagation and MacRevised extenstions to work with the new assignment model

Revision d23d346 by tomas-muller muller@unitime.org (9-Jun-2016 2:05 PM)

cpsolver-1.3.76

20 May 09:31
Compare
Choose a tag to compare

Student Scheduling: Linked Classes

  • Linked Classes: added mustBeUsed toggle (defaults to false)
  • when set to true, one of the existing Liked Classes constraints must be used when a student
    requests both courses

Revision 050bc40 by tomas-muller muller@unitime.org (20-May-2016 10:12 AM)

Student Scheduling: Get Enrollments Skip Same Time

  • do not skip same time section when there is a Linked Classes constraint involved
    (to be able to find matching section in the domain)
  • do not skip same time section if the section is involved in an Ignore Student Conflicts
    constraint

Revision 695e46a by tomas-muller muller@unitime.org (20-May-2016 8:05 AM)

Student Scheduling: Section Comparator

  • if comparing by size
  • prefer section with more space available
  • if unlimited, prefer section with less students enrolled

Revision 730d01f by tomas-muller muller@unitime.org (20-May-2016 8:04 AM)

cpsolver-1.3.75

18 May 18:09
Compare
Choose a tag to compare

Course Timetabling: N Hour Work Day

  • corrected the constraint check

Revision 4ec8eb3 by tomas-muller muller@unitime.org (18-May-2016 1:33 PM)

Progress: added Message.getTrace()

  • added method
    public String[] Message.getTrace()

Revision deb835e by tomas-muller muller@unitime.org (17-May-2016 6:03 PM)

Instructor Scheduling: Various Improvements

  • instructor constraint changed to global constraint (its context moved over to the instructor)
  • added original instructor criterion (counting cases when a teaching request is assigned with the
    initial assignment — original instructor)
  • info table now includes information from the existing criteria

Revision b970866 by tomas-muller muller@unitime.org (9-May-2016 10:03 PM)

Instructor Scheduling: MATH test

  • few improvements usefull when working with data exported directly from UniTime

Revision 13a230c by tomas-muller muller@unitime.org (6-May-2016 6:59 PM)

Instructor Scheduling: Instructor Index

  • added instructor index (int) attribute to a teaching request to better support requests that
    need multiple instructors

Revision 7e9121a by tomas-muller muller@unitime.org (6-May-2016 6:52 PM)

Parallel Solver: Update Master Solution

  • changed the default for Parallel.UpdateMasterSolution to true

Revision 86f9506 by tomas-muller muller@unitime.org (6-May-2016 6:11 PM)

Problem Save / Load

  • create problem independent ProblemLoader and ProblemSaver abstract classes
  • inherit the exiting XML loaders/savers from these abstract classes
  • XML Load: added ability to load the problem from given Document (without reading any files)
  • XML Save: added ability to return saved problem as Document (without writing any files)

Revision f6b7520 by tomas-muller muller@unitime.org (5-May-2016 8:49 PM)

Instructor Scheduling

  • added javadoc documentation

Revision 3a8236a by tomas-muller muller@unitime.org (28-Apr-2016 6:23 PM)

Instructor Scheduling

  • second version of the instructional scheduling solver
  • based on the TA assignment solver (commit f52d4b1 on dev_ta branch), but with many changes to
    meet the UniTime 4.2 instructor scheduling model
    (including instructor, course, attribute, and time preferences and requirements)

Revision b8ad9fc by tomas-muller muller@unitime.org (25-Apr-2016 7:36 PM)

cpsolver-1.3.69

16 Mar 20:50
Compare
Choose a tag to compare

Student Scheduling: Course Limit

  • in conflict check corrected

Revision d29650d by tomas-muller muller@unitime.org (16-Mar-2016 6:21 PM)

Batch Student Scheduling: Request Groups

  • enrollment spread estimate
  • added ability to consider potential fillness of the section
    (sections that more closely match the enrollment potential are preferred)
  • added two parameters defining how the enrollment spread estimate is to be counted

Revision 03be7b0 by tomas-muller muller@unitime.org (14-Mar-2016 7:29 PM)

Batch Student Scheduling: Request Groups

  • keep students of the same group together:
  • count reserved space as available if the student is being enrolled under a student group
    reservation with section level restrictions
  • improved computation of the enrollment spread

Revision 178baeb by tomas-muller muller@unitime.org (11-Mar-2016 9:13 PM)

Batch Student Scheduling: Test

  • compute and store the request groups report when done

Revision 368886c by tomas-muller muller@unitime.org (11-Mar-2016 8:08 PM)

Batch Student Scheduling: Branch&Bound Phase

  • try possible enrollments of a course request in a given order (better enrollments first)

Revision 4ca97ec by tomas-muller muller@unitime.org (11-Mar-2016 8:05 PM)

IFS Heuristics: Round Robin Neighbour Selection

  • log solution information during a phase change

Revision 6c2a175 by tomas-muller muller@unitime.org (11-Mar-2016 8:04 PM)

Batch Student Scheduling: Model

  • fixed the % students complete counter (isComplete check that is called after the enrollment was
    unassinged does not work and it is redundant)
  • toString: added SG criterion (same group percentage)

Revision 7b6dd3b by tomas-muller muller@unitime.org (11-Mar-2016 8:01 PM)

Batch Student Scheduling: Branch&Bound Phase

  • added ability to initiate the branch&bound search from all course requests (not just the
    unassigned ones)
    when Neighbour.IncludeAssignedRequests is set to true (default is false)
  • this is usefull when students of the same group are to be placed together as it allows for
    a swap of two enrollemnts

Revision 85ad22f by tomas-muller muller@unitime.org (11-Mar-2016 7:57 PM)

IFS Heuristics: Backtrack Neighbour Selection

  • corrected the reassignment of the original value during the backtracking

Revision 0fa9334 by tomas-muller muller@unitime.org (11-Mar-2016 7:53 PM)

cpsolver-1.3.65

19 Feb 07:11
Compare
Choose a tag to compare

Batch Student Scheduling: Limit Constraints

  • class, course, and configuration limit constraints:
    when it is allowed to assign students holding an individual reservation over the limit,
    do not consider students holding individual reservation as adepts for conflicts
    (students holding individual reservation do not count agains class, course, and configuration
    limits anyway)
  • this fixes a NullPointerException in the backtracking phase

Revision 269fd40 by tomas-muller muller@unitime.org (18-Feb-2016 6:02 PM)

cpsolver-1.3.63

09 Feb 18:08
Compare
Choose a tag to compare

Course Timetabling: instructor fairness

  • merging fairness criterion for instructors, contributed by Rostislav Burget

Revision 127eab0 by tomas-muller muller@unitime.org (26-Jan-2016 8:57 PM)

Course Timetabling: XML Load/Save

  • save/load methods made easier to extend by providing protected methods
doLoad(Element root)
doSave(Element root)

Revision f22c36f by tomas-muller muller@unitime.org (26-Jan-2016 8:14 PM)

cpsolver-1.3.62

22 Jan 12:54
Compare
Choose a tag to compare

Simulated Annealing: Adjustments

  • allow consecutive reheats while the reheated temperature is below the initial temperature

Revision 22a8549 by tomas-muller muller@unitime.org (21-Jan-2016 9:12 PM)

Course Timetabling: Solution Evaluator

  • a simple class that just loads a solution and saves information about it in a CSV file
    (output.csv format)

Revision 8e84af0 by tomas-muller muller@unitime.org (21-Jan-2016 5:49 PM)

Course Timetabling: Objective Function

  • time, room, and distribution preference criteria: criterion value shifted so that the lower
    bound is always zero
  • this makes the solution value easier to interpret (zero would mean a perfect solution)
  • this improves the bound computation in the great deluge algorithm (it does not need to go below
    zero)

Revision f6985bb by tomas-muller muller@unitime.org (21-Jan-2016 5:48 PM)