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)
Neighbourpublic double value(List<StudentConflict> criteria, Assignment<Lecture,Placement> assignment)
StudentMovevalue in interface StudentMovepublic void assign(Assignment<Lecture,Placement> assignment, long iteration)
Neighbourpublic boolean isAllowed()
StudentMoveisAllowed in interface StudentMovepublic Map<Lecture,Placement> assignments()
Neighbourassignments in interface Neighbour<Lecture,Placement>public double group(List<StudentConflict> criteria, Assignment<Lecture,Placement> assignment)
StudentMovegroup in interface StudentMove