# Package org.cpsolver.studentsct.online.selection

Online Student Sectioning Solver: Selection Weights and Heuristics.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  MultiCriteriaBranchAndBoundSelection.SelectionComparator | Enrollment comparator
  MultiCriteriaBranchAndBoundSelection.SelectionCriterion | Multi-criteria selection interface.
  OnlineSectioningSelection | Online student sectioning interface to be implemented by any sectioning algorithm.
  ResectioningWeights.LastSectionProvider | Compare the old assignment with the current one
  SuggestionsBranchAndBound.SuggestionFilter | Suggestion filter.

- Class Summary
  Class | Description
  --- | ---
  BestPenaltyCriterion | A simple weighting multi-criteria selection criterion only optimizing on the over-expected penalty.
  EqualWeightCriterion | Equal weighting multi-criteria selection criterion.
  MultiCriteriaBranchAndBoundSelection | Online student sectioning algorithm using multi-criteria selection.
  MultiCriteriaBranchAndBoundSuggestions | Computation of suggestions using a limited depth branch and bound, using a multi-criteria selection criterion.
  OnlineSectioningCriterion | Multi-criteria selection criterion.
  OnlineSectioningCriterion.TimeToAvoid | Time to be avoided.
  ResectioningWeights | Re-scheduling variant of `StudentWeights` model.
  StudentSchedulingAssistantWeights | Online variant of `StudentWeights` model.
  SuggestionsBranchAndBound | Computation of suggestions using a limited depth branch and bound.
  SuggestionSelection | Online student sectioning algorithm based on the `BranchBoundSelection` of the batch solver.

## Package org.cpsolver.studentsct.online.selection Description

# Online Student Sectioning Solver: Selection Weights and Heuristics.

This package contains various algorithms to provide student with an initial schedule and with suggestions. There are also different weights, using multiple criteria with or without counting on course request priorities.

Version:
  IFS 1.4 (Instructor Sectioning)
  Copyright (C) 2024 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/.
Author:
  Tomáš Müller