V
- VariableT
- Valuepublic class OptimisticInheritedAssignment<V extends Variable<V,T>,T extends Value<V,T>> extends AssignmentAbstract<V,T> implements InheritedAssignment<V,T>
InheritedAssignment
iContexts, iHasInitialzedContext
Constructor and Description |
---|
OptimisticInheritedAssignment(Solution<V,T> parent,
int index) |
Modifier and Type | Method and Description |
---|---|
Collection<T> |
assignedValues()
The list of assigned values in the assignment.
|
Collection<V> |
assignedVariables()
The list of assigned variables in the assignment.
|
long |
getIteration(V variable)
Returns iteration of the last assignment.
|
Assignment<V,T> |
getParentAssignment()
Return parent assignment.
|
protected T |
getValueInternal(V variable)
Returns assignment of a variable, null if not assigned.
|
long |
getVersion()
Version of the assignment (usually the iteration of the parent assignment at the time of creation)
|
int |
nrAssignedVariables()
Number of assigned variables in this assignment.
|
protected void |
setValueInternal(long iteration,
V variable,
T value)
Sets an assignment to a variable (unassigns a variable if the given value is null).
|
assign, assign, clearContext, ensureInitializedContext, getAssignmentContext, getIndex, getValue, nrUnassignedVariables, unassign, unassign, unassignedVariables
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
assign, clearContext, getAssignmentContext, getIndex, getValue, nrUnassignedVariables, unassign, unassign, unassignedVariables
public OptimisticInheritedAssignment(Solution<V,T> parent, int index)
public long getIteration(V variable)
Assignment
Variable.getLastIteration()
.getIteration
in interface Assignment<V extends Variable<V,T>,T extends Value<V,T>>
variable
- problem variablepublic Collection<V> assignedVariables()
Assignment
Assignment.getValue(Variable)
is not null in this assignment.
Replacement for Model.assignedVariables()
.assignedVariables
in interface Assignment<V extends Variable<V,T>,T extends Value<V,T>>
public Collection<T> assignedValues()
Assignment
Assignment.getValue(Variable)
for all assigned variables in this assignment.assignedValues
in interface Assignment<V extends Variable<V,T>,T extends Value<V,T>>
assignedValues
in class AssignmentAbstract<V extends Variable<V,T>,T extends Value<V,T>>
public int nrAssignedVariables()
Assignment
Model.nrAssignedVariables()
.nrAssignedVariables
in interface Assignment<V extends Variable<V,T>,T extends Value<V,T>>
nrAssignedVariables
in class AssignmentAbstract<V extends Variable<V,T>,T extends Value<V,T>>
protected T getValueInternal(V variable)
AssignmentAbstract
getValueInternal
in class AssignmentAbstract<V extends Variable<V,T>,T extends Value<V,T>>
variable
- a variable in questionprotected void setValueInternal(long iteration, V variable, T value)
AssignmentAbstract
setValueInternal
in class AssignmentAbstract<V extends Variable<V,T>,T extends Value<V,T>>
iteration
- current iterationvariable
- a variable to be assignedvalue
- new assignment, null if to be unassignedpublic Assignment<V,T> getParentAssignment()
InheritedAssignment
getParentAssignment
in interface InheritedAssignment<V extends Variable<V,T>,T extends Value<V,T>>
public long getVersion()
InheritedAssignment
getVersion
in interface InheritedAssignment<V extends Variable<V,T>,T extends Value<V,T>>