|
||||||||||
PREV NEXT | FRAMES NO FRAMES |
ExamDistributionConstraint
when satisfaction changes.
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.
ExamStudent.canConflict(Exam, Exam)
).
Request
.
Request
.
Student.getRequests()
)
Request.getPriority()
)
Value.variable()
).
Value.variable()
).
Solution.clearBest()
is called.
Solution.restoreBest()
is called.
Solution.saveBest()
is called.
ExamPlacement.getTimeCost()
and for which
there is a set of available rooms Exam.findBestAvailableRooms(ExamPeriodPlacement)
.
Section.getSpaceExpected()
and Section.getSpaceHeld()
).
Exam.nrStudentCorrelatedExams()
).
DistanceConflict.Conflict
objects).
ExamDistributionConstraint.check(ExamPlacement, ExamPlacement)
is false
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.
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.Collection
that support elements() method
and few others.HashSet
that implements EnumerableCollection
interface.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
HashSet.iterator()
)
AcademicAreaCode
) for the given student
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()
)
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)
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
)
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()
MultiVariable
for the given "normal" variable.
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.getDistance(ExamPlacement)
is
greater than ExamModel.getBackToBackDistance()
).
ExamPeriod.prev()
or following ExamPeriod.next()
period and the distance ExamPlacement.getDistance(ExamPlacement)
between these two exams is greater than ExamModel.getBackToBackDistance()
.
ExamPeriod.prev()
or following ExamPeriod.next()
period.
ExamPlacement.getDistance(ExamPlacement)
is
greater than ExamModel.getBackToBackDistance()
).
ExamPeriod.prev()
or following ExamPeriod.next()
period and the distance ExamPlacement.getDistance(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).
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.TYPE_SAME_TIME
Request.getWeight()
).
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
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.
ExamStudent.isAllowDirectConflicts()
is false.
OnlineSectProof.StudentSequence.allow(int, int)
).
MultiVariable
.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.
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 |