|
||||||||||
PREV NEXT | FRAMES NO FRAMES |
Packages that use Exam | |
---|---|
net.sf.cpsolver.exam | Examination Timetabling Solver. |
net.sf.cpsolver.exam.criteria | Examination Timetabling: Criteria. |
net.sf.cpsolver.exam.criteria.additional | Examination Timetabling: Additional (Experimental) Criteria. |
net.sf.cpsolver.exam.heuristics | Examination Timetabling: Solution Heuristics. |
net.sf.cpsolver.exam.model | Examination Timetabling: Model. |
net.sf.cpsolver.exam.neighbours | Examination Timetabling: Various Neighbourhoods. |
net.sf.cpsolver.exam.reports | Examination Timetabling: Reports. |
net.sf.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. |
Uses of Exam in net.sf.cpsolver.exam |
---|
Constructor parameters in net.sf.cpsolver.exam with type arguments of type Exam | |
---|---|
Test.ShutdownHook(Solver<Exam,ExamPlacement> solver)
|
Uses of Exam in net.sf.cpsolver.exam.criteria |
---|
Method parameters in net.sf.cpsolver.exam.criteria with type arguments of type Exam | |
---|---|
double[] |
RoomPenalty.getBounds(Collection<Exam> variables)
|
double[] |
PeriodSizePenalty.getBounds(Collection<Exam> variables)
|
double[] |
PeriodPenalty.getBounds(Collection<Exam> variables)
|
double[] |
LargeExamsPenalty.getBounds(Collection<Exam> variables)
|
double[] |
ExamCriterion.getBounds(Collection<Exam> exams)
|
boolean |
StudentDistanceBackToBackConflicts.init(Solver<Exam,ExamPlacement> solver)
|
boolean |
StudentBackToBackConflicts.init(Solver<Exam,ExamPlacement> solver)
|
boolean |
RoomSizePenalty.init(Solver<Exam,ExamPlacement> solver)
|
boolean |
RoomPenalty.init(Solver<Exam,ExamPlacement> solver)
|
boolean |
PerturbationPenalty.init(Solver<Exam,ExamPlacement> solver)
|
boolean |
PeriodPenalty.init(Solver<Exam,ExamPlacement> solver)
|
boolean |
LargeExamsPenalty.init(Solver<Exam,ExamPlacement> solver)
|
boolean |
DistributionPenalty.init(Solver<Exam,ExamPlacement> solver)
|
Uses of Exam in net.sf.cpsolver.exam.criteria.additional |
---|
Method parameters in net.sf.cpsolver.exam.criteria.additional with type arguments of type Exam | |
---|---|
double[] |
RoomViolation.getBounds(Collection<Exam> variables)
|
double[] |
PeriodViolation.getBounds(Collection<Exam> variables)
|
Uses of Exam in net.sf.cpsolver.exam.heuristics |
---|
Methods in net.sf.cpsolver.exam.heuristics that return Exam | |
---|---|
Exam |
ExamUnassignedVariableSelection.selectVariable(Solution<Exam,ExamPlacement> solution)
Variable selection |
Methods in net.sf.cpsolver.exam.heuristics that return types with arguments of type Exam | |
---|---|
Neighbour<Exam,ExamPlacement> |
ExamConstruction.checkLocalOptimality(ExamModel model)
Find a new assignment of one of the assigned exams that improves the time cost ExamPlacement.getTimeCost() and for which there is a set of
available rooms findBestAvailableRooms(ExamPeriodPlacement) . |
Neighbour<Exam,ExamPlacement> |
ExamSimulatedAnnealing.genMove(Solution<Exam,ExamPlacement> solution)
Generate neighbour -- select neighbourhood randomly, select neighbour |
Neighbour<Exam,ExamPlacement> |
ExamGreatDeluge.genMove(Solution<Exam,ExamPlacement> solution)
Generate neighbour -- select neighbourhood randomly, select neighbour |
Neighbour<Exam,ExamPlacement> |
ExamTabuSearch.selectNeighbour(Solution<Exam,ExamPlacement> solution)
Neighbor selection |
Neighbour<Exam,ExamPlacement> |
ExamSimulatedAnnealing.selectNeighbour(Solution<Exam,ExamPlacement> solution)
Select neighbour -- generate a move ExamSimulatedAnnealing.genMove(Solution) until an acceptable
neighbour is found
ExamSimulatedAnnealing.accept(Solution, Neighbour) , keep
increasing iteration ExamSimulatedAnnealing.incIter(Solution) . |
Neighbour<Exam,ExamPlacement> |
ExamNeighbourSelection.selectNeighbour(Solution<Exam,ExamPlacement> solution)
Neighbour selection. |
Neighbour<Exam,ExamPlacement> |
ExamHillClimbing.selectNeighbour(Solution<Exam,ExamPlacement> solution)
Select one of the given neighbourhoods randomly, select neighbour, return it if its value is below or equal to zero (continue with the next selection otherwise). |
Neighbour<Exam,ExamPlacement> |
ExamGreatDeluge.selectNeighbour(Solution<Exam,ExamPlacement> solution)
A neighbour is generated randomly untill an acceptable one is found. |
Neighbour<Exam,ExamPlacement> |
ExamConstruction.selectNeighbour(Solution<Exam,ExamPlacement> solution)
Select a neighbour. |
Neighbour<Exam,ExamPlacement> |
ExamColoringConstruction.selectNeighbour(Solution<Exam,ExamPlacement> solution)
|
Methods in net.sf.cpsolver.exam.heuristics with parameters of type Exam | |
---|---|
Set<ExamRoomPlacement> |
ExamColoringConstruction.findRooms(Exam exam,
ExamPeriodPlacement period)
|
ExamPlacement |
ExamTabuSearch.selectValue(Solution<Exam,ExamPlacement> solution,
Exam exam)
Value selection |
Method parameters in net.sf.cpsolver.exam.heuristics with type arguments of type Exam | |
---|---|
boolean |
ExamSimulatedAnnealing.accept(LazyNeighbour<Exam,ExamPlacement> neighbour,
double value)
Accept lazy neighbour |
boolean |
ExamHillClimbing.accept(LazyNeighbour<Exam,ExamPlacement> neighbour,
double value)
Accept lazy neighbour |
boolean |
ExamGreatDeluge.accept(LazyNeighbour<Exam,ExamPlacement> neighbour,
double value)
Accept lazy neighbour |
protected boolean |
ExamSimulatedAnnealing.accept(Solution<Exam,ExamPlacement> solution,
Neighbour<Exam,ExamPlacement> neighbour)
True if the given neighboir is to be be accepted |
protected boolean |
ExamSimulatedAnnealing.accept(Solution<Exam,ExamPlacement> solution,
Neighbour<Exam,ExamPlacement> neighbour)
True if the given neighboir is to be be accepted |
protected boolean |
ExamGreatDeluge.accept(Solution<Exam,ExamPlacement> solution,
Neighbour<Exam,ExamPlacement> neighbour)
Accept neighbour |
protected boolean |
ExamGreatDeluge.accept(Solution<Exam,ExamPlacement> solution,
Neighbour<Exam,ExamPlacement> neighbour)
Accept neighbour |
void |
ExamSimulatedAnnealing.bestCleared(Solution<Exam,ExamPlacement> solution)
|
void |
ExamHillClimbing.bestCleared(Solution<Exam,ExamPlacement> solution)
|
void |
ExamGreatDeluge.bestCleared(Solution<Exam,ExamPlacement> solution)
|
void |
ExamSimulatedAnnealing.bestRestored(Solution<Exam,ExamPlacement> solution)
|
void |
ExamHillClimbing.bestRestored(Solution<Exam,ExamPlacement> solution)
|
void |
ExamGreatDeluge.bestRestored(Solution<Exam,ExamPlacement> solution)
|
void |
ExamSimulatedAnnealing.bestSaved(Solution<Exam,ExamPlacement> solution)
Memorize the iteration when the last best solution was found. |
void |
ExamHillClimbing.bestSaved(Solution<Exam,ExamPlacement> solution)
Memorize the iteration when the last best solution was found. |
void |
ExamGreatDeluge.bestSaved(Solution<Exam,ExamPlacement> solution)
Update last improving iteration count |
boolean |
ExamNeighbourSelection.canContinue(Solution<Exam,ExamPlacement> currentSolution)
Termination condition (i.e., has final phase finished) |
protected void |
ExamSimulatedAnnealing.cool(Solution<Exam,ExamPlacement> solution)
Cool temperature |
Neighbour<Exam,ExamPlacement> |
ExamSimulatedAnnealing.genMove(Solution<Exam,ExamPlacement> solution)
Generate neighbour -- select neighbourhood randomly, select neighbour |
Neighbour<Exam,ExamPlacement> |
ExamGreatDeluge.genMove(Solution<Exam,ExamPlacement> solution)
Generate neighbour -- select neighbourhood randomly, select neighbour |
void |
ExamSimulatedAnnealing.getInfo(Solution<Exam,ExamPlacement> solution,
Map<String,String> info)
|
void |
ExamHillClimbing.getInfo(Solution<Exam,ExamPlacement> solution,
Map<String,String> info)
|
void |
ExamGreatDeluge.getInfo(Solution<Exam,ExamPlacement> solution,
Map<String,String> info)
|
void |
ExamSimulatedAnnealing.getInfo(Solution<Exam,ExamPlacement> solution,
Map<String,String> info,
Collection<Exam> variables)
|
void |
ExamSimulatedAnnealing.getInfo(Solution<Exam,ExamPlacement> solution,
Map<String,String> info,
Collection<Exam> variables)
|
void |
ExamHillClimbing.getInfo(Solution<Exam,ExamPlacement> solution,
Map<String,String> info,
Collection<Exam> variables)
|
void |
ExamHillClimbing.getInfo(Solution<Exam,ExamPlacement> solution,
Map<String,String> info,
Collection<Exam> variables)
|
void |
ExamGreatDeluge.getInfo(Solution<Exam,ExamPlacement> solution,
Map<String,String> info,
Collection<Exam> variables)
|
void |
ExamGreatDeluge.getInfo(Solution<Exam,ExamPlacement> solution,
Map<String,String> info,
Collection<Exam> variables)
|
protected void |
ExamSimulatedAnnealing.incIter(Solution<Exam,ExamPlacement> solution)
Increment iteration counter, cool/reheat/restoreBest if necessary |
protected void |
ExamGreatDeluge.incIter(Solution<Exam,ExamPlacement> solution)
Increment iteration count, update bound |
protected void |
ExamGreatDeluge.info(Solution<Exam,ExamPlacement> solution)
Print some information |
void |
ExamUnassignedVariableSelection.init(Solver<Exam,ExamPlacement> solver)
Initialization |
void |
ExamTabuSearch.init(Solver<Exam,ExamPlacement> solver)
Initialization |
void |
ExamSimulatedAnnealing.init(Solver<Exam,ExamPlacement> solver)
Initialization |
void |
ExamNeighbourSelection.init(Solver<Exam,ExamPlacement> solver)
Initialization |
void |
ExamHillClimbing.init(Solver<Exam,ExamPlacement> solver)
Initialization |
void |
ExamGreatDeluge.init(Solver<Exam,ExamPlacement> solver)
Initialization |
void |
ExamConstruction.init(Solver<Exam,ExamPlacement> solver)
Initialization |
void |
ExamColoringConstruction.init(Solver<Exam,ExamPlacement> solver)
|
protected void |
ExamSimulatedAnnealing.reheat(Solution<Exam,ExamPlacement> solution)
Reheat temperature |
protected void |
ExamSimulatedAnnealing.restoreBest(Solution<Exam,ExamPlacement> solution)
restore best ever found solution |
Neighbour<Exam,ExamPlacement> |
ExamTabuSearch.selectNeighbour(Solution<Exam,ExamPlacement> solution)
Neighbor selection |
Neighbour<Exam,ExamPlacement> |
ExamSimulatedAnnealing.selectNeighbour(Solution<Exam,ExamPlacement> solution)
Select neighbour -- generate a move ExamSimulatedAnnealing.genMove(Solution) until an acceptable
neighbour is found
ExamSimulatedAnnealing.accept(Solution, Neighbour) , keep
increasing iteration ExamSimulatedAnnealing.incIter(Solution) . |
Neighbour<Exam,ExamPlacement> |
ExamNeighbourSelection.selectNeighbour(Solution<Exam,ExamPlacement> solution)
Neighbour selection. |
Neighbour<Exam,ExamPlacement> |
ExamHillClimbing.selectNeighbour(Solution<Exam,ExamPlacement> solution)
Select one of the given neighbourhoods randomly, select neighbour, return it if its value is below or equal to zero (continue with the next selection otherwise). |
Neighbour<Exam,ExamPlacement> |
ExamGreatDeluge.selectNeighbour(Solution<Exam,ExamPlacement> solution)
A neighbour is generated randomly untill an acceptable one is found. |
Neighbour<Exam,ExamPlacement> |
ExamConstruction.selectNeighbour(Solution<Exam,ExamPlacement> solution)
Select a neighbour. |
Neighbour<Exam,ExamPlacement> |
ExamColoringConstruction.selectNeighbour(Solution<Exam,ExamPlacement> solution)
|
ExamPlacement |
ExamTabuSearch.selectValue(Solution<Exam,ExamPlacement> solution,
Exam exam)
Value selection |
Exam |
ExamUnassignedVariableSelection.selectVariable(Solution<Exam,ExamPlacement> solution)
Variable selection |
void |
ExamSimulatedAnnealing.solutionUpdated(Solution<Exam,ExamPlacement> solution)
|
void |
ExamHillClimbing.solutionUpdated(Solution<Exam,ExamPlacement> solution)
|
void |
ExamGreatDeluge.solutionUpdated(Solution<Exam,ExamPlacement> solution)
|
Uses of Exam in net.sf.cpsolver.exam.model |
---|
Methods in net.sf.cpsolver.exam.model that return Exam | |
---|---|
Exam |
ExamOwner.getExam()
An exam for this course/section |
Methods in net.sf.cpsolver.exam.model that return types with arguments of type Exam | |
---|---|
Set<Exam> |
ExamStudent.getExams(ExamPeriod period)
Exam(s) enrolled by the student that are scheduled in the given period |
Set<Exam> |
ExamInstructor.getExams(ExamPeriod period)
Exam(s) enrolled by the instructor that are scheduled in the given period |
Set<Exam> |
ExamStudent.getExamsADay(ExamPeriod period)
Exam(s) enrolled by the student that are scheduled in the given day |
Set<Exam> |
ExamInstructor.getExamsADay(ExamPeriod period)
Exam(s) enrolled by the instructor that are scheduled in the given day |
Set<Exam> |
ExamStudent.getExamsADay(int day)
Exam(s) enrolled by the student that are scheduled in the given day |
Set<Exam> |
ExamInstructor.getExamsADay(int day)
Exam(s) enrolled by the instructor that are scheduled in the given day |
Map<Exam,List<ExamStudent>> |
Exam.getJointEnrollments()
Joint enrollments |
HashSet<Exam> |
Exam.getStudentConflicts(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) ). |
Set<Exam> |
Exam.getStudentCorrelatedExams()
Exams that are correlated with this exam (there is at least one student attending both exams). |
Methods in net.sf.cpsolver.exam.model with parameters of type Exam | |
---|---|
void |
PredefinedExamRoomSharing.addPair(Exam x1,
Exam x2)
Add a pair of exams that are allowed to share a room |
boolean |
ExamStudent.canConflict(Exam ex1,
Exam ex2)
True if the given two exams can have a direct student conflict with this student, i.e., they can be placed at the same period. |
boolean |
SimpleExamRoomSharing.canShareRoom(Exam x1,
Exam x2)
|
boolean |
PredefinedExamRoomSharing.canShareRoom(Exam x1,
Exam x2)
|
abstract boolean |
ExamRoomSharing.canShareRoom(Exam x1,
Exam x2)
True if given two exams can share a room |
int |
Exam.compareTo(Exam o)
An exam with more correlated exams is preferred ( nrStudentCorrelatedExams() ). |
void |
ExamRoomSharing.computeConflicts(Exam exam,
Collection<ExamPlacement> other,
ExamRoom room,
Set<ExamPlacement> conflicts)
Compute conflicting placement for the case when a given examination needs to be placed in the same room at the same period as the other examinations |
boolean |
ExamRoomSharing.inConflict(Exam exam,
Collection<ExamPlacement> other,
ExamRoom room)
True if given examination can not be placed in the same room at the same period as the other examinations |
void |
PredefinedExamRoomSharing.load(Exam exam,
org.dom4j.Element element)
|
void |
ExamRoomSharing.load(Exam exam,
org.dom4j.Element element)
Load sharing information (if needed) for a given exam |
void |
PredefinedExamRoomSharing.save(Exam exam,
org.dom4j.Element element,
IdConvertor idConvertor)
|
void |
ExamRoomSharing.save(Exam exam,
org.dom4j.Element element,
IdConvertor idConvertor)
Save sharing information (if needed) for a given exam |
Method parameters in net.sf.cpsolver.exam.model with type arguments of type Exam | |
---|---|
void |
Exam.addContstraint(Constraint<Exam,ExamPlacement> constraint)
Adds a constraint. |
int |
ExamStudent.compareTo(Constraint<Exam,ExamPlacement> o)
Compare two students (by student ids) |
int |
ExamRoom.compareTo(Constraint<Exam,ExamPlacement> o)
Compare two rooms (by unique id) |
void |
Exam.removeContstraint(Constraint<Exam,ExamPlacement> constraint)
Removes a constraint. |
Constructors in net.sf.cpsolver.exam.model with parameters of type Exam | |
---|---|
ExamOwner(Exam exam,
long id,
String name)
Constructor. |
|
ExamPlacement(Exam exam,
ExamPeriodPlacement periodPlacement,
Set<ExamRoomPlacement> roomPlacements)
Constructor |
Constructor parameters in net.sf.cpsolver.exam.model with type arguments of type Exam | |
---|---|
ExamRoomSharing(Model<Exam,ExamPlacement> model,
DataProperties config)
|
|
PredefinedExamRoomSharing(Model<Exam,ExamPlacement> model,
DataProperties config)
|
|
SimpleExamRoomSharing(Model<Exam,ExamPlacement> model,
DataProperties config)
|
Uses of Exam in net.sf.cpsolver.exam.neighbours |
---|
Methods in net.sf.cpsolver.exam.neighbours that return types with arguments of type Exam | |
---|---|
Neighbour<Exam,ExamPlacement> |
ExamTimeMove.selectNeighbour(Solution<Exam,ExamPlacement> solution)
Select an exam randomly, select an available period randomly (if it is not assigned), use rooms if possible, select rooms using findBestAvailableRooms(ExamPeriodPlacement) if not (exam is unassigned, a room is not available or used). |
Neighbour<Exam,ExamPlacement> |
ExamRoomMove.selectNeighbour(Solution<Exam,ExamPlacement> solution)
Select an exam randomly, select an available period randomly (if it is not assigned, from getPeriodPlacements() ), select rooms
using findRoomsRandom(ExamPeriodPlacement) |
Neighbour<Exam,ExamPlacement> |
ExamRandomMove.selectNeighbour(Solution<Exam,ExamPlacement> solution)
Select an exam randomly, select an available period randomly (from getPeriodPlacements() ), select rooms using
findBestAvailableRooms(ExamPeriodPlacement) . |
Neighbour<Exam,ExamPlacement> |
ExamPeriodSwapMove.selectNeighbour(Solution<Exam,ExamPlacement> solution)
Select an exam randomly, select an available period randomly (if it is not assigned), use rooms if possible, select rooms using findBestAvailableRooms(ExamPeriodPlacement) if not (exam is unassigned, a room is not available or used). |
Methods in net.sf.cpsolver.exam.neighbours with parameters of type Exam | |
---|---|
boolean |
ExamPeriodSwapMove.checkDistributionConstraints(Exam exam,
ExamPeriodPlacement period,
Map<Exam,ExamPlacement> placements)
|
boolean |
ExamPeriodSwapMove.checkDistributionConstraints(Exam exam,
ExamRoomPlacement room,
Set<ExamPlacement> conflictsToIgnore,
Map<Exam,ExamPlacement> placements)
|
Set<ExamRoomPlacement> |
ExamPeriodSwapMove.findBestAvailableRooms(Exam exam,
ExamPeriodPlacement period,
Set<ExamPlacement> conflictsToIgnore,
Map<Exam,ExamPlacement> placements)
|
int |
ExamPeriodSwapMove.getDistributionConstraintPenalty(Exam exam,
ExamRoomPlacement room,
Set<ExamPlacement> conflictsToIgnore,
Map<Exam,ExamPlacement> placements)
|
Method parameters in net.sf.cpsolver.exam.neighbours with type arguments of type Exam | |
---|---|
boolean |
ExamPeriodSwapMove.checkDistributionConstraints(Exam exam,
ExamPeriodPlacement period,
Map<Exam,ExamPlacement> placements)
|
boolean |
ExamPeriodSwapMove.checkDistributionConstraints(Exam exam,
ExamRoomPlacement room,
Set<ExamPlacement> conflictsToIgnore,
Map<Exam,ExamPlacement> placements)
|
Set<ExamRoomPlacement> |
ExamPeriodSwapMove.findBestAvailableRooms(Exam exam,
ExamPeriodPlacement period,
Set<ExamPlacement> conflictsToIgnore,
Map<Exam,ExamPlacement> placements)
|
int |
ExamPeriodSwapMove.getDistributionConstraintPenalty(Exam exam,
ExamRoomPlacement room,
Set<ExamPlacement> conflictsToIgnore,
Map<Exam,ExamPlacement> placements)
|
void |
ExamTimeMove.init(Solver<Exam,ExamPlacement> solver)
Initialization |
void |
ExamRoomMove.init(Solver<Exam,ExamPlacement> solver)
Initialization |
void |
ExamRandomMove.init(Solver<Exam,ExamPlacement> solver)
Initialization |
void |
ExamPeriodSwapMove.init(Solver<Exam,ExamPlacement> solver)
Initialization |
Neighbour<Exam,ExamPlacement> |
ExamTimeMove.selectNeighbour(Solution<Exam,ExamPlacement> solution)
Select an exam randomly, select an available period randomly (if it is not assigned), use rooms if possible, select rooms using findBestAvailableRooms(ExamPeriodPlacement) if not (exam is unassigned, a room is not available or used). |
Neighbour<Exam,ExamPlacement> |
ExamRoomMove.selectNeighbour(Solution<Exam,ExamPlacement> solution)
Select an exam randomly, select an available period randomly (if it is not assigned, from getPeriodPlacements() ), select rooms
using findRoomsRandom(ExamPeriodPlacement) |
Neighbour<Exam,ExamPlacement> |
ExamRandomMove.selectNeighbour(Solution<Exam,ExamPlacement> solution)
Select an exam randomly, select an available period randomly (from getPeriodPlacements() ), select rooms using
findBestAvailableRooms(ExamPeriodPlacement) . |
Neighbour<Exam,ExamPlacement> |
ExamPeriodSwapMove.selectNeighbour(Solution<Exam,ExamPlacement> solution)
Select an exam randomly, select an available period randomly (if it is not assigned), use rooms if possible, select rooms using findBestAvailableRooms(ExamPeriodPlacement) if not (exam is unassigned, a room is not available or used). |
Uses of Exam in net.sf.cpsolver.exam.reports |
---|
Constructors in net.sf.cpsolver.exam.reports with parameters of type Exam | |
---|---|
ExamRoomComparator(Exam exam,
boolean asc)
Constructor |
Uses of Exam in net.sf.cpsolver.exam.split |
---|
Methods in net.sf.cpsolver.exam.split that return Exam | |
---|---|
Exam |
ExamSplitMoves.ExamSplitNeighbour.exam()
Exam to be split. |
Exam |
ExamSplitMoves.ExamMergeNeighbour.exam()
Exam to be merged. |
Exam |
ExamSplitMoves.ExamShuffleNeighbour.exam()
Exam to be shuffled. |
Exam |
ExamSplitter.merge(Exam child,
long iteration)
Merge an exam |
Exam |
ExamSplitter.parent(Exam exam)
Parent of an exam that has been split. |
Exam |
ExamSplitter.split(Exam parent,
long iteration,
ExamPlacement placement)
Split an exam |
Methods in net.sf.cpsolver.exam.split that return types with arguments of type Exam | |
---|---|
List<Exam> |
ExamSplitter.children(Exam parent)
Children exams of an exam that has been split. |
Neighbour<Exam,ExamPlacement> |
ExamSplitMoves.selectNeighbour(Solution<Exam,ExamPlacement> solution)
Select a split (split an exam into two), a merge (merge two split exams back together) or shuffle operation (move students between two exams that has been split before). |
Methods in net.sf.cpsolver.exam.split with parameters of type Exam | |
---|---|
ExamSplitMoves.ExamSplitNeighbour |
ExamSplitMoves.bestSplit(Exam exam)
Find a best split for the given exam. |
boolean |
ExamSplitter.canMerge(Exam exam)
True, if the given exam can be merged (it has been split) |
boolean |
ExamSplitter.canSplit(Exam exam)
True, if an exam can be split |
List<Exam> |
ExamSplitter.children(Exam parent)
Children exams of an exam that has been split. |
Set<ExamRoomPlacement> |
ExamSplitMoves.findBestAvailableRooms(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. |
Exam |
ExamSplitter.merge(Exam child,
long iteration)
Merge an exam |
Exam |
ExamSplitter.parent(Exam exam)
Parent of an exam that has been split. |
void |
ExamSplitter.shuffle(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(Exam parent,
long iteration,
ExamPlacement placement)
Split an exam |
Method parameters in net.sf.cpsolver.exam.split with type arguments of type Exam | |
---|---|
double[] |
ExamSplitter.getBounds(Collection<Exam> exams)
Not used |
boolean |
ExamSplitter.init(Solver<Exam,ExamPlacement> solver)
Initialization |
void |
ExamSplitMoves.init(Solver<Exam,ExamPlacement> solver)
Initialization |
Neighbour<Exam,ExamPlacement> |
ExamSplitMoves.selectNeighbour(Solution<Exam,ExamPlacement> solution)
Select a split (split an exam into two), a merge (merge two split exams back together) or shuffle operation (move students between two exams that has been split before). |
Constructors in net.sf.cpsolver.exam.split with parameters of type Exam | |
---|---|
ExamSplitMoves.ExamMergeNeighbour(Exam exam)
Child exam to be removed. |
|
ExamSplitMoves.ExamShuffleNeighbour(Exam exam)
Exam to be shuffled. |
|
ExamSplitMoves.ExamSplitNeighbour(Exam exam,
ExamPlacement placement)
Split an exam into two, assign the new exam into the given placement. |
|
||||||||||
PREV NEXT | FRAMES NO FRAMES |