Modifier and Type | Method and Description |
---|---|
static AbstractStrategy<IntVar> |
activity(IntVar[] VARS,
double GAMMA,
double DELTA,
int ALPHA,
double RESTART,
int FORCE_SAMPLING,
long SEED)
Deprecated.
|
static AbstractStrategy<IntVar> |
activity(IntVar[] VARS,
double GAMMA,
double DELTA,
int ALPHA,
int FORCE_SAMPLING,
long SEED)
Create an Activity based search strategy.
|
static AbstractStrategy<IntVar> |
activity(IntVar[] VARS,
long SEED)
Create an Activity based search strategy.
|
static DecisionOperator<IntVar> |
assign()
Assign the selected variable to the selected value
e.g.
|
static IntStrategy |
custom(VariableSelector<IntVar> VAR_SELECTOR,
IntValueSelector VAL_SELECTOR,
DecisionOperator<IntVar> DEC_OPERATOR,
IntVar... VARS)
Builds your own search strategy
|
static IntStrategy |
custom(VariableSelector<IntVar> VAR_SELECTOR,
IntValueSelector VAL_SELECTOR,
IntVar... VARS)
Builds your own assignment strategy :
Selects a variable X and a value V to make the decision X = V.
|
static AbstractStrategy<IntVar> |
domOverWDeg(IntVar[] VARS,
long SEED)
Assignment strategy which selects a variable according to
DomOverWDeg
and assign it to its lower bound |
static AbstractStrategy<IntVar> |
domOverWDeg(IntVar[] VARS,
long SEED,
IntValueSelector VAL_SELECTOR)
Assignment strategy which selects a variable according to
DomOverWDeg
and assign it to the selected value |
static AbstractStrategy<IntVar> |
generateAndTest(Solver SOLVER)
Create a Generate-And-Test search strategy which evaluate each remaining complete instantiation and
check its satisfiability.
|
static AbstractStrategy<IntVar> |
generateAndTest(Solver SOLVER,
AbstractStrategy<IntVar> mainStrategy,
int searchSpaceLimit)
Create a Generate-And-Test search strategy which evaluate each remaining complete instantiation and
check its satisfiability.
|
static AbstractStrategy<IntVar> |
impact(IntVar[] VARS,
int ALPHA,
int SPLIT,
int NODEIMPACT,
long SEED,
boolean INITONLY)
Create an Impact-based search strategy.
|
static AbstractStrategy<IntVar> |
impact(IntVar[] VARS,
long SEED)
Create an Impact-based search strategy.
|
static AbstractStrategy |
lastConflict(Solver SOLVER)
Use the last conflict heuristic as a pluggin to improve a former search heuristic STRAT
|
static AbstractStrategy |
lastConflict(Solver SOLVER,
AbstractStrategy STRAT)
Use the last conflict heuristic as a pluggin to improve a former search heuristic STRAT
|
static AbstractStrategy |
lastKConflicts(Solver SOLVER,
int K,
AbstractStrategy STRAT)
Use the last conflict heuristic as a pluggin to improve a former search heuristic STRAT
Considers the K last conflicts
|
static IntStrategy |
lexico_LB(IntVar... VARS)
Assigns the first non-instantiated variable to its lower bound.
|
static IntStrategy |
lexico_Neq_LB(IntVar... VARS)
Removes the lower bound value from the domain of the first non-instantiated variable
|
static IntStrategy |
lexico_Split(IntVar... VARS)
Splits the domain of the first non-instantiated variable.
|
static IntStrategy |
lexico_UB(IntVar... VARS)
Assigns the first non-instantiated variable to its upper bound.
|
static VariableSelector<IntVar> |
lexico_var_selector()
Selects the first non-instantiated variable, to branch on it.
|
static IntValueSelector |
max_value_selector()
Selects the variable upper bound
|
static IntStrategy |
maxDom_Split(IntVar... VARS)
Splits the domain of the variable of largest domain
|
static VariableSelector<IntVar> |
maxDomainSize_var_selector()
Selects the non-instantiated variable of largest domain, to branch on it.
|
static IntStrategy |
maxReg_LB(IntVar... VARS)
Assigns the non-instantiated variable of maximum regret to its lower bound.
|
static VariableSelector<IntVar> |
maxRegret_var_selector()
Selects the non-instantiated variable with the largest difference between the two smallest values in its domain, to branch on it.
|
static IntValueSelector |
mid_value_selector()
Selects a value at the middle between the variable lower and upper bounds
BEWARE: this should not be used within assignments and/or value removals if variables
have a bounded domain.
|
static IntValueSelector |
min_value_selector()
Selects the variable lower bound
|
static IntStrategy |
minDom_LB(IntVar... VARS)
Assigns the non-instantiated variable of smallest domain size to its lower bound.
|
static IntStrategy |
minDom_MidValue(IntVar... VARS)
Assigns the non-instantiated variable of smallest domain size to a value at the middle of its domain.
|
static IntStrategy |
minDom_UB(IntVar... VARS)
Assigns the non-instantiated variable of smallest domain size to its upper bound.
|
static VariableSelector<IntVar> |
minDomainSize_var_selector()
Selects the non-instantiated variable of smallest domain, to branch on it.
|
static IntStrategy |
random_bound(IntVar[] VARS)
Randomly selects a variable and assigns it to a value randomly taken in {LB,UB}
i.e. it fixes the variable to one of its bounds
Uses fixed seed 0 by default
|
static IntStrategy |
random_bound(IntVar[] VARS,
long SEED)
Randomly selects a variable and assigns it to a value randomly taken in {LB,UB}
i.e. it fixes the variable to one of its bounds
|
static IntValueSelector |
random_value_selector(long SEED)
Selects randomly a value in the variable domain.
|
static IntStrategy |
random_value(IntVar[] VARS)
Randomly selects a variable and assigns it to a value randomly taken in [LB,UB]
Uses fixed seed 0 by default
|
static IntStrategy |
random_value(IntVar[] VARS,
long SEED)
Randomly selects a variable and assigns it to a value randomly taken in [LB,UB]
|
static VariableSelector<IntVar> |
random_var_selector(long SEED)
Selects randomly a non-instantiated variable to branch on
|
static IntValueSelector |
randomBound_value_selector(long SEED)
Selects randomly either the lower bound or the upper bound of the variable
Takes an arbitrary value in {LB,UB}
|
static DecisionOperator<IntVar> |
remove()
Remove the selected value from the selected variable domain
e.g.
|
static DecisionOperator<IntVar> |
reverse_split()
Split the domain of the selected variable at the selected value, by updating the lower bound.
|
static AbstractStrategy |
sequencer(AbstractStrategy... strategies)
Build a sequence of
AbstractStrategy . |
static DecisionOperator<IntVar> |
split()
Split the domain of the selected variable at the selected value, by updating the upper bound.
|
public static VariableSelector<IntVar> lexico_var_selector()
public static VariableSelector<IntVar> random_var_selector(long SEED)
SEED
- random seedpublic static VariableSelector<IntVar> minDomainSize_var_selector()
public static VariableSelector<IntVar> maxDomainSize_var_selector()
public static VariableSelector<IntVar> maxRegret_var_selector()
public static IntValueSelector min_value_selector()
public static IntValueSelector mid_value_selector()
public static IntValueSelector max_value_selector()
public static IntValueSelector randomBound_value_selector(long SEED)
public static IntValueSelector random_value_selector(long SEED)
public static DecisionOperator<IntVar> assign()
public static DecisionOperator<IntVar> remove()
public static DecisionOperator<IntVar> split()
public static DecisionOperator<IntVar> reverse_split()
public static IntStrategy custom(VariableSelector<IntVar> VAR_SELECTOR, IntValueSelector VAL_SELECTOR, DecisionOperator<IntVar> DEC_OPERATOR, IntVar... VARS)
VAR_SELECTOR
- defines how to select a variable to branch on.VAL_SELECTOR
- defines how to select a value in the domain of the selected variableDEC_OPERATOR
- defines how to modify the domain of the selected variable with the selected valueVARS
- variables to branch onpublic static IntStrategy custom(VariableSelector<IntVar> VAR_SELECTOR, IntValueSelector VAL_SELECTOR, IntVar... VARS)
VAR_SELECTOR
- defines how to select a variable to branch on.VAL_SELECTOR
- defines how to select a value in the domain of the selected variableVARS
- variables to branch onpublic static IntStrategy lexico_LB(IntVar... VARS)
VARS
- list of variablespublic static IntStrategy lexico_Neq_LB(IntVar... VARS)
VARS
- list of variablespublic static IntStrategy lexico_Split(IntVar... VARS)
VARS
- list of variablespublic static IntStrategy lexico_UB(IntVar... VARS)
VARS
- list of variablespublic static IntStrategy minDom_LB(IntVar... VARS)
VARS
- list of variablespublic static IntStrategy minDom_MidValue(IntVar... VARS)
VARS
- list of variablespublic static IntStrategy maxDom_Split(IntVar... VARS)
VARS
- list of variablespublic static IntStrategy minDom_UB(IntVar... VARS)
VARS
- list of variablespublic static IntStrategy maxReg_LB(IntVar... VARS)
VARS
- list of variablespublic static IntStrategy random_bound(IntVar[] VARS, long SEED)
VARS
- list of variablesSEED
- a seed for randompublic static IntStrategy random_bound(IntVar[] VARS)
VARS
- list of variablespublic static IntStrategy random_value(IntVar[] VARS, long SEED)
VARS
- list of variablesSEED
- a seed for randompublic static IntStrategy random_value(IntVar[] VARS)
VARS
- list of variablespublic static AbstractStrategy sequencer(AbstractStrategy... strategies)
AbstractStrategy
.
The first strategy in parameter is first called to compute a decision, if possible.
Otherwise, the second strategy is called, ...
And so on, until the last one.strategies
- a list of strategiespublic static AbstractStrategy<IntVar> domOverWDeg(IntVar[] VARS, long SEED, IntValueSelector VAL_SELECTOR)
DomOverWDeg
and assign it to the selected valueVARS
- list of variablesSEED
- random seedVAL_SELECTOR
- heuristic to selected the value to assign to the selected variablepublic static AbstractStrategy<IntVar> domOverWDeg(IntVar[] VARS, long SEED)
DomOverWDeg
and assign it to its lower boundVARS
- list of variablesSEED
- random seedpublic static AbstractStrategy<IntVar> activity(IntVar[] VARS, double GAMMA, double DELTA, int ALPHA, int FORCE_SAMPLING, long SEED)
"Activity-Based Search for Black-Box Constraint Propagramming Solver",
Laurent Michel and Pascal Van Hentenryck, CPAIOR12.
VARS
- collection of variablesGAMMA
- aging parametersDELTA
- for interval domain size estimationALPHA
- forget parameterFORCE_SAMPLING
- minimal number of iteration for sampling phaseSEED
- the seed for random@Deprecated public static AbstractStrategy<IntVar> activity(IntVar[] VARS, double GAMMA, double DELTA, int ALPHA, double RESTART, int FORCE_SAMPLING, long SEED)
"Activity-Based Search for Black-Box Constraint Propagramming Solver",
Laurent Michel and Pascal Van Hentenryck, CPAIOR12.
VARS
- collection of variablesGAMMA
- aging parametersDELTA
- for interval domain size estimationALPHA
- forget parameterRESTART
- restart parameter -- not usedFORCE_SAMPLING
- minimal number of iteration for sampling phaseSEED
- the seed for randomactivity(org.chocosolver.solver.variables.IntVar[], double, double, int, int, long)
public static AbstractStrategy<IntVar> activity(IntVar[] VARS, long SEED)
VARS
- collection of variablesSEED
- the seed for randompublic static AbstractStrategy<IntVar> impact(IntVar[] VARS, int ALPHA, int SPLIT, int NODEIMPACT, long SEED, boolean INITONLY)
VARS
- variables of the problem (should be integers)ALPHA
- aging parameterSPLIT
- split parameter for subdomains computationNODEIMPACT
- force update of impacts every nodeImpact
nodes. Set value to 0 to avoid using it.SEED
- a seed for randomINITONLY
- only apply the initialisation phase, do not update impact thereafterpublic static AbstractStrategy<IntVar> impact(IntVar[] VARS, long SEED)
VARS
- variables of the problem (should be integers)SEED
- a seed for randompublic static AbstractStrategy lastConflict(Solver SOLVER)
SOLVER
- the solverpublic static AbstractStrategy lastConflict(Solver SOLVER, AbstractStrategy STRAT)
SOLVER
- the solverSTRAT
- the main strategypublic static AbstractStrategy lastKConflicts(Solver SOLVER, int K, AbstractStrategy STRAT)
SOLVER
- the solverSTRAT
- the main strategypublic static AbstractStrategy<IntVar> generateAndTest(Solver SOLVER)
SOLVER
- the solvergenerateAndTest(org.chocosolver.solver.Solver, org.chocosolver.solver.search.strategy.strategy.AbstractStrategy, int)
public static AbstractStrategy<IntVar> generateAndTest(Solver SOLVER, AbstractStrategy<IntVar> mainStrategy, int searchSpaceLimit)
searchSpaceLimit
,
and a main strategy otherwise.SOLVER
- the solvermainStrategy
- the strategy to apply firstsearchSpaceLimit
- the size of search space which triggers the Generate-And-Test strategy.generateAndTest(org.chocosolver.solver.Solver)
Copyright © 2015. All rights reserved.