public class StudentSwap extends Object implements StudentMove
sEps
Constructor and Description |
---|
StudentSwap(TimetableModel model,
Assignment<Lecture,Placement> assignment,
Student student,
Collection<Lecture> lectures)
Move a student into some other lectures of the offering.
|
StudentSwap(TimetableModel model,
Assignment<Lecture,Placement> assignment,
Student firstStudent,
Student secondStudent,
Long offeringId)
Create a swap of two students of an offering.
|
Modifier and Type | Method and Description |
---|---|
void |
assign(Assignment<Lecture,Placement> assignment,
long iteration)
Perform assignment
|
Map<Lecture,Placement> |
assignments()
Return assignments to be done.
|
protected void |
decJenrl(Assignment<Lecture,Placement> assignment,
Student student,
Lecture l1,
Lecture l2)
Decrement
JenrlConstraint between the given two classes by the given student |
double |
getJenrConflictWeight(List<StudentConflict> criteria,
Student student,
Placement p1,
Placement p2)
Compute student conflict weigth between two classes.
|
double |
group(List<StudentConflict> criteria,
Assignment<Lecture,Placement> assignment)
Student group weight change
|
protected void |
incJenrl(Assignment<Lecture,Placement> assignment,
Student student,
Lecture l1,
Lecture l2)
Increment
JenrlConstraint between the given two classes by the given student |
protected boolean |
initSwap(Assignment<Lecture,Placement> assignment,
Long offeringId)
Compute student swap and its validity
|
boolean |
isAllowed()
Is the change valid / allowed?
|
String |
toString() |
double |
value(Assignment<Lecture,Placement> assignment)
Difference in the evaluation function, if this neighnour is assigned.
|
double |
value(List<StudentConflict> criteria,
Assignment<Lecture,Placement> assignment)
Student conflict weight change
|
public StudentSwap(TimetableModel model, Assignment<Lecture,Placement> assignment, Student firstStudent, Student secondStudent, Long offeringId)
public StudentSwap(TimetableModel model, Assignment<Lecture,Placement> assignment, Student student, Collection<Lecture> lectures)
protected boolean initSwap(Assignment<Lecture,Placement> assignment, Long offeringId)
protected void decJenrl(Assignment<Lecture,Placement> assignment, Student student, Lecture l1, Lecture l2)
JenrlConstraint
between the given two classes by the given studentprotected void incJenrl(Assignment<Lecture,Placement> assignment, Student student, Lecture l1, Lecture l2)
JenrlConstraint
between the given two classes by the given studentpublic double getJenrConflictWeight(List<StudentConflict> criteria, Student student, Placement p1, Placement p2)
public double value(Assignment<Lecture,Placement> assignment)
Neighbour
public double value(List<StudentConflict> criteria, Assignment<Lecture,Placement> assignment)
StudentMove
value
in interface StudentMove
public void assign(Assignment<Lecture,Placement> assignment, long iteration)
Neighbour
public boolean isAllowed()
StudentMove
isAllowed
in interface StudentMove
public Map<Lecture,Placement> assignments()
Neighbour
assignments
in interface Neighbour<Lecture,Placement>
public double group(List<StudentConflict> criteria, Assignment<Lecture,Placement> assignment)
StudentMove
group
in interface StudentMove