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

- Packages that use CourseRequest
  Package | Description
  --- | ---
  org.cpsolver.studentsct | Student Sectioning Solver.
  org.cpsolver.studentsct.heuristics.selection | Student Sectioning: Various Neighbour Selection Criteria.
  org.cpsolver.studentsct.model | Student Sectioning: Model.
  org.cpsolver.studentsct.online.selection | Online Student Sectioning Solver: Selection Weights and Heuristics.
  org.cpsolver.studentsct.report | Student Sectioning: Various Reports.

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

    Methods in org.cpsolver.studentsct that return CourseRequest
    Modifier and Type | Method and Description
    --- | ---
    `CourseRequest` | StudentSectioningXMLLoader.`loadCourseRequest(Element requestEl, Student student, Map<Long,Offering> offeringTable, Map<Long,Course> courseTable)` Load course request

    Methods in org.cpsolver.studentsct with parameters of type CourseRequest
    Modifier and Type | Method and Description
    --- | ---
    `double` | StudentPreferencePenalties.`getMaxPenalty(CourseRequest request)` Maximal penalty of a course request
    `double[]` | StudentPreferencePenalties.`getMinMaxAvailableEnrollmentPenalty(Assignment<Request,Enrollment> assignment, CourseRequest request)` Minimal and maximal available enrollment penalty of a request
    `static double[]` | Test.`getMinMaxAvailableEnrollmentPenalty(Assignment<Request,Enrollment> assignment, CourseRequest request)` Minimum and maximum available enrollment penalty, i.e., `Enrollment.getPenalty()` of all available enrollments
    `double[]` | StudentPreferencePenalties.`getMinMaxEnrollmentPenalty(CourseRequest request)` Minimal and maximal available enrollment penalty of a request
    `static double[]` | Test.`getMinMaxEnrollmentPenalty(CourseRequest request)` Minimum and maximum enrollment penalty, i.e., `Enrollment.getPenalty()` of all enrollments
    `double` | StudentPreferencePenalties.`getMinPenalty(CourseRequest request)` Minimal penalty of a course request
    `protected void` | StudentSectioningXMLSaver.`saveCourseRequest(Element requestEl, CourseRequest request)` Save course request
    `void` | StudentSectioningModel.`setCourseRequestPriority(CourseRequest request, Request.RequestPriority priority)`

  - ### Uses of CourseRequest in org.cpsolver.studentsct.heuristics.selection

    Fields in org.cpsolver.studentsct.heuristics.selection with type parameters of type CourseRequest
    Modifier and Type | Field and Description
    --- | ---
    `protected HashMap<CourseRequest,List<Enrollment>>` | BranchBoundSelection.Selection.`iValues` Value cache

    Methods in org.cpsolver.studentsct.heuristics.selection with parameters of type CourseRequest
    Modifier and Type | Method and Description
    --- | ---
    `protected List<Enrollment>` | BranchBoundSelection.Selection.`values(CourseRequest request)` Returns list of available enrollments for a course request

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

    Methods in org.cpsolver.studentsct.model that return types with arguments of type CourseRequest
    Modifier and Type | Method and Description
    --- | ---
    `Set<CourseRequest>` | Course.`getRequests()` Set of course requests requesting this course
    `Set<CourseRequest>` | RequestGroup.`getRequests()` Return the set of course requests that are associated with this group.

    Methods in org.cpsolver.studentsct.model with parameters of type CourseRequest
    Modifier and Type | Method and Description
    --- | ---
    `void` | RequestGroup.`addRequest(CourseRequest request)` Add course request to the group.
    `void` | RequestGroup.`removeRequest(CourseRequest request)` Remove course request from the group.

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

    Fields in org.cpsolver.studentsct.online.selection with type parameters of type CourseRequest
    Modifier and Type | Field and Description
    --- | ---
    `protected Hashtable<CourseRequest,Set<Section>>` | SuggestionSelection.`iPreferredSections`
    `protected Hashtable<CourseRequest,Config>` | SuggestionSelection.`iRequiredConfig`
    `protected Hashtable<CourseRequest,Hashtable<Subpart,Section>>` | SuggestionSelection.`iRequiredSection`
    `protected Set<CourseRequest>` | SuggestionSelection.`iRequiredUnassinged`
    `protected HashMap<CourseRequest,List<Enrollment>>` | MultiCriteriaBranchAndBoundSelection.`iValues` Value cache

    Methods in org.cpsolver.studentsct.online.selection with parameters of type CourseRequest
    Modifier and Type | Method and Description
    --- | ---
    `protected List<Enrollment>` | MultiCriteriaBranchAndBoundSelection.`values(CourseRequest request)` Returns list of available enrollments for a course request
    `protected List<Enrollment>` | SuggestionSelection.Selection.`values(CourseRequest request)`

    Method parameters in org.cpsolver.studentsct.online.selection with type arguments of type CourseRequest
    Modifier and Type | Method and Description
    --- | ---
    `void` | MultiCriteriaBranchAndBoundSelection.`setPreferredSections(Hashtable<CourseRequest,Set<Section>> preferredSections)`
    `void` | OnlineSectioningSelection.`setPreferredSections(Hashtable<CourseRequest,Set<Section>> preferredSections)` Set preferred sections
    `void` | SuggestionSelection.`setPreferredSections(Hashtable<CourseRequest,Set<Section>> preferredSections)`
    `void` | MultiCriteriaBranchAndBoundSelection.`setRequiredSections(Hashtable<CourseRequest,Set<Section>> requiredSections)`
    `void` | OnlineSectioningSelection.`setRequiredSections(Hashtable<CourseRequest,Set<Section>> requiredSections)` Set required sections
    `void` | SuggestionSelection.`setRequiredSections(Hashtable<CourseRequest,Set<Section>> requiredSections)`
    `void` | MultiCriteriaBranchAndBoundSelection.`setRequiredUnassinged(Set<CourseRequest> requiredUnassignedRequests)`
    `void` | OnlineSectioningSelection.`setRequiredUnassinged(Set<CourseRequest> requiredUnassignedRequests)` Set course requests that are to be left unassigned
    `void` | SuggestionSelection.`setRequiredUnassinged(Set<CourseRequest> requiredUnassignedRequests)`

    Constructor parameters in org.cpsolver.studentsct.online.selection with type arguments of type CourseRequest
    Constructor and Description
    `EqualWeightCriterion(Student student, OnlineSectioningModel model, Assignment<Request,Enrollment> assignment, Hashtable<CourseRequest,Set<Section>> preferredSections)`
    `MultiCriteriaBranchAndBoundSuggestions(DataProperties properties, Student student, Assignment<Request,Enrollment> assignment, Hashtable<CourseRequest,Set<Section>> requiredSections, Set<FreeTimeRequest> requiredFreeTimes, Hashtable<CourseRequest,Set<Section>> preferredSections, Request selectedRequest, Section selectedSection, SuggestionsBranchAndBound.SuggestionFilter filter, double maxSectionsWithPenalty, boolean priorityWeighting)` Constructor
    `MultiCriteriaBranchAndBoundSuggestions(DataProperties properties, Student student, Assignment<Request,Enrollment> assignment, Hashtable<CourseRequest,Set<Section>> requiredSections, Set<FreeTimeRequest> requiredFreeTimes, Hashtable<CourseRequest,Set<Section>> preferredSections, Request selectedRequest, Section selectedSection, SuggestionsBranchAndBound.SuggestionFilter filter, double maxSectionsWithPenalty, boolean priorityWeighting)` Constructor
    `OnlineSectioningCriterion(Student student, OnlineSectioningModel model, Assignment<Request,Enrollment> assignment, Hashtable<CourseRequest,Set<Section>> preferredSections)` Constructor
    `SuggestionsBranchAndBound(DataProperties properties, Student student, Assignment<Request,Enrollment> assignment, Hashtable<CourseRequest,Set<Section>> requiredSections, Set<FreeTimeRequest> requiredFreeTimes, Hashtable<CourseRequest,Set<Section>> preferredSections, Request selectedRequest, Section selectedSection, SuggestionsBranchAndBound.SuggestionFilter filter, double maxSectionsWithPenalty)` Constructor
    `SuggestionsBranchAndBound(DataProperties properties, Student student, Assignment<Request,Enrollment> assignment, Hashtable<CourseRequest,Set<Section>> requiredSections, Set<FreeTimeRequest> requiredFreeTimes, Hashtable<CourseRequest,Set<Section>> preferredSections, Request selectedRequest, Section selectedSection, SuggestionsBranchAndBound.SuggestionFilter filter, double maxSectionsWithPenalty)` Constructor

  - ### Uses of CourseRequest in org.cpsolver.studentsct.report

    Methods in org.cpsolver.studentsct.report that return CourseRequest
    Modifier and Type | Method and Description
    --- | ---
    `CourseRequest` | AbstractStudentSectioningReport.RequestMatcher.`cr()`