Integer variable evaluators

The list of integer variable evaluators.

Syntax


intVarEval domainSize()
intVarEval domainMax()
intVarEval domainMin()
intVarEval varImpact()
intVarEval varSuccessRate()
intVarEval varLocalImpact(int effort = -1)
intVarEval impactOfLastBranch()
intVarEval varIndex(intExprArray x, float defaultEval = -1)
intVarEval explicitVarEval(intExprArray x, floatArray evalArray, float defaultEval = 0)

Description

Each of the functions above creates an integer variable evaluator.

domainSize()
This evaluation is the number of elements in the current domain of the evaluated variable.
domainMax()
This evaluation is the maximum value in the current domain of the variable.
domainMin()
This evaluation is the minimum value in the current domain of the variable.
varImpact()
The evaluation is the average reduction of the search space observed so far for this variable. The greater the evaluation, the more space reduction this variable achieves when fixed. In general, it is a good strategy to start with a variable having the greatest impact in order to reduce the search space size.
varSuccessRate()
The evaluation is the the success rate of the variable. Assuming the evaluated variable has been fixed n times so far and this has resulted in f failures, the success rate is (n-f)/n.
varLocalImpact(int effort = -1)
The evaluation is the impact of the variable computed at the current node of the search tree. This computation is made by probing on values from the domain of the variable. The parameter effort indicates how much effort should be spent to compute this impact. When effort is equal to -1, every value of the domain is probed. Otherwise, the number of probes will increase as the effort value increases.
impactOfLastBranch()
The evaluation is a measure of the amount of domain reduction made by the last search branch on the evaluated variable. The evaluation ranges from 0 to 1.0. If the evaluation is close to zero then there was little domain reduction on the evaluated variable. If the value is close to one, the domain was reduced considerably.
varIndex(intExprArray x, float defaultEval = -1)
The evaluation is the index of the variable in the array x. That is, the evaluation of x[i] is i. If the variable does not appear in the array x then the evaluation is defaultEval. Array x may contain only integer variables.
explicitVarEval(intExprArray x, floatArray evalArray, float defaultEval)
The evaluations of variables in the array x are explicitly defined in the array evalArray; that is, the evaluation of x[i] is evalArray[i]. The evaluation of a variable that does not appear in the array x is defaultEval. Array x may contain only integer variables. Array evalArray must have the same size as array x.