|
||||||||||
PREV NEXT | FRAMES NO FRAMES |
Criterion.getValue(Value, Set)
).Reservation.getOffering()
) to this reservation
LinkedSections
LinkedSections
Reservation.getOffering()
) to this reservation.
FinalSectioning.resection(Lecture, boolean, boolean)
is called
when given iteration number is greater than zero.
Value.variable()
).
Value.conflicts()
), propagation undo
over the unassigned variable takes place.
Value.conflicts()
), propagation undo
over the unassigned variable takes place.
Value.variable()
).
DistanceConflict.Conflict
objects) of the given
enrollment and other enrollments that are assignmed to the same student.
TimeOverlapsCounter.Conflict
objects) of the given
enrollment and other enrollments that are assigned to the same student.
ExamStudent.canConflict(Exam, Exam)
).
Request
.
Request
.
Value.toDouble()
.Student.getRequests()
)
Request.getPriority()
)
Value.variable()
).
Value.variable()
).
Solution.clearBest()
is
called.
Solution.restoreBest()
is
called.
Solution.saveBest()
is called.
BranchBoundSelection
.
ExamPlacement.getTimeCost()
and for which there is a set of
available rooms Exam.findBestAvailableRooms(ExamPeriodPlacement)
.
Section.getSpaceExpected()
and Section.getSpaceHeld()
).
Request.getId()
Request.getId()
Exam.nrStudentCorrelatedExams()
).
DistanceConflict.Conflict
objects).
TimeOverlapsCounter.Conflict
objects).
ExamDistributionConstraint.check(ExamPlacement, ExamPlacement)
is
false
ConfigLimit.getEnrollmentWeight(Config, Request)
)
exceeds the limit.
CourseLimit.getEnrollmentWeight(Course, Request)
)
exceeds the limit.
LinkedSections.computeConflicts(Enrollment, ConflictHandler)
Reservation.getReservedAvailableSpace(Request)
)
is below the requests weight Request.getWeight()
.
SectionLimit.getEnrollmentWeight(Section, Request)
)
exceeds the section limit.
FreeTimeRequest.createEnrollment()
Section.getSpaceExpected()
and Section.getSpaceHeld()
).
DistanceConflict.Conflict
objects) of a
(course) enrollment.
DistanceConflict.Conflict
objects) between
given (course) enrollments.
TimeOverlapsCounter.Conflict
objects) between
given (course) enrollments.
ExamPlacement.getRoomPlacements()
ExamStudent.canConflict(Exam, Exam)
) that attend
some other exam in the given period.
CSVFile
comma separated
text file.StudentPreferencePenalties.sStudentRequestDistribution
for the
given slot.
InitialSectioning
and FinalSectioning
.StudentDirectConflicts
,
StudentMoreThan2ADayConflicts
, and StudentBackToBackConflicts
) if a student
is moved from an exam with one placement into an exam with another placement.
CSVFile
comma
separated text file.Constraint.getId()
is used)
Choice.getId()
SimpleNeighbour
.Value.toDouble()
)
Value.ConflictWeight ... weight of a conflicting value (see
Model.conflictValues(Value)
), it is also weighted by the past
occurrences when conflict-based statistics is used
AcademicAreaCode
)
for the given student
DistanceConflict.Conflict
objects).
TimeOverlapsCounter.Conflict
objects).
Exam.hasAltSeating()
is true)
Section
comparator is used)
PerturbationsCounter
)
Value.toDouble()
).
Student.isComplete()
)
DistanceMetric.getDistanceInMeters(Long, Double, Double, Long, Double, Double)
instead (to include travel time matrix when available).
DistanceMetric.getDistanceInMinutes(Long, Double, Double, Long, Double, Double)
instead (to include travel time matrix when available).
Variable.getAssignment()
Extension
).
Extension
).
Solution.getInfo()
.
Solution.getInfo()
.
InfoProvider
)
StudentSctBBTest.Message.sMsgLevelInfo
,
StudentSctBBTest.Message.sMsgLevelWarn
, and
StudentSctBBTest.Message.sMsgLevelError
)
Reservation.getLimitCap()
)
AcademicAreaCode
) for the given student
ExamRoom.getPenalty(ExamPeriod)
, i.e.,
a placement with greater penalty is not allowed to be made
Subpart.getMaxPenalty()
Offering.getMaxPenalty()
among
requested courses)
Config.getMaxPenalty()
Section.getPenalty()
StudentSctBBTest.Message
objects) from the sectioning
of the given student
Enrollment.getPenalty()
of all available enrollments
Enrollment.getPenalty()
of all enrollments
AcademicAreaCode
) for the given student
Subpart.getMinPenalty()
Offering.getMinPenalty()
among
requested courses)
Config.getMinPenalty()
Section.getPenalty()
Exam.getSize()
Student.isDummy()
equals true)
students that are assigned.
Student.isDummy()
equals false)
students that are assigned.
Student.isDummy()
equals true) students with
a complete schedule (Student.isComplete()
equals true).
Student.isDummy()
equals false) students with a
complete schedule (Student.isComplete()
equals true).
Student.isDummy()
equals true)
students.
Student.isDummy()
equals true) students.
Student.isDummy()
equals false)
students.
Student.isDummy()
equals false) students.
Exam.getPeriodPlacements()
)
Exam.getRoomPlacements()
Exam.getRoomPlacements()
and the given examination period
Section.getPenalty()
)
ViolatedInitials
)
ExamPeriodPlacement
for the given period, if
it is available for this exam, null otherwise.
ExamPeriodPlacement
for the given period, if
it is available for this exam, null otherwise.
ExamModel.addPeriod(Long, String, String, int, int)
to add a
period
Variable.getInitialAssignment()
).
Variable.getInitialAssignment()
).
ExamRoom.getPlacements(ExamPeriod)
instead.
Student
objects).
Reservation.canAssignOverLimit()
can assign enrollments over the limit
ExamRoomPlacement
for the given room, if it
is available for this exam, null otherwise.
ExamRoomPlacement
for the given room, if it
is available for this exam, null otherwise.
Exam.getMaxRooms()
is zero)
RoomLocation
CourseRequest.isSelected(Section)
is true)
Exam.getMinSize()
and the number of
students enrolled into the exam Exam.getStudents()
.
Exam.hasAltSeating()
is
false)
ExamStudent.canConflict(Exam, Exam)
).
Request.getWeight()
).
GroupConstraint.ConstraintType.SAME_TIME
)
Request.getWeight()
).
AbstractCriterion.getWeightName()
parameter is not present in the criterion).
GroupConstraint.PairCheck
)ExamRoom.getAltSize()
is
to be used), false if normal seating is required (
ExamRoom.getSize()
is to be used).
Choice.getId()
ExamStudent.canConflict(Exam, Exam)
) that
attends some other exam in the given period.
IdConvertor.getInstance()
to get an instance of
this class.
ExamDistributionConstraint.check(ExamPlacement, ExamPlacement)
is
false
ConfigLimit.getEnrollmentWeight(Config, Request)
) exceeds the
limit.
CourseLimit.getEnrollmentWeight(Course, Request)
) exceeds the
limit.
LinkedSections.inConflict(Enrollment)
ConfigLimit.getEnrollmentWeight(Config, Request)
) exceeds the
limit.
SectionLimit.getEnrollmentWeight(Section, Request)
) exceeds the
section limit.
VariableSelection.init(Solver)
and
ValueSelection.init(Solver)
are
called.
ProblemStudentsProvider.getProblemStudents()
is
called
InitialSectioning
.
InitialSectioning
.
ExamStudent.canConflict(Exam, Exam)
ExamDistributionConstraint.check(ExamPlacement, ExamPlacement)
is
called
ExamInstructor.isAllowDirectConflicts()
), or if they are placed
at different periods.
ExamStudent.canConflict(Exam, Exam)
), or if they are placed at
different periods.
LinkedSections.inConflict(Enrollment, Assignment)
ExamStudent.isAllowDirectConflicts()
is
false.
Solver.stopSolver()
was called
IgnoreStudentConflictsConstraint
between the two lectures.
IgnoreStudentConflictsConstraint
between the two lectures.
LazyNeighbour
.LinkedSections.computeConflicts(Enrollment, Assignment, ConflictHandler)
LinkedSections.computeConflicts(Enrollment, Assignment, ConflictHandler)
LinkedSections.computeConflicts(Enrollment, Assignment, ConflictHandler)
OnlineSectProof.StudentSequence.allow(int, int)
).
Enrollment.toDouble()
OnlineSectProof.StudentSequence.allow(int, int)
).
OnlineSectProof.Sequence
that represents an ordered
set of students as they are to be enrolled into a course (given set of
sections).Student.isDummy()
is true) students.
ExamPeriodPlacement.getPenalty()
multiplied by examination size
Exam.getSize()
.BranchBoundSelection
, but it works in cycles
(over all the students) assigning only the first N priority courses.BranchBoundSelection.BranchBoundNeighbour
but only assign the given
number of assignments, corresponding to the number of cycles.PrintStream
.Model.restoreBest()
)
Request
) selection using RouletteWheelSelection
.Model.saveBest()
)
Request.values()
will cache its results.
CSVFile
comma separated
text file.ExamSimulatedAnnealing.genMove(Solution)
until an acceptable
neighbour is found
ExamSimulatedAnnealing.accept(Solution, Neighbour)
, keep
increasing iteration ExamSimulatedAnnealing.incIter(Solution)
.
Exam.findBestAvailableRooms(ExamPeriodPlacement)
if not (exam is unassigned, a room is not available or used).
Exam.getPeriodPlacements()
), select rooms using
Exam.findBestAvailableRooms(ExamPeriodPlacement)
.
Exam.getPeriodPlacements()
), select rooms
using Exam.findRoomsRandom(ExamPeriodPlacement)
Exam.findBestAvailableRooms(ExamPeriodPlacement)
if not (exam is unassigned, a room is not available or used).
VariableSelection
and ValueSelection
and return the selected value as SimpleNeighbour
.
ExamStudent.canConflict(Exam, Exam)
Extension
).
Extension
).
ExamModel.addPeriod(Long, String, String, int, int)
)
ExamRoom.getPenalty(ExamPeriod)
, i.e.,
a placement with greater penalty is not allowed to be made
Exam.getSize()
ExamModel.addPeriod(Long, String, String, int, int)
)
Exam.getRoomPlacements()
ExamModel.addPeriod(Long, String, String, int, int)
)
ToolBox.getRandom()
and ToolBox.random()
methods.
Progress
)
Solution.update(double)
.
ConflictStatistics
, however, conflict with real students can
be weighted differently than with last-like students.BranchBoundSelection
selection).StudentPreferencePenalties.sStudentRequestDistribution
for the
given slot.
CSVFile
comma
separated text file.StudentPreferencePenalties.sStudentRequestDistribution
.
Request
.
Request
.
Value.setExtra(Object)
,
Value.getExtra()
are used by the extension
Variable.setExtra(Object)
,
Variable.getExtra()
are used by the extension
WeakeningConstraint.weaken(Value)
.
|
||||||||||
PREV NEXT | FRAMES NO FRAMES |