## Uses of Class
org.cpsolver.coursett.model.TimetableModel

- Packages that use TimetableModel
  Package | Description
  --- | ---
  org.cpsolver.coursett | University Course Timetabling.
  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.sectioning | Additional Student Sectioning Algorithms.

- - ### Uses of TimetableModel in org.cpsolver.coursett

    Fields in org.cpsolver.coursett declared as TimetableModel
    Modifier and Type | Field and Description
    --- | ---
    `protected TimetableModel` | DomainChart.`iModel`

    Methods in org.cpsolver.coursett with parameters of type TimetableModel
    Modifier and Type | Method and Description
    --- | ---
    `static void` | Test.`printClassInfo(PrintWriter pw, TimetableModel model)` Class information
    `static void` | Test.`printRoomInfo(PrintWriter pw, TimetableModel model, Assignment<Lecture,Placement> assignment)` Print room utilization

    Constructors in org.cpsolver.coursett with parameters of type TimetableModel
    Constructor and Description
    `DomainChart(String name, TimetableModel model, int sizeX, int sizeY)`
    `JenrlChart(String name, TimetableModel model, int max)`
    `TimetableLoader(TimetableModel model, Assignment<Lecture,Placement> assignment)` Constructor
    `TimetableXMLLoader(TimetableModel model, Assignment<Lecture,Placement> assignment)`

  - ### Uses of TimetableModel in org.cpsolver.coursett.custom

    Constructors in org.cpsolver.coursett.custom with parameters of type TimetableModel
    Constructor and Description
    `DeterministicStudentSectioning(TimetableModel model)`

  - ### Uses of TimetableModel in org.cpsolver.coursett.heuristics

    Methods in org.cpsolver.coursett.heuristics that return TimetableModel
    Modifier and Type | Method and Description
    --- | ---
    `TimetableModel` | NeighbourSelectionWithSuggestions.NeighbourSelectionWithSuggestionsContext.`getModel()`

    Methods in org.cpsolver.coursett.heuristics with parameters of type TimetableModel
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | PlacementSelection.`containsItselfSingletonOrCommited(TimetableModel model, Set<Placement> values, Placement selectedValue)`
    `Map<String,Double>` | UniversalPerturbationsCounter.`getCompactInfo(Assignment<Lecture,Placement> assignment, TimetableModel model, boolean includeZero, boolean weighted)`
    `Map<String,Double>` | UniversalPerturbationsCounter.`getCompactInfo(Assignment<Lecture,Placement> assignment, TimetableModel model, Placement assignedPlacement, boolean includeZero, boolean weighted)`
    `void` | UniversalPerturbationsCounter.`getInfo(Assignment<Lecture,Placement> assignment, TimetableModel model, Map<String,String> info)`
    `void` | UniversalPerturbationsCounter.`getInfo(Assignment<Lecture,Placement> assignment, TimetableModel model, Map<String,String> info, List<Lecture> variables)`

  - ### Uses of TimetableModel in org.cpsolver.coursett.model

    Fields in org.cpsolver.coursett.model declared as TimetableModel
    Modifier and Type | Field and Description
    --- | ---
    `protected TimetableModel` | DefaultStudentSectioning.`iModel`

    Constructors in org.cpsolver.coursett.model with parameters of type TimetableModel
    Constructor and Description
    `DefaultStudentSectioning(TimetableModel model)` Constructor
    `FinalSectioning(TimetableModel model)`
    `OnFlySectioning(TimetableModel model)` Constructor

  - ### Uses of TimetableModel in org.cpsolver.coursett.sectioning

    Methods in org.cpsolver.coursett.sectioning that return TimetableModel
    Modifier and Type | Method and Description
    --- | ---
    `TimetableModel` | SctModel.`getTimetableModel()` Course timetabling model

    Methods in org.cpsolver.coursett.sectioning with parameters of type TimetableModel
    Modifier and Type | Method and Description
    --- | ---
    `Neighbour<Lecture,Placement>` | StudentSwapGenerator.`generateSwap(TimetableModel model, Assignment<Lecture,Placement> assignment, Student student, Configuration config)`
    `static double` | StudentSwapSectioning.`gp(TimetableModel model)` Student group percentage of a solution
    `static double` | StudentSwapSectioning.`gp(TimetableModel model, Collection<Lecture> variables)` Student group percentage of a solution subset
    `static double` | StudentSwapSectioning.`group(TimetableModel model)` Student group weight of a solution

    Constructors in org.cpsolver.coursett.sectioning with parameters of type TimetableModel
    Constructor and Description
    `SctModel(TimetableModel model, Assignment<Lecture,Placement> assignment)` Constructor
    `SctSectioning(TimetableModel model)`
    `StudentSwap(TimetableModel model, Assignment<Lecture,Placement> assignment, Student student, Collection<Lecture> lectures)` Move a student into some other lectures of the offering.
    `StudentSwap(TimetableModel model, Assignment<Lecture,Placement> assignment, Student firstStudent, Student secondStudent, Long offeringId)` Create a swap of two students of an offering.
    `StudentSwapSectioning(TimetableModel model)`