<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" media="screen" href="git-log.css"?>

<log>
  <title>CP Solver v1.3 build 250 change log (since the last release, build 232 on 27 Nov 2020 12:41)</title>
  <logentry revision="701adec">
    <commit>701adec1b40e38b799c4ab706b522e24885ebee5</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>16-Jun-2021 6:19 PM</date>
    <subject>Student Scheduling: Section Times</subject>
    <msg>- 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)</msg>
  </logentry>
  <logentry revision="ec04dab">
    <commit>ec04daba414caffa58f7e3bc04a4cd02697f0f0c</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>12-Jun-2021 9:11 PM</date>
    <subject>Student Scheduling: Tableu Report</subject>
    <msg>- only report the assigned section on the assigned course (not on all courses of the request)</msg>
  </logentry>
  <logentry revision="13a521b">
    <commit>13a521b4a31313fa74e1180b106a350224d40ee1</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>12-Jun-2021 9:10 PM</date>
    <subject>Course Timetabling: JenrlConstraint</subject>
    <msg>- fixed a null exception when getWorkDayLimit is called on a constrain with no model</msg>
  </logentry>
  <logentry revision="bb1283a">
    <commit>bb1283ac3a243e3ea06dbe1ac21fac22311f52a5</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>18-May-2021 2:20 PM</date>
    <subject>Solver: Solver Thread</subject>
    <msg>- reset the solver thread only after all is finised (after onStop() or onFinish() are called)</msg>
    <msg>- this will allow the tasks that run after the solver has finished (like student sectioning or save) to be stopped</msg>
  </logentry>
  <logentry revision="4367942">
    <commit>4367942335622ca43e17ff892e4aa510ddedf3d5</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>26-Apr-2021 5:48 PM</date>
    <subject>Student Scheduling Reports: Tableau Report</subject>
    <msg>- added Request Type column (including request priority: Critical, Important, or Normal)</msg>
  </logentry>
  <logentry revision="0bec949">
    <commit>0bec94987694afd0473bfeddabe9ab1fbfc1f959</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>19-Apr-2021 11:30 AM</date>
    <subject>CVSFile: Line Breaks</subject>
    <msg>- when reading CSV file, consider line breaks inside of cells -- do not import as multiple lines</msg>
  </logentry>
  <logentry revision="fa515df">
    <commit>fa515dfb67bf97e95d8d45b671b449aba22b6147</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>23-Mar-2021 6:09 PM</date>
    <subject>Batch Student Scheduling: Backtracking phase</subject>
    <msg>- 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)</msg>
  </logentry>
  <logentry revision="5ed13c8">
    <commit>5ed13c8ac06445717550ece25627f1a841866c80</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>15-Mar-2021 9:27 PM</date>
    <subject>Student Scheduling Algorithm: backtrack and branch&amp;bound after restore best</subject>
    <msg>- added BacktrackSelection and BranchBoundSelection after best solution is (possibly) restored</msg>
    <msg>- this is to improve the chance to finish the search in a locally optimal solution</msg>
  </logentry>
  <logentry revision="aad08c6">
    <commit>aad08c6a4bffb8bdf2ae372c0e63ffe8d9ee3329</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>15-Mar-2021 9:25 PM</date>
    <subject>Student Scheduling: Restore Best</subject>
    <msg>- corrected checking for the restore best step</msg>
  </logentry>
  <logentry revision="6ba8e52">
    <commit>6ba8e52c7f0a02e676d6a19e5aa4270c67a72de2</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>12-Mar-2021 4:10 PM</date>
    <subject>Student Scheduling Reports: Accommodations Conflicts</subject>
    <msg>- added student's curriculum, groups, and advisors</msg>
  </logentry>
  <logentry revision="aa1f1e2">
    <commit>aa1f1e2f4444f3b84a7ff8bd5ad1772f1ce5177b</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>12-Mar-2021 3:54 PM</date>
    <subject>Student Scheduling: Area Classification Major</subject>
    <msg>- toString: add concentration, if it is present</msg>
  </logentry>
  <logentry revision="0f3f041">
    <commit>0f3f0413ff83937d1062d217baa17f65a0c3943d</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>8-Mar-2021 3:57 PM</date>
    <subject>Student Scheduling Model: Student Curriculum (Degree)</subject>
    <msg>- added optional degree (only to be used for display at the moment)</msg>
  </logentry>
  <logentry revision="cee0c1b">
    <commit>cee0c1ba89c5f18f2f6b1a9afd6cf19fd5197ea9</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>25-Feb-2021 6:39 PM</date>
    <subject>Student Scheduling Model: Student Curriculum (Area, Classification, Major/Minor, Concentration)</subject>
    <msg>- added optional names and weight (for display purposes, not actually used by the solver)</msg>
  </logentry>
  <logentry revision="9ce54f3">
    <commit>9ce54f3d059157ee69a0e2033a5dd8eb94b3ffa0</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>24-Feb-2021 6:13 PM</date>
    <subject>Student Scheduling: Restore Best</subject>
    <msg>- log the restore best phase</msg>
  </logentry>
  <logentry revision="7bdb71e">
    <commit>7bdb71eebe2772411ba5b9e6f97a217d8ba22427</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>24-Feb-2021 6:11 PM</date>
    <subject>Student Scheduling: Branch&amp;Bound / Backtrack</subject>
    <msg>- when sorting possible enrollments, avoid contract violations</msg>
  </logentry>
  <logentry revision="14e629e">
    <commit>14e629e81b7d6849e3bb95d8704ce7d088dce849</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>24-Feb-2021 6:07 PM</date>
    <subject>Student Scheduling Algorithm: Priority Students / Critical Courses</subject>
    <msg>- when priority and/or critical students are preferred, added an ability to cycle through the students/requests more than once</msg>
    <msg>Sectioning.CriticalRounds for critical courses (defaults to 1)</msg>
    <msg>Sectioning.PriorityRounds for priority students (defaults to 1)</msg>
    <msg></msg>
    <msg>- when cycling through the priority students, added ability to include all students of the desired or higher priority during the last round</msg>
    <msg>when Sectioning.PriorityLastRoundAllStudents is true (defaults to false)</msg>
  </logentry>
  <logentry revision="1483eb4">
    <commit>1483eb4ffcb6df1bf7ae3c5ba0b074c7b2b8b5a9</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>24-Feb-2021 6:04 PM</date>
    <subject>Student Sectioning: Student Priority</subject>
    <msg>- fixed a typo in Freshman</msg>
  </logentry>
  <logentry revision="4900055">
    <commit>4900055b263fe31dcd02a4d386f5edbd8a94c430</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>24-Feb-2021 4:15 PM</date>
    <subject>Student Scheduling: Schedule Quality</subject>
    <msg>- to increase speed, only consider criteria that are enabled (have non-zero weight)</msg>
  </logentry>
  <logentry revision="1cf28a4">
    <commit>1cf28a4ac45d90fa48316dbcf67fd9c3f4275e9a</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>17-Feb-2021 3:32 PM</date>
    <subject>Student Scheduling: Load XML</subject>
    <msg>- corrected assignment of best enrollments</msg>
    <msg>- this fixes the changes in commit 504f598 which made the enrollments with an override to be ignored instead of going last</msg>
  </logentry>
  <logentry revision="4545039">
    <commit>4545039ee73222307f8c6a4e780613a0f41fe203</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>27-Jan-2021 2:52 PM</date>
    <subject>Student Scheduling: Curriculum Reservation/Restriction</subject>
    <msg>- added ability to have multiple academic areas (restrictions)</msg>
    <msg>- added optional concentrations (further division within majors)</msg>
  </logentry>
  <logentry revision="505be75">
    <commit>505be75ee34c7e58733e67e38d8b47ed94ea0f95</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>13-Jan-2021 6:11 PM</date>
    <subject>Student Scheduling: Curriculum Reservation/Restriction</subject>
    <msg>- added ability to have multiple majors</msg>
    <msg>- added ability to match on student minors</msg>
    <msg>- when a reservation has both majors and minors, a student must have a least one matching minor OR major</msg>
  </logentry>
  <logentry revision="54ad167">
    <commit>54ad167a9aa1d34a55b2ef33d00bfe09c68b773b</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>11-Jan-2021 1:45 PM</date>
    <subject>Examination Timetabling: Overlapping Periods</subject>
    <msg>- added ability to check for direct (student or instructor) conflicts between two examination periods that overlap in time</msg>
    <msg>- only enabled when Exams.CheckForPeriodOverlaps is set to true (defaults to false)</msg>
  </logentry>
  <logentry revision="d26cba8">
    <commit>d26cba8f79b150fde36ca9c864b05037e0d38aa2</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>7-Jan-2021 10:45 PM</date>
    <subject>Student Scheduling Quality: Accommodations</subject>
    <msg>- few minor adjustments</msg>
    <msg>- added Accommodation Conflicts report</msg>
  </logentry>
  <logentry revision="9bca75a">
    <commit>9bca75a234da0a9db7325a186ce310d3dc4cd9df</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>7-Jan-2021 3:53 PM</date>
    <subject>Student Scheduling Quality: Accommodations</subject>
    <msg>- students needing short distances (SD accommodation)</msg>
    <msg>- weight: StudentWeights.ShortDistanceConflict</msg>
    <msg>- there is a conflict when classes are back-to-back and distance in minutes is above zero</msg>
    <msg>- students needing free time (FT accommodation)</msg>
    <msg>- weight: Accommodations.FreeTimeOverlapFactor</msg>
    <msg>- higher penalization for free-time conflicts</msg>
    <msg>- students needing back-to-back classes (BTB accommodation)</msg>
    <msg>- weight: Accommodations.BackToBackFactor</msg>
    <msg>- a (negative) penalization for classes that are back-to-back, or within 30 minutes of each other</msg>
    <msg>- students needing breaks between classes (BBC accommodation)</msg>
    <msg>- weight: Accommodations.BreaksBetweenClassesFactor</msg>
    <msg>- a (positive) penalization for classes that are back-to-back, or within 30 minutes of each other</msg>
  </logentry>
  <logentry revision="f5fe357">
    <commit>f5fe357fa71c48f48370dca398856021bd73665b</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>7-Jan-2021 3:39 PM</date>
    <subject>Student Scheduling: Student Groups &amp; Accommodations</subject>
    <msg>in preparation for being able to start using student minors:</msg>
    <msg>- created separate lists for student groups and accommodations (instead of storing them as minors which have not been used so far)</msg>
    <msg>- removed the old student academic area - classification and student academic area - major pairs (use the student area, classification, major tripplets)</msg>
    <msg>- updated XML load and save (XML load does understand the old format, creting student groups and accommodations)</msg>
  </logentry>
  <logentry revision="e152854">
    <commit>e15285494bb3d671f6c53a96228ce47cf7867ff6</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>7-Jan-2021 3:37 PM</date>
    <subject>Code Cleanup: Removed Unused Imports</subject>
  </logentry>
  <logentry revision="adcc8cb">
    <commit>adcc8cb6b0e34c3fc0c6e5b666d48b14d475c3c7</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>16-Dec-2020 4:43 PM</date>
    <subject>Student Scheduling: Past Sections</subject>
    <msg>- added ability to mark sections that are in the past (e.g., start before current date)</msg>
    <msg>- the use of past sections can be minimized (using StudentWeights.PastFactor student weight)</msg>
    <msg>- during online, the use of sections that are in the past is minimized</msg>
    <msg>(between following reservations and checking schedule quality)</msg>
  </logentry>
  <logentry revision="de3d0a9">
    <commit>de3d0a90ac366d6bc426882ad6413c802a1c3142</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>9-Dec-2020 1:57 PM</date>
    <subject>[maven-release-plugin] prepare for next development iteration</subject>
  </logentry>
  <logentry revision="ccda83a">
    <commit>ccda83a712a3c5279826fe439c0e80f781a8a098</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>9-Dec-2020 1:56 PM</date>
    <subject>[maven-release-plugin] prepare release cpsolver-1.3.232</subject>
  </logentry>
</log>
