public class TuplesFactory extends Object
Modifier and Type | Method and Description |
---|---|
static Tuples |
absolute(IntVar VAR1,
IntVar VAR2)
Generate valid tuples for absolute constraint: VAR1 = |VAR2|
|
static Tuples |
allDifferent(IntVar... VARS)
Generate valid tuples for allDifferent constraint
|
static Tuples |
allEquals(IntVar... VARS)
Generate valid tuples for allEquals constraint
|
static Tuples |
arithm(IntVar VAR1,
String OP,
IntVar VAR2)
Generate valid tuples for VAR1 OP VAR2, where OP in {"=", "!=", ">","<",">=","<="}
|
static boolean |
canBeTupled(IntVar... VARS)
Check whether the intension constraint to extension constraint substitution is enabled and can be achieved
|
static Tuples |
element(IntVar VALUE,
int[] TABLE,
IntVar INDEX,
int OFFSET)
Generate valid tuples for an element constraint : TABLE[INDEX-OFFSET] = VALUE
|
static Tuples |
eucl_div(IntVar DIVIDEND,
IntVar DIVISOR,
IntVar RESULT)
Generate valid tuples for euclidean division constraint: DIVIDEND / DIVISOR = RESULT, rounding towards 0
|
static Tuples |
generateTuples(TupleValidator filter,
boolean feasible,
int[]... doms)
A method that generates all tuples from a set of variables and stores (and returns) the valid tuples wrt to the
filter . |
static Tuples |
generateTuples(TupleValidator filter,
boolean feasible,
IntVar... vars)
A method that generates all tuples from a set of variables and stores (and returns) the valid tuples wrt to the
filter . |
static Tuples |
lex_chain_less_eq(IntVar... VARS)
Generate valid tuples for lexChainLessEq constraint
|
static Tuples |
lex_chain_less(IntVar... VARS)
Generate valid tuples for lexChainLess constraint
|
static Tuples |
maximum(IntVar VAR1,
IntVar VAR2,
IntVar MAX)
Generate valid tuples for minus constraint: MAX = max(VAR1,VAR2)
|
static Tuples |
minimum(IntVar VAR1,
IntVar VAR2,
IntVar MIN)
Generate valid tuples for minimum constraint: MIN = min(VAR1,VAR2)
|
static Tuples |
minus(IntVar VAR1,
IntVar VAR2,
IntVar RESULT)
Generate valid tuples for minus constraint: VAR1 - VAR2 = RESULT
|
static Tuples |
modulo(IntVar VAR1,
IntVar VAR2,
IntVar MOD)
Generate valid tuples for minimum constraint: VAR1 % VAR2 = MOD
|
static Tuples |
plus(IntVar VAR1,
IntVar VAR2,
IntVar RESULT)
Generate valid tuples for plus constraint: VAR1 + VAR2 = RESULT
|
static Tuples |
power(IntVar VAR1,
IntVar VAR2,
int POWER)
Generate valid tuples for absolute constraint: VAR1 = VAR2^POWER
|
static Tuples |
scalar(IntVar[] VARS,
int[] COEFFS,
IntVar SCALAR,
int SCALAR_COEFF)
Generate valid tuples for ∑i in |VARS|VARSi*COEFFSi OPERATOR SCALAR
|
static Tuples |
scalar(IntVar[] VARS,
int[] COEFFS,
String OPERATOR,
IntVar SCALAR,
int SCALAR_COEFF,
int CSTE)
Generate valid tuples for ∑i in |VARS|VARSi*COEFFSi OPERATOR SCALAR + CSTE
with OPERATOR in {"=", "!=", ">","<",">=","<="}
|
static Tuples |
square(IntVar VAR1,
IntVar VAR2)
Generate valid tuples for absolute constraint: VAR1 = VAR2^2
|
static Tuples |
sum(IntVar[] VARS,
String OPERATOR,
IntVar SUM,
int CSTE)
Generate valid tuples for ∑i in |VARS|VARSi OPERATOR SUM + CSTE
with OPERATOR in {"=", "!=", ">","<",">=","<="}
|
static Tuples |
times(IntVar VAR1,
IntVar VAR2,
IntVar RESULT)
Generate valid tuples for times constraint: VAR1 * VAR2 = RESULT
|
public static Tuples generateTuples(TupleValidator filter, boolean feasible, int[]... doms)
filter
.
One may keep in mind that tuples generation directly depends on the product of domain cardinality, but also on the algorithm defines in the filter.filter
- tuple validatorfeasible
- are tuples feasible (or infeasible)doms
- domainsfilter
public static Tuples generateTuples(TupleValidator filter, boolean feasible, IntVar... vars)
filter
.
One may keep in mind that tuples generation directly depends on the product of domain cardinality, but also on the algorithm defines in the filter.filter
- tuple validatorfeasible
- are tuples feasible (or infeasible)vars
- concerned variablesfilter
public static Tuples absolute(IntVar VAR1, IntVar VAR2)
public static Tuples arithm(IntVar VAR1, String OP, IntVar VAR2)
public static Tuples element(IntVar VALUE, int[] TABLE, IntVar INDEX, int OFFSET)
VALUE
- an integer variable taking its value in TABLETABLE
- an array of integer valuesINDEX
- an integer variable representing the value of VALUE in TABLEOFFSET
- offset matching INDEX.LB and TABLE[0] (Generally 0)public static Tuples power(IntVar VAR1, IntVar VAR2, int POWER)
public static Tuples square(IntVar VAR1, IntVar VAR2)
public static Tuples eucl_div(IntVar DIVIDEND, IntVar DIVISOR, IntVar RESULT)
public static Tuples maximum(IntVar VAR1, IntVar VAR2, IntVar MAX)
public static Tuples minimum(IntVar VAR1, IntVar VAR2, IntVar MIN)
public static Tuples modulo(IntVar VAR1, IntVar VAR2, IntVar MOD)
public static Tuples minus(IntVar VAR1, IntVar VAR2, IntVar RESULT)
public static Tuples plus(IntVar VAR1, IntVar VAR2, IntVar RESULT)
public static Tuples times(IntVar VAR1, IntVar VAR2, IntVar RESULT)
public static Tuples allDifferent(IntVar... VARS)
VARS
- concerned variablespublic static Tuples allEquals(IntVar... VARS)
VARS
- concerned variablespublic static Tuples lex_chain_less(IntVar... VARS)
VARS
- concerned variablespublic static Tuples lex_chain_less_eq(IntVar... VARS)
VARS
- concerned variablespublic static Tuples scalar(IntVar[] VARS, int[] COEFFS, IntVar SCALAR, int SCALAR_COEFF)
VARS
- concerned variablespublic static Tuples scalar(IntVar[] VARS, int[] COEFFS, String OPERATOR, IntVar SCALAR, int SCALAR_COEFF, int CSTE)
VARS
- concerned variablespublic static Tuples sum(IntVar[] VARS, String OPERATOR, IntVar SUM, int CSTE)
VARS
- concerned variablespublic static boolean canBeTupled(IntVar... VARS)
VARS
- list of variables involvedCopyright © 2018. All rights reserved.