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 n times so far and this has resulted in f failures, 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 of valueArray[i] is i. If the value does not appear in the array, defaultEval is the evaluation.
explicitValueEval(intArray valueArray, floatArray evalArray, float defaultEval = 0)
The evaluations of elements of valueArray are explicitly defined in the array of integer values evalArray; that is, the evaluation of valueArray[i] is evalArray[i]. The arrays valueArray and evalArray must have the same size. The evaluation of a value that does not appear in valueArray is given by defaultEval.