## Uses of Class
org.cpsolver.studentsct.model.Config

- Packages that use Config
  Package | Description
  --- | ---
  org.cpsolver.studentsct | Student Sectioning Solver.
  org.cpsolver.studentsct.constraint | Student Sectioning: Constraints.
  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.reservation | Student Sectioning: Reservations.

- - ### Uses of Config in org.cpsolver.studentsct

    Methods in org.cpsolver.studentsct that return Config
    Modifier and Type | Method and Description
    --- | ---
    `protected Config` | StudentSectioningXMLLoader.`loadConfig(Element configEl, Offering offering, Map<Long,Subpart> subpartTable, Map<Long,Section> sectionTable, Map<Long,Placement> timetable)` Load config

    Methods in org.cpsolver.studentsct with parameters of type Config
    Modifier and Type | Method and Description
    --- | ---
    `double` | StudentPreferencePenalties.`getMaxPenalty(Config config)` Maximal penalty of a config
    `double` | StudentPreferencePenalties.`getMinPenalty(Config config)` Minimal penalty of a config
    `protected Subpart` | StudentSectioningXMLLoader.`loadSubpart(Element subpartEl, Config config, Map<Long,Subpart> subpartTable, Map<Long,Section> sectionTable, Map<Long,Placement> timetable)` Load subpart
    `protected void` | StudentSectioningXMLSaver.`saveConfig(Element configEl, Config config)` Save given config

    Method parameters in org.cpsolver.studentsct with type arguments of type Config
    Modifier and Type | Method and Description
    --- | ---
    `protected Reservation` | StudentSectioningXMLLoader.`loadReservation(Element reservationEl, Offering offering, HashMap<Long,Config> configTable, HashMap<Long,Section> sectionTable)` Load reservation
    `protected Restriction` | StudentSectioningXMLLoader.`loadRestriction(Element restrictionEl, Offering offering, HashMap<Long,Config> configTable, HashMap<Long,Section> sectionTable)` Load restriction

  - ### Uses of Config in org.cpsolver.studentsct.constraint

    Methods in org.cpsolver.studentsct.constraint with parameters of type Config
    Modifier and Type | Method and Description
    --- | ---
    `static double` | ConfigLimit.`getEnrollmentWeight(Assignment<Request,Enrollment> assignment, Config config, Request request)` Enrollment weight of a config if the given request is assigned.
    `static double` | ReservationLimit.`getUnreservedSpace(Assignment<Request,Enrollment> assignment, Config config, Request request, boolean hasReservation)` Remaining unreserved space in a config if the given request is assigned.

  - ### Uses of Config in org.cpsolver.studentsct.model

    Methods in org.cpsolver.studentsct.model that return Config
    Modifier and Type | Method and Description
    --- | ---
    `Config` | Enrollment.`getConfig()` Config of the course request
    `Config` | Subpart.`getConfig()` Instructional offering configuration to which this subpart belongs
    `Config` | CourseRequest.`getConfig(long configId)` Return configuration of the requested courses with the given id

    Methods in org.cpsolver.studentsct.model that return types with arguments of type Config
    Modifier and Type | Method and Description
    --- | ---
    `List<Config>` | Offering.`getConfigs()` Possible configurations

    Methods in org.cpsolver.studentsct.model with parameters of type Config
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | CourseRequest.`isNotAllowed(Course course, Config config)` Return true when there are restrictions for a course of this course request and the given config does not meet any of them

    Constructors in org.cpsolver.studentsct.model with parameters of type Config
    Constructor and Description
    `Choice(Config config)` Constructor
    `Enrollment(Request request, int priority, boolean noReservationPenalty, Course course, Config config, Set<? extends SctAssignment> assignments, Reservation reservation)` Constructor
    `Enrollment(Request request, int priority, Config config, Set<? extends SctAssignment> assignments, Assignment<Request,Enrollment> assignment)` Constructor
    `Enrollment(Request request, int priority, Course course, Config config, Set<? extends SctAssignment> assignments, Reservation reservation)` Constructor
    `Subpart(long id, String itype, String name, Config config, Subpart parent)` Constructor

  - ### Uses of Config in org.cpsolver.studentsct.online

    Subclasses of Config in org.cpsolver.studentsct.online
    Modifier and Type | Class and Description
    --- | ---
    `class` | `OnlineConfig` An online configuration.

  - ### Uses of Config in org.cpsolver.studentsct.online.expectations

    Methods in org.cpsolver.studentsct.online.expectations with parameters of type Config
    Modifier and Type | Method and Description
    --- | ---
    `protected double` | PercentageOverExpected.`getEnrollment(Assignment<Request,Enrollment> assignment, Config config, Request request)` Config enrollment (using `OnlineConfig.getEnrollment()` if applicable}, `getEnrollmentWeight(Assignment, Request)` otherwise)

  - ### Uses of Config in org.cpsolver.studentsct.online.selection

    Fields in org.cpsolver.studentsct.online.selection with type parameters of type Config
    Modifier and Type | Field and Description
    --- | ---
    `protected Hashtable<CourseRequest,Config>` | SuggestionSelection.`iRequiredConfig`

  - ### Uses of Config in org.cpsolver.studentsct.reservation

    Methods in org.cpsolver.studentsct.reservation that return types with arguments of type Config
    Modifier and Type | Method and Description
    --- | ---
    `Set<Config>` | Reservation.`getConfigs()` One or more configurations on which the reservation is set (optional).
    `Set<Config>` | Restriction.`getConfigs()` One or more configurations on which the restriction is set.

    Methods in org.cpsolver.studentsct.reservation with parameters of type Config
    Modifier and Type | Method and Description
    --- | ---
    `void` | Reservation.`addConfig(Config config)` Add a configuration (of the offering `Reservation.getOffering()`) to this reservation
    `void` | Restriction.`addConfig(Config config)` Add a configuration (of the offering `Restriction.getOffering()`) to this restriction
    `double` | Reservation.`getLimit(Config config)` Reservation limit capped the limit cap (see `Reservation.getLimitCap(Config)`) for a particular configuration
    `double` | Reservation.`getLimitCap(Config config)` Compute limit cap (maximum number of students that can get into the offering using this reservation) for a particular configuration
    `double` | Reservation.`getReservedAvailableSpace(Assignment<Request,Enrollment> assignment, Config config, Request excludeRequest)` Available reserved space for a particular config
    `double` | Reservation.ReservationContext.`getReservedAvailableSpace(Assignment<Request,Enrollment> assignment, Config config, Request excludeRequest)` Available reserved space for a particular config
    `double` | Reservation.ReservationContext.`getUsedSpace(Config config)` Used space in a particular config
    `boolean` | Restriction.`isIncluded(Config config)`