public static class RandomUnassignmentSelection.UnassignStudentNeighbour extends Object implements Neighbour<Request,Enrollment>
Constructor and Description |
---|
UnassignStudentNeighbour(Student student,
Assignment<Request,Enrollment> assignment,
Request.RequestPriority priority)
Constructor
|
Modifier and Type | Method and Description |
---|---|
void |
assign(Assignment<Request,Enrollment> assignment,
long iteration)
All requests of the given student are unassigned
|
Map<Request,Enrollment> |
assignments()
Return assignments to be done.
|
boolean |
canUnassign(Enrollment enrollment)
Check if the given enrollment can be unassigned
|
String |
toString() |
double |
value(Assignment<Request,Enrollment> assignment)
Difference in the evaluation function, if this neighnour is assigned.
|
public UnassignStudentNeighbour(Student student, Assignment<Request,Enrollment> assignment, Request.RequestPriority priority)
student
- a student to be unassignedpublic boolean canUnassign(Enrollment enrollment)
enrollment
- given enrollmentpublic double value(Assignment<Request,Enrollment> assignment)
Neighbour
value
in interface Neighbour<Request,Enrollment>
assignment
- current assignmentpublic void assign(Assignment<Request,Enrollment> assignment, long iteration)
assign
in interface Neighbour<Request,Enrollment>
assignment
- current assignmentiteration
- current iterationpublic Map<Request,Enrollment> assignments()
Neighbour
assignments
in interface Neighbour<Request,Enrollment>