public class StudentSwapSectioning extends DefaultStudentSectioning implements InfoProvider<Lecture,Placement>
iFinalSectioning, iModel, iMustFollowReservations, sDF2| Constructor and Description |
|---|
StudentSwapSectioning(TimetableModel model) |
| Modifier and Type | Method and Description |
|---|---|
protected List<StudentConflict> |
getStudentConflictCriteria() |
static double |
gp(Solution<Lecture,Placement> solution)
Student group percentage of a solution
|
static double |
gp(TimetableModel model)
Student group percentage of a solution
|
static double |
gp(TimetableModel model,
Collection<Lecture> variables)
Student group percentage of a solution subset
|
protected double |
group(Neighbour<Lecture,Placement> n,
Assignment<Lecture,Placement> assignment)
Student group weight change of a student swap
|
static double |
group(TimetableModel model)
Student group weight of a solution
|
boolean |
hasFinalSectioning()
Return true if final student sectioning is implemented.
|
protected boolean |
hasStudentGroups(Collection<Student> students) |
protected double |
objective(Neighbour<Lecture,Placement> n,
Assignment<Lecture,Placement> assignment)
Student conflict weight change of a student swap
|
protected double |
objective(Solution<Lecture,Placement> solution)
Student conflict weight of a solution
|
void |
resection(Assignment<Lecture,Placement> assignment,
Lecture lecture,
boolean recursive,
boolean configAsWell)
Perform sectioning on the given lecture
|
protected InitialSectioning.Group[] |
studentsToConfigurations(Long offeringId,
Collection<Student> students,
Collection<Configuration> configurations)
Section students into configurations.
|
protected InitialSectioning.Group[] |
studentsToLectures(Long offeringId,
Collection<Student> students,
Collection<Lecture> lectures)
Section students into lectures.
|
void |
switchStudents(Solution<Lecture,Placement> solution,
TerminationCondition<Lecture,Placement> termination)
Run student final sectioning (switching students between sections of the same
class in order to minimize overall number of student conflicts).
|
protected double |
value(Neighbour<Lecture,Placement> n,
Assignment<Lecture,Placement> assignment)
Combined weight change of a student swap
|
protected double |
value(Solution<Lecture,Placement> solution)
Combined weight of a solution
|
getClassLabel, getInfo, getInfo, getProgress, initialSectioning, initialSectioningLectures, isMustFollowReservations, setMustFollowReservationsclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetInfo, getInfopublic StudentSwapSectioning(TimetableModel model)
protected List<StudentConflict> getStudentConflictCriteria()
public boolean hasFinalSectioning()
DefaultStudentSectioninghasFinalSectioning in interface StudentSectioninghasFinalSectioning in class DefaultStudentSectioningprotected double objective(Neighbour<Lecture,Placement> n, Assignment<Lecture,Placement> assignment)
protected double group(Neighbour<Lecture,Placement> n, Assignment<Lecture,Placement> assignment)
protected double value(Neighbour<Lecture,Placement> n, Assignment<Lecture,Placement> assignment)
protected double objective(Solution<Lecture,Placement> solution)
public static double group(TimetableModel model)
public static double gp(TimetableModel model, Collection<Lecture> variables)
public static double gp(TimetableModel model)
public static double gp(Solution<Lecture,Placement> solution)
public void switchStudents(Solution<Lecture,Placement> solution, TerminationCondition<Lecture,Placement> termination)
DefaultStudentSectioningswitchStudents in interface StudentSectioningswitchStudents in class DefaultStudentSectioningsolution - current solutiontermination - termination condition (optional)public void resection(Assignment<Lecture,Placement> assignment, Lecture lecture, boolean recursive, boolean configAsWell)
DefaultStudentSectioningresection in interface StudentSectioningresection in class DefaultStudentSectioningassignment - current assignmentlecture - given lecturerecursive - recursively resection lectures affected by a student swapconfigAsWell - resection students between configurations as wellprotected boolean hasStudentGroups(Collection<Student> students)
protected InitialSectioning.Group[] studentsToConfigurations(Long offeringId, Collection<Student> students, Collection<Configuration> configurations)
DefaultStudentSectioningInitialSectioning.getGroups().studentsToConfigurations in class DefaultStudentSectioningofferingId - instructional offering idstudents - list of students to be sectionedconfigurations - list of configurations the students are to be sectioned intoInitialSectioning.Groupprotected InitialSectioning.Group[] studentsToLectures(Long offeringId, Collection<Student> students, Collection<Lecture> lectures)
DefaultStudentSectioningInitialSectioning.getGroups().studentsToLectures in class DefaultStudentSectioningofferingId - instructional offering idstudents - list of students to be sectionedlectures - list of lectures the students are to be sectioned intoInitialSectioning.Group