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