Uses of Class
net.sf.cpsolver.exam.model.ExamPlacement

Packages that use ExamPlacement
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.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 ExamPlacement in net.sf.cpsolver.exam
 

Constructor parameters in net.sf.cpsolver.exam with type arguments of type ExamPlacement
Test.ShutdownHook(Solver<Exam,ExamPlacement> solver)
           
 

Uses of ExamPlacement in net.sf.cpsolver.exam.criteria
 

Methods in net.sf.cpsolver.exam.criteria with parameters of type ExamPlacement
 void RoomSplitPenalty.afterAssigned(long iteration, ExamPlacement value)
           
 void RoomSplitDistancePenalty.afterAssigned(long iteration, ExamPlacement value)
           
 void ExamRotationPenalty.afterAssigned(long iteration, ExamPlacement value)
           
 void RoomSplitPenalty.beforeUnassigned(long iteration, ExamPlacement value)
           
 void RoomSplitDistancePenalty.beforeUnassigned(long iteration, ExamPlacement value)
           
 void ExamRotationPenalty.beforeUnassigned(long iteration, ExamPlacement value)
           
 double ExamCriterion.getPeriodValue(ExamPlacement value)
          Return impact of this criterion on period assignment (if this criterion is based on period assignment).
 double DistributionPenalty.getPeriodValue(ExamPlacement value)
          Period related distribution penalty, i.e., sum weights of violated distribution constraints
 double ExamCriterion.getRoomValue(ExamPlacement value)
          Return impact of this criterion on room assignment (if this criterion is based on room assignment).
 double DistributionPenalty.getRoomValue(ExamPlacement value)
          Room related distribution penalty, i.e., sum weights of violated distribution constraints
 double StudentNotAvailableConflicts.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double StudentMoreThan2ADayConflicts.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double StudentDistanceBackToBackConflicts.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double StudentDirectConflicts.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double StudentBackToBackConflicts.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double RoomSplitPenalty.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double RoomSplitDistancePenalty.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double RoomSizePenalty.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double RoomPerturbationPenalty.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double RoomPenalty.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double PerturbationPenalty.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double PeriodSizePenalty.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double PeriodPenalty.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double PeriodIndexPenalty.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double LargeExamsPenalty.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double InstructorNotAvailableConflicts.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double InstructorMoreThan2ADayConflicts.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double InstructorDistanceBackToBackConflicts.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double InstructorDirectConflicts.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double InstructorBackToBackConflicts.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double ExamRotationPenalty.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double DistributionPenalty.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 

Method parameters in net.sf.cpsolver.exam.criteria with type arguments of type ExamPlacement
 double StudentNotAvailableConflicts.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double StudentMoreThan2ADayConflicts.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double StudentDistanceBackToBackConflicts.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double StudentDirectConflicts.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double StudentBackToBackConflicts.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double RoomSplitPenalty.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double RoomSplitDistancePenalty.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double RoomSizePenalty.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double RoomPerturbationPenalty.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double RoomPenalty.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double PerturbationPenalty.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double PeriodSizePenalty.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double PeriodPenalty.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double PeriodIndexPenalty.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double LargeExamsPenalty.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double InstructorNotAvailableConflicts.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double InstructorMoreThan2ADayConflicts.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double InstructorDistanceBackToBackConflicts.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double InstructorDirectConflicts.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double InstructorBackToBackConflicts.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double ExamRotationPenalty.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double DistributionPenalty.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 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 ExamPlacement in net.sf.cpsolver.exam.criteria.additional
 

Methods in net.sf.cpsolver.exam.criteria.additional with parameters of type ExamPlacement
 double DistributionViolation.getPeriodValue(ExamPlacement value)
           
 double DistributionViolation.getRoomValue(ExamPlacement value)
           
 double RoomViolation.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double PeriodViolation.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double DistributionViolation.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double DistanceToStronglyPreferredRoom.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 

Method parameters in net.sf.cpsolver.exam.criteria.additional with type arguments of type ExamPlacement
 double RoomViolation.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double PeriodViolation.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double DistributionViolation.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 double DistanceToStronglyPreferredRoom.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
           
 

Uses of ExamPlacement in net.sf.cpsolver.exam.heuristics
 

Methods in net.sf.cpsolver.exam.heuristics that return ExamPlacement
 ExamPlacement ExamTabuSearch.selectValue(Solution<Exam,ExamPlacement> solution, Exam exam)
          Value selection
 

Methods in net.sf.cpsolver.exam.heuristics that return types with arguments of type ExamPlacement
 Neighbour<Exam,ExamPlacement> ExamConstruction.checkLocalOptimality(ExamModel model)
          Find a new assignment of one of the assigned exams that improves the time cost getTimeCost() and for which there is a set of available rooms Exam.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)
           
 

Method parameters in net.sf.cpsolver.exam.heuristics with type arguments of type ExamPlacement
 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 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)
           
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 ExamPlacement in net.sf.cpsolver.exam.model
 

Methods in net.sf.cpsolver.exam.model that return ExamPlacement
 ExamPlacement ExamRoom.getPlacement(ExamPeriod period)
          Deprecated. If room sharing is allowed, this method only returns first exam. Use ExamRoom.getPlacements(ExamPeriod) instead.
 

Methods in net.sf.cpsolver.exam.model that return types with arguments of type ExamPlacement
 List<ExamPlacement> ExamRoom.getPlacements(ExamPeriod period)
          Exams placed at the given period
 List<ExamPlacement> Exam.values()
          Values (assignment of a period and a set of rooms)
 

Methods in net.sf.cpsolver.exam.model with parameters of type ExamPlacement
 void ExamStudent.afterAssigned(long iteration, ExamPlacement value)
          An exam was assigned, update student assignment table
 void ExamRoom.afterAssigned(long iteration, ExamPlacement p)
          An exam was assigned, update room assignment table
 void ExamModel.afterAssigned(long iteration, ExamPlacement placement)
          Called after a value is assigned to its variable, optimization criteria are updated
 void ExamInstructor.afterAssigned(long iteration, ExamPlacement p)
          An exam was assigned, update instructor assignment table
 void ExamStudent.afterUnassigned(long iteration, ExamPlacement value)
          An exam was unassigned, update student assignment table
 void ExamRoom.afterUnassigned(long iteration, ExamPlacement p)
          An exam was unassigned, update room assignment table
 void ExamInstructor.afterUnassigned(long iteration, ExamPlacement p)
          An exam was unassigned, update instructor assignment table
 void Exam.assign(long iteration, ExamPlacement placement)
           
 void ExamRoom.assigned(long iteration, ExamPlacement p)
          An exam was assigned, update room assignment table
 void ExamDistributionConstraint.assigned(long iteration, ExamPlacement value)
           
 void ExamModel.beforeUnassigned(long iteration, ExamPlacement placement)
          Called before a value is unassigned from its variable, optimization criteria are updated
 boolean ExamDistributionConstraint.check(ExamPlacement first, ExamPlacement second)
          Check assignments of the given exams
 void ExamRoomSharing.computeConflicts(ExamPlacement 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
 void ExamStudent.computeConflicts(ExamPlacement p, Set<ExamPlacement> conflicts)
          Compute conflicts between the given assignment of an exam and all the current assignments (of this student).
 void ExamRoom.computeConflicts(ExamPlacement p, Set<ExamPlacement> conflicts)
          Compute conflicts between the given assignment of an exam and all the current assignments (of this room)
 void ExamInstructor.computeConflicts(ExamPlacement p, Set<ExamPlacement> conflicts)
          Compute conflicts between the given assignment of an exam and all the current assignments (of this instructor).
 void ExamDistributionConstraint.computeConflicts(ExamPlacement givenPlacement, Set<ExamPlacement> conflicts)
          Compute conflicts -- there is a conflict if the other variable is assigned and ExamDistributionConstraint.check(ExamPlacement, ExamPlacement) is false
 double ExamPlacement.getDistanceInMeters(ExamPlacement other)
          Distance between two placements, i.e., maximal distance between a room of this placement and a room of the given placement.
 boolean ExamStudent.inConflict(ExamPlacement p)
          Check whether there is a conflict between the given assignment of an exam and all the current assignments (of this student).
 boolean ExamRoom.inConflict(ExamPlacement p)
          Checks whether there is a conflict between the given assignment of an exam and all the current assignments (of this room)
 boolean ExamInstructor.inConflict(ExamPlacement p)
          Check whether there is a conflict between the given assignment of an exam and all the current assignments (of this instructor).
 boolean ExamDistributionConstraint.inConflict(ExamPlacement givenPlacement)
          Check for conflict -- there is a conflict if the other variable is assigned and ExamDistributionConstraint.check(ExamPlacement, ExamPlacement) is false
 boolean ExamRoomSharing.inConflict(ExamPlacement 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
 boolean ExamStudent.isConsistent(ExamPlacement p1, ExamPlacement p2)
          True if the given exams can conflict (see ExamStudent.canConflict(Exam, Exam)), or if they are placed at different periods.
 boolean ExamRoom.isConsistent(ExamPlacement p1, ExamPlacement p2)
          False if the given two assignments are using this room at the same period
 boolean ExamInstructor.isConsistent(ExamPlacement p1, ExamPlacement p2)
          True if the given exams can conflict (see ExamInstructor.isAllowDirectConflicts()), or if they are placed at different periods.
 boolean ExamDistributionConstraint.isConsistent(ExamPlacement first, ExamPlacement second)
          Consistency check -- ExamDistributionConstraint.check(ExamPlacement, ExamPlacement) is called
 boolean ExamDistributionConstraint.isSatisfied(ExamPlacement p)
          Return true if this is hard constraint or this is a soft constraint without any violation
 void ExamRoom.unassigned(long iteration, ExamPlacement p)
          An exam was unassigned, update room assignment table
 void ExamDistributionConstraint.unassigned(long iteration, ExamPlacement value)
           
 

Method parameters in net.sf.cpsolver.exam.model with type arguments of type ExamPlacement
 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 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
 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
 void ExamRoomSharing.computeConflicts(ExamPlacement 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
 void ExamRoomSharing.computeConflicts(ExamPlacement 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
 void ExamStudent.computeConflicts(ExamPlacement p, Set<ExamPlacement> conflicts)
          Compute conflicts between the given assignment of an exam and all the current assignments (of this student).
 void ExamRoom.computeConflicts(ExamPlacement p, Set<ExamPlacement> conflicts)
          Compute conflicts between the given assignment of an exam and all the current assignments (of this room)
 void ExamInstructor.computeConflicts(ExamPlacement p, Set<ExamPlacement> conflicts)
          Compute conflicts between the given assignment of an exam and all the current assignments (of this instructor).
 void ExamDistributionConstraint.computeConflicts(ExamPlacement givenPlacement, Set<ExamPlacement> conflicts)
          Compute conflicts -- there is a conflict if the other variable is assigned and ExamDistributionConstraint.check(ExamPlacement, ExamPlacement) is false
 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
 boolean ExamRoomSharing.inConflict(ExamPlacement 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 Exam.removeContstraint(Constraint<Exam,ExamPlacement> constraint)
          Removes a constraint.
 

Constructor parameters in net.sf.cpsolver.exam.model with type arguments of type ExamPlacement
ExamRoomSharing(Model<Exam,ExamPlacement> model, DataProperties config)
           
PredefinedExamRoomSharing(Model<Exam,ExamPlacement> model, DataProperties config)
           
SimpleExamRoomSharing(Model<Exam,ExamPlacement> model, DataProperties config)
           
 

Uses of ExamPlacement in net.sf.cpsolver.exam.neighbours
 

Methods in net.sf.cpsolver.exam.neighbours that return types with arguments of type ExamPlacement
 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 Exam.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 Exam.getPeriodPlacements()), select rooms using Exam.findRoomsRandom(ExamPeriodPlacement)
 Neighbour<Exam,ExamPlacement> ExamRandomMove.selectNeighbour(Solution<Exam,ExamPlacement> solution)
          Select an exam randomly, select an available period randomly (from Exam.getPeriodPlacements()), select rooms using Exam.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 Exam.findBestAvailableRooms(ExamPeriodPlacement) if not (exam is unassigned, a room is not available or used).
 

Method parameters in net.sf.cpsolver.exam.neighbours with type arguments of type ExamPlacement
 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)
           
 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)
           
 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)
           
 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 Exam.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 Exam.getPeriodPlacements()), select rooms using Exam.findRoomsRandom(ExamPeriodPlacement)
 Neighbour<Exam,ExamPlacement> ExamRandomMove.selectNeighbour(Solution<Exam,ExamPlacement> solution)
          Select an exam randomly, select an available period randomly (from Exam.getPeriodPlacements()), select rooms using Exam.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 Exam.findBestAvailableRooms(ExamPeriodPlacement) if not (exam is unassigned, a room is not available or used).
 

Constructors in net.sf.cpsolver.exam.neighbours with parameters of type ExamPlacement
ExamRoomSwapNeighbour(ExamPlacement placement, ExamRoomPlacement current, ExamRoomPlacement swap)
           
ExamSimpleNeighbour(ExamPlacement placement)
           
 

Uses of ExamPlacement in net.sf.cpsolver.exam.split
 

Methods in net.sf.cpsolver.exam.split that return ExamPlacement
 ExamPlacement ExamSplitMoves.ExamSplitNeighbour.placement()
          Placement of the new exam.
 

Methods in net.sf.cpsolver.exam.split that return types with arguments of type ExamPlacement
 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 ExamPlacement
 double ExamSplitter.delta(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.
 double ExamSplitter.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
          Not used
 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 ExamPlacement
 double ExamSplitter.getValue(ExamPlacement value, Set<ExamPlacement> conflicts)
          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 ExamPlacement
ExamSplitMoves.ExamSplitNeighbour(Exam exam, ExamPlacement placement)
          Split an exam into two, assign the new exam into the given placement.
 



Copyright © 2014 UniTime LLC. All Rights Reserved.