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)