public class StudentSctNeighbourSelection extends RoundRobinNeighbourSelection<Request,Enrollment> implements SolverListener<Request,Enrollment>
RoundRobinNeighbourSelection
, the following steps are involved:
BranchBoundSelection
is used)
SwapStudentSelection
is used)
StandardSelection
is used)
BacktrackSelection
is
used)
SwapStudentSelection
is used)
RndUnProblStudSelection
is used)
ResectionIncompleteStudentsSelection
is used)
ResectionUnassignedStudentsSelection
is used)
SwapStudentSelection
is used)
StandardSelection
with RouletteWheelRequestSelection
is used)
SwapStudentSelection
is used)
BacktrackSelection
is used)
RandomUnassignmentSelection
is used)
iSolver, sLogger
iStat
Constructor and Description |
---|
StudentSctNeighbourSelection(DataProperties properties) |
Modifier and Type | Method and Description |
---|---|
void |
changeSelection(int selectionIndex)
Change selection
|
void |
init(Solver<Request,Enrollment> solver)
Initialization
|
void |
neighbourFailed(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour)
Called when
ParallelSolver failed to assign the given neighbour |
boolean |
neighbourSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour)
A neighbour was selected
|
void |
setup(Solver<Request,Enrollment> solver) |
boolean |
valueSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable,
Enrollment value)
A value was selected
|
boolean |
variableSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable)
A variable was selected
|
getSelection, getSelectionIndex, registerSelection, selectNeighbour
getValueSelection, getVariableSelection, selectValue, selectVariable, setValueSelection, setVariableSelection
public StudentSctNeighbourSelection(DataProperties properties) throws Exception
Exception
public void init(Solver<Request,Enrollment> solver)
RoundRobinNeighbourSelection
init
in interface NeighbourSelection<Request,Enrollment>
init
in class RoundRobinNeighbourSelection<Request,Enrollment>
solver
- current solverpublic void setup(Solver<Request,Enrollment> solver)
public void changeSelection(int selectionIndex)
RoundRobinNeighbourSelection
changeSelection
in class RoundRobinNeighbourSelection<Request,Enrollment>
selectionIndex
- current selection indexpublic boolean variableSelected(Assignment<Request,Enrollment> assignment, long iteration, Request variable)
SolverListener
variableSelected
in interface SolverListener<Request,Enrollment>
assignment
- current assignmentiteration
- current iterationvariable
- selected variablepublic boolean valueSelected(Assignment<Request,Enrollment> assignment, long iteration, Request variable, Enrollment value)
SolverListener
valueSelected
in interface SolverListener<Request,Enrollment>
assignment
- current assignmentiteration
- current iterationvariable
- selected variablevalue
- selected variablepublic boolean neighbourSelected(Assignment<Request,Enrollment> assignment, long iteration, Neighbour<Request,Enrollment> neighbour)
SolverListener
neighbourSelected
in interface SolverListener<Request,Enrollment>
assignment
- current assignmentiteration
- current iterationneighbour
- neighbourpublic void neighbourFailed(Assignment<Request,Enrollment> assignment, long iteration, Neighbour<Request,Enrollment> neighbour)
SolverListener
ParallelSolver
failed to assign the given neighbourneighbourFailed
in interface SolverListener<Request,Enrollment>
assignment
- current assignmentiteration
- current iterationneighbour
- neighbour