public class ExamConstruction extends Object implements NeighbourSelection<Exam,ExamPlacement>
Exam.compareTo(Exam)
)
Exam.findBestAvailableRooms(ExamPeriodPlacement)
).
ExamPlacement.getTimeCost()
), but no hard
constraint is violated. The problem is considered locally optimal if there is
no such move. Constructor and Description |
---|
ExamConstruction(DataProperties properties)
Constructor
|
Modifier and Type | Method and Description |
---|---|
Neighbour<Exam,ExamPlacement> |
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 Exam.findBestAvailableRooms(ExamPeriodPlacement) . |
void |
init(Solver<Exam,ExamPlacement> solver)
Initialization
|
Neighbour<Exam,ExamPlacement> |
selectNeighbour(Solution<Exam,ExamPlacement> solution)
Select a neighbour.
|
public ExamConstruction(DataProperties properties)
properties
- problem propertiespublic void init(Solver<Exam,ExamPlacement> solver)
init
in interface NeighbourSelection<Exam,ExamPlacement>
public Neighbour<Exam,ExamPlacement> checkLocalOptimality(ExamModel model)
ExamPlacement.getTimeCost()
and for which there is a set of
available rooms Exam.findBestAvailableRooms(ExamPeriodPlacement)
.
Return null, if there is no such assignment (the problem is considered
locally optimal).public Neighbour<Exam,ExamPlacement> selectNeighbour(Solution<Exam,ExamPlacement> solution)
Exam.compareTo(Exam)
)
Exam.findBestAvailableRooms(ExamPeriodPlacement)
).
selectNeighbour
in interface NeighbourSelection<Exam,ExamPlacement>
solution
- given solution