@Deprecated public class ExamHillClimbing extends NeighbourSelectionWithContext<Exam,ExamPlacement,ExamHillClimbing.Context> implements SolutionListener<Exam,ExamPlacement>, LazyNeighbour.LazyNeighbourAcceptanceCriterion<Exam,ExamPlacement>
ExamRandomMove)
ExamTimeMove)
ExamRoomMove)
ExamSimpleNeighbour.value(Assignment) is below or equal to zero. The search is
stopped after a given amount of idle iterations ( can be defined by problem
property HillClimber.MaxIdle). | Modifier and Type | Class and Description |
|---|---|
class |
ExamHillClimbing.Context
Deprecated.
|
iContextOverridesMaxSize| Constructor and Description |
|---|
ExamHillClimbing(DataProperties properties)
Deprecated.
Constructor
|
ExamHillClimbing(DataProperties properties,
String name)
Deprecated.
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
accept(Assignment<Exam,ExamPlacement> assignment,
LazyNeighbour<Exam,ExamPlacement> neighbour,
double value)
Deprecated.
Accept lazy neighbour
|
void |
bestCleared(Solution<Exam,ExamPlacement> solution)
Deprecated.
Called by the solution when method
Solution.clearBest() is
called. |
void |
bestRestored(Solution<Exam,ExamPlacement> solution)
Deprecated.
Called by the solution when method
Solution.restoreBest() is
called. |
void |
bestSaved(Solution<Exam,ExamPlacement> solution)
Deprecated.
Memorize the iteration when the last best solution was found.
|
ExamHillClimbing.Context |
createAssignmentContext(Assignment<Exam,ExamPlacement> assignment)
Deprecated.
Create a new assignment context for the given assignment.
|
void |
getInfo(Solution<Exam,ExamPlacement> solution,
Map<String,String> info)
Deprecated.
Called by the solution when it is asked to produce info table, see
Solution.getInfo(). |
void |
getInfo(Solution<Exam,ExamPlacement> solution,
Map<String,String> info,
Collection<Exam> variables)
Deprecated.
Called by the solution when it is asked to produce info table, see
Solution.getInfo(). |
void |
init(Solver<Exam,ExamPlacement> solver)
Deprecated.
Initialization
|
Neighbour<Exam,ExamPlacement> |
selectNeighbour(Solution<Exam,ExamPlacement> solution)
Deprecated.
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).
|
void |
solutionUpdated(Solution<Exam,ExamPlacement> solution)
Deprecated.
Called by the solution when it is updated, see
Solution.update(double). |
getAssignmentContextReference, getContext, getContext, hasContextOverride, isSingleContextSolver, setAssignmentContextReferencepublic ExamHillClimbing(DataProperties properties)
properties - problem properties (use HillClimber.MaxIdle to set maximum
number of idle iterations)public ExamHillClimbing(DataProperties properties, String name)
properties - problem properties (use HillClimber.MaxIdle to set maximum
number of idle iterations)name - solver search phase namepublic void init(Solver<Exam,ExamPlacement> solver)
init in interface NeighbourSelection<Exam,ExamPlacement>init in class NeighbourSelectionWithContext<Exam,ExamPlacement,ExamHillClimbing.Context>solver - current solverpublic Neighbour<Exam,ExamPlacement> selectNeighbour(Solution<Exam,ExamPlacement> solution)
selectNeighbour in interface NeighbourSelection<Exam,ExamPlacement>solution - given solutionpublic void bestSaved(Solution<Exam,ExamPlacement> solution)
bestSaved in interface SolutionListener<Exam,ExamPlacement>solution - source solutionpublic void solutionUpdated(Solution<Exam,ExamPlacement> solution)
SolutionListenerSolution.update(double).solutionUpdated in interface SolutionListener<Exam,ExamPlacement>solution - source solutionpublic void getInfo(Solution<Exam,ExamPlacement> solution, Map<String,String> info)
SolutionListenerSolution.getInfo(). A listener can also add some its info into
this table.getInfo in interface SolutionListener<Exam,ExamPlacement>solution - source solutioninfo - produced info tablepublic void getInfo(Solution<Exam,ExamPlacement> solution, Map<String,String> info, Collection<Exam> variables)
SolutionListenerSolution.getInfo(). A listener can also add some its info into
this table.getInfo in interface SolutionListener<Exam,ExamPlacement>solution - source solutioninfo - produced info tablevariables - only variables from this set are includedpublic void bestCleared(Solution<Exam,ExamPlacement> solution)
SolutionListenerSolution.clearBest() is
called.bestCleared in interface SolutionListener<Exam,ExamPlacement>solution - source solutionpublic void bestRestored(Solution<Exam,ExamPlacement> solution)
SolutionListenerSolution.restoreBest() is
called.bestRestored in interface SolutionListener<Exam,ExamPlacement>solution - source solutionpublic boolean accept(Assignment<Exam,ExamPlacement> assignment, LazyNeighbour<Exam,ExamPlacement> neighbour, double value)
accept in interface LazyNeighbour.LazyNeighbourAcceptanceCriterion<Exam,ExamPlacement>assignment - current assignmentneighbour - neighbour that was assignedvalue - change in overall solution valuepublic ExamHillClimbing.Context createAssignmentContext(Assignment<Exam,ExamPlacement> assignment)
HasAssignmentContextcreateAssignmentContext in interface HasAssignmentContext<Exam,ExamPlacement,ExamHillClimbing.Context>assignment - an assignment for which there needs to be an assignment context