#

IFS 1.4 (Iterative Forward Search) CourseTT 1.4 (University Course Timetabling) StudentSct 1.4 (Student Sectioning) ExamTT 1.4 (Examination Timetabling) Copyright (C) 2006 - 2026 Tomáš Müller muller@unitime.org http://muller.unitime.org This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not see http://www.gnu.org/licenses/.

Iterative Forward Search
Package | Description
--- | ---
org.cpsolver.ifs | Iterative Forward Search Algorithm (root package)
org.cpsolver.ifs.algorithms | IFS Neighbourhood Search Algorithms
org.cpsolver.ifs.algorithms.neighbourhoods | IFS: Various Problem-Independent Neighbourhoods.
org.cpsolver.ifs.assignment | An assignment holds current values of all the variables of a model.
org.cpsolver.ifs.assignment.context | Assignment context can be used by a class (e.g., a constraint, a extension, a neighborhood selection, or a criterion) to contain any assignment dependent data.
org.cpsolver.ifs.constant | Extension of the model with constant variables.
org.cpsolver.ifs.criteria | IFS Criteria.
org.cpsolver.ifs.dbt | Dynamic backtracking extension of IFS solver
org.cpsolver.ifs.extension | IFS Extensions (conflict-based statistics, maintenance of arc consistency)
org.cpsolver.ifs.heuristics | IFS Heuristics (value and variable selection criteria)
org.cpsolver.ifs.model | IFS Model (description of a problem)
org.cpsolver.ifs.perturbations | Minimal Perturbation Problem: counting of perturbations
org.cpsolver.ifs.solution | IFS Solution (also contains solution comparator)
org.cpsolver.ifs.solver | IFS Solver
org.cpsolver.ifs.termination | IFS Termination (termination condition)
org.cpsolver.ifs.util | Utilities

Iterative Forward Search Examples
Package | Description
--- | ---
org.cpsolver.ifs.example.csp | Random Binary CSP with uniform distribution.
org.cpsolver.ifs.example.jobshop | JobShop Problem.
org.cpsolver.ifs.example.rpp | Random Placement Problem.
org.cpsolver.ifs.example.tt | Simple Timetabling Problem.

University Course Timetabling
Package | Description
--- | ---
org.cpsolver.coursett | University Course Timetabling.
org.cpsolver.coursett.constraint | University Course Timetabling: Constraints.
org.cpsolver.coursett.criteria | University Course Timetabling: Criteria.
org.cpsolver.coursett.criteria.additional | University Course Timetabling: Additional (Experimental) Criteria.
org.cpsolver.coursett.criteria.placement | University Course Timetabling: Placement Selection Criteria.
org.cpsolver.coursett.custom | University Course Timetabling: Various customizations.
org.cpsolver.coursett.heuristics | University Course Timetabling: Heuristics.
org.cpsolver.coursett.model | University Course Timetabling: Model.
org.cpsolver.coursett.neighbourhoods | University Course Timetabling: Various Neighbourhoods.
org.cpsolver.coursett.preference | Various Preference Combinations.
org.cpsolver.coursett.sectioning | Additional Student Sectioning Algorithms.

Student Sectioning
Package | Description
--- | ---
org.cpsolver.studentsct | Student Sectioning Solver.
org.cpsolver.studentsct.check | Various checks of validity of a student sectioning solution.
org.cpsolver.studentsct.constraint | Student Sectioning: Constraints.
org.cpsolver.studentsct.extension | Student Sectioning: Various Extensions.
org.cpsolver.studentsct.filter | Various student filters.
org.cpsolver.studentsct.heuristics | Student Sectioning: Heuristics.
org.cpsolver.studentsct.heuristics.selection | Student Sectioning: Various Neighbour Selection Criteria.
org.cpsolver.studentsct.heuristics.studentord | Online Student Sectioning Test: various students orderings
org.cpsolver.studentsct.model | Student Sectioning: Model.
org.cpsolver.studentsct.online | Online Student Sectioning Solver.
org.cpsolver.studentsct.online.expectations | Student Sectioning Solver: Over-Expectation Criteria.
org.cpsolver.studentsct.online.selection | Online Student Sectioning Solver: Selection Weights and Heuristics.
org.cpsolver.studentsct.report | Student Sectioning: Various Reports.
org.cpsolver.studentsct.reservation | Student Sectioning: Reservations.
org.cpsolver.studentsct.weights | Student Sectioning Weightings: various students weight models

Examination Timetabling
Package | Description
--- | ---
org.cpsolver.exam | Examination Timetabling Solver.
org.cpsolver.exam.criteria | Examination Timetabling: Criteria.
org.cpsolver.exam.criteria.additional | Examination Timetabling: Additional (Experimental) Criteria.
org.cpsolver.exam.heuristics | Examination Timetabling: Solution Heuristics.
org.cpsolver.exam.model | Examination Timetabling: Model.
org.cpsolver.exam.neighbours | Examination Timetabling: Various Neighbourhoods.
org.cpsolver.exam.reports | Examination Timetabling: Reports.
org.cpsolver.exam.split | This package contains an an experimental criterion that allows an exam to be split into two if it decreases the number of student conflicts.

Instructor Scheduling
Package | Description
--- | ---
org.cpsolver.instructor | Instructor Scheduling.
org.cpsolver.instructor.constraints | Instructor Scheduling: Constraints.
org.cpsolver.instructor.criteria | Instructor Scheduling: Criteria.
org.cpsolver.instructor.model | Instructor Scheduling: Model.
org.cpsolver.instructor.test | Instructor Scheduling: Tests.