public class SumInt extends PrimitiveConstraint
sum(i in 1..N)(xi) = sum
It provides the sum from all variables on the list.
This implementaiton is based on "Bounds Consistency Techniques for Long Linear Constraints" by Warwick Harvey and Joachim Schimpf
Modifier and Type | Field and Description |
---|---|
byte |
relationType
It specifies what relations is used by this constraint
|
notConsistencyPruningEvents
atomicExecution, consistencyPruningEvents, constraintScope, earlyTerminationOK, increaseWeight, numberId, scope, trace
queueIndex
Constructor and Description |
---|
SumInt(IntVar[] list,
String rel,
IntVar sum) |
SumInt(List<? extends IntVar> variables,
String rel,
IntVar sum)
It constructs the constraint SumInt.
|
SumInt(Store store,
IntVar[] list,
String rel,
IntVar sum)
Deprecated.
SumInt constraint does not use Store parameter any longer.
|
SumInt(Store store,
List<? extends IntVar> variables,
String rel,
IntVar sum)
Deprecated.
SumInt constraint does not use Store parameter any longer.
|
Modifier and Type | Method and Description |
---|---|
void |
consistency(Store store)
It is a (most probably incomplete) consistency function which removes the
values from variables domains.
|
int |
getDefaultConsistencyPruningEvent() |
protected int |
getDefaultNestedConsistencyPruningEvent() |
protected int |
getDefaultNestedNotConsistencyPruningEvent() |
protected int |
getDefaultNotConsistencyPruningEvent() |
Constraint |
getGuideConstraint()
It specifies a constraint which if imposed by search will enhance
propagation of this constraint.
|
int |
getGuideValue()
This function provides a value which if assigned to a variable returned
by getGuideVariable() will enhance propagation of this constraint.
|
Var |
getGuideVariable()
This function provides a variable which assigned a value returned
by will enhance propagation of this constraint.
|
void |
impose(Store store)
It imposes the constraint in a given store.
|
void |
notConsistency(Store store)
It makes pruning in such a way that constraint is notConsistent.
|
boolean |
notSatisfied()
It checks if constraint would be always not satisfied.
|
void |
propagate(int rel) |
String |
rel2String() |
byte |
relation(String r) |
boolean |
satisfied()
It checks if the constraint is satisfied.
|
boolean |
satisfiedEq() |
boolean |
satisfiedGtEq(int b) |
boolean |
satisfiedLtEq(int b) |
boolean |
satisfiedNeq() |
void |
supplyGuideFeedback(boolean feedback)
This function allows to provide a guide feedback.
|
String |
toString()
It produces a string representation of a constraint state.
|
getNestedPruningEvent, getNotConsistencyPruningEvent, include, setNotConsistencyPruningEvent
afc, arguments, cleanAfterFailure, decompose, getConsistencyPruningEvent, grounded, grounded, id, impose, imposeDecomposition, increaseWeight, intArrayToString, long2int, numberArgs, queueVariable, removeConstraint, requiresMonotonicity, setConsistencyPruningEvent, setConstraintScope, setScope, setScope, setScope, setScope, setScope, setWatchedVariableGrounded, updateAFC, watchedVariableGrounded
auxiliaryVariables, checkInput, checkInput, checkInputForDuplication, checkInputForDuplicationSkipSingletons, checkInputForNullness, checkInputForNullness, checkInputForNullness, derivative, getDubletonsSkipSingletons, imposeDecomposition
public byte relationType
@Deprecated public SumInt(Store store, IntVar[] list, String rel, IntVar sum)
store
- current storelist
- variables which are being multiplied by weights.rel
- the relation, one of "==", "<", ">", "<=", ">=", "!="sum
- variable containing the sum of weighted variables.@Deprecated public SumInt(Store store, List<? extends IntVar> variables, String rel, IntVar sum)
store
- current storevariables
- variables which are being multiplied by weights.rel
- the relation, one of "==", "<", ">", "<=", ">=", "!="sum
- variable containing the sum of weighted variables.public SumInt(IntVar[] list, String rel, IntVar sum)
list
- variables which are being multiplied by weights.rel
- the relation, one of "==", "<", ">", "<=", ">=", "!="sum
- variable containing the sum of weighted variables.public SumInt(List<? extends IntVar> variables, String rel, IntVar sum)
variables
- variables which are being multiplied by weights.rel
- the relation, one of "==", "<", ">", "<=", ">=", "!="sum
- variable containing the sum of weighted variables.public void consistency(Store store)
Constraint
consistency
in class Constraint
store
- constraint store within which the constraint consistency is being checked.public void notConsistency(Store store)
PrimitiveConstraint
notConsistency
in class PrimitiveConstraint
store
- the constraint store in which context the notConsistency technique is evaluated.public void propagate(int rel)
public int getDefaultConsistencyPruningEvent()
getDefaultConsistencyPruningEvent
in class Constraint
protected int getDefaultNestedConsistencyPruningEvent()
getDefaultNestedConsistencyPruningEvent
in class PrimitiveConstraint
protected int getDefaultNestedNotConsistencyPruningEvent()
getDefaultNestedNotConsistencyPruningEvent
in class PrimitiveConstraint
protected int getDefaultNotConsistencyPruningEvent()
getDefaultNotConsistencyPruningEvent
in class PrimitiveConstraint
public void impose(Store store)
Constraint
impose
in class PrimitiveConstraint
store
- the constraint store to which the constraint is imposed to.public boolean satisfiedEq()
public boolean satisfiedNeq()
public boolean satisfiedLtEq(int b)
public boolean satisfiedGtEq(int b)
public boolean satisfied()
SatisfiedPresent
Implementations of this interface for constraints that are not PrimitiveConstraint may require constraint imposition and consistency check as a requirement to work correctly.
public boolean notSatisfied()
PrimitiveConstraint
notSatisfied
in class PrimitiveConstraint
public byte relation(String r)
public String rel2String()
public String toString()
Constraint
toString
in class Constraint
public Constraint getGuideConstraint()
Constraint
getGuideConstraint
in class Constraint
public int getGuideValue()
Constraint
getGuideValue
in class Constraint
public Var getGuideVariable()
Constraint
getGuideVariable
in class Constraint
public void supplyGuideFeedback(boolean feedback)
Constraint
supplyGuideFeedback
in class Constraint
feedback
- true if the guide was useful, false otherwise.Copyright © 2022. All rights reserved.