public class SctSectioning extends DefaultStudentSectioning implements InfoProvider<Lecture,Placement>
Modifier and Type | Class and Description |
---|---|
protected static class |
SctSectioning.GroupBasedInitialSectioning |
iFinalSectioning, iModel, sDF2
Constructor and Description |
---|
SctSectioning(TimetableModel model) |
Modifier and Type | Method and Description |
---|---|
protected List<StudentConflict> |
getStudentConflictCriteria()
List of student conflict criteria
|
boolean |
hasFinalSectioning()
Return true if final student sectioning is implemented.
|
protected boolean |
hasStudentGroups(Collection<Student> students) |
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(Solution<Lecture,Placement> solution)
Student conflict weight for the given solution
|
getClassLabel, getInfo, getInfo, getProgress, initialSectioning, initialSectioningLectures
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getInfo, getInfo
public SctSectioning(TimetableModel model)
public boolean hasFinalSectioning()
DefaultStudentSectioning
hasFinalSectioning
in interface StudentSectioning
hasFinalSectioning
in class DefaultStudentSectioning
protected List<StudentConflict> getStudentConflictCriteria()
protected double value(Solution<Lecture,Placement> solution)
public void switchStudents(Solution<Lecture,Placement> solution, TerminationCondition<Lecture,Placement> termination)
DefaultStudentSectioning
switchStudents
in interface StudentSectioning
switchStudents
in class DefaultStudentSectioning
solution
- current solutiontermination
- termination condition (optional)public void resection(Assignment<Lecture,Placement> assignment, Lecture lecture, boolean recursive, boolean configAsWell)
DefaultStudentSectioning
resection
in interface StudentSectioning
resection
in class DefaultStudentSectioning
assignment
- 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)
DefaultStudentSectioning
InitialSectioning.getGroups()
.studentsToConfigurations
in class DefaultStudentSectioning
offeringId
- instructional offering idstudents
- list of students to be sectionedconfigurations
- list of configurations the students are to be sectioned intoInitialSectioning.Group
protected InitialSectioning.Group[] studentsToLectures(Long offeringId, Collection<Student> students, Collection<Lecture> lectures)
DefaultStudentSectioning
InitialSectioning.getGroups()
.studentsToLectures
in class DefaultStudentSectioning
offeringId
- instructional offering idstudents
- list of students to be sectionedlectures
- list of lectures the students are to be sectioned intoInitialSectioning.Group