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

- Packages that use Configuration
  Package | Description
  --- | ---
  org.cpsolver.coursett.custom | University Course Timetabling: Various customizations.
  org.cpsolver.coursett.model | University Course Timetabling: Model.
  org.cpsolver.coursett.sectioning | Additional Student Sectioning Algorithms.

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

    Method parameters in org.cpsolver.coursett.custom with type arguments of type Configuration
    Modifier and Type | Method and Description
    --- | ---
    `protected InitialSectioning.Group[]` | DeterministicStudentSectioning.`studentsToConfigurations(Long offeringId, Collection<Student> students, Collection<Configuration> configurations)`

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

    Methods in org.cpsolver.coursett.model that return Configuration
    Modifier and Type | Method and Description
    --- | ---
    `Configuration` | FinalSectioning.MoveBetweenCfgs.`firstConfiguration()`
    `Configuration` | InitialSectioning.Group.`getConfiguration()`
    `Configuration` | Lecture.`getConfiguration()`
    `Configuration` | FinalSectioning.MoveBetweenCfgs.`secondConfiguration()`

    Methods in org.cpsolver.coursett.model that return types with arguments of type Configuration
    Modifier and Type | Method and Description
    --- | ---
    `List<Configuration>` | Configuration.`getAltConfigurations()`
    `Set<Configuration>` | Student.`getConfigurations()`

    Methods in org.cpsolver.coursett.model with parameters of type Configuration
    Modifier and Type | Method and Description
    --- | ---
    `void` | Configuration.`addAltConfiguration(Configuration configuration)`
    `void` | Student.`addConfiguration(Configuration config)`
    `boolean` | Student.`areAlternatives(Configuration c1, Configuration c2)`
    `boolean` | Student.`canEnroll(Configuration config)`
    `FinalSectioning.MoveBetweenCfgs` | FinalSectioning.`createMove(Assignment<Lecture,Placement> assignment, Configuration firstConfig, Student firstStudent, Configuration secondConfig, Student secondStudent)`
    `void` | FinalSectioning.`findAndPerformMoves(Assignment<Lecture,Placement> assignment, Configuration configuration, HashSet<Lecture> lecturesToRecompute)`
    `FinalSectioning.MoveBetweenCfgs` | FinalSectioning.`findMove(Assignment<Lecture,Placement> assignment, Configuration config, Student student)`
    `double` | Student.`getOfferingWeight(Configuration configuration)`
    `Double` | Student.`getPriority(Configuration configuration)`
    `void` | Student.`removeConfiguration(Configuration config)`
    `void` | Lecture.`setConfiguration(Configuration configuration)`

    Method parameters in org.cpsolver.coursett.model with type arguments of type Configuration
    Modifier and Type | Method and Description
    --- | ---
    `void` | DefaultStudentSectioning.`initialSectioning(Assignment<Lecture,Placement> assignment, Long offeringId, String courseName, Collection<Student> students, Collection<Configuration> configurations)` Enroll students into the given offering during the initial data load using `InitialSectioning`.
    `void` | StudentSectioning.`initialSectioning(Assignment<Lecture,Placement> assignment, Long offeringId, String courseName, Collection<Student> students, Collection<Configuration> configurations)` Enroll students into the given offering during the initial data load.
    `static void` | InitialSectioning.`initialSectioningCfg(Assignment<Lecture,Placement> assignment, Progress p, Long offeringId, String courseName, Collection<Student> students, List<Configuration> configurations)`
    `void` | Configuration.`setAltConfigurations(List<Configuration> altConfigurations)`
    `protected InitialSectioning.Group[]` | DefaultStudentSectioning.`studentsToConfigurations(Long offeringId, Collection<Student> students, Collection<Configuration> configurations)` Section students into configurations.

    Constructors in org.cpsolver.coursett.model with parameters of type Configuration
    Constructor and Description
    `Group(Configuration configuration)`
    `MoveBetweenCfgs(Configuration firstConfig, Student firstStudent, Configuration secondConfig, Student secondStudent)`

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

    Methods in org.cpsolver.coursett.sectioning that return types with arguments of type Configuration
    Modifier and Type | Method and Description
    --- | ---
    `List<Configuration>` | SctModel.`getConfigurations()` All configuration of the selected offering

    Methods in org.cpsolver.coursett.sectioning with parameters of type Configuration
    Modifier and Type | Method and Description
    --- | ---
    `Neighbour<Lecture,Placement>` | StudentSwapGenerator.`generateSwap(TimetableModel model, Assignment<Lecture,Placement> assignment, Student student, Configuration config)`
    `Map<Long,Set<Lecture>>` | SctModel.`getSubparts(Configuration configuration)` List of scheduling subparts and their classes of the given configuration
    `void` | SctModel.`setConfiguration(Configuration config)` Select an offering for the model

    Method parameters in org.cpsolver.coursett.sectioning with type arguments of type Configuration
    Modifier and Type | Method and Description
    --- | ---
    `protected InitialSectioning.Group[]` | SctSectioning.`studentsToConfigurations(Long offeringId, Collection<Student> students, Collection<Configuration> configurations)`
    `protected InitialSectioning.Group[]` | StudentSwapSectioning.`studentsToConfigurations(Long offeringId, Collection<Student> students, Collection<Configuration> configurations)`