|
||||||||||
PREV NEXT | FRAMES NO FRAMES |
Criterion.getValue(Value, Set)
).Reservation.getOffering()
) to this reservation
ExamDistributionConstraint
when satisfaction
changes.
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.
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)
ExamPlacement.getNrDistanceBackToBackConflicts()
, can be set by
problem property Exams.BackToBackDistance, or in the input xml file,
property backToBackDistance)
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).
ExamDistributionConstraint.getWeight()
of all violated soft
distribution constraints.
ExamDistributionConstraint
, can be set by problem property
Exams.RoomDistributionWeight, or in the input xml file, property
roomDistributionWeight)
Variable.getAssignment()
ExamPlacement.getRotationPenalty()
of all assigned placements.
ExamPlacement.getRotationPenalty()
can be set by problem property
Exams.RotationWeight, or in the input xml file, property
examRotationWeight)
Extension
).
Extension
).
Solution.getInfo()
.
Solution.getInfo()
.
InfoProvider
)
ExamPlacement.getLargePenalty()
of all assigned placements.
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.
ExamPeriod.prev()
or following ExamPeriod.next()
period.
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).
ExamPlacement.getDistanceInMeters(ExamPlacement)
is greater than
ExamModel.getBackToBackDistance()
).
ExamPeriod.prev()
or following
ExamPeriod.next()
period and the distance
ExamPlacement.getDistanceInMeters(ExamPlacement)
between these two exams
is greater than ExamModel.getBackToBackDistance()
.
ExamPeriod.prev()
or following
ExamPeriod.next()
period.
ExamPlacement.getDistanceInMeters(ExamPlacement)
is greater than
ExamModel.getBackToBackDistance()
).
ExamPeriod.prev()
or following
ExamPeriod.next()
period and the distance
ExamPlacement.getDistanceInMeters(ExamPlacement)
between these two exams
is greater than ExamModel.getBackToBackDistance()
.
ExamPeriod.getDay()
is the same).
Student.isDummy()
equals true)
students.
Student.isDummy()
equals true) students.
ExamPeriod.getDay()
is the
same).
Student.isDummy()
equals false)
students.
Student.isDummy()
equals false) students.
Exam.getPeriodPlacements()
)
Exam.getRoomPlacements()
Exam.getRoomPlacements()
and the given examination period
Section.getPenalty()
)
ViolatedInitials
)
ExamPlacement.getPeriodPenalty()
of all assigned placements.
ExamPeriodPlacement.getPenalty()
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
ExamPlacement.getPeriodPenalty()
multiplied by
Exam.getSize()
of all assigned placements.
ExamPlacement.getPeriodPenalty()
multiplied by examination size
Exam.getSize()
, can be set by problem property
Exams.PeriodSizeWeight, or in the input xml file, property periodWeight)
ExamPlacement.getPeriodPenalty()
, can be set by problem property
Exams.PeriodWeight, or in the input xml file, property periodWeight)
ExamPlacement.getPerturbationPenalty()
of all assigned
placements.
Variable.getInitialAssignment()
).
Variable.getInitialAssignment()
).
ExamPlacement.getPerturbationPenalty()
), i.e., a penalty for an
assignment of an exam to a place different from the initial one.
Student
objects).
Reservation.canAssignOverLimit()
can assign enrollments over the limit
ExamPlacement.getRoomPenalty()
of all assigned placements.
ExamRoomPlacement.getPenalty(ExamPeriod)
of assigned rooms
ExamPlacement.getRoomPerturbationPenalty()
of all assigned
placements.
ExamPlacement.getRoomPerturbationPenalty()
), i.e., a penalty for
an assignment of an exam to a room different from the initial one.
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
ExamPlacement.getRoomSizePenalty()
of all assigned placements.
ExamPlacement.getRoomSizePenalty()
, can be set by problem
property Exams.RoomSizeWeight, or in the input xml file, property
roomSizeWeight)
ExamPlacement.getRoomSplitDistancePenalty()
of all assigned
placements.
ExamPlacement.getRoomSplitPenalty()
of all assigned placements.
ExamPlacement.getRoomSplitPenalty()
, can be set by problem
property Exams.RoomSplitWeight, or in the input xml file, property
roomSplitWeight)
ExamPlacement.getRoomPenalty()
, can be set by problem property
Exams.RoomPreferenceWeight, or in the input xml file, property
roomPreferenceWeight)
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
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
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.
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.
ExamSimulatedAnnealing.genMove(Solution)
until an acceptable
neighbour is found
ExamSimulatedAnnealing.accept(Solution, Neighbour)
, keep
increasing iteration ExamSimulatedAnnealing.incIter(Solution)
.
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)
ExamPlacement.getNrDistanceBackToBackConflicts()
, can be set by
problem property Exams.BackToBackDistance, or in the input xml file,
property backToBackDistance)
ExamDistributionConstraint
, can be set by problem property
Exams.RoomDistributionWeight, or in the input xml file, property
roomDistributionWeight)
ExamPlacement.getRotationPenalty()
, can be set by problem
property Exams.RotationWeight, or in the input xml file, property
examRotationWeight)
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()
ExamPlacement.getPeriodPenalty()
multiplied by examination size
Exam.getSize()
, can be set by problem property
Exams.PeriodSizeWeight, or in the input xml file, property periodWeight)
ExamPlacement.getPeriodPenalty()
, can be set by problem property
Exams.PeriodWeight, or in the input xml file, property periodWeight)
ExamPlacement.getPerturbationPenalty()
), i.e., a penalty for an
assignment of an exam to a place different from the initial one.
ExamModel.addPeriod(Long, String, String, int, int)
)
ExamPlacement.getRoomPerturbationPenalty()
), i.e., a penalty for
an assignment of an exam to a room different from the initial one.
ExamPlacement.getRoomSizePenalty()
, can be set by problem
property Exams.RoomSizeWeight, or in the input xml file, property
roomSizeWeight)
ExamPlacement.getRoomSplitPenalty()
, can be set by problem
property Exams.RoomSplitWeight, or in the input xml file, property
roomSplitWeight)
ExamPlacement.getRoomPenalty()
, can be set by problem property
Exams.RoomWeight, or in the input xml file, property roomWeight)
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.
StudentPreferencePenalties.sStudentRequestDistribution
.
Request
.
Request
.
Value.setExtra(Object)
,
Value.getExtra()
are used by the extension
Variable.setExtra(Object)
,
Variable.getExtra()
are used by the extension
|
||||||||||
PREV NEXT | FRAMES NO FRAMES |