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.sectioning |
Additional Student Sectioning Algorithms.
|
org.cpsolver.exam |
Examination Timetabling Solver.
|
org.cpsolver.exam.criteria |
Examination Timetabling: Criteria.
|
org.cpsolver.exam.criteria.additional |
Examination Timetabling: Additional (Experimental) Criteria.
|
org.cpsolver.exam.heuristics |
Examination Timetabling: Solution Heuristics.
|
org.cpsolver.exam.model |
Examination Timetabling: Model.
|
org.cpsolver.exam.neighbours |
Examination Timetabling: Various Neighbourhoods.
|
org.cpsolver.exam.reports |
Examination Timetabling: Reports.
|
org.cpsolver.exam.split |
This package contains an an experimental criterion that allows an exam to be split into two if it decreases the number of student conflicts.
|
org.cpsolver.ifs.algorithms |
IFS Neighbourhood Search Algorithms
|
org.cpsolver.ifs.algorithms.neighbourhoods |
IFS: Various Problem-Independent Neighbourhoods.
|
org.cpsolver.ifs.assignment |
An assignment holds current values of all the variables of a model.
|
org.cpsolver.ifs.assignment.context |
Assignment context can be used by a class (e.g., a constraint, a extension, a neighborhood selection, or a criterion) to
contain any assignment dependent data.
|
org.cpsolver.ifs.constant |
Extension of the model with constant variables.
|
org.cpsolver.ifs.criteria |
IFS Criteria.
|
org.cpsolver.ifs.dbt |
Dynamic backtracking extension of IFS solver
|
org.cpsolver.ifs.example.csp |
Random Binary CSP with uniform distribution.
|
org.cpsolver.ifs.example.jobshop |
JobShop Problem.
|
org.cpsolver.ifs.example.rpp |
Random Placement Problem.
|
org.cpsolver.ifs.example.tt |
Simple Timetabling Problem.
|
org.cpsolver.ifs.extension |
IFS Extensions (conflict-based statistics, maintenance of arc consistency)
|
org.cpsolver.ifs.heuristics |
IFS Heuristics (value and variable selection criteria)
|
org.cpsolver.ifs.model |
IFS Model (description of a problem)
|
org.cpsolver.ifs.perturbations |
Minimal Perturbation Problem: counting of perturbations
|
org.cpsolver.ifs.solution |
IFS Solution (also contains solution comparator)
|
org.cpsolver.ifs.solver |
IFS Solver
|
org.cpsolver.ifs.util |
Utilities
|
org.cpsolver.instructor |
Instructor Scheduling.
|
org.cpsolver.instructor.constraints |
Instructor Scheduling: Constraints.
|
org.cpsolver.instructor.criteria |
Instructor Scheduling: Criteria.
|
org.cpsolver.instructor.model |
Instructor Scheduling: Model.
|
org.cpsolver.instructor.test |
Instructor Scheduling: Tests.
|
org.cpsolver.studentsct |
Student Sectioning Solver.
|
org.cpsolver.studentsct.check |
Various checks of validity of a student sectioning solution.
|
org.cpsolver.studentsct.constraint |
Student Sectioning: Constraints.
|
org.cpsolver.studentsct.extension |
Student Sectioning: Various Extensions.
|
org.cpsolver.studentsct.heuristics |
Student Sectioning: Heuristics.
|
org.cpsolver.studentsct.heuristics.selection |
Student Sectioning: Various Neighbour Selection Criteria.
|
org.cpsolver.studentsct.model |
Student Sectioning: Model.
|
org.cpsolver.studentsct.online |
Online Student Sectioning Solver.
|
org.cpsolver.studentsct.online.expectations |
Student Sectioning Solver: Over-Expectation Criteria.
|
org.cpsolver.studentsct.online.selection |
Online Student Sectioning Solver: Selection Weights and Heuristics.
|
org.cpsolver.studentsct.report |
Student Sectioning: Various Reports.
|
org.cpsolver.studentsct.reservation |
Student Sectioning: Reservations.
|
org.cpsolver.studentsct.weights |
Student Sectioning Weightings: various students weight models
|
Modifier and Type | Field and Description |
---|---|
protected Assignment<Lecture,Placement> |
DomainChart.iAssignment |
Modifier and Type | Method and Description |
---|---|
static void |
Test.printRoomInfo(PrintWriter pw,
TimetableModel model,
Assignment<Lecture,Placement> assignment)
Print room utilization
|
Constructor and Description |
---|
TimetableLoader(TimetableModel model,
Assignment<Lecture,Placement> assignment)
Constructor
|
TimetableXMLLoader(TimetableModel model,
Assignment<Lecture,Placement> assignment) |
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 |
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) |
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 |
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> |
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.
|
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.
|
int |
SpreadConstraint.getMaxPenalty(Assignment<Lecture,Placement> assignment,
Placement placement) |
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.
|
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 |
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 |
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 |
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.
|
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 |
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 date,
HashMap<Lecture,Placement> assignments,
Set<Placement> conflicts) |
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) |
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[] |
BrokenTimePatterns.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[] |
RoomPreferences.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[] |
StudentCommittedConflict.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[] |
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 |
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 |
BrokenTimePatterns.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 |
FlexibleConstraintCriterion.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 |
StudentCommittedConflict.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) |
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 |
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[] |
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 |
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 |
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 |
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 |
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 |
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 |
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) |
double |
InstructorFairness.getValue(Assignment<Lecture,Placement> assignment) |
double |
IgnoredCommittedStudentConflict.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 |
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) |
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 | Method and Description |
---|---|
protected void |
AssignmentCount.AssignmentCountContext.assigned(Assignment<Lecture,Placement> assignment,
Placement value) |
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) |
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) |
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 |
---|---|
Assignment<Lecture,Placement> |
NeighbourSelectionWithSuggestions.NeighbourSelectionWithSuggestionsContext.getAssignment() |
Modifier and Type | Method and Description |
---|---|
void |
NeighbourSelectionWithSuggestions.SuggestionNeighbour.assign(Assignment<Lecture,Placement> assignment,
long iteration) |
FixCompleteSolutionNeighbourSelection.FixCompleteSolutionNeighbourContext |
FixCompleteSolutionNeighbourSelection.createAssignmentContext(Assignment<Lecture,Placement> assignment) |
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) |
protected double |
UniversalPerturbationsCounter.getPenalty(Assignment<Lecture,Placement> assignment,
Placement assignedPlacement,
Placement initialPlacement) |
double |
NeighbourSelectionWithSuggestions.SuggestionNeighbour.value(Assignment<Lecture,Placement> assignment) |
Constructor and Description |
---|
FixCompleteSolutionNeighbourContext(Assignment<Lecture,Placement> assignment) |
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 |
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.
|
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.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)
|
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) |
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) |
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) |
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 |
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 . |
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 |
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 |
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)
|
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
|
Modifier and Type | Method and Description |
---|---|
Assignment<Lecture,Placement> |
SctModel.getAssignment()
Current assignment
|
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) |
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 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 |
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
|
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) |
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
|
Constructor and Description |
---|
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 firstStudent,
Student secondStudent,
Long offeringId)
Create a swap of two students of an offering.
|
Modifier and Type | Method and Description |
---|---|
static void |
Test.createReports(ExamModel model,
Assignment<Exam,ExamPlacement> assignment,
File outDir,
String outName)
Generate exam reports
|
Modifier and Type | Method and Description |
---|---|
void |
ExamRotationPenalty.RotationContext.assigned(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value) |
void |
RoomSplitDistancePenalty.RoomSplitContext.assigned(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value) |
void |
RoomSplitPenalty.RoomSplitContext.assigned(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value) |
double |
ExamRotationPenalty.averagePeriod(Assignment<Exam,ExamPlacement> assignment) |
protected double[] |
DistributionPenalty.computeBounds(Assignment<Exam,ExamPlacement> assignment) |
AbstractCriterion.ValueContext |
ExamRotationPenalty.createAssignmentContext(Assignment<Exam,ExamPlacement> assignment) |
AbstractCriterion.ValueContext |
RoomSplitDistancePenalty.createAssignmentContext(Assignment<Exam,ExamPlacement> assignment) |
AbstractCriterion.ValueContext |
RoomSplitPenalty.createAssignmentContext(Assignment<Exam,ExamPlacement> assignment) |
double[] |
ExamCriterion.getBounds(Assignment<Exam,ExamPlacement> assignment,
Collection<Exam> exams) |
double[] |
LargeExamsPenalty.getBounds(Assignment<Exam,ExamPlacement> assignment,
Collection<Exam> variables) |
double[] |
PeriodPenalty.getBounds(Assignment<Exam,ExamPlacement> assignment,
Collection<Exam> variables) |
double[] |
PeriodSizePenalty.getBounds(Assignment<Exam,ExamPlacement> assignment,
Collection<Exam> variables) |
double[] |
RoomPenalty.getBounds(Assignment<Exam,ExamPlacement> assignment,
Collection<Exam> variables) |
void |
ExamCriterion.getInfo(Assignment<Exam,ExamPlacement> assignment,
Map<String,String> info) |
void |
ExamRotationPenalty.getInfo(Assignment<Exam,ExamPlacement> assignment,
Map<String,String> info) |
void |
InstructorDirectConflicts.getInfo(Assignment<Exam,ExamPlacement> assignment,
Map<String,String> info) |
void |
InstructorNotAvailableConflicts.getInfo(Assignment<Exam,ExamPlacement> assignment,
Map<String,String> info) |
void |
PeriodIndexPenalty.getInfo(Assignment<Exam,ExamPlacement> assignment,
Map<String,String> info) |
void |
PeriodSizePenalty.getInfo(Assignment<Exam,ExamPlacement> assignment,
Map<String,String> info) |
void |
RoomSizePenalty.getInfo(Assignment<Exam,ExamPlacement> assignment,
Map<String,String> info) |
void |
RoomSplitDistancePenalty.getInfo(Assignment<Exam,ExamPlacement> assignment,
Map<String,String> info) |
void |
RoomSplitPenalty.getInfo(Assignment<Exam,ExamPlacement> assignment,
Map<String,String> info) |
void |
StudentBackToBackConflicts.getInfo(Assignment<Exam,ExamPlacement> assignment,
Map<String,String> info) |
void |
StudentDirectConflicts.getInfo(Assignment<Exam,ExamPlacement> assignment,
Map<String,String> info) |
void |
StudentDistanceBackToBackConflicts.getInfo(Assignment<Exam,ExamPlacement> assignment,
Map<String,String> info) |
void |
StudentMoreThan2ADayConflicts.getInfo(Assignment<Exam,ExamPlacement> assignment,
Map<String,String> info) |
void |
StudentNotAvailableConflicts.getInfo(Assignment<Exam,ExamPlacement> assignment,
Map<String,String> info) |
double |
DistributionPenalty.getPeriodValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value)
Period related distribution penalty, i.e., sum weights of violated
distribution constraints
|
double |
ExamCriterion.getPeriodValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value)
Return impact of this criterion on period assignment (if this criterion is based on period assignment).
|
double |
DistributionPenalty.getRoomValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value)
Room related distribution penalty, i.e., sum weights of violated
distribution constraints
|
double |
ExamCriterion.getRoomValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value)
Return impact of this criterion on room assignment (if this criterion is based on room assignment).
|
double |
DistributionPenalty.getValue(Assignment<Exam,ExamPlacement> assignment,
Collection<Exam> variables) |
double |
InstructorDirectConflicts.getValue(Assignment<Exam,ExamPlacement> assignment,
Collection<Exam> variables) |
double |
InstructorMoreThan2ADayConflicts.getValue(Assignment<Exam,ExamPlacement> assignment,
Collection<Exam> variables) |
double |
InstructorNotAvailableConflicts.getValue(Assignment<Exam,ExamPlacement> assignment,
Collection<Exam> exams) |
double |
StudentBackToBackConflicts.getValue(Assignment<Exam,ExamPlacement> assignment,
Collection<Exam> variables) |
double |
StudentDirectConflicts.getValue(Assignment<Exam,ExamPlacement> assignment,
Collection<Exam> variables) |
double |
StudentMoreThan2ADayConflicts.getValue(Assignment<Exam,ExamPlacement> assignment,
Collection<Exam> variables) |
double |
StudentNotAvailableConflicts.getValue(Assignment<Exam,ExamPlacement> assignment,
Collection<Exam> exams) |
double |
DistributionPenalty.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
ExamRotationPenalty.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
InstructorBackToBackConflicts.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
InstructorDirectConflicts.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
InstructorDistanceBackToBackConflicts.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
InstructorMoreThan2ADayConflicts.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
InstructorNotAvailableConflicts.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
LargeExamsPenalty.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
PeriodIndexPenalty.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
PeriodPenalty.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
PeriodSizePenalty.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
PerturbationPenalty.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
RoomPenalty.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
RoomPerturbationPenalty.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
RoomSizePenalty.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
RoomSplitDistancePenalty.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
RoomSplitPenalty.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
StudentBackToBackConflicts.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
StudentDirectConflicts.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
StudentDistanceBackToBackConflicts.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
StudentMoreThan2ADayConflicts.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
StudentNotAvailableConflicts.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
void |
DistributionPenalty.inc(Assignment<Exam,ExamPlacement> assignment,
double value,
ExamDistributionConstraint dc) |
int |
ExamRotationPenalty.nrAssignedExamsWithAvgPeriod(Assignment<Exam,ExamPlacement> assignment) |
int |
RoomSplitDistancePenalty.nrRoomSplits(Assignment<Exam,ExamPlacement> assignment) |
String |
DistributionPenalty.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
ExamRotationPenalty.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
InstructorBackToBackConflicts.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
InstructorDirectConflicts.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
InstructorDistanceBackToBackConflicts.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
InstructorMoreThan2ADayConflicts.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
InstructorNotAvailableConflicts.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
LargeExamsPenalty.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
PeriodIndexPenalty.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
PeriodPenalty.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
PeriodSizePenalty.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
PerturbationPenalty.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
RoomPenalty.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
RoomPerturbationPenalty.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
RoomSizePenalty.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
RoomSplitDistancePenalty.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
RoomSplitPenalty.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
StudentBackToBackConflicts.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
StudentDirectConflicts.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
StudentDistanceBackToBackConflicts.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
StudentMoreThan2ADayConflicts.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
StudentNotAvailableConflicts.toString(Assignment<Exam,ExamPlacement> assignment) |
void |
ExamRotationPenalty.RotationContext.unassigned(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value) |
void |
RoomSplitDistancePenalty.RoomSplitContext.unassigned(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value) |
void |
RoomSplitPenalty.RoomSplitContext.unassigned(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value) |
Constructor and Description |
---|
RoomSplitContext(Assignment<Exam,ExamPlacement> assignment) |
RoomSplitContext(Assignment<Exam,ExamPlacement> assignment) |
RotationContext(Assignment<Exam,ExamPlacement> assignment) |
Modifier and Type | Method and Description |
---|---|
protected double[] |
DistributionViolation.computeBounds(Assignment<Exam,ExamPlacement> assignment) |
double[] |
DistanceToStronglyPreferredRoom.getBounds(Assignment<Exam,ExamPlacement> assignment) |
double[] |
PeriodViolation.getBounds(Assignment<Exam,ExamPlacement> assignment,
Collection<Exam> variables) |
double[] |
RoomViolation.getBounds(Assignment<Exam,ExamPlacement> assignment,
Collection<Exam> variables) |
void |
DistanceToStronglyPreferredRoom.getInfo(Assignment<Exam,ExamPlacement> assignment,
Map<String,String> info) |
void |
StudentMoreThan1ADayConflicts.getInfo(Assignment<Exam,ExamPlacement> assignment,
Map<String,String> info) |
double |
DistributionViolation.getPeriodValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value) |
double |
DistributionViolation.getRoomValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value) |
double |
DistributionViolation.getValue(Assignment<Exam,ExamPlacement> assignment,
Collection<Exam> variables) |
double |
StudentMoreThan1ADayConflicts.getValue(Assignment<Exam,ExamPlacement> assignment,
Collection<Exam> variables) |
double |
DistanceToStronglyPreferredRoom.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
DistributionViolation.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
PeriodViolation.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
RoomViolation.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
double |
StudentMoreThan1ADayConflicts.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts) |
String |
DistanceToStronglyPreferredRoom.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
DistributionViolation.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
PeriodViolation.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
RoomViolation.toString(Assignment<Exam,ExamPlacement> assignment) |
String |
StudentMoreThan1ADayConflicts.toString(Assignment<Exam,ExamPlacement> assignment) |
Modifier and Type | Method and Description |
---|---|
void |
Exam.allowAllStudentConflicts(Assignment<Exam,ExamPlacement> assignment,
ExamPeriod period)
Allow all direct student conflict for the given period (see
ExamStudent.canConflict(Exam, Exam) ). |
void |
ExamContext.assigned(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement placement) |
void |
ExamDistributionConstraint.Context.assigned(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement placement) |
void |
ExamRoom.ExamRoomContext.assigned(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement placement) |
void |
ExamRoom.assigned(Assignment<Exam,ExamPlacement> assignment,
long iteration,
ExamPlacement p)
An exam was assigned, update room assignment table
|
boolean |
Exam.checkDistributionConstraints(Assignment<Exam,ExamPlacement> assignment,
ExamPeriodPlacement period)
Check all distribution constraint that this exam is involved in
|
boolean |
Exam.checkDistributionConstraints(Assignment<Exam,ExamPlacement> assignment,
ExamRoomPlacement room)
Check all distribution constraint that this exam is involved in
|
void |
ExamRoom.computeConflicts(Assignment<Exam,ExamPlacement> assignment,
Exam exam,
ExamPeriod period,
Set<ExamPlacement> conflicts)
Compute conflicts if the given exam is assigned in this room and the given period
|
void |
ExamDistributionConstraint.computeConflicts(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement givenPlacement,
Set<ExamPlacement> conflicts)
Compute conflicts -- there is a conflict if the other variable is
assigned and
ExamDistributionConstraint.check(ExamPlacement, ExamPlacement) is
false |
void |
ExamInstructor.computeConflicts(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement p,
Set<ExamPlacement> conflicts)
Compute conflicts between the given assignment of an exam and all the
current assignments (of this instructor).
|
void |
ExamRoom.computeConflicts(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement p,
Set<ExamPlacement> conflicts)
Compute conflicts between the given assignment of an exam and all the
current assignments (of this room)
|
void |
ExamStudent.computeConflicts(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement p,
Set<ExamPlacement> conflicts)
Compute conflicts between the given assignment of an exam and all the
current assignments (of this student).
|
int |
Exam.countInstructorConflicts(Assignment<Exam,ExamPlacement> assignment,
ExamPeriodPlacement period)
Number of instructor of this exam (that does not have direct conflicts
allowed, see
ExamInstructor.canConflict(Exam, Exam) ) that attend
some other exam in the given period. |
int |
Exam.countStudentConflicts(Assignment<Exam,ExamPlacement> assignment,
ExamPeriodPlacement period)
Number of students of this exam (that does not have direct conflicts
allowed, see
ExamStudent.canConflict(Exam, Exam) ) that attend
some other exam in the given period. |
int |
ExamDistributionConstraint.countViolations(Assignment<Exam,ExamPlacement> assignment)
Return number of all violated pairs for a soft constraint
|
int |
ExamDistributionConstraint.countViolations(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement p)
Return number of violated pairs for a soft constraint and the given placement
|
ExamDistributionConstraint.Context |
ExamDistributionConstraint.createAssignmentContext(Assignment<Exam,ExamPlacement> assignment) |
ExamContext |
ExamModel.createAssignmentContext(Assignment<Exam,ExamPlacement> assignment) |
ExamRoom.ExamRoomContext |
ExamRoom.createAssignmentContext(Assignment<Exam,ExamPlacement> assignment) |
Set<ExamRoomPlacement> |
Exam.findBestAvailableRooms(Assignment<Exam,ExamPlacement> assignment,
ExamPeriodPlacement period)
Find best available rooms for the exam in the given period.
|
Set<ExamRoomPlacement> |
Exam.findRoomsRandom(Assignment<Exam,ExamPlacement> assignment,
ExamPeriodPlacement period)
Randomly find a set of available rooms for the exam in the given period.
|
Set<ExamRoomPlacement> |
Exam.findRoomsRandom(Assignment<Exam,ExamPlacement> assignment,
ExamPeriodPlacement period,
boolean checkConflicts)
Randomly find a set of available rooms for the exam in the given period.
|
int |
Exam.getDistributionConstraintPenalty(Assignment<Exam,ExamPlacement> assignment,
ExamRoomPlacement room)
Check all soft distribution constraint that this exam is involved in
|
Set<Exam> |
ExamInstructor.getExams(Assignment<Exam,ExamPlacement> assignment,
ExamPeriod period)
Exam(s) enrolled by the instructor that are scheduled in the given period
|
Set<Exam> |
ExamStudent.getExams(Assignment<Exam,ExamPlacement> assignment,
ExamPeriod period)
Exam(s) enrolled by the student that are scheduled in the given period
|
Set<Exam> |
ExamInstructor.getExamsADay(Assignment<Exam,ExamPlacement> assignment,
ExamPeriod period)
Exam(s) enrolled by the instructor that are scheduled in the given day
|
Set<Exam> |
ExamStudent.getExamsADay(Assignment<Exam,ExamPlacement> assignment,
ExamPeriod period)
Exam(s) enrolled by the student that are scheduled in the given day
|
Set<Exam> |
ExamInstructor.getExamsADay(Assignment<Exam,ExamPlacement> assignment,
int day)
Exam(s) enrolled by the instructor that are scheduled in the given day
|
Set<Exam> |
ExamStudent.getExamsADay(Assignment<Exam,ExamPlacement> assignment,
int day)
Exam(s) enrolled by the student that are scheduled in the given day
|
Map<String,String> |
ExamModel.getExtendedInfo(Assignment<Exam,ExamPlacement> assignment)
Extended info table
|
Map<ExamInstructor,Set<Exam>> |
ExamModel.getInstructorsOfDay(Assignment<Exam,ExamPlacement> assignment,
ExamPeriod period) |
Map<ExamInstructor,Set<Exam>> |
ExamModel.getInstructorsOfDay(Assignment<Exam,ExamPlacement> assignment,
int day) |
Map<ExamInstructor,Set<Exam>> |
ExamModel.getInstructorsOfPeriod(Assignment<Exam,ExamPlacement> assignment,
ExamPeriod period) |
List<ExamPlacement> |
ExamRoom.getPlacements(Assignment<Exam,ExamPlacement> assignment,
ExamPeriod period)
Exams placed at the given period
|
double |
ExamPlacement.getRoomCost(Assignment<Exam,ExamPlacement> assignment)
Overall cost of using this set or rooms.
|
HashSet<Exam> |
Exam.getStudentConflicts(Assignment<Exam,ExamPlacement> assignment,
ExamPeriod period)
List of exams that are assigned to the given period and share one or more
students with this exam (that does not have direct conflicts allowed, see
ExamStudent.canConflict(Exam, Exam) ). |
Map<ExamStudent,Set<Exam>> |
ExamModel.getStudentsOfDay(Assignment<Exam,ExamPlacement> assignment,
ExamPeriod period) |
Map<ExamStudent,Set<Exam>> |
ExamModel.getStudentsOfDay(Assignment<Exam,ExamPlacement> assignment,
int day) |
Map<ExamStudent,Set<Exam>> |
ExamModel.getStudentsOfPeriod(Assignment<Exam,ExamPlacement> assignment,
ExamPeriod period) |
double |
ExamPlacement.getTimeCost(Assignment<Exam,ExamPlacement> assignment)
Overall cost of using this period.
|
double[] |
ExamModel.getTotalMultiValue(Assignment<Exam,ExamPlacement> assignment)
Return weighted individual objective criteria.
|
double |
ExamModel.getTotalValue(Assignment<Exam,ExamPlacement> assignment)
Objective function.
|
boolean |
Exam.hasStudentConflictWithPreAssigned(Assignment<Exam,ExamPlacement> assignment,
ExamPeriod period)
True, if there is a student of this exam (that does not have direct
conflicts allowed, see
ExamStudent.canConflict(Exam, Exam) ) that
attends some other exam in the given period. |
boolean |
ExamRoom.inConflict(Assignment<Exam,ExamPlacement> assignment,
Exam exam,
ExamPeriod period)
Check for conflicts if the given exam is assigned in this room and the given period
|
boolean |
ExamDistributionConstraint.inConflict(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement givenPlacement)
Check for conflict -- there is a conflict if the other variable is
assigned and
ExamDistributionConstraint.check(ExamPlacement, ExamPlacement) is
false |
boolean |
ExamInstructor.inConflict(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement p)
Check whether there is a conflict between the given assignment of an exam
and all the current assignments (of this instructor).
|
boolean |
ExamRoom.inConflict(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement p)
Checks whether there is a conflict between the given assignment of an
exam and all the current assignments (of this room)
|
boolean |
ExamStudent.inConflict(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement p)
Check whether there is a conflict between the given assignment of an exam
and all the current assignments (of this student).
|
boolean |
ExamDistributionConstraint.isSatisfied(Assignment<Exam,ExamPlacement> assignment)
Return true if this is hard constraint or this is a soft constraint
without any violation
|
boolean |
ExamDistributionConstraint.isSatisfied(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement p)
Return true if this is hard constraint or this is a soft constraint
without any violation
|
boolean |
ExamModel.load(Document document,
Assignment<Exam,ExamPlacement> assignment)
Load model (including its solution) from XML.
|
boolean |
ExamModel.load(Document document,
Assignment<Exam,ExamPlacement> assignment,
Callback saveBest)
Load model (including its solution) from XML.
|
Document |
ExamModel.save(Assignment<Exam,ExamPlacement> assignment)
Save model (including its solution) into XML.
|
double |
ExamPlacement.toDouble(Assignment<Exam,ExamPlacement> assignment)
Overall cost of using this placement.
|
String |
ExamModel.toString(Assignment<Exam,ExamPlacement> assignment)
String representation -- returns a list of values of objective criteria
|
String |
ExamPlacement.toString(Assignment<Exam,ExamPlacement> assignment)
String representation -- returns a list of assignment costs
|
void |
ExamContext.unassigned(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement placement) |
void |
ExamDistributionConstraint.Context.unassigned(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement placement) |
void |
ExamRoom.ExamRoomContext.unassigned(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement placement) |
void |
ExamRoom.unassigned(Assignment<Exam,ExamPlacement> assignment,
long iteration,
ExamPlacement p)
An exam was unassigned, update room assignment table
|
protected void |
ExamDistributionConstraint.Context.updateCriterion(Assignment<Exam,ExamPlacement> assignment) |
List<ExamPlacement> |
Exam.values(Assignment<Exam,ExamPlacement> assignment)
Values (assignment of a period and a set of rooms)
|
void |
Exam.variableAssigned(Assignment<Exam,ExamPlacement> assignment,
long iteration,
ExamPlacement placement) |
Constructor and Description |
---|
Context(Assignment<Exam,ExamPlacement> assignment) |
ExamContext(ExamModel model,
Assignment<Exam,ExamPlacement> assignment) |
ExamRoomContext(Assignment<Exam,ExamPlacement> assignment) |
Modifier and Type | Method and Description |
---|---|
void |
ExamRoomSwapNeighbour.assign(Assignment<Exam,ExamPlacement> assignment,
long iteration) |
void |
ExamSimpleNeighbour.assign(Assignment<Exam,ExamPlacement> assignment,
long iteration) |
boolean |
ExamPeriodSwapMove.checkDistributionConstraints(Assignment<Exam,ExamPlacement> assignment,
Exam exam,
ExamPeriodPlacement period,
Map<Exam,ExamPlacement> placements) |
boolean |
ExamPeriodSwapMove.checkDistributionConstraints(Assignment<Exam,ExamPlacement> assignment,
Exam exam,
ExamRoomPlacement room,
Set<ExamPlacement> conflictsToIgnore,
Map<Exam,ExamPlacement> placements) |
Set<ExamRoomPlacement> |
ExamPeriodSwapMove.findBestAvailableRooms(Assignment<Exam,ExamPlacement> assignment,
Exam exam,
ExamPeriodPlacement period,
Set<ExamPlacement> conflictsToIgnore,
Map<Exam,ExamPlacement> placements) |
int |
ExamPeriodSwapMove.getDistributionConstraintPenalty(Assignment<Exam,ExamPlacement> assignment,
Exam exam,
ExamRoomPlacement room,
Set<ExamPlacement> conflictsToIgnore,
Map<Exam,ExamPlacement> placements) |
double |
ExamRoomSwapNeighbour.value(Assignment<Exam,ExamPlacement> assignment) |
double |
ExamSimpleNeighbour.value(Assignment<Exam,ExamPlacement> assignment) |
Constructor and Description |
---|
ExamRoomSwapNeighbour(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement placement,
ExamRoomPlacement current,
ExamRoomPlacement swap) |
ExamSimpleNeighbour(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement placement) |
Modifier and Type | Method and Description |
---|---|
CSVFile |
ExamAssignments.report(Assignment<Exam,ExamPlacement> assignment)
generate report
|
CSVFile |
ExamCourseSectionAssignments.report(Assignment<Exam,ExamPlacement> assignment)
generate report
|
CSVFile |
ExamInstructorConflicts.report(Assignment<Exam,ExamPlacement> assignment)
generate report
|
CSVFile |
ExamNbrMeetingsPerDay.report(Assignment<Exam,ExamPlacement> assignment)
generate report
|
CSVFile |
ExamPeriodUsage.report(Assignment<Exam,ExamPlacement> assignment)
generate report
|
CSVFile |
ExamRoomSchedule.report(Assignment<Exam,ExamPlacement> assignment) |
CSVFile |
ExamRoomSplit.report(Assignment<Exam,ExamPlacement> assignment)
generate report
|
CSVFile |
ExamStudentBackToBackConflicts.report(Assignment<Exam,ExamPlacement> assignment)
generate report
|
CSVFile |
ExamStudentConflicts.report(Assignment<Exam,ExamPlacement> assignment)
generate report
|
CSVFile |
ExamStudentConflictsBySectionCourse.report(Assignment<Exam,ExamPlacement> assignment)
generate report
|
CSVFile |
ExamStudentConflictsPerExam.report(Assignment<Exam,ExamPlacement> assignment)
generate report
|
CSVFile |
ExamStudentDirectConflicts.report(Assignment<Exam,ExamPlacement> assignment)
generate report
|
CSVFile |
ExamStudentMoreTwoADay.report(Assignment<Exam,ExamPlacement> assignment)
generate report
|
Modifier and Type | Method and Description |
---|---|
void |
ExamSplitMoves.ExamSplitNeighbour.assign(Assignment<Exam,ExamPlacement> assignment,
long iteration)
Perform the split.
|
void |
ExamSplitMoves.ExamMergeNeighbour.assign(Assignment<Exam,ExamPlacement> assignment,
long iteration)
Perform the merge.
|
void |
ExamSplitMoves.ExamShuffleNeighbour.assign(Assignment<Exam,ExamPlacement> assignment,
long iteration)
Perform the shuffle.
|
void |
ExamSplitter.bestRestored(Assignment<Exam,ExamPlacement> assignment)
Best solution was restored, change the splits back to what it was in the best solution
|
void |
ExamSplitter.bestSaved(Assignment<Exam,ExamPlacement> assignment)
Best solution was saved, remember the current splits
|
ExamSplitMoves.ExamSplitNeighbour |
ExamSplitMoves.bestSplit(Assignment<Exam,ExamPlacement> assignment,
Exam exam)
Find a best split for the given exam.
|
double |
ExamSplitter.delta(Assignment<Exam,ExamPlacement> assignment,
ExamStudent student,
ExamPlacement oldPlacement,
ExamPlacement newPlacement)
Difference in the total weighted student conflicts (including
StudentDirectConflicts ,
StudentMoreThan2ADayConflicts , and StudentBackToBackConflicts ) if a student
is moved from an exam with one placement into an exam with another placement. |
Set<ExamRoomPlacement> |
ExamSplitMoves.findBestAvailableRooms(Assignment<Exam,ExamPlacement> assignment,
Exam exam,
ExamPeriodPlacement period,
int examSize)
Find best available rooms for a new exam (that is to be split from the given one),
if is is assigned into the given examination period.
|
double[] |
ExamSplitter.getBounds(Assignment<Exam,ExamPlacement> assignment,
Collection<Exam> exams)
Not used
|
void |
ExamSplitter.getInfo(Assignment<Exam,ExamPlacement> assignment,
Map<String,String> info)
Lists the split
|
double |
ExamSplitter.getValue(Assignment<Exam,ExamPlacement> assignment) |
double |
ExamSplitter.getValue(Assignment<Exam,ExamPlacement> assignment,
ExamPlacement value,
Set<ExamPlacement> conflicts)
Not used
|
Exam |
ExamSplitter.merge(Assignment<Exam,ExamPlacement> assignment,
Exam child,
long iteration)
Merge an exam
|
void |
ExamSplitter.shuffle(Assignment<Exam,ExamPlacement> assignment,
Exam exam,
long iteration)
Shuffle students between the given exam and all the other exams in the split (if there are any).
|
Exam |
ExamSplitter.split(Assignment<Exam,ExamPlacement> assignment,
Exam parent,
long iteration,
ExamPlacement placement)
Split an exam
|
String |
ExamSplitter.toString(Assignment<Exam,ExamPlacement> assignment) |
double |
ExamSplitMoves.ExamSplitNeighbour.value(Assignment<Exam,ExamPlacement> assignment)
Value of the split.
|
double |
ExamSplitMoves.ExamMergeNeighbour.value(Assignment<Exam,ExamPlacement> assignment)
Value of the merge.
|
double |
ExamSplitMoves.ExamShuffleNeighbour.value(Assignment<Exam,ExamPlacement> assignment)
Value of the shuffle.
|
Constructor and Description |
---|
ExamMergeNeighbour(Assignment<Exam,ExamPlacement> assignment,
Exam exam)
Child exam to be removed.
|
ExamShuffleNeighbour(Assignment<Exam,ExamPlacement> assignment,
Exam exam)
Exam to be shuffled.
|
ExamSplitNeighbour(Assignment<Exam,ExamPlacement> assignment,
Exam exam,
ExamPlacement placement)
Split an exam into two, assign the new exam into the given placement.
|
Modifier and Type | Method and Description |
---|---|
boolean |
NeighbourSearch.accept(Assignment<V,T> assignment,
LazyNeighbour<V,T> neighbour,
double value)
Accept lazy neighbour -- calling the acceptance criterion with lazy = true.
|
protected boolean |
GreatDeluge.GreatDelugeContext.accept(Assignment<V,T> assignment,
Model<V,T> model,
Neighbour<V,T> neighbour,
double value,
boolean lazy)
Accept the given neighbour if it does not worsen the current solution or when the new solution is below the bound
|
protected boolean |
HillClimber.HillClimberContext.accept(Assignment<V,T> assignment,
Model<V,T> model,
Neighbour<V,T> neighbour,
double value,
boolean lazy)
Accept any move that does not worsen the solution (value <= 0)
|
protected abstract boolean |
NeighbourSearch.NeighbourSearchContext.accept(Assignment<V,T> assignment,
Model<V,T> model,
Neighbour<V,T> neighbour,
double value,
boolean lazy)
Acceptance criterion.
|
protected boolean |
SimulatedAnnealing.SimulatedAnnealingContext.accept(Assignment<V,T> assignment,
Model<V,T> model,
Neighbour<V,T> neighbour,
double value,
boolean lazy)
True if the given neighbour is to be be accepted
|
protected boolean |
StepCountingHillClimber.StepCountingHillClimberContext.accept(Assignment<V,T> assignment,
Model<V,T> model,
Neighbour<V,T> neighbour,
double value,
boolean lazy)
Accept any move that does not worsen the solution (value <= 0) or that is below the bound.
|
NeighbourSearch.NeighbourSearchContext |
GreatDeluge.createAssignmentContext(Assignment<V,T> assignment) |
NeighbourSearch.NeighbourSearchContext |
HillClimber.createAssignmentContext(Assignment<V,T> assignment) |
MetaHeuristicSearch.MetaHeuristicSearchContext |
MetaHeuristicSearch.createAssignmentContext(Assignment<V,T> assignment) |
ParallelConstruction.ConstructionContext |
ParallelConstruction.createAssignmentContext(Assignment<V,T> assignment) |
SimpleSearch.SimpleSearchContext |
SimpleSearch.createAssignmentContext(Assignment<V,T> assignment) |
NeighbourSearch.NeighbourSearchContext |
SimulatedAnnealing.createAssignmentContext(Assignment<V,T> assignment) |
NeighbourSearch.NeighbourSearchContext |
StepCountingHillClimber.createAssignmentContext(Assignment<V,T> assignment) |
void |
NeighbourSelector.update(Assignment<V,T> a,
Neighbour<V,T> n,
long time)
Update statistics
|
Constructor and Description |
---|
ConstructionContext(Assignment<V,T> assignment) |
Modifier and Type | Method and Description |
---|---|
void |
RandomSwapMove.SwapNeighbour.assign(Assignment<V,T> assignment,
long iteration) |
double |
RandomSwapMove.SwapNeighbour.value(Assignment<V,T> assignment) |
Modifier and Type | Interface and Description |
---|---|
interface |
InheritedAssignment<V extends Variable<V,T>,T extends Value<V,T>>
An assignment inherited from some other assignment with only a few local
modifications.
|
Modifier and Type | Class and Description |
---|---|
class |
AssignmentAbstract<V extends Variable<V,T>,T extends Value<V,T>>
An abstract implementation of an
Assignment object. |
class |
AssignmentArray<V extends Variable<V,T>,T extends Value<V,T>>
An assignment using array to store values of all the variables of the model.
|
class |
AssignmentMap<V extends Variable<V,T>,T extends Value<V,T>>
An assignment using a
HashMap to store values of all the variables of the model. |
class |
DefaultInheritedAssignment<V extends Variable<V,T>,T extends Value<V,T>>
Default inherited assignment.
|
class |
DefaultParallelAssignment<V extends Variable<V,T>,T extends Value<V,T>>
An assignment using the
Variable.getAssignments() to store values of all the
variables of the model. |
class |
DefaultSingleAssignment<V extends Variable<V,T>,T extends Value<V,T>>
An assignment using the old
Variable.getAssignment() to store values of all the
variables of the model. |
class |
EmptyAssignment<V extends Variable<V,T>,T extends Value<V,T>>
An empty assignment.
|
class |
InheritedAssignmentArray<V extends Variable<V,T>,T extends Value<V,T>> |
class |
OptimisticInheritedAssignment<V extends Variable<V,T>,T extends Value<V,T>>
Optimistic inherited assignment.
|
Modifier and Type | Field and Description |
---|---|
protected Assignment<V,T> |
AssignmentComparator.iAssignment |
Modifier and Type | Method and Description |
---|---|
Assignment<V,T> |
DefaultInheritedAssignment.getParentAssignment() |
Assignment<V,T> |
InheritedAssignment.getParentAssignment()
Return parent assignment.
|
Assignment<V,T> |
InheritedAssignmentArray.getParentAssignment() |
Assignment<V,T> |
OptimisticInheritedAssignment.getParentAssignment() |
Modifier and Type | Method and Description |
---|---|
int |
AssignmentComparable.compareTo(Assignment<V,T> assignment,
X other)
Compare this object with a given one.
|
Constructor and Description |
---|
AssignmentComparator(Assignment<V,T> assignment)
Create comparator with the given assignment.
|
AssignmentMap(Assignment<V,T> assignment)
Creates a copy of an existing assignment
|
DefaultParallelAssignment(int threadIndex,
Model<V,T> model,
Assignment<V,T> assignment) |
ValueComparator(Assignment<V,T> assignment) |
Modifier and Type | Method and Description |
---|---|
void |
ModelWithContext.afterAssigned(Assignment<V,T> assignment,
long iteration,
T value) |
void |
ModelWithContext.afterUnassigned(Assignment<V,T> assignment,
long iteration,
T value) |
void |
BinaryConstraintWithContext.assigned(Assignment<V,T> assignment,
long iteration,
T value) |
void |
ConstraintWithContext.assigned(Assignment<V,T> assignment,
long iteration,
T value) |
void |
AssignmentConstraintContext.assigned(Assignment<V,T> assignment,
T value)
Called when
ConstraintWithContext.assigned(Assignment, long, Value) is called to update
the content of the context. |
void |
ModelWithContext.beforeAssigned(Assignment<V,T> assignment,
long iteration,
T value) |
void |
ModelWithContext.beforeUnassigned(Assignment<V,T> assignment,
long iteration,
T value) |
C |
HasAssignmentContext.createAssignmentContext(Assignment<V,T> assignment)
Create a new assignment context for the given assignment.
|
<U extends AssignmentContext> |
AssignmentContextHolder.getAssignmentContext(Assignment<V,T> assignment,
AssignmentContextReference<V,T,U> reference)
Return assignment context for the given assignment and reference.
|
<U extends AssignmentContext> |
AssignmentContextHolderArray.getAssignmentContext(Assignment<V,T> assignment,
AssignmentContextReference<V,T,U> reference) |
<U extends AssignmentContext> |
AssignmentContextHolderMap.getAssignmentContext(Assignment<V,T> assignment,
AssignmentContextReference<V,T,U> reference) |
<U extends AssignmentContext> |
DefaultParallelAssignmentContextHolder.getAssignmentContext(Assignment<V,T> assignment,
AssignmentContextReference<V,T,U> reference) |
<U extends AssignmentContext> |
DefaultSingleAssignmentContextHolder.getAssignmentContext(Assignment<V,T> assignment,
AssignmentContextReference<V,T,U> reference) |
<U extends AssignmentContext> |
InheritedAssignmentContextHolder.getAssignmentContext(Assignment<V,T> assignment,
AssignmentContextReference<V,T,U> reference)
If the
AssignmentContextReference.getParent() implements the CanInheritContext interface, this
method will use the CanInheritContext.inheritAssignmentContext(Assignment, AssignmentContext) instead of the
HasAssignmentContext.createAssignmentContext(Assignment) to create a new context. |
C |
AbstractClassWithContext.getContext(Assignment<V,T> assignment)
Returns an assignment context associated with this object.
|
C |
BinaryConstraintWithContext.getContext(Assignment<V,T> assignment)
Returns an assignment context associated with this constraint.
|
C |
ConstraintWithContext.getContext(Assignment<V,T> assignment)
Returns an assignment context associated with this constraint.
|
C |
ExtensionWithContext.getContext(Assignment<V,T> assignment)
Returns an assignment context associated with this extension.
|
C |
HasAssignmentContext.getContext(Assignment<V,T> assignment)
Returns an assignment context associated with this object.
|
C |
ModelWithContext.getContext(Assignment<V,T> assignment)
Returns an assignment context associated with this model.
|
C |
NeighbourSelectionWithContext.getContext(Assignment<V,T> assignment)
Returns an assignment context associated with this selection.
|
C |
VariableWithContext.getContext(Assignment<V,T> assignment)
Returns an assignment context associated with this extension.
|
static <V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext> |
AssignmentContextHelper.getContext(HasAssignmentContext<V,T,C> source,
Assignment<V,T> assignment)
Returns an assignment context associated with the given object.
|
C |
CanInheritContext.inheritAssignmentContext(Assignment<V,T> assignment,
C parentContext)
Create a new assignment context for the given assignment.
|
void |
BinaryConstraintWithContext.unassigned(Assignment<V,T> assignment,
long iteration,
T value) |
void |
ConstraintWithContext.unassigned(Assignment<V,T> assignment,
long iteration,
T value) |
void |
AssignmentConstraintContext.unassigned(Assignment<V,T> assignment,
T value)
Called when
ConstraintWithContext.unassigned(Assignment, long, Value) is called to update
the content of the context. |
Modifier and Type | Method and Description |
---|---|
void |
ConstantModel.afterAssigned(Assignment<V,T> assignment,
long iteration,
T value)
Called after a value is assigned to its variable.
|
void |
ConstantModel.afterUnassigned(Assignment<V,T> assignment,
long iteration,
T value)
Called after a value is unassigned from its variable.
|
void |
ConstantModel.beforeAssigned(Assignment<V,T> assignment,
long iteration,
T value)
Called before a value is assigned to its variable.
|
void |
ConstantModel.beforeUnassigned(Assignment<V,T> assignment,
long iteration,
T value)
Called before a value is unassigned from its variable.
|
Modifier and Type | Method and Description |
---|---|
void |
AbstractCriterion.afterAssigned(Assignment<V,T> assignment,
long iteration,
T value) |
void |
AbstractCriterion.afterUnassigned(Assignment<V,T> assignment,
long iteration,
T value) |
protected void |
AbstractCriterion.ValueContext.assigned(Assignment<V,T> assignment,
T value)
Update value when assigned
|
void |
AbstractCriterion.beforeAssigned(Assignment<V,T> assignment,
long iteration,
T value) |
void |
AbstractCriterion.beforeUnassigned(Assignment<V,T> assignment,
long iteration,
T value) |
void |
AbstractCriterion.bestRestored(Assignment<V,T> assignment) |
void |
Criterion.bestRestored(Assignment<V,T> assignment)
Notification that the current solution has been restored from the best.
|
void |
AbstractCriterion.bestSaved(Assignment<V,T> assignment) |
void |
Criterion.bestSaved(Assignment<V,T> assignment)
Notification that the current solution has been saved to the best.
|
protected double[] |
AbstractCriterion.computeBounds(Assignment<V,T> assignment)
Compute bounds (bounds are being cached by default).
|
AbstractCriterion.ValueContext |
AbstractCriterion.createAssignmentContext(Assignment<V,T> assignment) |
double[] |
AbstractCriterion.getBounds(Assignment<V,T> assignment) |
protected double[] |
AbstractCriterion.ValueContext.getBounds(Assignment<V,T> assignment)
Return bounds
|
double[] |
Criterion.getBounds(Assignment<V,T> assignment)
Bounds (minimum and maximum) estimate for the value
|
double[] |
AbstractCriterion.getBounds(Assignment<V,T> assignment,
Collection<V> variables) |
double[] |
Criterion.getBounds(Assignment<V,T> assignment,
Collection<V> variables)
Value bounds (minimum and maximum) of the criterion on a part of the problem
|
AbstractCriterion.ValueContext |
AbstractCriterion.getContext(Assignment<V,T> assignment)
Returns an assignment context associated with this criterion.
|
void |
AbstractCriterion.getExtendedInfo(Assignment<V,T> assignment,
Map<String,String> info) |
void |
AbstractCriterion.getInfo(Assignment<V,T> assignment,
Map<String,String> info) |
void |
AbstractCriterion.getInfo(Assignment<V,T> assignment,
Map<String,String> info,
Collection<V> variables) |
String |
AbstractCriterion.getPercentage(Assignment<V,T> assignment)
Return formatted value of this criterion, as percentage when possible
|
double |
AbstractCriterion.getValue(Assignment<V,T> assignment) |
double |
Criterion.getValue(Assignment<V,T> assignment)
Current value of the criterion (optimization objective)
|
double |
AbstractCriterion.getValue(Assignment<V,T> assignment,
Collection<V> variables) |
double |
Criterion.getValue(Assignment<V,T> assignment,
Collection<V> variables)
Value of a part of the problem (given by the collection of variables)
|
double |
AssignedValue.getValue(Assignment<V,T> assignment,
T value,
Set<T> conflicts) |
double |
Criterion.getValue(Assignment<V,T> assignment,
T value,
Set<T> conflicts)
Value of a proposed assignment (including hard conflicts)
|
double |
AbstractCriterion.getWeightedValue(Assignment<V,T> assignment) |
double |
Criterion.getWeightedValue(Assignment<V,T> assignment)
Weighted value of the objectives
|
double |
AbstractCriterion.getWeightedValue(Assignment<V,T> assignment,
Collection<V> variables) |
double |
Criterion.getWeightedValue(Assignment<V,T> assignment,
Collection<V> variables)
Weighted value of a part of the problem (given by the collection of variables)
|
double |
AbstractCriterion.getWeightedValue(Assignment<V,T> assignment,
T value,
Set<T> conflicts) |
double |
Criterion.getWeightedValue(Assignment<V,T> assignment,
T value,
Set<T> conflicts)
Weighted value of a proposed assignment (including hard conflicts)
|
void |
AbstractCriterion.inc(Assignment<V,T> assignment,
double value) |
void |
Criterion.inc(Assignment<V,T> assignment,
double value)
Outside update of the criterion (usefull when the criterion is driven by a set of constraints).
|
String |
AbstractCriterion.toString(Assignment<V,T> assignment)
Simple text representation of the criterion and its value.
|
String |
Criterion.toString(Assignment<V,T> assignment)
Simple text representation of the criterion and its value.
|
protected void |
AbstractCriterion.ValueContext.unassigned(Assignment<V,T> assignment,
T value)
Update value when unassigned
|
Constructor and Description |
---|
ValueContext(Assignment<V,T> assignment)
Create from an assignment
|
Modifier and Type | Method and Description |
---|---|
void |
DbtPropagation.afterAssigned(Assignment<V,T> assignment,
long iteration,
T value)
Propagation takes place every time a value is assigned to a variable.
|
void |
DbtPropagation.afterUnassigned(Assignment<V,T> assignment,
long iteration,
T value)
Undo propagation when a value is unassigned.
|
void |
DbtPropagation.neighbourFailed(Assignment<V,T> assignment,
long iteration,
Neighbour<V,T> neighbour) |
boolean |
DbtPropagation.neighbourSelected(Assignment<V,T> assignment,
long iteration,
Neighbour<V,T> neighbour) |
boolean |
DbtPropagation.valueSelected(Assignment<V,T> assignment,
long iteration,
V variable,
T value)
If no value is selected (because of a dead end), make some unassignments.
|
boolean |
DbtPropagation.variableSelected(Assignment<V,T> assignment,
long iteration,
V variable)
If no variable is selected (all variables are assinged), unassign the
last assigned variable.
|
Modifier and Type | Method and Description |
---|---|
void |
CSPBinaryConstraint.computeConflicts(Assignment<CSPVariable,CSPValue> assignment,
CSPValue aValue,
Set<CSPValue> conflicts)
Add the other variable to the set of conflicts, if it is not compatible
with the given value.
|
Map<String,String> |
StructuredCSPModel.getInfo(Assignment<CSPVariable,CSPValue> assignment)
Return information table
|
Modifier and Type | Method and Description |
---|---|
void |
Job.computeConflicts(Assignment<Operation,Location> assignment,
Location location,
Set<Location> conflicts)
Adds conflicting operations into the set of conflicts.
|
void |
Machine.computeConflicts(Assignment<Operation,Location> assignment,
Location location,
Set<Location> conflicts)
Adds conflicting operations into the set of conflicts.
|
int |
JobShopModel.getFinishingTime(Assignment<Operation,Location> assignment)
Get finishing time of the current (partial) solution
|
Map<String,String> |
JobShopModel.getInfo(Assignment<Operation,Location> assignment)
Get information table
|
boolean |
Job.inConflict(Assignment<Operation,Location> assignment,
Location location)
True if there is an operation from the same job which violates with the
given assignment.
|
boolean |
Machine.inConflict(Assignment<Operation,Location> assignment,
Location location)
True if there is an operation from the machine which violates with the
given assignment.
|
void |
JobShopModel.save(Assignment<Operation,Location> assignment,
String file)
Save the solution into the given file
|
Modifier and Type | Method and Description |
---|---|
void |
ResourceConstraint.Context.assigned(Assignment<Rectangle,Location> assignment,
Location placement)
Notification, when a rectangle is placed.
|
void |
ResourceConstraint.check(Assignment<Rectangle,Location> assignment) |
void |
ResourceConstraint.computeConflicts(Assignment<Rectangle,Location> assignment,
Location placement,
Set<Location> conflicts)
Compute conflicts with the given placement of the rectangle.
|
ResourceConstraint.Context |
ResourceConstraint.createAssignmentContext(Assignment<Rectangle,Location> assignment) |
boolean |
ResourceConstraint.inConflict(Assignment<Rectangle,Location> assignment,
Location placement)
Returns true if there is a rectangle which overlaps with the given
assignment.
|
void |
ResourceConstraint.Context.unassigned(Assignment<Rectangle,Location> assignment,
Location placement)
Notification, when a rectangle is unplaced.
|
Constructor and Description |
---|
Context(Assignment<Rectangle,Location> assignment) |
Constructor and Description |
---|
Context(Assignment<Activity,Location> assignment) |
Modifier and Type | Method and Description |
---|---|
void |
Extension.afterAssigned(Assignment<V,T> assignment,
long iteration,
T value)
Called after a value is assigned to a variable
|
void |
MacPropagation.afterAssigned(Assignment<V,T> assignment,
long iteration,
T value)
After a value is assigned: explanations of other values of the value's
variable are reset (to contain only the assigned value), propagation over
the assigned variable takes place.
|
void |
MacRevised.afterAssigned(Assignment<V,T> assignment,
long iteration,
T value)
After a value is assigned: explanations of other values of the value's
variable are reset (to contain only the assigned value), propagation over
the assigned variable takes place.
|
void |
SearchIntensification.afterAssigned(Assignment<V,T> assignment,
long iteration,
T value) |
void |
SearchIntensification.Context.afterAssigned(Assignment<V,T> assignment,
long iteration,
T value) |
void |
Extension.afterUnassigned(Assignment<V,T> assignment,
long iteration,
T value)
Called after a value is unassigned from a variable
|
void |
MacPropagation.afterUnassigned(Assignment<V,T> assignment,
long iteration,
T value)
After a value is unassigned: explanations of all values of unassigned
variable are recomputed (
Value.conflicts(Assignment) ), propagation undo
over the unassigned variable takes place. |
void |
MacRevised.afterUnassigned(Assignment<V,T> assignment,
long iteration,
T value)
After a value is unassigned: explanations of all values of unassigned
variable are recomputed (
Value.conflicts(Assignment) ), propagation undo
over the unassigned variable takes place. |
void |
Extension.beforeAssigned(Assignment<V,T> assignment,
long iteration,
T value)
Called before a value is assigned to a variable
|
void |
MacPropagation.beforeAssigned(Assignment<V,T> assignment,
long iteration,
T value)
Before a value is unassigned: until the value is inconsistent with the
current solution, an assignment from its explanation is picked and
unassigned.
|
void |
MacRevised.beforeAssigned(Assignment<V,T> assignment,
long iteration,
T value)
Before a value is unassigned: until the value is inconsistent with the
current solution, an assignment from its explanation is picked and
unassigned.
|
void |
Extension.beforeUnassigned(Assignment<V,T> assignment,
long iteration,
T value)
Called after a value is unassigned from a variable
|
void |
ConflictStatistics.constraintAfterAssigned(Assignment<V,T> assignment,
long iteration,
Constraint<V,T> constraint,
T assigned,
Set<T> unassigned)
Increments appropriate counters when there is a value unassigned
|
void |
ConflictStatistics.constraintBeforeAssigned(Assignment<V,T> assignment,
long iteration,
Constraint<V,T> constraint,
T assigned,
Set<T> unassigned) |
long |
ConflictStatistics.countPotentialConflicts(Assignment<V,T> assignment,
long iteration,
T value,
int limit)
Counts potential number of unassignments of if the given value is
selected.
|
MacPropagation.NoGood |
MacPropagation.createAssignmentContext(Assignment<V,T> assignment) |
MacRevised.NoGood |
MacRevised.createAssignmentContext(Assignment<V,T> assignment) |
SearchIntensification.Context |
SearchIntensification.createAssignmentContext(Assignment<V,T> assignment) |
Set<T> |
MacRevised.NoGood.explanation(Assignment<V,T> assignment,
Constraint<V,T> constraint,
T value,
V variable) |
Set<T> |
MacPropagation.goodValues(Assignment<V,T> assignment,
V variable)
good values of a variable (values not removed from variables domain)
|
boolean |
MacRevised.NoGood.hasSupport(Assignment<V,T> assignment,
Constraint<V,T> constraint,
T value,
V variable) |
boolean |
ViolatedInitials.init(Assignment<V,T> assignment)
Compute the violations between any value and all other initial values
|
boolean |
MacPropagation.isGood(Assignment<V,T> assignment,
T value)
is variable good
|
Set<T> |
MacPropagation.noGood(Assignment<V,T> assignment,
T value)
variables explanation
|
void |
MacRevised.NoGood.propagate(Assignment<V,T> assignment,
Constraint<V,T> constraint,
T noGoodValue,
List<T> queue) |
void |
MacRevised.NoGood.propagate(Assignment<V,T> assignment,
List<T> queue) |
protected void |
MacPropagation.NoGood.propagate(Assignment<V,T> assignment,
Queue<V> queue)
Propagation over the queue of variables.
|
protected void |
MacPropagation.propagate(Assignment<V,T> assignment,
V variable)
Propagation over the given variable.
|
protected void |
MacPropagation.NoGood.propagate(Assignment<V,T> assignment,
V variable)
Propagation over the given variable.
|
protected boolean |
MacPropagation.NoGood.propagate(Assignment<V,T> assignment,
V aVariable,
V anotherVariable) |
protected boolean |
MacPropagation.NoGood.propagate(Assignment<V,T> assignment,
V aVariable,
V anotherVariable,
List<T> adepts) |
boolean |
MacRevised.NoGood.revise(Assignment<V,T> assignment,
Constraint<V,T> constraint,
T value) |
boolean |
MacRevised.NoGood.revise(Assignment<V,T> assignment,
T value) |
protected void |
MacPropagation.setGood(Assignment<V,T> assignment,
T value)
sets value to be good
|
void |
MacPropagation.setNoGood(Assignment<V,T> assignment,
T value,
Set<T> reason)
sets value's explanation
|
void |
MacRevised.NoGood.setNoGood(Assignment<V,T> assignment,
T value,
Set<T> reason)
sets value's explanation
|
Set<T> |
MacRevised.NoGood.supports(Assignment<V,T> assignment,
Constraint<V,T> constraint,
T value,
V variable) |
void |
MacPropagation.undoPropagate(Assignment<V,T> assignment,
V variable)
Propagation undo over the given variable.
|
void |
MacPropagation.NoGood.undoPropagate(Assignment<V,T> assignment,
V variable)
Propagation undo over the given variable.
|
Constructor and Description |
---|
Context(Assignment<V,T> assignment) |
NoGood(Assignment<V,T> assignment)
Initialization.
|
NoGood(Assignment<V,T> assignment) |
Modifier and Type | Method and Description |
---|---|
Assignment<V,T> |
BacktrackNeighbourSelection.BacktrackNeighbourSelectionContext.getAssignment() |
Modifier and Type | Method and Description |
---|---|
void |
BacktrackNeighbourSelection.BackTrackNeighbour.assign(Assignment<V,T> assignment,
long iteration)
Assign the neighbour
|
MaxIdleNeighbourSelection.MaxIdleContext |
MaxIdleNeighbourSelection.createAssignmentContext(Assignment<V,T> assignment) |
double |
BacktrackNeighbourSelection.BackTrackNeighbour.value(Assignment<V,T> assignment)
Sum of values of variables from the neighbour that change their
values
|
Constructor and Description |
---|
MaxIdleContext(Assignment<V,T> assignment) |
Modifier and Type | Method and Description |
---|---|
Assignment<V,T> |
Model.getDefaultAssignment()
Deprecated.
|
Assignment<V,T> |
Model.getEmptyAssignment()
Returns an instance of an empty assignment (using
EmptyAssignment ) |
Modifier and Type | Method and Description |
---|---|
boolean |
LazyNeighbour.LazyNeighbourAcceptanceCriterion.accept(Assignment<V,T> assignment,
LazyNeighbour<V,T> neighbour,
double value)
True when the currently assigned neighbour should be accepted (false means
that the change will be undone
|
void |
Model.afterAssigned(Assignment<V,T> assignment,
long iteration,
T value)
Called after a value is assigned to its variable
|
void |
ModelListener.afterAssigned(Assignment<V,T> assignment,
long iteration,
T value)
Called after a value is assigned to its variable (
Value.variable() ). |
void |
Model.afterUnassigned(Assignment<V,T> assignment,
long iteration,
T value)
Called after a value is unassigned from its variable
|
void |
ModelListener.afterUnassigned(Assignment<V,T> assignment,
long iteration,
T value)
Called after a value is unassigned from its variable (
Value.variable() ). |
void |
LazyNeighbour.assign(Assignment<V,T> assignment,
long iteration)
Assign neighbour, check given acceptance criterion, and undo
assignment if the change is not accepted.
|
void |
Neighbour.assign(Assignment<V,T> assignment,
long iteration)
Perform assignment
|
void |
SimpleNeighbour.assign(Assignment<V,T> assignment,
long iteration)
Perform assignment
|
void |
Constraint.assigned(Assignment<V,T> assignment,
long iteration,
T value)
Given value is to be assigned to its variable.
|
void |
GlobalConstraint.assigned(Assignment<V,T> assignment,
long iteration,
T value)
Given value is to be assigned to its variable.
|
Collection<V> |
Constraint.assignedVariables(Assignment<V,T> assignment)
The list of variables of this constraint that are assigned
|
Collection<V> |
GlobalConstraint.assignedVariables(Assignment<V,T> assignment)
The list of variables of this constraint that are assigned
|
Collection<V> |
Model.assignedVariables(Assignment<V,T> assignment)
The list of assigned variables in the model
|
void |
Model.beforeAssigned(Assignment<V,T> assignment,
long iteration,
T value)
Called before a value is assigned to its variable
|
void |
ModelListener.beforeAssigned(Assignment<V,T> assignment,
long iteration,
T value)
Called before a value is assigned to its variable (
Value.variable() ). |
void |
Model.beforeUnassigned(Assignment<V,T> assignment,
long iteration,
T value)
Called before a value is unassigned from its variable
|
void |
ModelListener.beforeUnassigned(Assignment<V,T> assignment,
long iteration,
T value)
Called before a value is unassigned from its variable (
Value.variable() ). |
Collection<V> |
Model.bestUnassignedVariables(Assignment<V,T> assignment)
The list of unassigned variables in the best ever found solution
|
void |
Model.clearAssignmentContexts(Assignment<V,T> assignment)
Clear all assignment contexts for the given assignment
|
int |
Value.compareTo(Assignment<V,T> assignment,
T value)
Compare two values by their value
|
abstract void |
Constraint.computeConflicts(Assignment<V,T> assignment,
T value,
Set<T> conflicts)
The only method which has to be implemented by any constraint.
|
protected void |
Constraint.computeConflictsNoForwardCheck(Assignment<V,T> assignment,
T value,
Set<T> conflicts)
Compute conflicts method that does not do any forward checking.
|
Map<Constraint<V,T>,Set<T>> |
Model.conflictConstraints(Assignment<V,T> assignment,
T value)
The list of constraints which are in a conflict with the given value if
it is assigned to its variable.
|
Set<T> |
Value.conflicts(Assignment<V,T> assignment)
Returns a set of conflicting values with this value.
|
Set<T> |
Model.conflictValues(Assignment<V,T> assignment,
T value)
Returns the set of conflicting variables with this value, if it is
assigned to its variable
|
void |
ConstraintListener.constraintAfterAssigned(Assignment<V,T> assignment,
long iteration,
Constraint<V,T> constraint,
T assigned,
Set<T> unassigned)
Called by the constraint, after a value is assigned to its variable.
|
void |
ConstraintListener.constraintBeforeAssigned(Assignment<V,T> assignment,
long iteration,
Constraint<V,T> constraint,
T assigned,
Set<T> unassigned)
Called by the constraint, before a value is assigned to its variable.
|
int |
Constraint.countAssignedVariables(Assignment<V,T> assignment)
The number of variables of this constraint that are assigned
|
int |
GlobalConstraint.countAssignedVariables(Assignment<V,T> assignment)
The number of variables of this constraint that are assigned
|
void |
Model.createAssignmentContexts(Assignment<V,T> assignment,
boolean clear)
Create all assignment contexts for the given assignment
|
protected abstract void |
LazyNeighbour.doAssign(Assignment<V,T> assignment,
long iteration)
Perform assignment
|
protected void |
LazySwap.doAssign(Assignment<V,T> assignment,
long iteration)
Perform swap
|
T |
Variable.getAssignment(Assignment<V,T> assignment)
Returns current assignment
|
Map<String,String> |
Model.getExtendedInfo(Assignment<V,T> assignment)
Extended information about current solution.
|
void |
ExtendedInfoProvider.getExtendedInfo(Assignment<V,T> assignment,
Map<String,String> info)
Extended information about current solution.
|
Map<String,String> |
Model.getInfo(Assignment<V,T> assignment)
Returns information about the current solution.
|
Map<String,String> |
Model.getInfo(Assignment<V,T> assignment,
Collection<V> variables)
Returns information about the current solution.
|
void |
InfoProvider.getInfo(Assignment<V,T> assignment,
Map<String,String> info)
Adds some information into the table with information about the solution
|
void |
InfoProvider.getInfo(Assignment<V,T> assignment,
Map<String,String> info,
Collection<V> variables)
Adds some information into the table with information about the solution,
only consider variables from the given set
|
double |
Model.getTotalValue(Assignment<V,T> assignment)
Value of the current solution.
|
double |
Model.getTotalValue(Assignment<V,T> assignment,
Collection<V> variables)
Value of the current solution.
|
boolean |
Variable.hasAssignment(Assignment<V,T> assignment)
Returns true if the variable is assigned
|
boolean |
Constraint.inConflict(Assignment<V,T> assignment,
T value)
Returns true if the given assignment is inconsistent with the existing
assignments respecting this constraint.
|
boolean |
Model.inConflict(Assignment<V,T> assignment,
T value)
Return true if the given value is in conflict with a hard constraint
|
int |
Model.nrAssignedVariables(Assignment<V,T> assignment)
Number of assigned variables
|
int |
Model.nrUnassignedVariables(Assignment<V,T> assignment)
Number of unassigned variables
|
Collection<V> |
Model.perturbVariables(Assignment<V,T> assignment)
The list of perturbation variables in the model, i.e., the variables
which has an initial value but which are not assigned with this value.
|
List<V> |
Model.perturbVariables(Assignment<V,T> assignment,
Collection<V> variables)
The list of perturbation variables in the model, i.e., the variables
which has an initial value but which are not assigned with this value.
|
List<V> |
Model.perturbVariables(Assignment<V,T> assignment,
Collection<V> variables,
boolean includeNotAssigned)
The list of perturbation variables in the model, i.e., the variables
which has an initial value but which are not assigned with this value.
|
void |
Model.restoreBest(Assignment<V,T> assignment)
Restore the best ever found assignment into the current assignment
|
protected void |
Model.restoreBest(Assignment<V,T> assignment,
Comparator<V> assignmentOrder)
Restore the best ever found assignment into the current assignment
|
void |
Model.saveBest(Assignment<V,T> assignment)
Save the current assignment as the best ever found assignment
|
void |
Model.setDefaultAssignment(Assignment<V,T> assignment)
Deprecated.
|
double |
Value.toDouble(Assignment<V,T> assignment)
Double representation.
|
String |
Model.toString(Assignment<V,T> assignment)
String representation -- returns a list of values of objective criteria
|
void |
Constraint.unassigned(Assignment<V,T> assignment,
long iteration,
T value)
Given value is unassigned from its variable.
|
void |
GlobalConstraint.unassigned(Assignment<V,T> assignment,
long iteration,
T value)
Given value is unassigned from its varable.
|
List<Constraint<V,T>> |
Model.unassignedHardConstraints(Assignment<V,T> assignment)
The list of hard constraints which contain at least one variable that is
not assigned.
|
Collection<V> |
Model.unassignedVariables(Assignment<V,T> assignment)
The list of unassigned variables in the model
|
protected abstract void |
LazyNeighbour.undoAssign(Assignment<V,T> assignment,
long iteration)
Undo assignment
|
protected void |
LazySwap.undoAssign(Assignment<V,T> assignment,
long iteration)
Undo the swap
|
double |
LazyNeighbour.value(Assignment<V,T> assignment)
Return -1 (neighbour is always accepted).
|
double |
Neighbour.value(Assignment<V,T> assignment)
Difference in the evaluation function, if this neighnour is assigned.
|
double |
SimpleNeighbour.value(Assignment<V,T> assignment)
Improvement in the solution value if this neighbour is accepted.
|
boolean |
Value.valueEquals(Assignment<V,T> assignment,
T value)
Comparison of two values which is based only on the value (not
appropriate variable etc.).
|
List<T> |
Variable.values(Assignment<V,T> assignment)
Variable's domain
|
void |
VariableListener.variableAssigned(Assignment<?,T> assignment,
long iteration,
T value)
Called by the variable when a value is assigned to it
|
void |
Variable.variableAssigned(Assignment<V,T> assignment,
long iteration,
T value)
A value was assigned to this variable
|
void |
VariableListener.variableUnassigned(Assignment<?,T> assignment,
long iteration,
T value)
Called by the variable when a value is unassigned from it
|
void |
Variable.variableUnassigned(Assignment<V,T> assignment,
long iteration,
T oldValue)
A value was unassigned from this variable
|
void |
WeakeningConstraint.weaken(Assignment<V,T> assignment)
Weaken the constraint.
|
void |
Model.weaken(Assignment<V,T> assignment,
T value)
Weaken all weakening constraint so that the given value can be assigned without
them creating a conflict using
WeakeningConstraint.weaken(Assignment, Value) . |
void |
WeakeningConstraint.weaken(Assignment<V,T> assignment,
T value)
Weaken the constraint enough so that it can assign the given
value.
|
Modifier and Type | Method and Description |
---|---|
void |
DefaultPerturbationsCounter.getInfo(Assignment<V,T> assignment,
Model<V,T> model,
Map<String,String> info) |
void |
PerturbationsCounter.getInfo(Assignment<V,T> assignment,
Model<V,T> model,
Map<String,String> info)
Some (perturbation) information about the solution might be returned
here.
|
void |
DefaultPerturbationsCounter.getInfo(Assignment<V,T> assignment,
Model<V,T> model,
Map<String,String> info,
Collection<V> variables) |
void |
PerturbationsCounter.getInfo(Assignment<V,T> assignment,
Model<V,T> model,
Map<String,String> info,
Collection<V> variables)
Some (perturbation) information about the solution might be returned here
(only include variables from the given set).
|
protected double |
DefaultPerturbationsCounter.getPenalty(Assignment<V,T> assignment,
T assignedValue,
T initialValue)
Computes perturbation penalty between assigned and initial value of the
same lecture.
|
protected double |
DefaultPerturbationsCounter.getPenaltyA(Assignment<V,T> assignment,
T selectedValue,
T initialValue)
Case A: initial value of a different unassigned variable cannot be
assigned (computed by
ViolatedInitials ) |
protected double |
DefaultPerturbationsCounter.getPenaltyB(Assignment<V,T> assignment,
T selectedValue,
T assignedValue,
T initialValue)
Case B: initial value is unassigned from a conflicting variable.
|
protected double |
DefaultPerturbationsCounter.getPenaltyC(Assignment<V,T> assignment,
T selectedValue,
T assignedValue,
T initialValue)
Case C: non-initial value is unassigned from a conflicting variable.
|
protected double |
DefaultPerturbationsCounter.getPenaltyD(Assignment<V,T> assignment,
T selectedValue,
T initialValue)
Case D: different than initial value is assigned to the variable
|
double |
DefaultPerturbationsCounter.getPerturbationPenalty(Assignment<V,T> assignment,
Model<V,T> model) |
double |
PerturbationsCounter.getPerturbationPenalty(Assignment<V,T> assignment,
Model<V,T> model)
Returns perturbation penalty, i.e., the distance between current solution
and the solution of the initial problem (see
Variable.getInitialAssignment() ). |
double |
DefaultPerturbationsCounter.getPerturbationPenalty(Assignment<V,T> assignment,
Model<V,T> model,
Collection<V> variables) |
double |
PerturbationsCounter.getPerturbationPenalty(Assignment<V,T> assignment,
Model<V,T> model,
Collection<V> variables)
Returns perturbation penalty, i.e., the distance between current solution
and the solution of the initial (only include variables from the given
set) problem (see
Variable.getInitialAssignment() ). |
double |
DefaultPerturbationsCounter.getPerturbationPenalty(Assignment<V,T> assignment,
Model<V,T> model,
T selectedValue,
Collection<T> conflicts) |
double |
PerturbationsCounter.getPerturbationPenalty(Assignment<V,T> assignment,
Model<V,T> model,
T selectedValue,
Collection<T> conflicts)
Returns perturbation penalty of the solution which become from the
current solution when given conflicting values are unassigned and the
selected value is assigned.
|
Modifier and Type | Method and Description |
---|---|
Assignment<V,T> |
Solution.getAssignment()
The assignment associated with this solution
|
Modifier and Type | Method and Description |
---|---|
void |
Solution.setAssignment(Assignment<V,T> assignment)
Set a new assignment
|
Constructor and Description |
---|
Solution(Model<V,T> model,
Assignment<V,T> assignment)
Constructor
|
Solution(Model<V,T> model,
Assignment<V,T> assignment,
long iteration,
double time)
Constructor
|
Modifier and Type | Method and Description |
---|---|
void |
SolverListener.neighbourFailed(Assignment<V,T> assignment,
long iteration,
Neighbour<V,T> neighbour)
Called when
ParallelSolver failed to assign the given neighbour |
boolean |
SolverListener.neighbourSelected(Assignment<V,T> assignment,
long iteration,
Neighbour<V,T> neighbour)
A neighbour was selected
|
boolean |
SolverListener.valueSelected(Assignment<V,T> assignment,
long iteration,
V variable,
T value)
A value was selected
|
boolean |
SolverListener.variableSelected(Assignment<V,T> assignment,
long iteration,
V variable)
A variable was selected
|
Modifier and Type | Method and Description |
---|---|
Assignment<V,T> |
ProblemLoader.getAssignment()
Returns provided assignment
|
Assignment<V,T> |
ProblemSaver.getAssignment()
Current assignment
|
Constructor and Description |
---|
ProblemLoader(M model,
Assignment<V,T> assignment)
Constructor
|
Modifier and Type | Method and Description |
---|---|
protected void |
Test.generateReports(File outputDir,
Assignment<TeachingRequest.Variable,TeachingAssignment> assignment)
Generate a few reports
|
protected boolean |
Test.load(File inputFile,
Assignment<TeachingRequest.Variable,TeachingAssignment> assignment)
Load input problem
|
protected void |
Test.save(File outputDir,
Assignment<TeachingRequest.Variable,TeachingAssignment> assignment)
Save the problem and the resulting assignment
|
Constructor and Description |
---|
Context(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment) |
Context(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment) |
Modifier and Type | Method and Description |
---|---|
void |
Instructor.Context.assigned(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment,
TeachingAssignment value) |
double |
Instructor.countBackToBacks(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment,
TeachingAssignment value,
double diffRoomWeight,
double diffTypeWeight)
Compute number of back-to-back assignments (weighted by the preference) of the given teaching assignment and the other assignments of the instructor
|
double |
Instructor.Context.countDistributions(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment)
Compute distributions penalty between all classes assigned to this instructor
|
double |
Instructor.countSameDays(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment,
TeachingAssignment value,
double diffRoomWeight,
double diffTypeWeight)
Compute number of same days assignments (weighted by the preference) of the given teaching assignment and the other assignments of the instructor
|
double |
Instructor.countSameRooms(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment,
TeachingAssignment value,
double diffTypeWeight)
Compute number of same room assignments (weighted by the preference) of the given teaching assignment and the other assignments of the instructor
|
Instructor.Context |
Instructor.createAssignmentContext(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment) |
double |
Instructor.differentLectures(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment,
TeachingAssignment value)
Compute different common sections of the given teaching assignment and the other assignments of the instructor
|
Map<String,String> |
InstructorSchedulingModel.getInfo(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment) |
double |
InstructorSchedulingModel.getTotalValue(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment) |
double |
InstructorSchedulingModel.getTotalValue(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment,
Collection<TeachingRequest.Variable> variables) |
Instructor.Context |
Instructor.inheritAssignmentContext(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment,
Instructor.Context parentContext) |
boolean |
InstructorSchedulingModel.load(Document document,
Assignment<TeachingRequest.Variable,TeachingAssignment> assignment)
Load the problem (and its solution) from an XML format
|
Document |
InstructorSchedulingModel.save(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment)
Store the problem (together with its solution) in an XML format
|
int |
Instructor.share(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment,
TeachingAssignment value)
Compute time overlaps with instructor availability and other teaching assignments of the instructor
|
double |
TeachingAssignment.toDouble(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment) |
void |
Instructor.Context.unassigned(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment,
TeachingAssignment value) |
List<TeachingAssignment> |
TeachingRequest.Variable.values(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment) |
void |
TeachingRequest.Variable.variableAssigned(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment,
long iteration,
TeachingAssignment ta) |
void |
TeachingRequest.Variable.variableUnassigned(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment,
long iteration,
TeachingAssignment ta) |
Constructor and Description |
---|
Context(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment)
Constructor
|
Context(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment,
Instructor.Context parentContext)
Constructor
|
Modifier and Type | Method and Description |
---|---|
protected void |
ChmTest.generateReports(File dir,
Assignment<TeachingRequest.Variable,TeachingAssignment> assignment) |
protected void |
MathTest.generateReports(File dir,
Assignment<TeachingRequest.Variable,TeachingAssignment> assignment) |
protected boolean |
MathTest.load(File dir,
Assignment<TeachingRequest.Variable,TeachingAssignment> assignment) |
Modifier and Type | Method and Description |
---|---|
void |
StudentSectioningModel.StudentSectioningModelContext.add(Assignment<Request,Enrollment> assignment,
DistanceConflict.Conflict c) |
void |
StudentSectioningModel.StudentSectioningModelContext.add(Assignment<Request,Enrollment> assignment,
StudentQuality.Conflict c) |
void |
StudentSectioningModel.StudentSectioningModelContext.add(Assignment<Request,Enrollment> assignment,
TimeOverlapsCounter.Conflict c) |
void |
StudentSectioningModel.StudentSectioningModelContext.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called after an enrollment was assigned to a request.
|
double |
StudentSectioningModel.avgUnassignPriority(Assignment<Request,Enrollment> assignment)
Average priority of unassigned requests (see
Request.getPriority() ) |
void |
StudentSectioningModel.computeOnlineSectioningInfos(Assignment<Request,Enrollment> assignment)
Compute online student sectioning infos for all sections (see
Section.getSpaceExpected() and Section.getSpaceHeld() ). |
StudentSectioningModel.StudentSectioningModelContext |
StudentSectioningModel.createAssignmentContext(Assignment<Request,Enrollment> assignment) |
static Document |
StudentRequestXml.exportModel(Assignment<Request,Enrollment> assignment,
StudentSectioningModel model) |
Map<String,String> |
StudentSectioningModel.getExtendedInfo(Assignment<Request,Enrollment> assignment)
Model extended info.
|
Map<String,String> |
StudentSectioningModel.getInfo(Assignment<Request,Enrollment> assignment)
Model info
|
void |
StudentSectioningModel.StudentSectioningModelContext.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info) |
void |
StudentSectioningModel.StudentSectioningModelContext.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info,
Collection<Request> variables) |
double[] |
StudentPreferencePenalties.getMinMaxAvailableEnrollmentPenalty(Assignment<Request,Enrollment> assignment,
CourseRequest request)
Minimal and maximal available enrollment penalty of a request
|
static double[] |
Test.getMinMaxAvailableEnrollmentPenalty(Assignment<Request,Enrollment> assignment,
CourseRequest request)
Minimum and maximum available enrollment penalty, i.e.,
Enrollment.getPenalty() of all available enrollments |
double[] |
StudentPreferencePenalties.getMinMaxAvailableEnrollmentPenalty(Assignment<Request,Enrollment> assignment,
Request request)
Minimal and maximal available enrollment penalty of a request
|
int |
StudentSectioningModel.getNrAssignedLastLikeRequests(Assignment<Request,Enrollment> assignment,
boolean precise)
Number of requests from projected (
Student.isDummy() equals true)
students that are assigned. |
int |
StudentSectioningModel.getNrAssignedRealRequests(Assignment<Request,Enrollment> assignment,
boolean precise)
Number of requests from real (
Student.isDummy() equals false)
students that are assigned. |
int |
StudentSectioningModel.getNrCompleteLastLikeStudents(Assignment<Request,Enrollment> assignment,
boolean precise)
Number of last like (
Student.isDummy() equals true) students with
a complete schedule (Student.isComplete(Assignment) equals true). |
int |
StudentSectioningModel.getNrCompleteRealStudents(Assignment<Request,Enrollment> assignment,
boolean precise)
Number of real (
Student.isDummy() equals false) students with a
complete schedule (Student.isComplete(Assignment) equals true). |
double |
StudentSectioningModel.getTotalValue(Assignment<Request,Enrollment> assignment)
Overall solution value
|
double |
StudentSectioningModel.getTotalValue(Assignment<Request,Enrollment> assignment,
boolean precise)
Overall solution value
|
double |
StudentSectioningModel.getUnassignedRequestWeight(Assignment<Request,Enrollment> assignment)
Sum of weights of all requests that are not assigned (see
Request.getWeight() ). |
StudentSectioningModel.StudentSectioningModelContext |
StudentSectioningModel.inheritAssignmentContext(Assignment<Request,Enrollment> assignment,
StudentSectioningModel.StudentSectioningModelContext parentContext) |
void |
StudentSectioningModel.recomputeTotalValue(Assignment<Request,Enrollment> assignment) |
void |
StudentSectioningModel.StudentSectioningModelContext.remove(Assignment<Request,Enrollment> assignment,
DistanceConflict.Conflict c) |
void |
StudentSectioningModel.StudentSectioningModelContext.remove(Assignment<Request,Enrollment> assignment,
StudentQuality.Conflict c) |
void |
StudentSectioningModel.StudentSectioningModelContext.remove(Assignment<Request,Enrollment> assignment,
TimeOverlapsCounter.Conflict c) |
void |
StudentSectioningModel.requestWeightsChanged(Assignment<Request,Enrollment> assignment)
Recompute cached request weights
|
void |
StudentSectioningModel.StudentSectioningModelContext.requestWeightsChanged(Assignment<Request,Enrollment> assignment)
Recompute cached request weights
|
void |
StudentSectioningModel.restoreBest(Assignment<Request,Enrollment> assignment) |
void |
StudentSectioningModel.saveBest(Assignment<Request,Enrollment> assignment) |
String |
StudentSectioningModel.toString(Assignment<Request,Enrollment> assignment) |
void |
StudentSectioningModel.StudentSectioningModelContext.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called before an enrollment was unassigned from a request.
|
Constructor and Description |
---|
StudentSectioningLoader(StudentSectioningModel model,
Assignment<Request,Enrollment> assignment)
Constructor
|
StudentSectioningModelContext(Assignment<Request,Enrollment> assignment) |
StudentSectioningXMLLoader(StudentSectioningModel model,
Assignment<Request,Enrollment> assignment)
Constructor
|
Modifier and Type | Method and Description |
---|---|
void |
InevitableStudentConflicts.StudentCheck.backTrack(Assignment<Request,Enrollment> assignment,
int idx)
branch & bound search
|
boolean |
InevitableStudentConflicts.check(Assignment<Request,Enrollment> assignment)
Check model for inevitable student conflicts
|
void |
InevitableStudentConflicts.StudentCheck.check(Assignment<Request,Enrollment> assignment)
Execute branch & bound, return the best found schedule for the
selected student.
|
boolean |
OverlapCheck.check(Assignment<Request,Enrollment> a)
Check for overlapping sections that are attended by the same student
|
boolean |
SectionLimitCheck.check(Assignment<Request,Enrollment> assignment)
Check for sections that have more students enrolled than it is allowed,
i.e., the sum of requests weights is above the section limit
|
Modifier and Type | Field and Description |
---|---|
protected Assignment<Request,Enrollment> |
LinkedSections.CurrentAssignment.iAssignment |
Modifier and Type | Method and Description |
---|---|
static boolean |
StudentConflict.canAssign(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
True if the given enrollment can be assigned to the student.
|
void |
LinkedSections.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
LinkedSections.ConflictHandler conflicts)
Compute conflicting enrollments.
|
void |
CancelledSections.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
A given enrollment is conflicting, if there is a section that
is cancelled.
|
void |
ConfigLimit.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
A given enrollment is conflicting, if the config's enrollment
(computed by
ConfigLimit.getEnrollmentWeight(Assignment, Config, Request) )
exceeds the limit. |
void |
CourseLimit.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
A given enrollment is conflicting, if the course's enrollment
(computed by
CourseLimit.getEnrollmentWeight(Assignment, Course, Request) )
exceeds the limit. |
void |
DisabledSections.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
A given enrollment is conflicting, if there is a section that
is disabled and there is not a matching reservation that would allow for that.
|
void |
FixInitialAssignments.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
If there is a conflict that is MPP (method
Request.isMPP() returns true)
and equal to the initial assignment (returned by Variable.getInitialAssignment() ),
the given enrollment is put into the conflicts. |
void |
FixedAssignments.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
If there is a conflict that is fixed (method
CourseRequest.isFixed() returns true)
and equal to the initial assignment (returned by CourseRequest.getFixedValue() ),
the given enrollment is put into the conflicts. |
void |
HardDistanceConflicts.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
A given enrollment is conflicting, if there is a section that
is disabled and there is not a matching reservation that would allow for that.
|
void |
LinkedSections.LinkedSectionsConstraint.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment value,
Set<Enrollment> conflicts)
Compute conflicts using
LinkedSections.computeConflicts(Assignment, Enrollment, ConflictHandler) |
void |
RequiredReservation.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
A given enrollment is conflicting, if there is a reservation that
the student must use, but the given enrollment does not use it.
|
void |
RequiredRestrictions.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
A given enrollment is conflicting, if there is restriction that is not met.
|
void |
RequiredSections.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
A given enrollment is conflicting, if there is a section that
is cancelled.
|
void |
ReservationLimit.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
A given enrollment is conflicting, if the reservation's remaining available space
(computed by
Reservation.getReservedAvailableSpace(Assignment, Request) )
is below the requests weight Request.getWeight() . |
void |
SectionLimit.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
A given enrollment is conflicting, if there is a section which limit
(computed by
SectionLimit.getEnrollmentWeight(Assignment, Section, Request) )
exceeds the section limit. |
void |
StudentConflict.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
A given enrollment is conflicting when the student is enrolled into
another course / free time request that has an assignment that is
overlapping with one or more assignments of the given section.
|
void |
StudentNotAvailable.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<Enrollment> conflicts)
A given enrollment is conflicting, if the student is not available.
|
static double |
ConfigLimit.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Config config,
Request request)
Enrollment weight of a config if the given request is assigned.
|
static double |
CourseLimit.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Course course,
Request request)
Enrollment weight of a course if the given request is assigned.
|
static double |
SectionLimit.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Section section,
Request request)
Enrollment weight of a section if the given request is assigned.
|
static double |
ReservationLimit.getUnreservedSpace(Assignment<Request,Enrollment> assignment,
Config config,
Request request,
boolean hasReservation)
Remaining unreserved space in a config if the given request is assigned.
|
static double |
SectionLimit.getUnreservedSpace(Assignment<Request,Enrollment> assignment,
Section section,
Request request)
Remaining unreserved space in a section if the given request is assigned.
|
boolean |
CancelledSections.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
A given enrollment is conflicting, if there is a section that
is cancelled.
|
boolean |
ConfigLimit.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
A given enrollment is conflicting, if the config's enrollment (computed by
ConfigLimit.getEnrollmentWeight(Assignment, Config, Request) ) exceeds the
limit. |
boolean |
CourseLimit.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
A given enrollment is conflicting, if the course's enrollment (computed by
CourseLimit.getEnrollmentWeight(Assignment, Course, Request) ) exceeds the
limit. |
boolean |
DisabledSections.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
A given enrollment is conflicting, if there is a section that
is disabled and there is not a matching reservation that would allow for that.
|
boolean |
HardDistanceConflicts.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
A given enrollment is conflicting, if there is a section that
is disabled and there is not a matching reservation that would allow for that.
|
Enrollment |
LinkedSections.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Check for conflicts.
|
boolean |
LinkedSections.LinkedSectionsConstraint.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment value)
Check for conflict using
LinkedSections.inConflict(Assignment, Enrollment) |
boolean |
RequiredReservation.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
A given enrollment is conflicting, if there is a reservation that
the student must use, but the given enrollment does not use it.
|
boolean |
RequiredRestrictions.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
A given enrollment is conflicting, if there is restriction that is not met.
|
boolean |
RequiredSections.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
A given enrollment is conflicting, if there is a section that
is cancelled.
|
boolean |
ReservationLimit.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
A given enrollment is conflicting, if the config's enrollment (computed by
ConfigLimit.getEnrollmentWeight(Assignment, Config, Request) ) exceeds the
limit. |
boolean |
SectionLimit.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
A given enrollment is conflicting, if there is a section which
limit(computed by
SectionLimit.getEnrollmentWeight(Assignment, Section, Request) ) exceeds the
section limit. |
boolean |
StudentConflict.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
A given enrollment is conflicting when the student is enrolled into
another course / free time request that has an assignment that is
overlapping with one or more assignments of the given section.
|
boolean |
StudentNotAvailable.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
A given enrollment is conflicting, if the student is not available.
|
Constructor and Description |
---|
CurrentAssignment(Assignment<Request,Enrollment> assignment) |
Modifier and Type | Method and Description |
---|---|
void |
DistanceConflict.afterAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called after a value is assigned to a variable.
|
void |
DistanceConflict.DistanceConflictContext.afterAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called after a value is assigned to a variable.
|
void |
StudentQuality.afterAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value) |
void |
StudentQuality.StudentQualityContext.afterAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called after a value is assigned to a variable.
|
void |
TimeOverlapsCounter.afterAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called after a value is assigned to a variable.
|
void |
TimeOverlapsCounter.TimeOverlapsCounterContext.afterAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called after a value is assigned to a variable.
|
void |
DistanceConflict.afterUnassigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called after a value is unassigned from a variable.
|
void |
DistanceConflict.DistanceConflictContext.afterUnassigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called after a value is unassigned from a variable.
|
void |
StudentQuality.afterUnassigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value) |
void |
StudentQuality.StudentQualityContext.afterUnassigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called after a value is unassigned from a variable.
|
void |
TimeOverlapsCounter.afterUnassigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called after a value is unassigned from a variable.
|
void |
TimeOverlapsCounter.TimeOverlapsCounterContext.afterUnassigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called after a value is unassigned from a variable.
|
Set<DistanceConflict.Conflict> |
DistanceConflict.allConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
The set of all conflicts (
DistanceConflict.Conflict objects) of the given
enrollment and other enrollments that are assignmed to the same student. |
Set<StudentQuality.Conflict> |
StudentQuality.allConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
All conflicts of the any type for the enrollment (including conflicts with other enrollments of the student)
|
Set<TimeOverlapsCounter.Conflict> |
TimeOverlapsCounter.allConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
The set of all conflicts (
TimeOverlapsCounter.Conflict objects) of the given
enrollment and other enrollments that are assigned to the same student. |
Set<TimeOverlapsCounter.Conflict> |
TimeOverlapsCounter.TimeOverlapsCounterContext.allConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
The set of all conflicts (
TimeOverlapsCounter.Conflict objects) of the given
enrollment and other enrollments that are assigned to the same student. |
Set<StudentQuality.Conflict> |
StudentQuality.StudentQualityContext.allConflicts(StudentQuality.Type type,
Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
Set<StudentQuality.Conflict> |
StudentQuality.StudentQualityContext.allConflicts(StudentQuality.Type type,
Assignment<Request,Enrollment> assignment,
Student student) |
int |
StudentQuality.StudentQualityContext.allPenalty(StudentQuality.Type type,
Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
int |
StudentQuality.StudentQualityContext.allPenalty(StudentQuality.Type type,
Assignment<Request,Enrollment> assignment,
Student student) |
void |
DistanceConflict.DistanceConflictContext.assigned(Assignment<Request,Enrollment> assignment,
Enrollment value)
Called when a value is assigned to a variable.
|
void |
StudentQuality.StudentQualityContext.assigned(Assignment<Request,Enrollment> assignment,
Enrollment value) |
void |
TimeOverlapsCounter.TimeOverlapsCounterContext.assigned(Assignment<Request,Enrollment> assignment,
Enrollment value)
Called when a value is assigned to a variable.
|
void |
DistanceConflict.beforeAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called before a value is assigned to a variable.
|
void |
DistanceConflict.DistanceConflictContext.beforeAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called before a value is assigned to a variable.
|
void |
StudentQuality.beforeAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value) |
void |
StudentQuality.StudentQualityContext.beforeAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called before a value is assigned to a variable.
|
void |
TimeOverlapsCounter.beforeAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called before a value is assigned to a variable.
|
void |
TimeOverlapsCounter.TimeOverlapsCounterContext.beforeAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment value)
Called before a value is assigned to a variable.
|
void |
DistanceConflict.checkAllConflicts(Assignment<Request,Enrollment> assignment)
Checks the counter counting all conflicts
|
void |
DistanceConflict.DistanceConflictContext.checkAllConflicts(Assignment<Request,Enrollment> assignment)
Checks the counter counting all conflicts
|
void |
TimeOverlapsCounter.checkTotalNrConflicts(Assignment<Request,Enrollment> assignment) |
void |
TimeOverlapsCounter.TimeOverlapsCounterContext.checkTotalNrConflicts(Assignment<Request,Enrollment> assignment) |
void |
StudentQuality.checkTotalPenalty(Assignment<Request,Enrollment> assignment)
Re-check total penalization for the given assignment
|
void |
StudentQuality.checkTotalPenalty(StudentQuality.Type type,
Assignment<Request,Enrollment> assignment)
Re-check total penalization for the given assignment and conflict type
|
void |
StudentQuality.StudentQualityContext.checkTotalPenalty(StudentQuality.Type type,
Assignment<Request,Enrollment> assignment) |
Set<DistanceConflict.Conflict> |
DistanceConflict.computeAllConflicts(Assignment<Request,Enrollment> assignment)
Compute a set of all distance conflicts (
DistanceConflict.Conflict objects). |
Set<TimeOverlapsCounter.Conflict> |
TimeOverlapsCounter.TimeOverlapsCounterContext.computeAllConflicts(Assignment<Request,Enrollment> assignment)
Compute a set of all time overlapping conflicts (
TimeOverlapsCounter.Conflict objects). |
Set<StudentQuality.Conflict> |
StudentQuality.StudentQualityContext.computeAllConflicts(StudentQuality.Type type,
Assignment<Request,Enrollment> assignment) |
int |
DistanceConflict.countTotalNrConflicts(Assignment<Request,Enrollment> assignment)
Compute the actual number of all distance conflicts.
|
int |
TimeOverlapsCounter.TimeOverlapsCounterContext.countTotalNrConflicts(Assignment<Request,Enrollment> assignment)
Compute the actual number of all time overlapping conflicts.
|
int |
StudentQuality.StudentQualityContext.countTotalPenalty(StudentQuality.Type type,
Assignment<Request,Enrollment> assignment) |
DistanceConflict.DistanceConflictContext |
DistanceConflict.createAssignmentContext(Assignment<Request,Enrollment> assignment) |
StudentQuality.StudentQualityContext |
StudentQuality.createAssignmentContext(Assignment<Request,Enrollment> assignment) |
TimeOverlapsCounter.TimeOverlapsCounterContext |
TimeOverlapsCounter.createAssignmentContext(Assignment<Request,Enrollment> assignment) |
Set<DistanceConflict.Conflict> |
DistanceConflict.getAllConflicts(Assignment<Request,Enrollment> assignment)
Return a set of all distance conflicts (
DistanceConflict.Conflict objects). |
Set<TimeOverlapsCounter.Conflict> |
TimeOverlapsCounter.getAllConflicts(Assignment<Request,Enrollment> assignment)
Return a set of all time overlapping conflicts (
TimeOverlapsCounter.Conflict objects). |
Set<StudentQuality.Conflict> |
StudentQuality.getAllConflicts(StudentQuality.Type type,
Assignment<Request,Enrollment> assignment)
All conflicts of the given type for the given assignment
|
void |
StudentQuality.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info) |
void |
StudentQuality.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info,
Collection<Request> variables) |
int |
DistanceConflict.getTotalNrConflicts(Assignment<Request,Enrollment> assignment)
Actual number of all distance conflicts
|
int |
TimeOverlapsCounter.getTotalNrConflicts(Assignment<Request,Enrollment> assignment)
Actual number of all time overlapping conflicts
|
int |
DistanceConflict.getTotalNrShortConflicts(Assignment<Request,Enrollment> assignment)
Actual number of all distance conflicts of students that need short distances
|
int |
StudentQuality.getTotalPenalty(Assignment<Request,Enrollment> assignment,
StudentQuality.Type... types)
Total penalisation of given types
|
int |
StudentQuality.getTotalPenalty(StudentQuality.Type type,
Assignment<Request,Enrollment> assignment)
Total penalisation of given type
|
DistanceConflict.DistanceConflictContext |
DistanceConflict.inheritAssignmentContext(Assignment<Request,Enrollment> assignment,
DistanceConflict.DistanceConflictContext parentContext) |
StudentQuality.StudentQualityContext |
StudentQuality.inheritAssignmentContext(Assignment<Request,Enrollment> assignment,
StudentQuality.StudentQualityContext parentContext) |
TimeOverlapsCounter.TimeOverlapsCounterContext |
TimeOverlapsCounter.inheritAssignmentContext(Assignment<Request,Enrollment> assignment,
TimeOverlapsCounter.TimeOverlapsCounterContext parentContext) |
int |
DistanceConflict.DistanceConflictContext.nrAllConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Total sum of all conflict of the given enrollment and other enrollments
that are assigned to the same student.
|
int |
TimeOverlapsCounter.TimeOverlapsCounterContext.nrAllConflicts(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Total sum of all conflict of the given enrollment and other enrollments
that are assigned to the same student.
|
String |
StudentQuality.toString(Assignment<Request,Enrollment> assignment) |
void |
DistanceConflict.DistanceConflictContext.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment value)
Called when a value is unassigned from a variable.
|
void |
StudentQuality.StudentQualityContext.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment value)
Called when a value is unassigned from a variable.
|
void |
TimeOverlapsCounter.TimeOverlapsCounterContext.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment value)
Called when a value is unassigned from a variable.
|
Constructor and Description |
---|
DistanceConflictContext(Assignment<Request,Enrollment> assignment) |
StudentQualityContext(Assignment<Request,Enrollment> assignment) |
TimeOverlapsCounterContext(Assignment<Request,Enrollment> assignment) |
Modifier and Type | Method and Description |
---|---|
boolean |
RandomizedBacktrackNeighbourSelection.canUnassign(Enrollment enrollment,
Enrollment conflict,
Assignment<Request,Enrollment> assignment)
Check if the given conflicting enrollment can be unassigned
|
boolean |
AssignmentCheck.canUnassign(T value,
T conflict,
Assignment<V,T> assignment)
Check whether the given conflict can be unassigned
|
boolean |
EnrollmentSelection.isAllowed(Assignment<Request,Enrollment> assignment,
Enrollment value,
AssignmentCheck<Request,Enrollment> test)
true, if it is allowed to assign given value
|
boolean |
EnrollmentSelection.isAllowed(Assignment<Request,Enrollment> assignment,
Enrollment value,
Set<Enrollment> conflicts,
AssignmentCheck<Request,Enrollment> test)
true, if it is allowed to assign given value
|
void |
StudentSctNeighbourSelection.neighbourFailed(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
boolean |
StudentSctNeighbourSelection.neighbourSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
boolean |
StudentSctNeighbourSelection.valueSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable,
Enrollment value) |
boolean |
StudentSctNeighbourSelection.variableSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable) |
Modifier and Type | Field and Description |
---|---|
protected Assignment<Request,Enrollment> |
BranchBoundSelection.Selection.iCurrentAssignment
Current assignment
|
Modifier and Type | Method and Description |
---|---|
void |
BranchBoundSelection.BranchBoundNeighbour.assign(Assignment<Request,Enrollment> assignment,
long iteration)
Assign the schedule
|
void |
PriorityConstructionSelection.ConstructionNeighbour.assign(Assignment<Request,Enrollment> assignment,
long iteration)
Only assign given number of assignments (from the first priority down).
|
void |
RandomUnassignmentSelection.UnassignStudentNeighbour.assign(Assignment<Request,Enrollment> assignment,
long iteration)
All requests of the given student are unassigned
|
void |
SwapStudentSelection.SwapStudentNeighbour.assign(Assignment<Request,Enrollment> assignment,
long iteration)
Perform the move.
|
static Enrollment |
SwapStudentSelection.bestSwap(Assignment<Request,Enrollment> assignment,
Enrollment conflict,
Enrollment enrl,
Set<Student> problematicStudents)
Identify the best swap for the given student
|
boolean |
CriticalStandardSelection.canUnassign(Enrollment enrollment,
Enrollment conflict,
Assignment<Request,Enrollment> assignment) |
boolean |
StandardSelection.canUnassign(Enrollment enrollment,
Enrollment conflict,
Assignment<Request,Enrollment> assignment)
Check if the given conflicting enrollment can be unassigned
|
boolean |
SwapStudentSelection.Selection.canUnassign(Enrollment enrollment,
Enrollment conflict,
Assignment<Request,Enrollment> assignment)
Check if the given conflicting enrollment can be unassigned
|
void |
BacktrackSelection.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info) |
void |
BranchBoundSelection.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info) |
void |
StudentEnrollmentSwapSelection.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info) |
void |
SwapStudentSelection.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info) |
void |
BacktrackSelection.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info,
Collection<Request> variables) |
void |
BranchBoundSelection.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info,
Collection<Request> variables) |
void |
StudentEnrollmentSwapSelection.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info,
Collection<Request> variables) |
void |
SwapStudentSelection.getInfo(Assignment<Request,Enrollment> assignment,
Map<String,String> info,
Collection<Request> variables) |
BranchBoundSelection.Selection |
BranchBoundSelection.getSelection(Assignment<Request,Enrollment> assignment,
Student student)
Branch & bound selection for a student
|
BranchBoundSelection.Selection |
CriticalCoursesBranchAndBoundSelection.getSelection(Assignment<Request,Enrollment> assignment,
Student student) |
BranchBoundSelection.Selection |
MinCreditBranchAndBoundSelection.getSelection(Assignment<Request,Enrollment> assignment,
Student student) |
BranchBoundSelection.Selection |
OnlineSelection.getSelection(Assignment<Request,Enrollment> assignment,
Student student)
Branch & bound selection for a student
|
SwapStudentSelection.Selection |
SwapStudentSelection.getSelection(Assignment<Request,Enrollment> assignment,
Student student)
Selection subclass for a student
|
void |
BacktrackSelection.neighbourFailed(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
void |
BranchBoundSelection.neighbourFailed(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
void |
StudentEnrollmentSwapSelection.neighbourFailed(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
void |
SwapStudentSelection.neighbourFailed(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
boolean |
BacktrackSelection.neighbourSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
boolean |
BranchBoundSelection.neighbourSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
boolean |
StudentEnrollmentSwapSelection.neighbourSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
boolean |
SwapStudentSelection.neighbourSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Neighbour<Request,Enrollment> neighbour) |
void |
OnlineSelection.updateSpace(Assignment<Request,Enrollment> assignment,
Student student)
Update online sectioning info after the given student is sectioned
|
double |
BranchBoundSelection.BranchBoundNeighbour.value(Assignment<Request,Enrollment> assignment) |
double |
PriorityConstructionSelection.ConstructionNeighbour.value(Assignment<Request,Enrollment> assignment) |
double |
RandomUnassignmentSelection.UnassignStudentNeighbour.value(Assignment<Request,Enrollment> assignment) |
double |
SwapStudentSelection.SwapStudentNeighbour.value(Assignment<Request,Enrollment> assignment) |
boolean |
BacktrackSelection.valueSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable,
Enrollment value) |
boolean |
BranchBoundSelection.valueSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable,
Enrollment value) |
boolean |
StudentEnrollmentSwapSelection.valueSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable,
Enrollment value) |
boolean |
SwapStudentSelection.valueSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable,
Enrollment value) |
boolean |
BacktrackSelection.variableSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable) |
boolean |
BranchBoundSelection.variableSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable) |
boolean |
StudentEnrollmentSwapSelection.variableSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable) |
boolean |
SwapStudentSelection.variableSelected(Assignment<Request,Enrollment> assignment,
long iteration,
Request variable) |
Constructor and Description |
---|
CriticalCoursesSelection(Student student,
Assignment<Request,Enrollment> assignment) |
EpsilonSelection(Student student,
Assignment<Request,Enrollment> assignment,
BranchBoundSelection.Selection selection)
Constructor
|
InitialSelection(Student student,
Assignment<Request,Enrollment> assignment) |
MinCreditSelection(Student student,
Assignment<Request,Enrollment> assignment) |
Selection(Student student,
Assignment<Request,Enrollment> assignment)
Constructor
|
Selection(Student student,
Assignment<Request,Enrollment> assignment)
Constructor
|
UnassignStudentNeighbour(Student student,
Assignment<Request,Enrollment> assignment,
Request.RequestPriority priority)
Constructor
|
Modifier and Type | Method and Description |
---|---|
void |
Config.ConfigContext.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called when an enrollment with this config is assigned to a request
|
void |
Course.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called when an enrollment with this course is assigned to a request
|
void |
Course.CourseContext.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
void |
FreeTimeRequest.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Enrollment with this assignment was assigned to a
Request . |
void |
FreeTimeRequest.FreeTimeRequestContext.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Enrollment with this assignment was assigned to a
Request . |
void |
RequestGroup.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called when an enrollment is assigned to a request of this request group
|
void |
RequestGroup.RequestGroupContext.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called when an enrollment is assigned to a request of this request group
|
void |
SctAssignment.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Enrollment with this assignment was assigned to a
Request . |
void |
Section.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called when an enrollment with this section is assigned to a request
|
void |
Section.SectionContext.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called when an enrollment with this section is assigned to a request
|
void |
Unavailability.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
boolean |
Student.canAssign(Assignment<Request,Enrollment> assignment,
Request request)
True if the given request can be assigned to the student.
|
int |
Section.compareTo(Assignment<Request,Enrollment> assignment,
Section s)
Compare two sections, prefer sections with lower penalty and more open
space
|
List<Enrollment> |
CourseRequest.computeEnrollments(Assignment<Request,Enrollment> assignment)
Return all possible enrollments.
|
List<Enrollment> |
FreeTimeRequest.computeEnrollments(Assignment<Request,Enrollment> assignment)
Create all possible enrollments of this request -- there is only one
possible enrollment:
FreeTimeRequest.createEnrollment() |
abstract List<Enrollment> |
Request.computeEnrollments(Assignment<Request,Enrollment> assignment)
Compute available enrollments
|
List<Enrollment> |
CourseRequest.computeRandomEnrollments(Assignment<Request,Enrollment> assignment,
int limitEachConfig)
Return a subset of all enrollments -- randomly select only up to
limitEachConfig enrollments of each config.
|
Config.ConfigContext |
Config.createAssignmentContext(Assignment<Request,Enrollment> assignment) |
Course.CourseContext |
Course.createAssignmentContext(Assignment<Request,Enrollment> assignment) |
Request.RequestContext |
FreeTimeRequest.createAssignmentContext(Assignment<Request,Enrollment> assignment) |
Request.RequestContext |
Request.createAssignmentContext(Assignment<Request,Enrollment> assignment) |
RequestGroup.RequestGroupContext |
RequestGroup.createAssignmentContext(Assignment<Request,Enrollment> assignment) |
Section.SectionContext |
Section.createAssignmentContext(Assignment<Request,Enrollment> assignment) |
Enrollment |
CourseRequest.createEnrollment(Assignment<Request,Enrollment> assignment,
Set<? extends SctAssignment> sections)
Create enrollment for the given list of sections.
|
Set<DistanceConflict.Conflict> |
Enrollment.distanceConflicts(Assignment<Request,Enrollment> assignment)
Distance conflicts, in which this enrollment is involved.
|
float |
Student.getAssignedCredit(Assignment<Request,Enrollment> assignment)
Return the number of assigned credits of the student
|
List<Enrollment> |
CourseRequest.getAvaiableEnrollments(Assignment<Request,Enrollment> assignment)
Return all enrollments that are available
|
List<Enrollment> |
CourseRequest.getAvaiableEnrollmentsSkipSameTime(Assignment<Request,Enrollment> assignment)
Return all enrollments that are available, pick only the first section of
the sections with the same time (of each subpart,
Section
comparator is used) |
double |
RequestGroup.getAverageSpread(Assignment<Request,Enrollment> assignment)
Return average section spread of this group.
|
Set<Enrollment> |
Config.getEnrollments(Assignment<Request,Enrollment> assignment)
Set of assigned enrollments
|
Set<Enrollment> |
Course.getEnrollments(Assignment<Request,Enrollment> assignment)
Set of assigned enrollments
|
Set<Enrollment> |
FreeTimeRequest.getEnrollments(Assignment<Request,Enrollment> assignment)
Return the list of assigned enrollments that contains this assignment.
|
Set<Enrollment> |
SctAssignment.getEnrollments(Assignment<Request,Enrollment> assignment)
Return the list of assigned enrollments that contains this assignment.
|
Set<Enrollment> |
Section.getEnrollments(Assignment<Request,Enrollment> assignment)
Set of assigned enrollments
|
Set<Enrollment> |
Unavailability.getEnrollments(Assignment<Request,Enrollment> assignment)
Not used, always null
|
double |
RequestGroup.getEnrollmentSpread(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
double bestRatio,
double fillRatio)
Return how much is the given enrollment similar to other enrollments of this group.
|
double |
RequestGroup.RequestGroupContext.getEnrollmentSpread(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
double bestRatio,
double fillRatio)
Return how much is the given enrollment (which is not part of the request group) creating an issue for this request group
|
List<Enrollment> |
CourseRequest.getEnrollmentsSkipSameTime(Assignment<Request,Enrollment> assignment)
Return all possible enrollments, but pick only the first section of
the sections with the same time (of each subpart,
Section
comparator is used). |
double |
Config.getEnrollmentTotalWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight including over the limit enrollments.
|
double |
Config.ConfigContext.getEnrollmentTotalWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight including over the limit enrollments.
|
double |
Section.getEnrollmentTotalWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight including over the limit enrollments.
|
double |
Section.SectionContext.getEnrollmentTotalWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight including over the limit enrollments.
|
double |
Config.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight -- weight of all requests which have an enrollment that
contains this config, excluding the given one.
|
double |
Config.ConfigContext.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight -- weight of all requests which have an enrollment that
contains this config, excluding the given one.
|
double |
Course.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight -- weight of all requests that are enrolled into this course,
excluding the given one.
|
double |
Course.CourseContext.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight -- weight of all requests that are enrolled into this course,
excluding the given one.
|
double |
RequestGroup.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight -- weight of all requests which have an enrollment that
is of this request group, excluding the given one.
|
double |
RequestGroup.RequestGroupContext.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight -- weight of all requests which have an enrollment that
is of this request group, excluding the given one.
|
double |
Section.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight -- weight of all requests which have an enrollment that
contains this section, excluding the given one.
|
double |
Section.SectionContext.getEnrollmentWeight(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Enrollment weight -- weight of all requests which have an enrollment that
contains this section, excluding the given one.
|
double |
Config.getMaxEnrollmentWeight(Assignment<Request,Enrollment> assignment)
Maximal weight of a single enrollment in the config
|
double |
Course.getMaxEnrollmentWeight(Assignment<Request,Enrollment> assignment)
Maximal weight of a single enrollment in the course
|
double |
Section.getMaxEnrollmentWeight(Assignment<Request,Enrollment> assignment)
Maximal weight of a single enrollment in the section
|
double |
Config.getMinEnrollmentWeight(Assignment<Request,Enrollment> assignment)
Minimal weight of a single enrollment in the config
|
double |
Course.getMinEnrollmentWeight(Assignment<Request,Enrollment> assignment)
Minimal weight of a single enrollment in the course
|
double |
Section.getMinEnrollmentWeight(Assignment<Request,Enrollment> assignment)
Minimal weight of a single enrollment in the section
|
double |
Section.getOnlineSectioningPenalty(Assignment<Request,Enrollment> assignment)
Online sectioning penalty.
|
double |
RequestGroup.getSectionSpread(Assignment<Request,Enrollment> assignment,
Section section)
Return section spread of this group.
|
double |
RequestGroup.getSectionWeight(Assignment<Request,Enrollment> assignment,
Section section,
Request excludeRequest)
Section weight -- weight of all requests which have an enrollment that
is of this request group and that includes the given section, excluding the given one.
|
double |
RequestGroup.RequestGroupContext.getSectionWeight(Assignment<Request,Enrollment> assignment,
Section section,
Request excludeRequest)
Section weight -- weight of all requests which have an enrollment that
is of this request group and that includes the given section, excluding the given one.
|
List<Enrollment> |
CourseRequest.getSelectedEnrollments(Assignment<Request,Enrollment> assignment,
boolean availableOnly)
Return all enrollments of the first course that are selected (
CourseRequest.isSelected(Section) is true) |
TreeSet<Reservation> |
CourseRequest.getSortedReservations(Assignment<Request,Enrollment> assignment,
Course course)
Get reservations for this course requests ordered using
Reservation.compareTo(Assignment, Reservation) |
double |
Config.getUnreservedSpace(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Available space in the configuration that is not reserved by any config reservation
|
double |
Offering.getUnreservedSpace(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Available space in the offering that is not reserved by any reservation
|
double |
Section.getUnreservedSpace(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Available space in the section that is not reserved by any section reservation
|
void |
Enrollment.guessReservation(Assignment<Request,Enrollment> assignment,
boolean onlyAvailable)
Guess the reservation based on the enrollment
|
boolean |
Student.hasUnassignedCritical(Assignment<Request,Enrollment> assignment)
Deprecated.
|
boolean |
Student.hasUnassignedCritical(Assignment<Request,Enrollment> assignment,
Request.RequestPriority rp)
Has student any unassigned critical course requests?
|
Config.ConfigContext |
Config.inheritAssignmentContext(Assignment<Request,Enrollment> assignment,
Config.ConfigContext parentContext) |
Course.CourseContext |
Course.inheritAssignmentContext(Assignment<Request,Enrollment> assignment,
Course.CourseContext parentContext) |
RequestGroup.RequestGroupContext |
RequestGroup.inheritAssignmentContext(Assignment<Request,Enrollment> assignment,
RequestGroup.RequestGroupContext parentContext) |
Section.SectionContext |
Section.inheritAssignmentContext(Assignment<Request,Enrollment> assignment,
Section.SectionContext parentContext) |
boolean |
CourseRequest.isAssigned(Assignment<Request,Enrollment> assignment)
Return true if request is assigned.
|
boolean |
Request.isAssigned(Assignment<Request,Enrollment> assignment)
Return true if request is assigned.
|
boolean |
Student.isComplete(Assignment<Request,Enrollment> assignment)
True if the student has assigned the desired number of requests (i.e.,
number of non-alternative course requests).
|
int |
Student.nrAssignedRequests(Assignment<Request,Enrollment> assignment)
Number of assigned COURSE requests
|
Set<StudentQuality.Conflict> |
Enrollment.studentQualityConflicts(Assignment<Request,Enrollment> assignment) |
Set<TimeOverlapsCounter.Conflict> |
Enrollment.timeOverlappingConflicts(Assignment<Request,Enrollment> assignment)
Time overlapping conflicts, in which this enrollment is involved.
|
double |
Enrollment.toDouble(Assignment<Request,Enrollment> assignment)
Enrollment value
|
double |
Enrollment.toDouble(Assignment<Request,Enrollment> assignment,
boolean precise)
Enrollment value
|
String |
Enrollment.toString(Assignment<Request,Enrollment> a) |
void |
Config.ConfigContext.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called when an enrollment with this config is unassigned from a request
|
void |
Course.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called when an enrollment with this course is unassigned from a request
|
void |
Course.CourseContext.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
void |
FreeTimeRequest.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Enrollment with this assignment was unassigned from a
Request . |
void |
FreeTimeRequest.FreeTimeRequestContext.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Enrollment with this assignment was unassigned from a
Request . |
void |
RequestGroup.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called when an enrollment is unassigned from a request of this request group
|
void |
RequestGroup.RequestGroupContext.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called when an enrollment is unassigned from a request of this request group
|
void |
SctAssignment.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Enrollment with this assignment was unassigned from a
Request . |
void |
Section.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called when an enrollment with this section is unassigned from a request
|
void |
Section.SectionContext.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Called when an enrollment with this section is unassigned from a request
|
void |
Unavailability.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
List<Enrollment> |
Request.values(Assignment<Request,Enrollment> assignment)
Domain of this variable -- list of available enrollments.
|
void |
CourseRequest.variableAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment enrollment) |
void |
Request.variableAssigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment enrollment)
Assign given enrollment to this request.
|
void |
CourseRequest.variableUnassigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment enrollment) |
void |
Request.variableUnassigned(Assignment<Request,Enrollment> assignment,
long iteration,
Enrollment enrollment)
Unassign currently assigned enrollment from this request.
|
Constructor and Description |
---|
ConfigContext(Assignment<Request,Enrollment> assignment) |
CourseContext(Assignment<Request,Enrollment> assignment) |
Enrollment(Request request,
int priority,
Config config,
Set<? extends SctAssignment> assignments,
Assignment<Request,Enrollment> assignment)
Constructor
|
FreeTimeRequestContext(Assignment<Request,Enrollment> assignment) |
RequestContext(Assignment<Request,Enrollment> assignment) |
RequestGroupContext(Assignment<Request,Enrollment> assignment) |
SectionContext(Assignment<Request,Enrollment> assignment) |
Modifier and Type | Method and Description |
---|---|
Assignment<Request,Enrollment> |
Test.assignment() |
Modifier and Type | Method and Description |
---|---|
void |
MaxOverExpectedConstraint.computeConflicts(Assignment<Request,Enrollment> assignment,
Enrollment value,
Set<Enrollment> conflicts) |
Map<String,String> |
Test.TestModel.getExtendedInfo(Assignment<Request,Enrollment> assignment) |
double |
OnlineSectioningModel.getOverExpected(Assignment<Request,Enrollment> assignment,
Enrollment[] enrollment,
int index,
Section section,
Request request)
Expectation penalty, to be minimized
|
double |
OnlineSectioningModel.getOverExpected(Assignment<Request,Enrollment> assignment,
Enrollment selection,
Enrollment value,
Set<Enrollment> conflicts)
Expectation penalty, to be minimized.
|
double |
OnlineSectioningModel.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request)
Expectation penalty, to be minimized (computed using
OverExpectedCriterion.getOverExpected(Assignment, Section, Request) ) |
double |
Test.getPercDisbalancedSections(Assignment<Request,Enrollment> assignment,
double perc) |
boolean |
MaxOverExpectedConstraint.inConflict(Assignment<Request,Enrollment> assignment,
Enrollment value) |
static void |
Test.updateSpace(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
boolean increment) |
Modifier and Type | Method and Description |
---|---|
protected double |
PercentageOverExpected.getEnrollment(Assignment<Request,Enrollment> assignment,
Config config,
Request request)
Config enrollment (using
OnlineConfig.getEnrollment() if applicable}, Config.getEnrollmentWeight(Assignment, Request) otherwise) |
protected double |
PercentageOverExpected.getEnrollment(Assignment<Request,Enrollment> assignment,
Section section,
Request request)
Section enrollment (using
OnlineSection.getEnrollment() if applicable}, Section.getEnrollmentWeight(Assignment, Request) otherwise) |
double |
MinimizeConflicts.getOverExpected(Assignment<Request,Enrollment> assignment,
Enrollment[] enrollment,
int index,
Section section,
Request request) |
double |
OverExpectedCriterion.HasContext.getOverExpected(Assignment<Request,Enrollment> assignment,
Enrollment[] enrollment,
int index,
Section section,
Request request)
Expectation penalty, to be minimized
|
double |
MinimizeConflicts.getOverExpected(Assignment<Request,Enrollment> assignment,
Enrollment selection,
Enrollment value,
Set<Enrollment> conflicts) |
double |
OverExpectedCriterion.HasContext.getOverExpected(Assignment<Request,Enrollment> assignment,
Enrollment selection,
Enrollment value,
Set<Enrollment> conflicts)
Expectation penalty, to be minimized.
|
double |
AvoidUnbalancedWhenNoExpectations.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request) |
double |
FractionallyOverExpected.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request) |
double |
FractionallyUnbalancedWhenNoExpectations.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request) |
double |
MinimizeConflicts.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request) |
double |
NeverOverExpected.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request) |
double |
OverExpectedCriterion.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request)
Expectation penalty, to be minimized
|
double |
PenaltyNotNegative.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request) |
double |
PercentageOverExpected.getOverExpected(Assignment<Request,Enrollment> assignment,
Section section,
Request request) |
Modifier and Type | Field and Description |
---|---|
protected Assignment<Request,Enrollment> |
MultiCriteriaBranchAndBoundSelection.iAssignment |
Modifier and Type | Method and Description |
---|---|
boolean |
BestPenaltyCriterion.canImprove(Assignment<Request,Enrollment> assignment,
int maxIdx,
Enrollment[] current,
Enrollment[] best) |
boolean |
EqualWeightCriterion.canImprove(Assignment<Request,Enrollment> assignment,
int maxIdx,
Enrollment[] current,
Enrollment[] best) |
boolean |
MultiCriteriaBranchAndBoundSelection.SelectionCriterion.canImprove(Assignment<Request,Enrollment> assignment,
int idx,
Enrollment[] current,
Enrollment[] best)
Bound
|
boolean |
OnlineSectioningCriterion.canImprove(Assignment<Request,Enrollment> assignment,
int maxIdx,
Enrollment[] current,
Enrollment[] best) |
int |
BestPenaltyCriterion.compare(Assignment<Request,Enrollment> assignment,
Enrollment[] current,
Enrollment[] best) |
int |
EqualWeightCriterion.compare(Assignment<Request,Enrollment> assignment,
Enrollment[] current,
Enrollment[] best) |
int |
MultiCriteriaBranchAndBoundSelection.SelectionCriterion.compare(Assignment<Request,Enrollment> assignment,
Enrollment[] current,
Enrollment[] best)
Compare two solutions
|
int |
OnlineSectioningCriterion.compare(Assignment<Request,Enrollment> assignment,
Enrollment[] current,
Enrollment[] best) |
int |
BestPenaltyCriterion.compare(Assignment<Request,Enrollment> assignment,
Enrollment e1,
Enrollment e2) |
int |
MultiCriteriaBranchAndBoundSelection.SelectionComparator.compare(Assignment<Request,Enrollment> assignment,
Enrollment e1,
Enrollment e2)
Compare two enrollments
|
int |
OnlineSectioningCriterion.compare(Assignment<Request,Enrollment> assignment,
Enrollment e1,
Enrollment e2) |
protected int |
MultiCriteriaBranchAndBoundSuggestions.compare(Assignment<Request,Enrollment> assignment,
SuggestionsBranchAndBound.Suggestion s1,
SuggestionsBranchAndBound.Suggestion s2) |
protected int |
SuggestionsBranchAndBound.compare(Assignment<Request,Enrollment> assignment,
SuggestionsBranchAndBound.Suggestion s1,
SuggestionsBranchAndBound.Suggestion s2)
Compare two suggestions
|
double |
StudentSchedulingAssistantWeights.getBaseWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
double |
StudentSchedulingAssistantWeights.getDistanceConflictWeight(Assignment<Request,Enrollment> assignment,
DistanceConflict.Conflict distanceConflict)
Deprecated.
|
double |
StudentSchedulingAssistantWeights.getStudentQualityConflictWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
StudentQuality.Conflict conflict) |
double |
StudentSchedulingAssistantWeights.getTimeOverlapConflictWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
TimeOverlapsCounter.Conflict timeOverlap)
Deprecated.
|
double |
BestPenaltyCriterion.getTotalWeight(Assignment<Request,Enrollment> assignment,
Enrollment[] enrollments) |
double |
MultiCriteriaBranchAndBoundSelection.SelectionCriterion.getTotalWeight(Assignment<Request,Enrollment> assignment,
Enrollment[] enrollments)
For backward compatibility, return a weighted sum
|
double |
OnlineSectioningCriterion.getTotalWeight(Assignment<Request,Enrollment> assignment,
Enrollment[] enrollemnts) |
double |
ResectioningWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
double |
StudentSchedulingAssistantWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
protected double |
OnlineSectioningCriterion.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<DistanceConflict.Conflict> distanceConflicts,
Set<TimeOverlapsCounter.Conflict> timeOverlappingConflicts)
Deprecated.
|
double |
StudentSchedulingAssistantWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<DistanceConflict.Conflict> distanceConflicts,
Set<TimeOverlapsCounter.Conflict> timeOverlappingConflicts) |
protected double |
OnlineSectioningCriterion.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<StudentQuality.Conflict> conflicts) |
double |
StudentSchedulingAssistantWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<StudentQuality.Conflict> qualityConflicts) |
BranchBoundSelection.BranchBoundNeighbour |
MultiCriteriaBranchAndBoundSelection.select(Assignment<Request,Enrollment> assignment,
Student student) |
BranchBoundSelection.BranchBoundNeighbour |
OnlineSectioningSelection.select(Assignment<Request,Enrollment> assignment,
Student student)
Compute student schedule
|
BranchBoundSelection.BranchBoundNeighbour |
SuggestionSelection.select(Assignment<Request,Enrollment> assignment,
Student student) |
BranchBoundSelection.BranchBoundNeighbour |
MultiCriteriaBranchAndBoundSelection.select(Assignment<Request,Enrollment> assignment,
Student student,
MultiCriteriaBranchAndBoundSelection.SelectionCriterion comparator) |
Constructor and Description |
---|
RequestMatcher(Request request,
Enrollment enrollment,
Assignment<Request,Enrollment> assignment,
String user) |
Modifier and Type | Method and Description |
---|---|
void |
Reservation.ReservationContext.assigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Notify reservation about an unassignment
|
boolean |
Reservation.canEnroll(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
True if the enrollment can be done using this reservation
|
int |
Reservation.compareTo(Assignment<Request,Enrollment> assignment,
Reservation r)
Priority first, than restrictivity (more restrictive first), than availability (more available first), than id
|
Reservation.ReservationContext |
Reservation.createAssignmentContext(Assignment<Request,Enrollment> assignment) |
Set<Enrollment> |
Reservation.getEnrollments(Assignment<Request,Enrollment> assignment)
Enrollments assigned using this reservation
|
double |
Reservation.getReservedAvailableSpace(Assignment<Request,Enrollment> assignment,
Config config,
Request excludeRequest)
Available reserved space for a particular config
|
double |
Reservation.ReservationContext.getReservedAvailableSpace(Assignment<Request,Enrollment> assignment,
Config config,
Request excludeRequest)
Available reserved space for a particular config
|
double |
Reservation.getReservedAvailableSpace(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Available reserved space
|
double |
Reservation.ReservationContext.getReservedAvailableSpace(Assignment<Request,Enrollment> assignment,
Request excludeRequest)
Available reserved space
|
Reservation.ReservationContext |
Reservation.inheritAssignmentContext(Assignment<Request,Enrollment> assignment,
Reservation.ReservationContext parentContext) |
void |
Reservation.ReservationContext.unassigned(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Notify reservation about an assignment
|
Constructor and Description |
---|
ReservationContext(Assignment<Request,Enrollment> assignment) |
Modifier and Type | Method and Description |
---|---|
protected double |
PriorityStudentWeights.getBaseWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
double |
OriginalStudentWeights.getDistanceConflictWeight(Assignment<Request,Enrollment> assignment,
DistanceConflict.Conflict c) |
double |
PriorityStudentWeights.getDistanceConflictWeight(Assignment<Request,Enrollment> assignment,
DistanceConflict.Conflict c) |
double |
StudentWeights.getDistanceConflictWeight(Assignment<Request,Enrollment> assignment,
DistanceConflict.Conflict distanceConflict)
Return weight of a distance conflict
|
double |
OriginalStudentWeights.getStudentQualityConflictWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
StudentQuality.Conflict conflict) |
double |
PriorityStudentWeights.getStudentQualityConflictWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
StudentQuality.Conflict conflict) |
double |
StudentWeights.getStudentQualityConflictWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
StudentQuality.Conflict conflict)
Return weight of a student quality conflict
|
double |
OriginalStudentWeights.getTimeOverlapConflictWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
TimeOverlapsCounter.Conflict timeOverlap) |
double |
PriorityStudentWeights.getTimeOverlapConflictWeight(Assignment<Request,Enrollment> assignment,
Enrollment e,
TimeOverlapsCounter.Conflict c) |
double |
StudentWeights.getTimeOverlapConflictWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
TimeOverlapsCounter.Conflict timeOverlap)
Return weight of a time overlapping conflict
|
double |
OriginalStudentWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
double |
PriorityStudentWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
double |
StudentWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment)
Return base weight of the given enrollment
|
double |
OriginalStudentWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<DistanceConflict.Conflict> distanceConflicts,
Set<TimeOverlapsCounter.Conflict> timeOverlappingConflicts) |
double |
PriorityStudentWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<DistanceConflict.Conflict> distanceConflicts,
Set<TimeOverlapsCounter.Conflict> timeOverlappingConflicts) |
double |
StudentWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<DistanceConflict.Conflict> distanceConflicts,
Set<TimeOverlapsCounter.Conflict> timeOverlappingConflicts)
Return weight of the given enrollment
|
double |
OriginalStudentWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<StudentQuality.Conflict> qualityConflicts) |
double |
PriorityStudentWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<StudentQuality.Conflict> qualityConflicts) |
double |
StudentWeights.getWeight(Assignment<Request,Enrollment> assignment,
Enrollment enrollment,
Set<StudentQuality.Conflict> qualityConflicts)
Return weight of the given enrollment
|
double |
PriorityStudentWeights.getWeightAdditive(Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |
double |
PriorityStudentWeights.getWeightMultiplicative(Assignment<Request,Enrollment> assignment,
Enrollment enrollment) |