The score is calculated by normalizing each optimization parameter on each instance to a value between 0 and 10. The formula to normalize is as follows:
((value - min) / (max - min)) * 10
where value = the optimization parameter value on the instance
min = the minimum value of the optimization parameter of all instances in the set to be ranked.
max = the maximum value of the optimization parameter of all instances in the set to be ranked.
Once the optimization parameter value on the instance has been normalized the weight and the high/low optimization is applied to get the final score of that parameter on the instance. This is done using the following calculation:
weight * (optimizeHigh ? normalizedValue : (10 - normalizedValue))
The final score for the instance is the sum of all the calculated optimization parameter scores.
There are few fence-post cases that need to be called out in this scoring:
The RankSelector will write the scores of the RankedItems along with their primary keys to the log if you enable the following category in your logger.xml file:
<category additivity="false" name="com.ca.clarity.ranking.RankSelector">
<priority value="debug"/>
<appender-ref ref="STDOUT"/>
</category>