V
- VariableT
- Valuepublic class DefaultParallelAssignment<V extends Variable<V,T>,T extends Value<V,T>> extends AssignmentAbstract<V,T>
Variable.getAssignments()
to store values of all the
variables of the model. Besides of that, a set of assigned variables is kept in memory.
Each extra contains an array of values, indexed by Assignment.getIndex()
.
Useful for a small, fixed number of assignments. Used by the ParallelSolver
,
where there is one assignment for each thread.Assignment
,
ParallelSolver
iContexts, iHasInitialzedContext
Constructor and Description |
---|
DefaultParallelAssignment() |
DefaultParallelAssignment(AssignmentContextHolder<V,T> contexts,
int threadIndex,
Solution<V,T> solution) |
DefaultParallelAssignment(int threadIndex) |
DefaultParallelAssignment(int threadIndex,
Model<V,T> model,
Assignment<V,T> assignment) |
Modifier and Type | Method and Description |
---|---|
Collection<V> |
assignedVariables()
The list of assigned variables in the assignment.
|
int |
getIndex()
Assignment index.
|
long |
getIteration(V variable)
Returns iteration of the last assignment.
|
protected T |
getValueInternal(V variable)
Returns assignment of a variable, null if not assigned.
|
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, assignedValues, clearContext, ensureInitializedContext, getAssignmentContext, getValue, nrAssignedVariables, nrUnassignedVariables, unassign, unassign, unassignedVariables
public DefaultParallelAssignment(int threadIndex)
public DefaultParallelAssignment()
public DefaultParallelAssignment(int threadIndex, Model<V,T> model, Assignment<V,T> assignment)
public DefaultParallelAssignment(AssignmentContextHolder<V,T> contexts, int threadIndex, Solution<V,T> solution)
public long getIteration(V variable)
Assignment
Variable.getLastIteration()
.variable
- problem variablepublic Collection<V> assignedVariables()
Assignment
Assignment.getValue(Variable)
is not null in this assignment.
Replacement for Model.assignedVariables()
.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 int getIndex()
Assignment