Integer value evaluators
The list of integer value evaluators.
Syntax
intValueEval value()
intValueEval valueImpact()
intValueEval valueSuccessRate()
intValueEval valueIndex(intArray valueArray, float defaultEval = -1)
intValueEval explicitValueEval(intArray valueArray, floatArray evalArray, float defaultEval = 0)
Description
Each of the above functions creates an integer value evaluator.
value()- The evaluation is the value itself. This is useful to define fixing strategies that choose the smallest or the largest value in a domain.
valueImpact()- The evaluation is the average reduction of the search space observed so far when fixing the selected variable to the evaluated value. The greater the evaluation, the more space reduction this fixing achieves. In general it is a good strategy to prefer a value having the smallest impact.
valueSuccessRate()-
The evaluation is the success rate of fixing the selected variable
to the evaluated value. Assuming the selected variable has been fixed to
the evaluated value
ntimes so far and this has resulted inffailures, the success rate is(n-f)/n. valueIndex(intArray valueEval, float defaultEval = -1)-
The evaluation is the index of the value in the array
valueArray. That is, the evaluation ofvalueArray[i]isi. If the value does not appear in the array,defaultEvalis the evaluation. explicitValueEval(intArray valueArray, floatArray evalArray, float defaultEval = 0)-
The evaluations of elements of
valueArrayare explicitly defined in the array of integer valuesevalArray; that is, the evaluation ofvalueArray[i]isevalArray[i]. The arraysvalueArrayandevalArraymust have the same size. The evaluation of a value that does not appear invalueArrayis given bydefaultEval.