net.sf.cpsolver.studentsct.heuristics.selection

## Class OnlineSelection.EpsilonSelection

- java.lang.Object
- - net.sf.cpsolver.studentsct.heuristics.selection.BranchBoundSelection.Selection
  - - net.sf.cpsolver.studentsct.heuristics.selection.OnlineSelection.EpsilonSelection

- Enclosing class:
    OnlineSelection

      public class OnlineSelection.EpsilonSelection
      extends BranchBoundSelection.Selection

  Branch & bound selection for a student

- - ### Field Summary

    - ### Fields inherited from class net.sf.cpsolver.studentsct.heuristics.selection.BranchBoundSelection.Selection

      `iAssignment, iBestAssignment, iBestValue, iStudent, iT0, iT1, iTimeoutReached, iValues`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EpsilonSelection(Student student, BranchBoundSelection.Selection selection)` Constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Enrollment` | `firstConflict(int idx, Enrollment enrollment)` First conflicting enrollment
    `protected double` | `getAssignmentPenalty(int i)` Assignment penalty
    `StudentPreferencePenalties` | `getPenalties()` Student preference penalties
    `boolean` | `isAllowed(int idx, Enrollment enrollment)`
    `BranchBoundSelection.BranchBoundNeighbour` | `select()` Execute branch & bound, return the best found schedule for the selected student.

    - ### Methods inherited from class net.sf.cpsolver.studentsct.heuristics.selection.BranchBoundSelection.Selection

      `backTrack, canAssign, canLeaveUnassigned, getBestAssignment, getBestNrAssigned, getBestValue, getBound, getBound, getDistanceConflicts, getNrAssigned, getNrAssignedBound, getPenalty, getPenaltyBound, getTime, getTimeOverlappingConflicts, getValue, getWeight, inConflict, isTimeoutReached, saveBest, values`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### EpsilonSelection

          public EpsilonSelection(Student student,
                                  BranchBoundSelection.Selection selection)

      Constructor
      Parameters:
        `student` - selected student

  - ### Method Detail

    - #### select

          public BranchBoundSelection.BranchBoundNeighbour select()

      Execute branch & bound, return the best found schedule for the selected student.
      Overrides:
        `select` in class `BranchBoundSelection.Selection`

    - #### getAssignmentPenalty

          protected double getAssignmentPenalty(int i)

      Assignment penalty
      Overrides:
        `getAssignmentPenalty` in class `BranchBoundSelection.Selection`

    - #### isAllowed

          public boolean isAllowed(int idx,
                                   Enrollment enrollment)

    - #### firstConflict

          public Enrollment firstConflict(int idx,
                                          Enrollment enrollment)

      First conflicting enrollment
      Overrides:
        `firstConflict` in class `BranchBoundSelection.Selection`

    - #### getPenalties

          public StudentPreferencePenalties getPenalties()

      Student preference penalties