public class StudentEnrollmentSwapSelection extends Object implements NeighbourSelection<Request,Enrollment>, InfoProvider<Request,Enrollment>, SolverListener<Request,Enrollment>
Enrollment.getPriority()
as well as
selection preferences Enrollment.percentSelected()
.
Modifier and Type | Field and Description |
---|---|
protected long |
iNbrIterations |
protected long |
iNbrNoSolution |
protected long |
iNbrTimeoutReached |
protected BacktrackSelection.RequestComparator |
iRequestComparator |
protected LinkedList<Request> |
iRequests |
protected long |
iTotalTime |
Constructor and Description |
---|
StudentEnrollmentSwapSelection(DataProperties properties) |
Modifier and Type | Method and Description |
---|---|
void |
addRequest(Request request) |
void |
getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info)
Adds some information into the table with information about the solution
|
void |
getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info,
Collection<Request> variables)
Adds some information into the table with information about the solution,
only consider variables from the given set
|
void |
init(Solver<Request,Enrollment> solver)
Criterion initialization
|
void |
init(Solver<Request,Enrollment> solver,
String name) |
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
|
protected Request |
nextRequest() |
Neighbour<Request,Enrollment> |
selectNeighbour(Solution<Request,Enrollment> solution)
select a neighbour of a given solution
|
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
|
protected LinkedList<Request> iRequests
protected long iNbrIterations
protected long iTotalTime
protected long iNbrTimeoutReached
protected long iNbrNoSolution
protected BacktrackSelection.RequestComparator iRequestComparator
public StudentEnrollmentSwapSelection(DataProperties properties)
public void init(Solver<Request,Enrollment> solver, String name)
public void init(Solver<Request,Enrollment> solver)
NeighbourSelection
init
in interface NeighbourSelection<Request,Enrollment>
solver
- current solverprotected Request nextRequest()
public void addRequest(Request request)
public Neighbour<Request,Enrollment> selectNeighbour(Solution<Request,Enrollment> solution)
NeighbourSelection
selectNeighbour
in interface NeighbourSelection<Request,Enrollment>
solution
- given solutionpublic void getInfo(Assignment<Request,Enrollment> assignment, Map<String,String> info)
InfoProvider
getInfo
in interface InfoProvider<Request,Enrollment>
assignment
- current assignmentinfo
- info tablepublic void getInfo(Assignment<Request,Enrollment> assignment, Map<String,String> info, Collection<Request> variables)
InfoProvider
getInfo
in interface InfoProvider<Request,Enrollment>
assignment
- current assignmentinfo
- info tablevariables
- sub-problempublic 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