Package org.jacop.constraints
Class SoftGCC
- java.lang.Object
-
- org.jacop.constraints.DecomposedConstraint<Constraint>
-
- org.jacop.constraints.SoftGCC
-
public class SoftGCC extends DecomposedConstraint<Constraint>
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.8
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
SoftGCC.SoftGCCBuilder
-
Field Summary
Fields Modifier and Type Field Description IntVar
costVar
int[]
countedValue
java.util.List<Constraint>
decomposition
IntVar[]
hardCounters
int[]
hardLowerBound
int[]
hardUpperBound
IntVar[]
softCounters
int[]
softLowerBound
int[]
softUpperBound
ViolationMeasure
violationMeasure
IntVar[]
xVars
-
Fields inherited from class org.jacop.constraints.DecomposedConstraint
queueIndex
-
-
Constructor Summary
Constructors Constructor Description SoftGCC(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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<Constraint>
decompose(Store store)
It returns an array list of constraint which are used to decompose this constraint.void
imposeDecomposition(Store store)
It imposes the constraint in a given store.java.util.List<Constraint>
primitiveDecomposition(Store store)
java.lang.String
toString()
-
Methods inherited from class org.jacop.constraints.DecomposedConstraint
auxiliaryVariables, checkInput, checkInput, checkInputForDuplication, checkInputForDuplicationSkipSingletons, checkInputForNullness, checkInputForNullness, checkInputForNullness, derivative, getDubletonsSkipSingletons, imposeDecomposition
-
-
-
-
Field Detail
-
decomposition
public java.util.List<Constraint> decomposition
-
xVars
public IntVar[] xVars
-
hardCounters
public IntVar[] hardCounters
-
softCounters
public IntVar[] softCounters
-
countedValue
public int[] countedValue
-
softLowerBound
public int[] softLowerBound
-
softUpperBound
public int[] softUpperBound
-
hardLowerBound
public int[] hardLowerBound
-
hardUpperBound
public int[] hardUpperBound
-
costVar
public IntVar costVar
-
violationMeasure
public ViolationMeasure violationMeasure
-
-
Constructor Detail
-
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 Detail
-
primitiveDecomposition
public java.util.List<Constraint> primitiveDecomposition(Store store)
-
decompose
public java.util.List<Constraint> decompose(Store store)
Description copied from class:DecomposedConstraint
It 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:
decompose
in 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
public void imposeDecomposition(Store store)
Description copied from class:DecomposedConstraint
It imposes the constraint in a given store.- Specified by:
imposeDecomposition
in classDecomposedConstraint<Constraint>
- Parameters:
store
- the constraint store to which the constraint is imposed to.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-