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
ntimes so far and this has resulted inffailures, 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
effortindicates how much effort should be spent to compute this impact. Wheneffortis 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 ofx[i]isi. If the variable does not appear in the arrayxthen the evaluation isdefaultEval. Arrayxmay contain only integer variables. explicitVarEval(intExprArray x, floatArray evalArray, float defaultEval)-
The evaluations of variables in the array
xare explicitly defined in the arrayevalArray; that is, the evaluation ofx[i]isevalArray[i]. The evaluation of a variable that does not appear in the arrayxisdefaultEval. Arrayxmay contain only integer variables. ArrayevalArraymust have the same size as arrayx.