V
- VariableT
- Valuepublic abstract class LazyNeighbour<V extends Variable<V,T>,T extends Value<V,T>> extends Object implements Neighbour<V,T>
LazyNeighbour.LazyNeighbourAcceptanceCriterion
.Modifier and Type | Class and Description |
---|---|
static interface |
LazyNeighbour.LazyNeighbourAcceptanceCriterion<V extends Variable<V,T>,T extends Value<V,T>>
Neighbour acceptance criterion interface (to be implemented
by search strategies that are using
LazyNeighbour . |
Constructor and Description |
---|
LazyNeighbour() |
Modifier and Type | Method and Description |
---|---|
void |
assign(Assignment<V,T> assignment,
long iteration)
Assign neighbour, check given acceptance criterion, and undo
assignment if the change is not accepted.
|
protected abstract void |
doAssign(Assignment<V,T> assignment,
long iteration)
Perform assignment
|
LazyNeighbour.LazyNeighbourAcceptanceCriterion<V,T> |
getAcceptanceCriterion()
Return acceptance criterion (to be used by a search strategy before the
neighbour is accepted, so that it can be undone if desired)
|
abstract Model<V,T> |
getModel()
Return problem model (it is needed in order to be able to get
overall solution value before and after the assignment of this neighbour)
|
void |
setAcceptanceCriterion(LazyNeighbour.LazyNeighbourAcceptanceCriterion<V,T> criterion)
Set acceptance criterion (to be used by a search strategy before the
neighbour is accepted, so that it can be undone if desired)
|
protected abstract void |
undoAssign(Assignment<V,T> assignment,
long iteration)
Undo assignment
|
double |
value(Assignment<V,T> assignment)
Return -1 (neighbour is always accepted).
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
assignments
public LazyNeighbour()
public void setAcceptanceCriterion(LazyNeighbour.LazyNeighbourAcceptanceCriterion<V,T> criterion)
criterion
- acceptance criterionpublic LazyNeighbour.LazyNeighbourAcceptanceCriterion<V,T> getAcceptanceCriterion()
public void assign(Assignment<V,T> assignment, long iteration)
public double value(Assignment<V,T> assignment)
LazyNeighbour.LazyNeighbourAcceptanceCriterion
.protected abstract void doAssign(Assignment<V,T> assignment, long iteration)
assignment
- current assignmentiteration
- current iterationprotected abstract void undoAssign(Assignment<V,T> assignment, long iteration)
assignment
- current assignmentiteration
- current iteration