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>
public Neighbour<Exam,ExamPlacement> selectNeighbour(Solution<Exam,ExamPlacement> solution)
Exam.findBestAvailableRooms(ExamPeriodPlacement)
if not (exam is unassigned, a room is not available or used).selectNeighbour
in interface NeighbourSelection<Exam,ExamPlacement>
solution
- given solutionpublic boolean checkDistributionConstraints(Exam exam, ExamPeriodPlacement period, Map<Exam,ExamPlacement> placements)
public boolean checkDistributionConstraints(Exam exam, ExamRoomPlacement room, Set<ExamPlacement> conflictsToIgnore, Map<Exam,ExamPlacement> placements)
public int getDistributionConstraintPenalty(Exam exam, ExamRoomPlacement room, Set<ExamPlacement> conflictsToIgnore, Map<Exam,ExamPlacement> placements)
public Set<ExamRoomPlacement> findBestAvailableRooms(Exam exam, ExamPeriodPlacement period, Set<ExamPlacement> conflictsToIgnore, Map<Exam,ExamPlacement> placements)