public class ExamPeriodSwapMove extends Object implements NeighbourSelection<Exam,ExamPlacement>
| Constructor and Description |
|---|
ExamPeriodSwapMove(DataProperties properties)
Constructor
|
public ExamPeriodSwapMove(DataProperties properties)
properties - problem propertiespublic void init(Solver<Exam,ExamPlacement> solver)
init in interface NeighbourSelection<Exam,ExamPlacement>solver - current solverpublic Neighbour<Exam,ExamPlacement> selectNeighbour(Solution<Exam,ExamPlacement> solution)
Exam.findBestAvailableRooms(Assignment, ExamPeriodPlacement) if not (exam is unassigned, a room is not available or used).selectNeighbour in interface NeighbourSelection<Exam,ExamPlacement>solution - given solutionpublic boolean checkDistributionConstraints(Assignment<Exam,ExamPlacement> assignment, Exam exam, ExamPeriodPlacement period, Map<Exam,ExamPlacement> placements)
public boolean checkDistributionConstraints(Assignment<Exam,ExamPlacement> assignment, Exam exam, ExamRoomPlacement room, Set<ExamPlacement> conflictsToIgnore, Map<Exam,ExamPlacement> placements)
public int getDistributionConstraintPenalty(Assignment<Exam,ExamPlacement> assignment, Exam exam, ExamRoomPlacement room, Set<ExamPlacement> conflictsToIgnore, Map<Exam,ExamPlacement> placements)
public Set<ExamRoomPlacement> findBestAvailableRooms(Assignment<Exam,ExamPlacement> assignment, Exam exam, ExamPeriodPlacement period, Set<ExamPlacement> conflictsToIgnore, Map<Exam,ExamPlacement> placements)