Package | Description |
---|---|
org.cpsolver.coursett |
University Course Timetabling.
|
org.cpsolver.coursett.constraint |
University Course Timetabling: Constraints.
|
org.cpsolver.coursett.criteria |
University Course Timetabling: Criteria.
|
org.cpsolver.coursett.criteria.additional |
University Course Timetabling: Additional (Experimental) Criteria.
|
org.cpsolver.coursett.criteria.placement |
University Course Timetabling: Placement Selection Criteria.
|
org.cpsolver.coursett.custom |
University Course Timetabling: Various customizations.
|
org.cpsolver.coursett.heuristics |
University Course Timetabling: Heuristics.
|
org.cpsolver.coursett.model |
University Course Timetabling: Model.
|
org.cpsolver.coursett.neighbourhoods |
University Course Timetabling: Various Neighbourhoods.
|
org.cpsolver.coursett.sectioning |
Additional Student Sectioning Algorithms.
|
Modifier and Type | Field and Description |
---|---|
protected Assignment<Lecture,Placement> |
DomainChart.iAssignment |
Modifier and Type | Method and Description |
---|---|
Solver<Lecture,Placement> |
TimetableXMLLoader.getSolver() |
Modifier and Type | Method and Description |
---|---|
void |
Test.bestCleared(Solution<Lecture,Placement> solution) |
void |
Test.bestRestored(Solution<Lecture,Placement> solution) |
void |
Test.bestSaved(Solution<Lecture,Placement> solution) |
protected void |
TimetableXMLLoader.doLoad(Solution<Lecture,Placement> currentSolution,
Element root) |
protected void |
TimetableSolver.fixCompleteSolution(Solution<Lecture,Placement> solution,
double startTime)
Deprecated.
Try to improve existing solution by backtracking search of very limited
depth.
|
void |
Test.getInfo(Solution<Lecture,Placement> solution,
Map<String,String> info) |
void |
Test.getInfo(Solution<Lecture,Placement> solution,
Map<String,String> info,
Collection<Lecture> variables) |
void |
Test.getInfo(Solution<Lecture,Placement> solution,
Map<String,String> info,
Collection<Lecture> variables) |
void |
Test.init(Solver<Lecture,Placement> solver)
Solver initialization
|
void |
TimetableXMLLoader.load(Solution<Lecture,Placement> currentSolution) |
void |
TimetableXMLLoader.load(Solution<Lecture,Placement> currentSolution,
Document document) |
void |
Test.notify(Solution<Lecture,Placement> solution)
Add a line into the output CSV file when a enw best solution is found.
|
protected void |
TimetableSolver.onAssigned(double startTime,
Solution<Lecture,Placement> solution)
Deprecated.
|
static void |
Test.printRoomInfo(PrintWriter pw,
TimetableModel model,
Assignment<Lecture,Placement> assignment)
Print room utilization
|
static void |
Test.printSomeStuff(Solution<Lecture,Placement> solution)
Create info.txt with some more information about the problem
|
static void |
Test.saveOutputCSV(Solution<Lecture,Placement> s,
File file) |
void |
TimetableXMLLoader.setSolver(Solver<Lecture,Placement> solver) |
void |
Test.solutionUpdated(Solution<Lecture,Placement> solution) |
Constructor and Description |
---|
TimetableLoader(TimetableModel model,
Assignment<Lecture,Placement> assignment)
Constructor
|
TimetableSaver(Solver<Lecture,Placement> solver)
Constructor
|
TimetableXMLLoader(TimetableModel model,
Assignment<Lecture,Placement> assignment) |
TimetableXMLSaver(Solver<Lecture,Placement> solver) |
Modifier and Type | Method and Description |
---|---|
Lecture |
ClassLimitConstraint.getParentLecture() |
Modifier and Type | Method and Description |
---|---|
Set<Lecture> |
MaxConsecutiveDaysFlexibleConstraint.MaxConsecutiveDaysFlexibleConstraintContext.candidates(Placement value,
Set<Placement> conflicts) |
Set<Lecture> |
MaxDaysFlexibleConstraint.MaxDaysFlexibleConstraintContext.candidates(Placement value,
Set<Placement> conflicts) |
Set<Lecture> |
MaxHalfDaysFlexibleConstraint.MaxHalfDaysFlexibleConstraintContext.candidates(Placement value,
Set<Placement> conflicts) |
Set<Lecture> |
MaxWeeksFlexibleConstraint.MaxWeeksFlexibleConstraintContext.candidates(Placement value,
Set<Placement> conflicts) |
protected Criterion<Lecture,Placement> |
DepartmentSpreadConstraint.getCriterion() |
protected Criterion<Lecture,Placement> |
SpreadConstraint.getCriterion() |
Map<RoomLocation,Set<Lecture>> |
MinimizeNumberOfUsedRoomsConstraint.MinimizeNumberOfUsedRoomsConstraintContext.getUsedRooms() |
Modifier and Type | Method and Description |
---|---|
void |
ClassLimitConstraint.addParentAdepts(Assignment<Lecture,Placement> assignment,
Collection<Placement> adepts,
Lecture parent,
Placement value,
Set<Placement> conflicts) |
void |
GroupConstraint.addVariable(Lecture lecture) |
void |
IgnoreStudentConflictsConstraint.addVariable(Lecture variable) |
void |
SpreadConstraint.addVariable(Lecture lecture) |
protected boolean |
ExtendedStudentConflicts.checkStudentForStudentConflicts(Lecture l1,
Lecture l2) |
boolean |
RoomConstraint.RoomConstraintContext.inConflict(Lecture lecture,
TimeLocation time) |
boolean |
InstructorConstraint.isAvailable(Lecture lecture,
Placement placement) |
boolean |
InstructorConstraint.isAvailable(Lecture lecture,
TimeLocation time) |
boolean |
RoomConstraint.isAvailable(Lecture lecture,
TimeLocation time,
Long scheduler) |
boolean |
GroupConstraint.isChildrenNotOverlap(Assignment<Lecture,Placement> assignment,
Lecture lec1,
Placement plc1,
Lecture lec2,
Placement plc2) |
protected boolean |
ExtendedStudentConflicts.isIgnoreClass(Lecture lecture) |
long |
JenrlConstraint.jenrl(Assignment<Lecture,Placement> assignment,
Lecture variable,
Placement value)
Number of joined enrollments if the given value is assigned to the given
variable
|
void |
GroupConstraint.removeVariable(Lecture lecture) |
void |
ExtendedStudentConflicts.variableAdded(Lecture variable) |
void |
ExtendedStudentConflicts.variableRemoved(Lecture variable) |
Modifier and Type | Method and Description |
---|---|
void |
ClassLimitConstraint.addParentAdepts(Assignment<Lecture,Placement> assignment,
Collection<Placement> adepts,
Lecture parent,
Placement value,
Set<Placement> conflicts) |
void |
ExtendedStudentConflicts.afterAssigned(Assignment<Lecture,Placement> assignment,
long iteration,
Placement value) |
void |
ExtendedStudentConflicts.afterUnassigned(Assignment<Lecture,Placement> assignment,
long iteration,
Placement value) |
boolean |
JenrlConstraint.areStudentConflictsDistance(Assignment<Lecture,Placement> assignment) |
boolean |
JenrlConstraint.areStudentConflictsDistance(Assignment<Lecture,Placement> assignment,
Placement value) |
boolean |
JenrlConstraint.areStudentConflictsWorkday(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
RoomConstraint.assigned(Assignment<Lecture,Placement> assignment,
long iteration,
Placement placement) |
void |
DiscouragedRoomConstraint.DiscouragedRoomConstraintContext.assigned(Assignment<Lecture,Placement> assignment,
Placement placement) |
void |
FlexibleConstraint.FlexibleConstraintContext.assigned(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
GroupConstraint.GroupConstraintContext.assigned(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
InstructorConstraint.InstructorConstraintContext.assigned(Assignment<Lecture,Placement> assignment,
Placement placement) |
void |
JenrlConstraint.JenrlConstraintContext.assigned(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
MaxBreaksFlexibleConstraint.MaxBreaksFlexibleConstraintContext.assigned(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
MaxConsecutiveDaysFlexibleConstraint.MaxConsecutiveDaysFlexibleConstraintContext.assigned(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
MaxDaysFlexibleConstraint.MaxDaysFlexibleConstraintContext.assigned(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
MaxHalfDaysFlexibleConstraint.MaxHalfDaysFlexibleConstraintContext.assigned(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
MaxWeeksFlexibleConstraint.MaxWeeksFlexibleConstraintContext.assigned(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
MinimizeNumberOfUsedGroupsOfTime.MinimizeNumberOfUsedGroupsOfTimeContext.assigned(Assignment<Lecture,Placement> assignment,
Placement placement) |
void |
MinimizeNumberOfUsedRoomsConstraint.MinimizeNumberOfUsedRoomsConstraintContext.assigned(Assignment<Lecture,Placement> assignment,
Placement placement) |
void |
RoomConstraint.RoomConstraintContext.assigned(Assignment<Lecture,Placement> assignment,
Placement placement) |
void |
SoftInstructorConstraint.SoftInstructorConstraintContext.assigned(Assignment<Lecture,Placement> assignment,
Placement placement) |
void |
SpreadConstraint.SpreadConstraintContext.assigned(Assignment<Lecture,Placement> assignment,
Placement placement) |
void |
ExtendedStudentConflicts.beforeAssigned(Assignment<Lecture,Placement> assignment,
long iteration,
Placement value) |
void |
ExtendedStudentConflicts.beforeUnassigned(Assignment<Lecture,Placement> assignment,
long iteration,
Placement value) |
void |
ClassLimitConstraint.computeAdepts(Assignment<Lecture,Placement> assignment,
Collection<Placement> adepts,
List<Lecture> variables,
Placement value,
Set<Placement> conflicts) |
void |
ClassLimitConstraint.computeAdepts(Assignment<Lecture,Placement> assignment,
Collection<Placement> adepts,
List<Lecture> variables,
Placement value,
Set<Placement> conflicts) |
void |
BreakFlexibleConstraint.computeConflicts(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
void |
ClassLimitConstraint.computeConflicts(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
void |
DiscouragedRoomConstraint.computeConflicts(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
void |
ExtendedStudentConflicts.computeConflicts(Assignment<Lecture,Placement> assignment,
Placement placement,
Set<Placement> conflicts) |
void |
GroupConstraint.computeConflicts(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
void |
IgnoreStudentConflictsConstraint.computeConflicts(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
void |
InstructorConstraint.computeConflicts(Assignment<Lecture,Placement> assignment,
Placement placement,
Set<Placement> conflicts) |
void |
JenrlConstraint.computeConflicts(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
void |
MaxBlockFlexibleConstraint.computeConflicts(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
void |
MaxBreaksFlexibleConstraint.computeConflicts(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
void |
MaxConsecutiveDaysFlexibleConstraint.computeConflicts(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
void |
MaxDaysFlexibleConstraint.computeConflicts(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
void |
MaxHalfDaysFlexibleConstraint.computeConflicts(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
void |
MaxHolesFlexibleConstraint.computeConflicts(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
void |
MaxWeeksFlexibleConstraint.computeConflicts(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
void |
MinimizeNumberOfUsedGroupsOfTime.computeConflicts(Assignment<Lecture,Placement> assignment,
Placement placement,
Set<Placement> conflicts) |
void |
MinimizeNumberOfUsedRoomsConstraint.computeConflicts(Assignment<Lecture,Placement> assignment,
Placement placement,
Set<Placement> conflicts) |
void |
NoStudentOnlineConflicts.computeConflicts(Assignment<Lecture,Placement> assignment,
Placement placement,
Set<Placement> conflicts) |
void |
RoomConstraint.computeConflicts(Assignment<Lecture,Placement> assignment,
Placement placement,
Set<Placement> conflicts) |
void |
SoftInstructorConstraint.computeConflicts(Assignment<Lecture,Placement> assignment,
Placement placement,
Set<Placement> conflicts) |
void |
SpreadConstraint.computeConflicts(Assignment<Lecture,Placement> assignment,
Placement placement,
Set<Placement> conflicts) |
void |
GroupConstraint.computeConflicts(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts,
boolean fwdCheck) |
void |
GroupConstraint.computeConflictsNoForwardCheck(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
void |
ExtendedStudentConflicts.constraintAdded(Constraint<Lecture,Placement> constraint) |
void |
ExtendedStudentConflicts.constraintRemoved(Constraint<Lecture,Placement> constraint) |
protected int |
SoftInstructorConstraint.SoftInstructorConstraintContext.countConflicts(Assignment<Lecture,Placement> assignment) |
int |
MaxHolesFlexibleConstraint.countHoles(Assignment<Lecture,Placement> assignment,
int dayCode,
Set<Placement> conflicts,
Placement value,
HashMap<Lecture,Placement> assignments,
BitSet week)
Count number of holes (free slots) between the given classes on given day and week.
|
int |
MaxHolesFlexibleConstraint.countHoles(Assignment<Lecture,Placement> assignment,
int dayCode,
Set<Placement> conflicts,
Placement value,
HashMap<Lecture,Placement> assignments,
BitSet week)
Count number of holes (free slots) between the given classes on given day and week.
|
int |
InstructorConstraint.InstructorConstraintContext.countPreference(Assignment<Lecture,Placement> assignment) |
RoomConstraint.RoomConstraintContext |
DiscouragedRoomConstraint.createAssignmentContext(Assignment<Lecture,Placement> assignment) |
FlexibleConstraint.FlexibleConstraintContext |
FlexibleConstraint.createAssignmentContext(Assignment<Lecture,Placement> assignment) |
GroupConstraint.GroupConstraintContext |
GroupConstraint.createAssignmentContext(Assignment<Lecture,Placement> assignment) |
InstructorConstraint.InstructorConstraintContext |
InstructorConstraint.createAssignmentContext(Assignment<Lecture,Placement> assignment) |
JenrlConstraint.JenrlConstraintContext |
JenrlConstraint.createAssignmentContext(Assignment<Lecture,Placement> assignment) |
FlexibleConstraint.FlexibleConstraintContext |
MaxBreaksFlexibleConstraint.createAssignmentContext(Assignment<Lecture,Placement> assignment) |
FlexibleConstraint.FlexibleConstraintContext |
MaxConsecutiveDaysFlexibleConstraint.createAssignmentContext(Assignment<Lecture,Placement> assignment) |
FlexibleConstraint.FlexibleConstraintContext |
MaxDaysFlexibleConstraint.createAssignmentContext(Assignment<Lecture,Placement> assignment) |
FlexibleConstraint.FlexibleConstraintContext |
MaxHalfDaysFlexibleConstraint.createAssignmentContext(Assignment<Lecture,Placement> assignment) |
FlexibleConstraint.FlexibleConstraintContext |
MaxHolesFlexibleConstraint.createAssignmentContext(Assignment<Lecture,Placement> assignment) |
FlexibleConstraint.FlexibleConstraintContext |
MaxWeeksFlexibleConstraint.createAssignmentContext(Assignment<Lecture,Placement> assignment) |
MinimizeNumberOfUsedGroupsOfTime.MinimizeNumberOfUsedGroupsOfTimeContext |
MinimizeNumberOfUsedGroupsOfTime.createAssignmentContext(Assignment<Lecture,Placement> assignment) |
MinimizeNumberOfUsedRoomsConstraint.MinimizeNumberOfUsedRoomsConstraintContext |
MinimizeNumberOfUsedRoomsConstraint.createAssignmentContext(Assignment<Lecture,Placement> assignment) |
RoomConstraint.RoomConstraintContext |
RoomConstraint.createAssignmentContext(Assignment<Lecture,Placement> assignment) |
InstructorConstraint.InstructorConstraintContext |
SoftInstructorConstraint.createAssignmentContext(Assignment<Lecture,Placement> assignment) |
SpreadConstraint.SpreadConstraintContext |
SpreadConstraint.createAssignmentContext(Assignment<Lecture,Placement> assignment) |
int |
ClassLimitConstraint.currentClassLimit(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
void |
JenrlConstraint.decJenrl(Assignment<Lecture,Placement> assignment,
Student student)
Decrement the number of joined enrollments (during student final
sectioning)
|
boolean |
GroupConstraint.forwardCheck(Assignment<Lecture,Placement> assignment,
Placement value,
Set<GroupConstraint> ignore,
int depth) |
void |
GroupConstraint.forwardCheck(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts,
Set<GroupConstraint> ignore,
int depth) |
Placement |
SpreadConstraint.getAdept(Assignment<Lecture,Placement> assignment,
Placement placement,
int[][] nrCourses,
Set<Placement> conflicts) |
List<FlexibleConstraint.Block> |
MaxBlockFlexibleConstraint.getBlocks(Assignment<Lecture,Placement> assignment,
int dayCode,
Set<Placement> conflicts,
Placement value,
HashMap<Lecture,Placement> assignments,
BitSet week) |
List<FlexibleConstraint.Block> |
MaxBlockFlexibleConstraint.getBlocks(Assignment<Lecture,Placement> assignment,
int dayCode,
Set<Placement> conflicts,
Placement value,
HashMap<Lecture,Placement> assignments,
BitSet week) |
List<FlexibleConstraint.Block> |
MaxBreaksFlexibleConstraint.getBlocks(Assignment<Lecture,Placement> assignment,
int dayCode,
Set<Placement> conflicts,
Placement value,
HashMap<Lecture,Placement> assignments,
BitSet week) |
List<FlexibleConstraint.Block> |
MaxBreaksFlexibleConstraint.getBlocks(Assignment<Lecture,Placement> assignment,
int dayCode,
Set<Placement> conflicts,
Placement value,
HashMap<Lecture,Placement> assignments,
BitSet week) |
List<FlexibleConstraint.Block> |
BreakFlexibleConstraint.getBreakBlocks(Assignment<Lecture,Placement> assignment,
int dayCode,
Set<Placement> conflicts,
Placement value,
HashMap<Lecture,Placement> assignments,
BitSet week)
Creates a list of consecutive blocks with back-to-back classes.
|
List<FlexibleConstraint.Block> |
BreakFlexibleConstraint.getBreakBlocks(Assignment<Lecture,Placement> assignment,
int dayCode,
Set<Placement> conflicts,
Placement value,
HashMap<Lecture,Placement> assignments,
BitSet week)
Creates a list of consecutive blocks with back-to-back classes.
|
int |
SoftInstructorConstraint.getConflicts(Assignment<Lecture,Placement> assignment) |
int |
SoftInstructorConstraint.getConflicts(Assignment<Lecture,Placement> assignment,
Placement placement) |
int |
GroupConstraint.getCurrentPreference(Assignment<Lecture,Placement> assignment)
Current constraint preference (0 if prohibited or required, depends on
current satisfaction of the constraint)
|
int |
GroupConstraint.getCurrentPreference(Assignment<Lecture,Placement> assignment,
Placement placement)
Current constraint preference change (if given placement is assigned)
|
double |
FlexibleConstraint.getCurrentPreference(Assignment<Lecture,Placement> assignment,
Set<Placement> conflicts,
HashMap<Lecture,Placement> assignments)
Return the current preference of the flexible constraint, considering conflicts and new assignments.
|
double |
FlexibleConstraint.getCurrentPreference(Assignment<Lecture,Placement> assignment,
Set<Placement> conflicts,
HashMap<Lecture,Placement> assignments)
Return the current preference of the flexible constraint, considering conflicts and new assignments.
|
int |
SpreadConstraint.getMaxPenalty(Assignment<Lecture,Placement> assignment,
Placement placement) |
double |
BreakFlexibleConstraint.getNrViolations(Assignment<Lecture,Placement> assignment,
Set<Placement> conflicts,
HashMap<Lecture,Placement> assignments) |
double |
BreakFlexibleConstraint.getNrViolations(Assignment<Lecture,Placement> assignment,
Set<Placement> conflicts,
HashMap<Lecture,Placement> assignments) |
abstract double |
FlexibleConstraint.getNrViolations(Assignment<Lecture,Placement> assignment,
Set<Placement> conflicts,
HashMap<Lecture,Placement> assignments)
Return current number of violations.
|
abstract double |
FlexibleConstraint.getNrViolations(Assignment<Lecture,Placement> assignment,
Set<Placement> conflicts,
HashMap<Lecture,Placement> assignments)
Return current number of violations.
|
double |
MaxBlockFlexibleConstraint.getNrViolations(Assignment<Lecture,Placement> assignment,
Set<Placement> conflicts,
HashMap<Lecture,Placement> assignments) |
double |
MaxBlockFlexibleConstraint.getNrViolations(Assignment<Lecture,Placement> assignment,
Set<Placement> conflicts,
HashMap<Lecture,Placement> assignments) |
double |
MaxBreaksFlexibleConstraint.getNrViolations(Assignment<Lecture,Placement> assignment,
Set<Placement> conflicts,
HashMap<Lecture,Placement> assignments) |
double |
MaxBreaksFlexibleConstraint.getNrViolations(Assignment<Lecture,Placement> assignment,
Set<Placement> conflicts,
HashMap<Lecture,Placement> assignments) |
double |
MaxConsecutiveDaysFlexibleConstraint.getNrViolations(Assignment<Lecture,Placement> assignment,
Set<Placement> conflicts,
HashMap<Lecture,Placement> assignments) |
double |
MaxConsecutiveDaysFlexibleConstraint.getNrViolations(Assignment<Lecture,Placement> assignment,
Set<Placement> conflicts,
HashMap<Lecture,Placement> assignments) |
double |
MaxDaysFlexibleConstraint.getNrViolations(Assignment<Lecture,Placement> assignment,
Set<Placement> conflicts,
HashMap<Lecture,Placement> assignments) |
double |
MaxDaysFlexibleConstraint.getNrViolations(Assignment<Lecture,Placement> assignment,
Set<Placement> conflicts,
HashMap<Lecture,Placement> assignments) |
double |
MaxHalfDaysFlexibleConstraint.getNrViolations(Assignment<Lecture,Placement> assignment,
Set<Placement> conflicts,
HashMap<Lecture,Placement> assignments) |
double |
MaxHalfDaysFlexibleConstraint.getNrViolations(Assignment<Lecture,Placement> assignment,
Set<Placement> conflicts,
HashMap<Lecture,Placement> assignments) |
double |
MaxHolesFlexibleConstraint.getNrViolations(Assignment<Lecture,Placement> assignment,
Set<Placement> conflicts,
HashMap<Lecture,Placement> assignments)
Count violations, that is weekly average free time that is over the limit in hours.
|
double |
MaxHolesFlexibleConstraint.getNrViolations(Assignment<Lecture,Placement> assignment,
Set<Placement> conflicts,
HashMap<Lecture,Placement> assignments)
Count violations, that is weekly average free time that is over the limit in hours.
|
double |
MaxWeeksFlexibleConstraint.getNrViolations(Assignment<Lecture,Placement> assignment,
Set<Placement> conflicts,
HashMap<Lecture,Placement> assignments) |
double |
MaxWeeksFlexibleConstraint.getNrViolations(Assignment<Lecture,Placement> assignment,
Set<Placement> conflicts,
HashMap<Lecture,Placement> assignments) |
int |
MinimizeNumberOfUsedRoomsConstraint.MinimizeNumberOfUsedRoomsConstraintContext.getOverLimit(Assignment<Lecture,Placement> assignment,
Placement placement) |
int |
SpreadConstraint.getPenalty(Assignment<Lecture,Placement> assignment)
Department balancing penalty for this department
|
int |
SpreadConstraint.getPenalty(Assignment<Lecture,Placement> assignment,
Placement placement)
Department balancing penalty of the given placement
|
int |
SpreadConstraint.getPenaltyEstimate(Assignment<Lecture,Placement> assignment) |
int |
InstructorConstraint.getPreference(Assignment<Lecture,Placement> assignment) |
int |
InstructorConstraint.getPreference(Assignment<Lecture,Placement> assignment,
Placement value)
Back-to-back preference of the given placement
|
int |
InstructorConstraint.getPreferenceCombination(Assignment<Lecture,Placement> assignment,
Placement value) |
protected Set<Placement> |
FlexibleConstraint.getRelevantPlacements(Assignment<Lecture,Placement> assignment,
int dayCode,
Set<Placement> conflicts,
Placement value,
HashMap<Lecture,Placement> assignments,
BitSet week)
Returns placements of variables assigned to this constraint with assignment which satisfy following conditions:
They must be taught in the day included in dayCode.
|
protected Set<Placement> |
FlexibleConstraint.getRelevantPlacements(Assignment<Lecture,Placement> assignment,
int dayCode,
Set<Placement> conflicts,
Placement value,
HashMap<Lecture,Placement> assignments,
BitSet week)
Returns placements of variables assigned to this constraint with assignment which satisfy following conditions:
They must be taught in the day included in dayCode.
|
List<Placement> |
RoomConstraint.getResource(Assignment<Lecture,Placement> assignment,
int slot)
Lookup table getResource()[slot] → lecture using this room placed in the
given time slot (null if empty)
|
Placement[] |
RoomConstraint.getResourceOfWeek(Assignment<Lecture,Placement> assignment,
int startDay) |
void |
JenrlConstraint.incJenrl(Assignment<Lecture,Placement> assignment,
Student student)
Increment the number of joined enrollments (during student final
sectioning)
|
boolean |
ClassLimitConstraint.inConflict(Assignment<Lecture,Placement> assignment,
Placement value) |
boolean |
DiscouragedRoomConstraint.inConflict(Assignment<Lecture,Placement> assignment,
Placement value) |
boolean |
ExtendedStudentConflicts.inConflict(Assignment<Lecture,Placement> assignment,
Placement placement) |
boolean |
GroupConstraint.inConflict(Assignment<Lecture,Placement> assignment,
Placement value) |
boolean |
InstructorConstraint.inConflict(Assignment<Lecture,Placement> assignment,
Placement placement) |
boolean |
JenrlConstraint.inConflict(Assignment<Lecture,Placement> assignment,
Placement value) |
boolean |
MaxConsecutiveDaysFlexibleConstraint.inConflict(Assignment<Lecture,Placement> assignment,
Placement value) |
boolean |
MaxDaysFlexibleConstraint.inConflict(Assignment<Lecture,Placement> assignment,
Placement value) |
boolean |
MaxHalfDaysFlexibleConstraint.inConflict(Assignment<Lecture,Placement> assignment,
Placement value) |
boolean |
MaxWeeksFlexibleConstraint.inConflict(Assignment<Lecture,Placement> assignment,
Placement value) |
boolean |
MinimizeNumberOfUsedRoomsConstraint.inConflict(Assignment<Lecture,Placement> assignment,
Placement placement) |
boolean |
NoStudentOnlineConflicts.inConflict(Assignment<Lecture,Placement> assignment,
Placement placement) |
boolean |
RoomConstraint.inConflict(Assignment<Lecture,Placement> assignment,
Placement placement) |
boolean |
SoftInstructorConstraint.inConflict(Assignment<Lecture,Placement> assignment,
Placement placement) |
boolean |
SoftInstructorConstraint.SoftInstructorConstraintContext.inConflict(Assignment<Lecture,Placement> assignment,
Placement placement) |
boolean |
SpreadConstraint.inConflict(Assignment<Lecture,Placement> assignment,
Placement placement) |
boolean |
ExtendedStudentConflicts.init(Solver<Lecture,Placement> solver) |
boolean |
GroupConstraint.isChildrenNotOverlap(Assignment<Lecture,Placement> assignment,
Lecture lec1,
Placement plc1,
Lecture lec2,
Placement plc2) |
boolean |
JenrlConstraint.isInConflict(Assignment<Lecture,Placement> assignment)
True if the given two lectures overlap in time
|
boolean |
DiscouragedRoomConstraint.DiscouragedRoomConstraintContext.isOverLimit(Assignment<Lecture,Placement> assignment,
Placement value) |
boolean |
MinimizeNumberOfUsedRoomsConstraint.MinimizeNumberOfUsedRoomsConstraintContext.isOverLimit(Assignment<Lecture,Placement> assignment,
Placement placement) |
boolean |
GroupConstraint.isSatisfied(Assignment<Lecture,Placement> assignment) |
boolean |
GroupConstraint.AssignmentPairCheck.isSatisfied(Assignment<Lecture,Placement> assignment,
GroupConstraint gc,
Placement plc1,
Placement plc2)
Check whether the constraint is satisfied for the given two assignments (required / preferred case)
|
boolean |
GroupConstraint.ParametrizedConstraintType.isSatisfied(Assignment<Lecture,Placement> assignment,
GroupConstraint gc,
Placement plc1,
Placement plc2) |
boolean |
GroupConstraint.ConstraintType.isSatisfied(Assignment<Lecture,Placement> assignment,
GroupConstraint gc,
Placement plc1,
Placement plc2)
True if a required or preferred constraint is satisfied between a pair of placements
|
boolean |
GroupConstraint.AssignmentParameterPairCheck.isSatisfied(Assignment<Lecture,Placement> assignment,
P parameter,
GroupConstraint gc,
Placement plc1,
Placement plc2)
Check whether the constraint is satisfied for the given two assignments (required / preferred case)
|
boolean |
GroupConstraint.isSatisfiedPair(Assignment<Lecture,Placement> assignment,
Placement plc1,
Placement plc2) |
boolean |
GroupConstraint.AssignmentPairCheck.isViolated(Assignment<Lecture,Placement> assignment,
GroupConstraint gc,
Placement plc1,
Placement plc2)
Check whether the constraint is satisfied for the given two assignments (prohibited / discouraged case)
|
boolean |
GroupConstraint.ParametrizedConstraintType.isViolated(Assignment<Lecture,Placement> assignment,
GroupConstraint gc,
Placement plc1,
Placement plc2) |
boolean |
GroupConstraint.ConstraintType.isViolated(Assignment<Lecture,Placement> assignment,
GroupConstraint gc,
Placement plc1,
Placement plc2)
True if a prohibited or discouraged constraint is satisfied between a pair of placements
|
boolean |
GroupConstraint.AssignmentParameterPairCheck.isViolated(Assignment<Lecture,Placement> assignment,
P parameter,
GroupConstraint gc,
Placement plc1,
Placement plc2)
Check whether the constraint is satisfied for the given two assignments (prohibited / discouraged case)
|
long |
JenrlConstraint.jenrl(Assignment<Lecture,Placement> assignment,
Lecture variable,
Placement value)
Number of joined enrollments if the given value is assigned to the given
variable
|
protected int |
GroupConstraint.nrSlotsADay(Assignment<Lecture,Placement> assignment,
int dayCode,
BitSet week,
HashMap<Lecture,Placement> assignments,
Set<Placement> conflicts) |
protected int |
GroupConstraint.nrSlotsADay(Assignment<Lecture,Placement> assignment,
int dayCode,
BitSet week,
HashMap<Lecture,Placement> assignments,
Set<Placement> conflicts) |
protected int |
GroupConstraint.nrSlotsADay(Assignment<Lecture,Placement> assignment,
int date,
HashMap<Lecture,Placement> assignments,
Set<Placement> conflicts) |
protected int |
GroupConstraint.nrSlotsADay(Assignment<Lecture,Placement> assignment,
int date,
HashMap<Lecture,Placement> assignments,
Set<Placement> conflicts) |
int |
MaxConsecutiveDaysFlexibleConstraint.MaxConsecutiveDaysFlexibleConstraintContext.nrViolations(BitSet week,
HashMap<Lecture,Placement> assignments,
Set<Placement> conflicts) |
int |
MaxDaysFlexibleConstraint.MaxDaysFlexibleConstraintContext.nrViolations(BitSet week,
HashMap<Lecture,Placement> assignments,
Set<Placement> conflicts) |
int |
MaxHalfDaysFlexibleConstraint.MaxHalfDaysFlexibleConstraintContext.nrViolations(BitSet week,
HashMap<Lecture,Placement> assignments,
Set<Placement> conflicts) |
int |
MaxConsecutiveDaysFlexibleConstraint.MaxConsecutiveDaysFlexibleConstraintContext.nrViolations(HashMap<Lecture,Placement> assignments,
Set<Placement> conflicts) |
int |
MaxDaysFlexibleConstraint.MaxDaysFlexibleConstraintContext.nrViolations(HashMap<Lecture,Placement> assignments,
Set<Placement> conflicts) |
int |
MaxHalfDaysFlexibleConstraint.MaxHalfDaysFlexibleConstraintContext.nrViolations(HashMap<Lecture,Placement> assignments,
Set<Placement> conflicts) |
int |
MaxWeeksFlexibleConstraint.MaxWeeksFlexibleConstraintContext.nrViolations(HashMap<Lecture,Placement> assignments,
Set<Placement> conflicts) |
void |
ExtendedStudentConflicts.setModel(Model<Lecture,Placement> model) |
void |
GroupConstraint.setModel(Model<Lecture,Placement> model) |
void |
JenrlConstraint.setModel(Model<Lecture,Placement> model) |
void |
MaxHalfDaysFlexibleConstraint.setModel(Model<Lecture,Placement> model) |
void |
NoStudentOnlineConflicts.setModel(Model<Lecture,Placement> model) |
void |
RoomConstraint.setModel(Model<Lecture,Placement> model) |
void |
DiscouragedRoomConstraint.unassigned(Assignment<Lecture,Placement> assignment,
long iteration,
Placement placement) |
void |
RoomConstraint.unassigned(Assignment<Lecture,Placement> assignment,
long iteration,
Placement placement) |
void |
DiscouragedRoomConstraint.DiscouragedRoomConstraintContext.unassigned(Assignment<Lecture,Placement> assignment,
Placement placement) |
void |
FlexibleConstraint.FlexibleConstraintContext.unassigned(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
GroupConstraint.GroupConstraintContext.unassigned(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
InstructorConstraint.InstructorConstraintContext.unassigned(Assignment<Lecture,Placement> assignment,
Placement placement) |
void |
JenrlConstraint.JenrlConstraintContext.unassigned(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
MaxConsecutiveDaysFlexibleConstraint.MaxConsecutiveDaysFlexibleConstraintContext.unassigned(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
MaxDaysFlexibleConstraint.MaxDaysFlexibleConstraintContext.unassigned(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
MaxHalfDaysFlexibleConstraint.MaxHalfDaysFlexibleConstraintContext.unassigned(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
MaxWeeksFlexibleConstraint.MaxWeeksFlexibleConstraintContext.unassigned(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
MinimizeNumberOfUsedGroupsOfTime.MinimizeNumberOfUsedGroupsOfTimeContext.unassigned(Assignment<Lecture,Placement> assignment,
Placement placement) |
void |
MinimizeNumberOfUsedRoomsConstraint.MinimizeNumberOfUsedRoomsConstraintContext.unassigned(Assignment<Lecture,Placement> assignment,
Placement placement) |
void |
RoomConstraint.RoomConstraintContext.unassigned(Assignment<Lecture,Placement> assignment,
Placement placement) |
void |
SoftInstructorConstraint.SoftInstructorConstraintContext.unassigned(Assignment<Lecture,Placement> assignment,
Placement placement) |
void |
SpreadConstraint.SpreadConstraintContext.unassigned(Assignment<Lecture,Placement> assignment,
Placement placement) |
protected void |
FlexibleConstraint.FlexibleConstraintContext.updateCriterion(Assignment<Lecture,Placement> assignment)
Update value of FlexibleConstraintCriterion and number of violated FlexibleConstraints
|
protected void |
GroupConstraint.GroupConstraintContext.updateCriterion(Assignment<Lecture,Placement> assignment) |
void |
DiscouragedRoomConstraint.weaken(Assignment<Lecture,Placement> assignment) |
void |
JenrlConstraint.weaken(Assignment<Lecture,Placement> assignment) |
void |
MaxBreaksFlexibleConstraint.weaken(Assignment<Lecture,Placement> assignment) |
void |
MaxHolesFlexibleConstraint.weaken(Assignment<Lecture,Placement> assignment) |
void |
MinimizeNumberOfUsedGroupsOfTime.weaken(Assignment<Lecture,Placement> assignment) |
void |
MinimizeNumberOfUsedRoomsConstraint.weaken(Assignment<Lecture,Placement> assignment) |
void |
SpreadConstraint.weaken(Assignment<Lecture,Placement> assignment) |
void |
DiscouragedRoomConstraint.weaken(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
DiscouragedRoomConstraint.DiscouragedRoomConstraintContext.weaken(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
JenrlConstraint.weaken(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
JenrlConstraint.JenrlConstraintContext.weaken(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
MaxBreaksFlexibleConstraint.weaken(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
MaxHolesFlexibleConstraint.weaken(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
MaxHolesFlexibleConstraint.MaxHolesFlexibleConstraintContext.weaken(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
MinimizeNumberOfUsedGroupsOfTime.weaken(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
MinimizeNumberOfUsedRoomsConstraint.weaken(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
MinimizeNumberOfUsedRoomsConstraint.MinimizeNumberOfUsedRoomsConstraintContext.weaken(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
SpreadConstraint.weaken(Assignment<Lecture,Placement> assignment,
Placement value) |
Constructor and Description |
---|
ClassLimitConstraint(Lecture parent,
String name) |
Modifier and Type | Method and Description |
---|---|
PerturbationsCounter<Lecture,Placement> |
Perturbations.getPerturbationsCounter() |
Modifier and Type | Method and Description |
---|---|
static boolean |
StudentConflict.applicable(Lecture l1,
Lecture l2) |
static boolean |
StudentConflict.committed(Lecture l1,
Lecture l2) |
static boolean |
StudentConflict.hard(Lecture l1,
Lecture l2) |
static boolean |
StudentConflict.ignore(Lecture l1,
Lecture l2) |
boolean |
StudentCommittedConflict.isApplicable(Lecture l1,
Lecture l2) |
boolean |
StudentConflict.isApplicable(Lecture l1,
Lecture l2) |
boolean |
StudentDistanceConflict.isApplicable(Lecture l1,
Lecture l2) |
boolean |
StudentHardConflict.isApplicable(Lecture l1,
Lecture l2) |
boolean |
StudentOverlapConflict.isApplicable(Lecture l1,
Lecture l2) |
boolean |
StudentWorkdayConflict.isApplicable(Lecture l1,
Lecture l2) |
boolean |
StudentConflict.isApplicable(Student student,
Lecture l1,
Lecture l2) |
static boolean |
StudentConflict.uncommitted(Lecture l1,
Lecture l2) |
Modifier and Type | Method and Description |
---|---|
void |
StudentConflict.bestRestored(Assignment<Lecture,Placement> assignment) |
protected double[] |
BackToBackInstructorPreferences.computeBounds(Assignment<Lecture,Placement> assignment) |
protected double[] |
BrokenTimePatterns.computeBounds(Assignment<Lecture,Placement> assignment) |
protected double[] |
DistributionPreferences.computeBounds(Assignment<Lecture,Placement> assignment) |
double[] |
Perturbations.getBounds(Assignment<Lecture,Placement> assignment) |
double[] |
RoomViolations.getBounds(Assignment<Lecture,Placement> assignment) |
double[] |
SameSubpartBalancingPenalty.getBounds(Assignment<Lecture,Placement> assignment) |
double[] |
StudentConflict.getBounds(Assignment<Lecture,Placement> assignment) |
double[] |
BackToBackInstructorPreferences.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double[] |
BackToBackInstructorPreferences.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double[] |
BrokenTimePatterns.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double[] |
BrokenTimePatterns.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double[] |
DistributionPreferences.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double[] |
DistributionPreferences.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double[] |
Perturbations.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double[] |
Perturbations.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double[] |
RoomPreferences.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double[] |
RoomPreferences.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double[] |
RoomViolations.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double[] |
RoomViolations.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double[] |
SameSubpartBalancingPenalty.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double[] |
SameSubpartBalancingPenalty.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double[] |
StudentCommittedConflict.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double[] |
StudentCommittedConflict.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double[] |
StudentConflict.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double[] |
StudentConflict.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double[] |
TimePreferences.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double[] |
TimePreferences.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double[] |
TooBigRooms.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double[] |
TooBigRooms.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
void |
FlexibleConstraintCriterion.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info) |
void |
StudentWorkdayConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info) |
void |
FlexibleConstraintCriterion.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
FlexibleConstraintCriterion.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
StudentWorkdayConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
StudentWorkdayConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
double |
Perturbations.getValue(Assignment<Lecture,Placement> assignment) |
double |
SameSubpartBalancingPenalty.getValue(Assignment<Lecture,Placement> assignment) |
double |
BackToBackInstructorPreferences.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
BackToBackInstructorPreferences.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
BrokenTimePatterns.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
BrokenTimePatterns.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
DepartmentBalancingPenalty.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
DepartmentBalancingPenalty.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
DistributionPreferences.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
DistributionPreferences.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
FlexibleConstraintCriterion.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
FlexibleConstraintCriterion.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
Perturbations.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
Perturbations.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
SameSubpartBalancingPenalty.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
SameSubpartBalancingPenalty.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
StudentCommittedConflict.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
StudentCommittedConflict.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
StudentConflict.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
StudentConflict.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
BackToBackInstructorPreferences.getValue(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
double |
BrokenTimePatterns.getValue(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
double |
DepartmentBalancingPenalty.getValue(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
double |
DistributionPreferences.getValue(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
double |
FlexibleConstraintCriterion.getValue(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
double |
Perturbations.getValue(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
double |
RoomPreferences.getValue(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
double |
RoomViolations.getValue(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
double |
SameSubpartBalancingPenalty.getValue(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
double |
StudentCommittedConflict.getValue(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
double |
StudentConflict.getValue(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
double |
TimePreferences.getValue(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
double |
TooBigRooms.getValue(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
void |
StudentConflict.incJenrl(Assignment<Lecture,Placement> assignment,
JenrlConstraint jenrl,
double studentWeight,
Double conflictPriority,
Student student) |
boolean |
Perturbations.init(Solver<Lecture,Placement> solver) |
protected int |
BackToBackInstructorPreferences.penalty(Assignment<Lecture,Placement> assignment,
Placement value) |
protected double |
BrokenTimePatterns.penalty(Assignment<Lecture,Placement> assignment,
Placement value) |
Modifier and Type | Method and Description |
---|---|
boolean |
ImportantStudentConflict.important(Lecture l1,
Lecture l2) |
boolean |
InstructorStudentConflict.instructor(Lecture l1,
Lecture l2)
True if there is at least one student teaching one of the two classes and enrolled in the other.
|
boolean |
IgnoredCommittedStudentConflict.isApplicable(Lecture l1,
Lecture l2) |
boolean |
IgnoredStudentConflict.isApplicable(Lecture l1,
Lecture l2) |
boolean |
ImportantStudentConflict.isApplicable(Lecture l1,
Lecture l2) |
boolean |
ImportantStudentHardConflict.isApplicable(Lecture l1,
Lecture l2) |
boolean |
InstructorStudentConflict.isApplicable(Lecture l1,
Lecture l2) |
boolean |
InstructorStudentHardConflict.isApplicable(Lecture l1,
Lecture l2) |
boolean |
QuadraticStudentConflict.isApplicable(Lecture l1,
Lecture l2) |
boolean |
QuadraticStudentHardConflict.isApplicable(Lecture l1,
Lecture l2) |
boolean |
StudentLuchBreak.isApplicable(Lecture l1,
Lecture l2) |
boolean |
StudentMinimizeDaysOfWeek.isApplicable(Lecture l1,
Lecture l2) |
boolean |
StudentMinimizeScheduleHoles.isApplicable(Lecture l1,
Lecture l2) |
boolean |
StudentOnlineConflict.isApplicable(Lecture l1,
Lecture l2) |
boolean |
StudentOverLunchConflict.isApplicable(Lecture l1,
Lecture l2) |
boolean |
ImportantStudentConflict.isApplicable(Student student,
Lecture l1,
Lecture l2) |
boolean |
ImportantStudentHardConflict.isApplicable(Student student,
Lecture l1,
Lecture l2) |
static boolean |
InstructorStudentHardConflict.oneInstructorOtherHard(Lecture l1,
Lecture l2)
One of the lectures is hard, there is a joint enrollment constraint between them, and
there is at least one student that is instructor for one lecture and the other lecture
is singleton.
|
Modifier and Type | Method and Description |
---|---|
boolean |
InstructorFairness.InstructorFairnessContext.allInstructorsAssigned(Assignment<Lecture,Placement> assignment)
Return if complete solution (all variables assigned) was found
in this context
|
protected void |
InstructorFairness.InstructorFairnessContext.assigned(Assignment<Lecture,Placement> assignment,
Placement value) |
protected void |
InstructorLunchBreak.InstructorLunchBreakContext.assigned(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
InstructorFairness.bestSaved(Assignment<Lecture,Placement> assignment) |
protected double[] |
InstructorConflict.computeBounds(Assignment<Lecture,Placement> assignment) |
double |
InstructorLunchBreak.InstructorLunchBreakContext.computeLunchPenalty(Assignment<Lecture,Placement> assignment,
InstructorConstraint constraint)
Method computes number of violations in days (Mo, Tue, Wed,..) considering
each week in the semester separately.
|
void |
InstructorFairness.InstructorFairnessContext.countInstructorAssignedFair(Assignment<Lecture,Placement> assignment,
Placement value)
Method actualize values of instructors whose lecture was just
assigned
|
boolean |
InstructorFairness.InstructorFairnessContext.countInstructorFair(Assignment<Lecture,Placement> assignment)
This method set fairness values to all instructors
|
void |
InstructorFairness.InstructorFairnessContext.countInstructorUnassignedFair(Assignment<Lecture,Placement> assignment,
Placement value)
Method actualize values of instructors whose lecture will be
unassigned
|
AbstractCriterion.ValueContext |
InstructorFairness.createAssignmentContext(Assignment<Lecture,Placement> assignment) |
AbstractCriterion.ValueContext |
InstructorLunchBreak.createAssignmentContext(Assignment<Lecture,Placement> assignment) |
double |
InstructorFairness.InstructorFairnessContext.fairnessDouble(Assignment<Lecture,Placement> assignment,
Placement placement)
Metod count and return time (and room) preferences in placement
|
double[] |
IgnoredCommittedStudentConflict.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double[] |
IgnoredCommittedStudentConflict.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double[] |
InstructorConflict.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double[] |
InstructorConflict.getBounds(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
void |
InstructorFairness.getExtendedInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info) |
void |
IgnoredStudentConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info) |
void |
ImportantStudentConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info) |
void |
ImportantStudentHardConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info) |
void |
InstructorConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info) |
void |
InstructorFairness.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info) |
void |
InstructorLunchBreak.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info) |
void |
InstructorStudentConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info) |
void |
InstructorStudentHardConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info) |
void |
RoomSizePenalty.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info) |
void |
StudentLuchBreak.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info) |
void |
StudentMinimizeDaysOfWeek.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info) |
void |
StudentMinimizeScheduleHoles.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info) |
void |
StudentOnlineConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info) |
void |
StudentOverLunchConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info) |
void |
IgnoredStudentConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
IgnoredStudentConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
ImportantStudentConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
ImportantStudentConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
ImportantStudentHardConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
ImportantStudentHardConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
InstructorConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
InstructorConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
InstructorFairness.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
InstructorFairness.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
InstructorLunchBreak.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
InstructorLunchBreak.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
InstructorStudentConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
InstructorStudentConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
InstructorStudentHardConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
InstructorStudentHardConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
StudentLuchBreak.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
StudentLuchBreak.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
StudentMinimizeDaysOfWeek.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
StudentMinimizeDaysOfWeek.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
StudentMinimizeScheduleHoles.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
StudentMinimizeScheduleHoles.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
StudentOnlineConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
StudentOnlineConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
StudentOverLunchConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
StudentOverLunchConflict.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
double |
InstructorFairness.getValue(Assignment<Lecture,Placement> assignment) |
double |
IgnoredCommittedStudentConflict.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
IgnoredCommittedStudentConflict.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
InstructorConflict.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
InstructorConflict.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
InstructorFairness.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
InstructorFairness.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
InstructorLunchBreak.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
InstructorLunchBreak.getValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
IgnoredCommittedStudentConflict.getValue(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
double |
InstructorConflict.getValue(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
double |
InstructorFairness.getValue(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
double |
InstructorLunchBreak.getValue(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
double |
RoomSizePenalty.getValue(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
void |
ImportantStudentConflict.incJenrl(Assignment<Lecture,Placement> assignment,
JenrlConstraint jenrl,
double studentWeight,
Double conflictPriority,
Student student) |
void |
InstructorStudentConflict.incJenrl(Assignment<Lecture,Placement> assignment,
JenrlConstraint jenrl,
double studentWeight,
Double conflictPriority,
Student student) |
void |
QuadraticStudentConflict.incJenrl(Assignment<Lecture,Placement> assignment,
JenrlConstraint jenrl,
double studentWeight,
Double conflictPriority,
Student student) |
void |
StudentMinimizeDaysOfWeek.incJenrl(Assignment<Lecture,Placement> assignment,
JenrlConstraint jenrl,
double studentWeight,
Double conflictPriority,
Student student) |
void |
StudentMinimizeScheduleHoles.incJenrl(Assignment<Lecture,Placement> assignment,
JenrlConstraint jenrl,
double studentWeight,
Double conflictPriority,
Student student) |
boolean |
StudentLuchBreak.init(Solver<Lecture,Placement> solver) |
protected int |
InstructorConflict.penalty(Assignment<Lecture,Placement> assignment,
Placement value) |
String[] |
InstructorFairness.InstructorFairnessContext.testFairness(Assignment<Lecture,Placement> assignment)
Method for whole evaluation of fairness criteria
|
protected void |
InstructorFairness.InstructorFairnessContext.unassigned(Assignment<Lecture,Placement> assignment,
Placement value) |
protected void |
InstructorLunchBreak.InstructorLunchBreakContext.unassigned(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
InstructorLunchBreak.InstructorLunchBreakContext.updateCriterion(Assignment<Lecture,Placement> assignment,
InstructorConstraint instructorConstraint,
Placement placement)
Method checks or sets the CompactInfo of an InstructorConstraint.
|
void |
InstructorLunchBreak.InstructorLunchBreakContext.updateLunchPenalty(Assignment<Lecture,Placement> assignment,
InstructorConstraint constraint,
Placement p)
Method updates number of violations in days (Mo, Tue, Wed,..) considering
each week in the semester separately.
|
Constructor and Description |
---|
InstructorFairnessContext(Assignment<Lecture,Placement> assignment) |
InstructorLunchBreakContext(Assignment<Lecture,Placement> assignment) |
Modifier and Type | Field and Description |
---|---|
protected ConflictStatistics<Lecture,Placement> |
WeightedHardConflicts.iStat |
Modifier and Type | Method and Description |
---|---|
protected void |
AssignmentCount.AssignmentCountContext.assigned(Assignment<Lecture,Placement> assignment,
Placement value) |
void |
WeightedHardConflicts.bestCleared(Solution<Lecture,Placement> solution) |
void |
WeightedHardConflicts.bestRestored(Solution<Lecture,Placement> solution) |
void |
WeightedHardConflicts.bestSaved(Solution<Lecture,Placement> solution) |
AbstractCriterion.ValueContext |
AssignmentCount.createAssignmentContext(Assignment<Lecture,Placement> assignment)
Deprecated.
|
AbstractCriterion.ValueContext |
WeightedHardConflicts.createAssignmentContext(Assignment<Lecture,Placement> assignment) |
void |
PlacementSelectionCriterion.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info) |
void |
PlacementSelectionCriterion.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
PlacementSelectionCriterion.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
WeightedHardConflicts.getInfo(Solution<Lecture,Placement> solution,
Map<String,String> info) |
void |
WeightedHardConflicts.getInfo(Solution<Lecture,Placement> solution,
Map<String,String> info,
Collection<Lecture> variables) |
void |
WeightedHardConflicts.getInfo(Solution<Lecture,Placement> solution,
Map<String,String> info,
Collection<Lecture> variables) |
double |
AssignmentCount.getValue(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts)
Deprecated.
|
double |
DeltaTimePreference.getValue(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
double |
HardConflicts.getValue(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
double |
PotentialHardConflicts.getValue(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
double |
WeightedHardConflicts.getValue(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
boolean |
WeightedHardConflicts.init(Solver<Lecture,Placement> solver) |
void |
WeightedHardConflicts.solutionUpdated(Solution<Lecture,Placement> solution) |
protected void |
AssignmentCount.AssignmentCountContext.unassigned(Assignment<Lecture,Placement> assignment,
Placement value) |
Constructor and Description |
---|
AssignmentCountContext(Assignment<Lecture,Placement> assignment) |
IterationContext(Assignment<Lecture,Placement> assignment) |
Modifier and Type | Method and Description |
---|---|
void |
DeterministicStudentSectioning.resection(Assignment<Lecture,Placement> assignment,
Lecture lecture,
boolean recursive,
boolean configAsWell)
No re-sectioning (final sectioning) during deterministic student sectioning.
|
Modifier and Type | Method and Description |
---|---|
void |
DeterministicStudentSectioning.resection(Assignment<Lecture,Placement> assignment,
Lecture lecture,
boolean recursive,
boolean configAsWell)
No re-sectioning (final sectioning) during deterministic student sectioning.
|
protected InitialSectioning.Group[] |
DeterministicStudentSectioning.studentsToLectures(Long offeringId,
Collection<Student> students,
Collection<Lecture> lectures) |
void |
DeterministicStudentSectioning.switchStudents(Solution<Lecture,Placement> solution,
TerminationCondition<Lecture,Placement> termination)
No re-sectioning (final sectioning) during deterministic student sectioning.
|
void |
DeterministicStudentSectioning.switchStudents(Solution<Lecture,Placement> solution,
TerminationCondition<Lecture,Placement> termination)
No re-sectioning (final sectioning) during deterministic student sectioning.
|
Modifier and Type | Method and Description |
---|---|
Lecture |
FixCompleteSolutionNeighbourSelection.FixCompleteSolutionNeighbourContext.nextElement() |
Lecture |
LectureSelection.selectVariable(Solution<Lecture,Placement> solution) |
Modifier and Type | Method and Description |
---|---|
Map<Lecture,Placement> |
NeighbourSelectionWithSuggestions.SuggestionNeighbour.assignments() |
Assignment<Lecture,Placement> |
NeighbourSelectionWithSuggestions.NeighbourSelectionWithSuggestionsContext.getAssignment() |
Solution<Lecture,Placement> |
NeighbourSelectionWithSuggestions.NeighbourSelectionWithSuggestionsContext.getSolution() |
Neighbour<Lecture,Placement> |
FixCompleteSolutionNeighbourSelection.selectNeighbour(Solution<Lecture,Placement> solution)
Try to improve existing solution by backtracking search of very limited
depth.
|
Neighbour<Lecture,Placement> |
NeighbourSelectionWithSuggestions.selectNeighbour(Solution<Lecture,Placement> solution) |
Neighbour<Lecture,Placement> |
NeighbourSelectionWithSuggestions.selectNeighbourWithSuggestions(Solution<Lecture,Placement> solution,
Lecture lecture,
int depth) |
Modifier and Type | Method and Description |
---|---|
Neighbour<Lecture,Placement> |
NeighbourSelectionWithSuggestions.selectNeighbourWithSuggestions(Solution<Lecture,Placement> solution,
Lecture lecture,
int depth) |
Placement |
PlacementSelection.selectValue(Solution<Lecture,Placement> solution,
Lecture var) |
Modifier and Type | Method and Description |
---|---|
void |
NeighbourSelectionWithSuggestions.SuggestionNeighbour.assign(Assignment<Lecture,Placement> assignment,
long iteration) |
int |
NeighbourSelectionWithSuggestions.SuggestionNeighbour.compareTo(Solution<Lecture,Placement> solution) |
FixCompleteSolutionNeighbourSelection.FixCompleteSolutionNeighbourContext |
FixCompleteSolutionNeighbourSelection.createAssignmentContext(Assignment<Lecture,Placement> assignment) |
double |
TimetableComparator.currentValue(Solution<Lecture,Placement> currentSolution)
Deprecated.
|
double |
TimetableComparator.getBest(Solution<Lecture,Placement> currentSolution)
Deprecated.
|
Map<String,Double> |
UniversalPerturbationsCounter.getCompactInfo(Assignment<Lecture,Placement> assignment,
TimetableModel model,
boolean includeZero,
boolean weighted) |
Map<String,Double> |
UniversalPerturbationsCounter.getCompactInfo(Assignment<Lecture,Placement> assignment,
TimetableModel model,
Placement assignedPlacement,
boolean includeZero,
boolean weighted) |
void |
UniversalPerturbationsCounter.getInfo(Assignment<Lecture,Placement> assignment,
TimetableModel model,
Map<String,String> info) |
void |
UniversalPerturbationsCounter.getInfo(Assignment<Lecture,Placement> assignment,
TimetableModel model,
Map<String,String> info,
List<Lecture> variables) |
void |
UniversalPerturbationsCounter.getInfo(Assignment<Lecture,Placement> assignment,
TimetableModel model,
Map<String,String> info,
List<Lecture> variables) |
protected double |
UniversalPerturbationsCounter.getPenalty(Assignment<Lecture,Placement> assignment,
Placement assignedPlacement,
Placement initialPlacement) |
void |
FixCompleteSolutionNeighbourSelection.FixCompleteSolutionNeighbourContext.incPhase(Solution<Lecture,Placement> solution) |
void |
FixCompleteSolutionNeighbourSelection.init(Solver<Lecture,Placement> solver) |
void |
LectureSelection.init(Solver<Lecture,Placement> solver) |
void |
NeighbourSelectionWithSuggestions.init(Solver<Lecture,Placement> solver) |
void |
PlacementSelection.init(Solver<Lecture,Placement> solver) |
Neighbour<Lecture,Placement> |
FixCompleteSolutionNeighbourSelection.selectNeighbour(Solution<Lecture,Placement> solution)
Try to improve existing solution by backtracking search of very limited
depth.
|
Neighbour<Lecture,Placement> |
NeighbourSelectionWithSuggestions.selectNeighbour(Solution<Lecture,Placement> solution) |
Neighbour<Lecture,Placement> |
NeighbourSelectionWithSuggestions.selectNeighbourWithSuggestions(Solution<Lecture,Placement> solution,
Lecture lecture,
int depth) |
Placement |
PlacementSelection.selectValue(Solution<Lecture,Placement> solution,
Lecture var) |
Lecture |
LectureSelection.selectVariable(Solution<Lecture,Placement> solution) |
boolean |
NeighbourSelectionWithSuggestions.NeighbourSelectionWithSuggestionsContext.setSuggestionNeighbourIfImproving(Map<Lecture,Placement> assignment) |
double |
NeighbourSelectionWithSuggestions.SuggestionNeighbour.value(Assignment<Lecture,Placement> assignment) |
Constructor and Description |
---|
FixCompleteSolutionNeighbourContext(Assignment<Lecture,Placement> assignment) |
FixCompleteSolutionNeighbourSelection(DataProperties config,
NeighbourSelection<Lecture,Placement> parent) |
NeighbourSelectionWithSuggestions(Solver<Lecture,Placement> solver) |
NeighbourSelectionWithSuggestionsContext(Solution<Lecture,Placement> solution) |
SuggestionNeighbour(Map<Lecture,Placement> resolvedLectures,
double value) |
Modifier and Type | Method and Description |
---|---|
Lecture |
FinalSectioning.Move.firstLecture() |
Lecture |
Lecture.getChild(Student student,
Long subpartId) |
Lecture |
InitialSectioning.Group.getLecture() |
Lecture |
Lecture.getParent() |
Lecture |
FinalSectioning.Move.secondLecture() |
Modifier and Type | Method and Description |
---|---|
Map<Long,Set<Lecture>> |
Student.canNotEnrollSections() |
List<Lecture> |
Lecture.conflictLectures(Assignment<Lecture,Placement> assignment,
Student student)
Lectures different from this one, where it is student conflict of the
given student between this and the lecture
|
Set<Lecture> |
FinalSectioning.MoveBetweenCfgs.firstLectures() |
Map<Long,List<Lecture>> |
Lecture.getChildren() |
List<Lecture> |
Lecture.getChildren(Long subpartId) |
Map<Lecture,Long> |
Lecture.getInitialStudentConflicts()
Table of student conflicts caused by the initial assignment of this
lecture in format (another lecture, number)
|
Set<Lecture> |
Student.getLectures() |
Map<Long,Set<Lecture>> |
Configuration.getTopLectures() |
Set<Lecture> |
Configuration.getTopLectures(Long subpartId) |
Set<Constraint<Lecture,Placement>> |
Lecture.getWeakeningConstraints() |
List<Lecture> |
Lecture.sameStudentsLectures() |
List<Lecture> |
Lecture.sameSubpartLectures()
Set of lectures of the same class (only section is different)
|
Set<Lecture> |
FinalSectioning.MoveBetweenCfgs.secondLectures() |
Modifier and Type | Method and Description |
---|---|
void |
Student.addCanNotEnroll(Lecture lecture) |
void |
Student.addLecture(Lecture lecture) |
void |
Configuration.addTopLecture(Lecture lecture) |
boolean |
Student.areAlternatives(Lecture l1,
Lecture l2) |
boolean |
Lecture.areStudentConflictsHard(Lecture other) |
boolean |
Student.canEnroll(Lecture lecture) |
boolean |
Lecture.canShareRoom(Lecture other) |
boolean |
Student.canUnenroll(Lecture lecture) |
int |
Lecture.compareTo(Lecture o) |
FinalSectioning.Move |
FinalSectioning.createMove(Assignment<Lecture,Placement> assignment,
Lecture firstLecture,
Student firstStudent,
Lecture secondLecture,
Student secondStudent) |
FinalSectioning.Move |
FinalSectioning.createMove(Assignment<Lecture,Placement> assignment,
Lecture firstLecture,
Student firstStudent,
Lecture secondLecture,
Student secondStudent,
FinalSectioning.Move parentMove) |
protected void |
TimetableModel.decJenrl(Assignment<Lecture,Placement> assignment,
Student student,
Lecture l1,
Lecture l2)
Decrement
JenrlConstraint between the given two classes by the given student |
void |
FinalSectioning.findAndPerformMoves(Assignment<Lecture,Placement> assignment,
Lecture lecture,
HashSet<Lecture> lecturesToRecompute)
Swap students between this and the same lectures (lectures which differ
only in the section)
|
FinalSectioning.Move |
FinalSectioning.findAwayMove(Assignment<Lecture,Placement> assignment,
Lecture lecture) |
FinalSectioning.Move |
FinalSectioning.findMove(Assignment<Lecture,Placement> assignment,
Lecture lecture,
Student student) |
protected String |
DefaultStudentSectioning.getClassLabel(Lecture lecture)
Class label
|
Double |
Student.getConflictingPriorty(Lecture l1,
Lecture l2) |
double |
Student.getJenrlWeight(Lecture l1,
Lecture l2) |
Double |
Student.getPriority(Lecture lecture) |
protected void |
TimetableModel.incJenrl(Assignment<Lecture,Placement> assignment,
Student student,
Lecture l1,
Lecture l2)
Increment
JenrlConstraint between the given two classes by the given student |
boolean |
Lecture.isToIgnoreStudentConflictsWith(Lecture other)
Returns true if there is
IgnoreStudentConflictsConstraint between the two lectures. |
JenrlConstraint |
Lecture.jenrlConstraint(Lecture another)
All JENRL constraints of this lecture
|
void |
Student.removeLecture(Lecture lecture) |
void |
DefaultStudentSectioning.resection(Assignment<Lecture,Placement> assignment,
Lecture lecture,
boolean recursive,
boolean configAsWell)
Perform sectioning on the given lecture
|
void |
FinalSectioning.resection(Assignment<Lecture,Placement> assignment,
Lecture lecture,
boolean recursive,
boolean configAsWell)
Perform sectioning on the given lecture
|
void |
StudentSectioning.resection(Assignment<Lecture,Placement> assignment,
Lecture lecture,
boolean recursive,
boolean configAsWell)
Perform sectioning on the given lecture
|
Set<Student> |
Lecture.sameStudents(Lecture lecture)
List of students enrolled in this class as well as in the given class
|
void |
Lecture.setParent(Lecture parent) |
int |
FinalSectioning.test(Assignment<Lecture,Placement> assignment,
Student student,
Lecture lecture) |
void |
OnFlySectioning.variableAdded(Lecture variable) |
void |
OnFlySectioning.variableRemoved(Lecture variable) |
Modifier and Type | Method and Description |
---|---|
Set<JenrlConstraint> |
Lecture.activeJenrls(Assignment<Lecture,Placement> assignment)
Active jenrl constraints (active mean that there is at least one student
between its classes)
|
void |
Lecture.addActiveJenrl(Assignment<Lecture,Placement> assignment,
JenrlConstraint constr)
Add active jenrl constraint (active mean that there is at least one
student between its classes)
|
void |
Student.addCanNotEnroll(Long offeringId,
Collection<Lecture> lectures) |
void |
TimetableModel.addConstraint(Constraint<Lecture,Placement> constraint) |
void |
Lecture.addContstraint(Constraint<Lecture,Placement> constraint) |
void |
TimetableModel.addCriterion(Criterion<Lecture,Placement> criterion) |
void |
Lecture.addStudent(Assignment<Lecture,Placement> assignment,
Student student)
Add an enrolled student
|
void |
OnFlySectioning.afterAssigned(Assignment<Lecture,Placement> assignment,
long iteration,
Placement value)
FinalSectioning.resection(Assignment, Lecture, boolean, boolean) is called
when given iteration number is greater than zero. |
void |
OnFlySectioning.afterUnassigned(Assignment<Lecture,Placement> assignment,
long iteration,
Placement value) |
void |
OnFlySectioning.beforeAssigned(Assignment<Lecture,Placement> assignment,
long iteration,
Placement value) |
void |
OnFlySectioning.beforeUnassigned(Assignment<Lecture,Placement> assignment,
long iteration,
Placement value) |
int |
Lecture.classLimit(Assignment<Lecture,Placement> assignment) |
int |
Lecture.classLimit(Assignment<Lecture,Placement> assignment,
Placement value,
Set<Placement> conflicts) |
List<Placement> |
Lecture.computeValues(Assignment<Lecture,Placement> assignment,
boolean allowBreakHard)
Domain -- all combinations of room and time locations
|
List<Lecture> |
Lecture.conflictLectures(Assignment<Lecture,Placement> assignment,
Student student)
Lectures different from this one, where it is student conflict of the
given student between this and the lecture
|
Set<Student> |
Lecture.conflictStudents(Assignment<Lecture,Placement> assignment)
List of students of this class which are in conflict with any other
assignment
|
Set<Student> |
Lecture.conflictStudents(Assignment<Lecture,Placement> assignment,
Placement value)
List of students of this class in conflict with the given assignment
|
Set<Placement> |
TimetableModel.conflictValuesSkipWeakeningConstraints(Assignment<Lecture,Placement> assignment,
Placement value)
Returns the set of conflicting variables with this value, if it is
assigned to its variable.
|
void |
OnFlySectioning.constraintAdded(Constraint<Lecture,Placement> constraint) |
void |
OnFlySectioning.constraintRemoved(Constraint<Lecture,Placement> constraint) |
int |
Lecture.countCommittedStudentConflicts(Assignment<Lecture,Placement> assignment,
Placement value) |
int |
Lecture.countCommittedStudentConflictsOfTheSameProblem(Assignment<Lecture,Placement> assignment,
Placement value) |
int |
Lecture.countDistanceStudentConflicts(Assignment<Lecture,Placement> assignment,
Placement value) |
int |
Lecture.countDistanceStudentConflictsOfTheSameProblem(Assignment<Lecture,Placement> assignment,
Placement value) |
int |
Lecture.countHardStudentConflicts(Assignment<Lecture,Placement> assignment,
Placement value) |
int |
Lecture.countHardStudentConflictsOfTheSameProblem(Assignment<Lecture,Placement> assignment,
Placement value) |
int |
Lecture.countStudentConflicts(Assignment<Lecture,Placement> assignment,
Placement value)
Number of student conflicts caused by the given assignment of this
lecture
|
int |
Lecture.countStudentConflictsOfTheSameProblem(Assignment<Lecture,Placement> assignment,
Placement value) |
Lecture.LectureContext |
Lecture.createAssignmentContext(Assignment<Lecture,Placement> assignment) |
FinalSectioning.MoveBetweenCfgs |
FinalSectioning.createMove(Assignment<Lecture,Placement> assignment,
Configuration firstConfig,
Student firstStudent,
Configuration secondConfig,
Student secondStudent) |
FinalSectioning.Move |
FinalSectioning.createMove(Assignment<Lecture,Placement> assignment,
Lecture firstLecture,
Student firstStudent,
Lecture secondLecture,
Student secondStudent) |
FinalSectioning.Move |
FinalSectioning.createMove(Assignment<Lecture,Placement> assignment,
Lecture firstLecture,
Student firstStudent,
Lecture secondLecture,
Student secondStudent,
FinalSectioning.Move parentMove) |
protected void |
TimetableModel.decJenrl(Assignment<Lecture,Placement> assignment,
Student student,
Lecture l1,
Lecture l2)
Decrement
JenrlConstraint between the given two classes by the given student |
void |
FinalSectioning.execute(Solution<Lecture,Placement> solution,
TerminationCondition<Lecture,Placement> termination) |
void |
FinalSectioning.execute(Solution<Lecture,Placement> solution,
TerminationCondition<Lecture,Placement> termination) |
void |
FinalSectioning.findAndPerformMoves(Assignment<Lecture,Placement> assignment,
Configuration configuration,
HashSet<Lecture> lecturesToRecompute) |
void |
FinalSectioning.findAndPerformMoves(Assignment<Lecture,Placement> assignment,
Configuration configuration,
HashSet<Lecture> lecturesToRecompute) |
void |
FinalSectioning.findAndPerformMoves(Assignment<Lecture,Placement> assignment,
Lecture lecture,
HashSet<Lecture> lecturesToRecompute)
Swap students between this and the same lectures (lectures which differ
only in the section)
|
void |
FinalSectioning.findAndPerformMoves(Assignment<Lecture,Placement> assignment,
Lecture lecture,
HashSet<Lecture> lecturesToRecompute)
Swap students between this and the same lectures (lectures which differ
only in the section)
|
FinalSectioning.Move |
FinalSectioning.findAwayMove(Assignment<Lecture,Placement> assignment,
Lecture lecture) |
FinalSectioning.MoveBetweenCfgs |
FinalSectioning.findMove(Assignment<Lecture,Placement> assignment,
Configuration config,
Student student) |
FinalSectioning.Move |
FinalSectioning.findMove(Assignment<Lecture,Placement> assignment,
Lecture lecture,
Student student) |
Map<String,String> |
TimetableModel.getBounds(Assignment<Lecture,Placement> assignment) |
double |
FinalSectioning.Move.getDelta(Assignment<Lecture,Placement> assignment) |
double |
FinalSectioning.MoveBetweenCfgs.getDelta(Assignment<Lecture,Placement> assignment) |
Map<String,String> |
TimetableModel.getInfo(Assignment<Lecture,Placement> assignment)
Global info
|
Map<String,String> |
TimetableModel.getInfo(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
Map<String,String> |
TimetableModel.getInfo(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
void |
DefaultStudentSectioning.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info) |
void |
DefaultStudentSectioning.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
void |
DefaultStudentSectioning.getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables) |
int |
Placement.getMaxSpreadPenalty(Assignment<Lecture,Placement> assignment) |
String |
Placement.getNotValidReason(Assignment<Lecture,Placement> assignment)
Deprecated.
|
String |
Placement.getNotValidReason(Assignment<Lecture,Placement> assignment,
boolean useAmPm) |
String |
Lecture.getNotValidReason(Assignment<Lecture,Placement> assignment,
Placement placement)
Deprecated.
|
String |
Lecture.getNotValidReason(Assignment<Lecture,Placement> assignment,
Placement placement,
boolean useAmPm) |
int |
Lecture.getSpreadPenalty(Assignment<Lecture,Placement> assignment) |
int |
Placement.getSpreadPenalty(Assignment<Lecture,Placement> assignment) |
double |
TimetableModel.getTotalValue(Assignment<Lecture,Placement> assignment) |
double |
TimetableModel.getTotalValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
double |
TimetableModel.getTotalValue(Assignment<Lecture,Placement> assignment,
Collection<Lecture> variables) |
boolean |
Configuration.hasConflict(Assignment<Lecture,Placement> assignment,
Student student) |
protected void |
TimetableModel.incJenrl(Assignment<Lecture,Placement> assignment,
Student student,
Lecture l1,
Lecture l2)
Increment
JenrlConstraint between the given two classes by the given student |
boolean |
OnFlySectioning.init(Solver<Lecture,Placement> solver)
Initialization
|
void |
DefaultStudentSectioning.initialSectioning(Assignment<Lecture,Placement> assignment,
Long offeringId,
String courseName,
Collection<Student> students,
Collection<Configuration> configurations)
Enroll students into the given offering during the initial data load using
InitialSectioning . |
void |
StudentSectioning.initialSectioning(Assignment<Lecture,Placement> assignment,
Long offeringId,
String courseName,
Collection<Student> students,
Collection<Configuration> configurations)
Enroll students into the given offering during the initial data load.
|
static void |
InitialSectioning.initialSectioningCfg(Assignment<Lecture,Placement> assignment,
Progress p,
Long offeringId,
String courseName,
Collection<Student> students,
List<Configuration> configurations) |
protected void |
DefaultStudentSectioning.initialSectioningLectures(Assignment<Lecture,Placement> assignment,
Long offeringId,
String courseName,
Collection<Student> students,
Collection<Lecture> lectures)
Enroll students into the given classes during the initial data load using
InitialSectioning . |
protected void |
DefaultStudentSectioning.initialSectioningLectures(Assignment<Lecture,Placement> assignment,
Long offeringId,
String courseName,
Collection<Student> students,
Collection<Lecture> lectures)
Enroll students into the given classes during the initial data load using
InitialSectioning . |
boolean |
Placement.isHard(Assignment<Lecture,Placement> assignment) |
int |
Lecture.isInConflict(Assignment<Lecture,Placement> assignment,
Student student)
True if this lecture is in a student conflict with the given student
|
boolean |
FinalSectioning.Move.perform(Assignment<Lecture,Placement> assignment) |
boolean |
FinalSectioning.MoveBetweenCfgs.perform(Assignment<Lecture,Placement> assignment) |
void |
Lecture.removeActiveJenrl(Assignment<Lecture,Placement> assignment,
JenrlConstraint constr)
Remove active jenrl constraint (active mean that there is at least one
student between its classes)
|
void |
TimetableModel.removeConstraint(Constraint<Lecture,Placement> constraint) |
void |
Lecture.removeContstraint(Constraint<Lecture,Placement> constraint) |
void |
TimetableModel.removeCriterion(Criterion<Lecture,Placement> criterion) |
void |
Lecture.removeStudent(Assignment<Lecture,Placement> assignment,
Student student)
Remove an enrolled student
|
void |
DefaultStudentSectioning.resection(Assignment<Lecture,Placement> assignment,
Lecture lecture,
boolean recursive,
boolean configAsWell)
Perform sectioning on the given lecture
|
void |
FinalSectioning.resection(Assignment<Lecture,Placement> assignment,
Lecture lecture,
boolean recursive,
boolean configAsWell)
Perform sectioning on the given lecture
|
void |
StudentSectioning.resection(Assignment<Lecture,Placement> assignment,
Lecture lecture,
boolean recursive,
boolean configAsWell)
Perform sectioning on the given lecture
|
void |
TimetableModel.restoreBest(Assignment<Lecture,Placement> assignment) |
void |
TimetableModel.saveBest(Assignment<Lecture,Placement> assignment) |
void |
Lecture.setSameSubpartLectures(List<Lecture> sameSubpartLectures)
Set of lectures of the same class (only section is different)
|
protected InitialSectioning.Group[] |
DefaultStudentSectioning.studentsToLectures(Long offeringId,
Collection<Student> students,
Collection<Lecture> lectures)
Section students into lectures.
|
void |
TimetableModel.switchStudents(Assignment<Lecture,Placement> assignment)
Student final sectioning (switching students between sections of the same
class in order to minimize overall number of student conflicts)
|
void |
TimetableModel.switchStudents(Assignment<Lecture,Placement> assignment,
TerminationCondition<Lecture,Placement> termination)
Student final sectioning (switching students between sections of the same
class in order to minimize overall number of student conflicts)
|
void |
TimetableModel.switchStudents(Assignment<Lecture,Placement> assignment,
TerminationCondition<Lecture,Placement> termination)
Student final sectioning (switching students between sections of the same
class in order to minimize overall number of student conflicts)
|
void |
DefaultStudentSectioning.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).
|
void |
DefaultStudentSectioning.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).
|
void |
StudentSectioning.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).
|
void |
StudentSectioning.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).
|
int |
FinalSectioning.test(Assignment<Lecture,Placement> assignment,
Student student,
Lecture lecture) |
double |
Placement.toDouble(Assignment<Lecture,Placement> assignment) |
List<Placement> |
Lecture.values(Assignment<Lecture,Placement> assignment)
All values
|
Constructor and Description |
---|
Group(Lecture lecture) |
Placement(Lecture lecture,
TimeLocation timeLocation,
List<RoomLocation> roomLocations) |
Placement(Lecture lecture,
TimeLocation timeLocation,
RoomLocation roomLocation)
Constructor
|
Modifier and Type | Method and Description |
---|---|
Neighbour<Lecture,Placement> |
RoomChange.selectNeighbour(Solution<Lecture,Placement> solution) |
Neighbour<Lecture,Placement> |
RoomSwap.selectNeighbour(Solution<Lecture,Placement> solution) |
Neighbour<Lecture,Placement> |
Suggestion.selectNeighbour(Solution<Lecture,Placement> solution) |
Neighbour<Lecture,Placement> |
TimeChange.selectNeighbour(Solution<Lecture,Placement> solution) |
Neighbour<Lecture,Placement> |
TimeSwap.selectNeighbour(Solution<Lecture,Placement> solution) |
Modifier and Type | Method and Description |
---|---|
Map<Lecture,Placement> |
StudentSwap.assignments() |
Neighbour<Lecture,Placement> |
StudentSwapGenerator.generateSwap(TimetableModel model,
Assignment<Lecture,Placement> assignment,
Student student,
Configuration config) |
Assignment<Lecture,Placement> |
SctModel.getAssignment()
Current assignment
|
List<Lecture> |
SctStudent.getInstructingLectures()
List of lectures of the given course that the student is instructing (if he/she is also an instructor, using
Student.getInstructor() ) |
List<Lecture> |
SctEnrollment.getLectures()
List of classes of this enrollment
|
Map<Long,Set<Lecture>> |
SctModel.getSubparts(Configuration configuration)
List of scheduling subparts and their classes of the given configuration
|
Neighbour<Lecture,Placement> |
StudentSwapGenerator.selectNeighbour(Assignment<Lecture,Placement> assignment,
Lecture lecture) |
Neighbour<Lecture,Placement> |
RandomStudentSwap.selectNeighbour(Solution<Lecture,Placement> solution) |
Neighbour<Lecture,Placement> |
StudentSwapGenerator.selectNeighbour(Solution<Lecture,Placement> solution) |
Modifier and Type | Method and Description |
---|---|
protected void |
SctModel.decJenrl(Assignment<Lecture,Placement> assignment,
Student student,
Lecture l1,
Lecture l2)
Decrement
JenrlConstraint between the given two classes by the given student |
protected void |
StudentSwap.decJenrl(Assignment<Lecture,Placement> assignment,
Student student,
Lecture l1,
Lecture l2)
Decrement
JenrlConstraint between the given two classes by the given student |
double |
SctStudent.getJenrConflictWeight(Lecture l1,
Lecture l2)
Conflict weight of a lecture pair
|
protected void |
SctModel.incJenrl(Assignment<Lecture,Placement> assignment,
Student student,
Lecture l1,
Lecture l2)
Increment
JenrlConstraint between the given two classes by the given student |
protected void |
StudentSwap.incJenrl(Assignment<Lecture,Placement> assignment,
Student student,
Lecture l1,
Lecture l2)
Increment
JenrlConstraint between the given two classes by the given student |
void |
SctSectioning.resection(Assignment<Lecture,Placement> assignment,
Lecture lecture,
boolean recursive,
boolean configAsWell) |
void |
StudentSwapSectioning.resection(Assignment<Lecture,Placement> assignment,
Lecture lecture,
boolean recursive,
boolean configAsWell) |
Neighbour<Lecture,Placement> |
StudentSwapGenerator.selectNeighbour(Assignment<Lecture,Placement> assignment,
Lecture lecture) |
Modifier and Type | Method and Description |
---|---|
void |
StudentSwap.assign(Assignment<Lecture,Placement> assignment,
long iteration) |
protected void |
SctModel.decJenrl(Assignment<Lecture,Placement> assignment,
Student student,
Lecture l1,
Lecture l2)
Decrement
JenrlConstraint between the given two classes by the given student |
protected void |
StudentSwap.decJenrl(Assignment<Lecture,Placement> assignment,
Student student,
Lecture l1,
Lecture l2)
Decrement
JenrlConstraint between the given two classes by the given student |
Neighbour<Lecture,Placement> |
StudentSwapGenerator.generateSwap(TimetableModel model,
Assignment<Lecture,Placement> assignment,
Student student,
Configuration config) |
static double |
StudentSwapSectioning.gp(Solution<Lecture,Placement> solution)
Student group percentage of a solution
|
static double |
StudentSwapSectioning.gp(TimetableModel model,
Collection<Lecture> variables)
Student group percentage of a solution subset
|
double |
StudentMove.group(List<StudentConflict> criteria,
Assignment<Lecture,Placement> assignment)
Student group weight change
|
double |
StudentSwap.group(List<StudentConflict> criteria,
Assignment<Lecture,Placement> assignment) |
protected double |
StudentSwapSectioning.group(Neighbour<Lecture,Placement> n,
Assignment<Lecture,Placement> assignment)
Student group weight change of a student swap
|
protected double |
StudentSwapSectioning.group(Neighbour<Lecture,Placement> n,
Assignment<Lecture,Placement> assignment)
Student group weight change of a student swap
|
protected void |
SctModel.incJenrl(Assignment<Lecture,Placement> assignment,
Student student,
Lecture l1,
Lecture l2)
Increment
JenrlConstraint between the given two classes by the given student |
protected void |
StudentSwap.incJenrl(Assignment<Lecture,Placement> assignment,
Student student,
Lecture l1,
Lecture l2)
Increment
JenrlConstraint between the given two classes by the given student |
void |
RandomStudentSwap.init(Solver<Lecture,Placement> solver) |
void |
StudentSwapGenerator.init(Solver<Lecture,Placement> solver) |
protected boolean |
StudentSwap.initSwap(Assignment<Lecture,Placement> assignment,
Long offeringId)
Compute student swap and its validity
|
protected double |
StudentSwapSectioning.objective(Neighbour<Lecture,Placement> n,
Assignment<Lecture,Placement> assignment)
Student conflict weight change of a student swap
|
protected double |
StudentSwapSectioning.objective(Neighbour<Lecture,Placement> n,
Assignment<Lecture,Placement> assignment)
Student conflict weight change of a student swap
|
protected double |
StudentSwapSectioning.objective(Solution<Lecture,Placement> solution)
Student conflict weight of a solution
|
void |
SctSectioning.resection(Assignment<Lecture,Placement> assignment,
Lecture lecture,
boolean recursive,
boolean configAsWell) |
void |
StudentSwapSectioning.resection(Assignment<Lecture,Placement> assignment,
Lecture lecture,
boolean recursive,
boolean configAsWell) |
Neighbour<Lecture,Placement> |
StudentSwapGenerator.selectNeighbour(Assignment<Lecture,Placement> assignment,
Lecture lecture) |
Neighbour<Lecture,Placement> |
RandomStudentSwap.selectNeighbour(Solution<Lecture,Placement> solution) |
Neighbour<Lecture,Placement> |
StudentSwapGenerator.selectNeighbour(Solution<Lecture,Placement> solution) |
protected InitialSectioning.Group[] |
SctSectioning.studentsToLectures(Long offeringId,
Collection<Student> students,
Collection<Lecture> lectures) |
protected InitialSectioning.Group[] |
StudentSwapSectioning.studentsToLectures(Long offeringId,
Collection<Student> students,
Collection<Lecture> lectures) |
void |
SctSectioning.switchStudents(Solution<Lecture,Placement> solution,
TerminationCondition<Lecture,Placement> termination) |
void |
SctSectioning.switchStudents(Solution<Lecture,Placement> solution,
TerminationCondition<Lecture,Placement> termination) |
void |
StudentSwapSectioning.switchStudents(Solution<Lecture,Placement> solution,
TerminationCondition<Lecture,Placement> termination) |
void |
StudentSwapSectioning.switchStudents(Solution<Lecture,Placement> solution,
TerminationCondition<Lecture,Placement> termination) |
double |
StudentSwap.value(Assignment<Lecture,Placement> assignment) |
double |
StudentMove.value(List<StudentConflict> criteria,
Assignment<Lecture,Placement> assignment)
Student conflict weight change
|
double |
StudentSwap.value(List<StudentConflict> criteria,
Assignment<Lecture,Placement> assignment) |
protected double |
StudentSwapSectioning.value(Neighbour<Lecture,Placement> n,
Assignment<Lecture,Placement> assignment)
Combined weight change of a student swap
|
protected double |
StudentSwapSectioning.value(Neighbour<Lecture,Placement> n,
Assignment<Lecture,Placement> assignment)
Combined weight change of a student swap
|
protected double |
SctSectioning.value(Solution<Lecture,Placement> solution)
Student conflict weight for the given solution
|
protected double |
StudentSwapSectioning.value(Solution<Lecture,Placement> solution)
Combined weight of a solution
|
Constructor and Description |
---|
SctEnrollment(int id,
SctStudent student,
Collection<Lecture> lectures) |
SctEnrollment(int id,
SctStudent student,
Collection<Lecture> lectures,
double conflictWeight) |
SctModel(TimetableModel model,
Assignment<Lecture,Placement> assignment)
Constructor
|
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 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.
|