Package org.jacop.constraints
Class SoftGCC
This class provides soft-gcc constraint by decomposing it
either into a network flow constraint or a set of primitive constraints.
It is soft in a sense that every violation of softLower, softUpper bound or softCounter contributes to the violation cost. It is hard in a sense that it does enforce hardLower, hardUpper bound or hardCounter. It uses value based violation metric.
- Version:
- 4.10
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsFields inherited from class org.jacop.constraints.DecomposedConstraint
queueIndex -
Constructor Summary
ConstructorsConstructorDescriptionSoftGCC(IntVar[] xVars, int[] hardLowerBound, int[] hardUpperBound, int[] countedValue, IntVar[] softCounters, IntVar costVar, ViolationMeasure violationMeasure) It specifies soft-GCC constraint.SoftGCC(IntVar[] xVars, int[] hardLowerBound, int[] hardUpperBound, IntVar[] softCounters, IntVar costVar, ViolationMeasure violationMeasure) It specifies soft-GCC constraint.SoftGCC(IntVar[] xVars, IntVar[] hardCounters, int[] countedValue, int[] softLowerBound, int[] softUpperBound, IntVar costVar, ViolationMeasure violationMeasure) It specifies soft-GCC constraint.SoftGCC(IntVar[] xVars, IntVar[] hardCounters, int[] softLowerBound, int[] softUpperBound, IntVar costVar, ViolationMeasure violationMeasure) It specifies soft-GCC constraint.SoftGCC(IntVar[] xVars, IntVar[] hardCounters, int[] countedValue, IntVar[] softCounters, IntVar costVar, ViolationMeasure violationMeasure) It specifies soft-GCC constraint.SoftGCC(IntVar[] xVars, IntVar[] hardCounters, IntVar[] softCounters, IntVar costVar, ViolationMeasure violationMeasure) It specifies soft-GCC constraint. -
Method Summary
Modifier and TypeMethodDescriptionIt returns an array list of constraint which are used to decompose this constraint.voidimposeDecomposition(Store store) It imposes the constraint in a given store.primitiveDecomposition(Store store) toString()Methods inherited from class org.jacop.constraints.DecomposedConstraint
auxiliaryVariables, checkInput, checkInput, checkInputForDuplication, checkInputForDuplicationSkipSingletons, checkInputForNullness, checkInputForNullness, checkInputForNullness, derivative, getDubletonsSkipSingletons, imposeDecomposition
-
Field Details
-
decomposition
-
xVars
-
hardCounters
-
softCounters
-
countedValue
public int[] countedValue -
softLowerBound
public int[] softLowerBound -
softUpperBound
public int[] softUpperBound -
hardLowerBound
public int[] hardLowerBound -
hardUpperBound
public int[] hardUpperBound -
costVar
-
violationMeasure
-
-
Constructor Details
-
SoftGCC
public SoftGCC(IntVar[] xVars, IntVar[] hardCounters, int[] countedValue, int[] softLowerBound, int[] softUpperBound, IntVar costVar, ViolationMeasure violationMeasure) It specifies soft-GCC constraint.- Parameters:
xVars- variables over which counting takes place.hardCounters- idNumber variables for different values being counted. Their domain specify hard constraints on the occurrences.countedValue- it specifies values which occurrence is being counted.softLowerBound- it specifies constraint what is the minimal number of occurrences.softUpperBound- it specifies constraint what is the maximal number of occurrences.costVar- a cost variable specifying the cost of violations.violationMeasure- it is only accepted to use Value_Based violation measure.
-
SoftGCC
public SoftGCC(IntVar[] xVars, int[] hardLowerBound, int[] hardUpperBound, int[] countedValue, IntVar[] softCounters, IntVar costVar, ViolationMeasure violationMeasure) It specifies soft-GCC constraint.- Parameters:
xVars- variables over which counting takes place.hardLowerBound- it specifies constraint what is the minimal number of occurrences. (hard)hardUpperBound- it specifies constraint what is the maximal number of occurrences. (hard)countedValue- it specifies values which occurrence is being counted.softCounters- it specifies the number of occurrences (soft).costVar- a cost variable specifying the cost of violations.violationMeasure- it is only accepted to use Value_Based violation measure.
-
SoftGCC
public SoftGCC(IntVar[] xVars, IntVar[] hardCounters, int[] countedValue, IntVar[] softCounters, IntVar costVar, ViolationMeasure violationMeasure) It specifies soft-GCC constraint.- Parameters:
xVars- variables over which counting takes place.hardCounters- idNumber variables for different values being counted. (hard)countedValue- it specifies values which occurrence is being counted.softCounters- idNumber variables for different values being counted. (soft)costVar- a cost variable specifying the cost of violations.violationMeasure- it is only accepted to use Value_Based violation measure.
-
SoftGCC
public SoftGCC(IntVar[] xVars, IntVar[] hardCounters, int[] softLowerBound, int[] softUpperBound, IntVar costVar, ViolationMeasure violationMeasure) It specifies soft-GCC constraint.- Parameters:
xVars- variables over which counting takes place.hardCounters- idNumber variables for different values being counted. (hard)softLowerBound- it specifies constraint what is the minimal number of occurrences. (soft)softUpperBound- it specifies constraint what is the maximal number of occurrences. (soft)costVar- a cost variable specifying the cost of violations.violationMeasure- it is only accepted to use Value_Based violation measure.
-
SoftGCC
public SoftGCC(IntVar[] xVars, int[] hardLowerBound, int[] hardUpperBound, IntVar[] softCounters, IntVar costVar, ViolationMeasure violationMeasure) It specifies soft-GCC constraint.- Parameters:
xVars- variables over which counting takes place.hardLowerBound- it specifies constraint what is the minimal number of occurrences. (hard)hardUpperBound- it specifies constraint what is the maximal number of occurrences. (hard)softCounters- idNumber variables for different values being counted. (soft)costVar- a cost variable specifying the cost of violations.violationMeasure- it is only accepted to use Value_Based violation measure.
-
SoftGCC
public SoftGCC(IntVar[] xVars, IntVar[] hardCounters, IntVar[] softCounters, IntVar costVar, ViolationMeasure violationMeasure) It specifies soft-GCC constraint.- Parameters:
xVars- variables over which counting takes place.hardCounters- idNumber variables for different values being counted. (hard)softCounters- idNumber variables that may be violated.costVar- a cost variable specifying the cost of violations.violationMeasure- it is only accepted to use Value_Based violation measure.
-
-
Method Details
-
primitiveDecomposition
-
decompose
Description copied from class:DecomposedConstraintIt returns an array list of constraint which are used to decompose this constraint. It actually creates a decomposition (possibly also creating variables), but it does not impose the constraint.- Specified by:
decomposein classDecomposedConstraint<Constraint>- Parameters:
store- the constraint store in which context the decomposition takes place.- Returns:
- an array list of constraints used to decompose this constraint.
-
imposeDecomposition
Description copied from class:DecomposedConstraintIt imposes the constraint in a given store.- Specified by:
imposeDecompositionin classDecomposedConstraint<Constraint>- Parameters:
store- the constraint store to which the constraint is imposed to.
-
toString
-