HeuristicBiasedStochasticSampling.BiasFunction (Chips-n-Salsa - A Java library of customizable, hybridizable, iterative, parallel, stochastic, and self-adaptive local search algorithms)

Implement this interface to implement the bias function used by HBSS. Specifically, when making
a randomized decision among possible permutation elements to add to the permutation, HBSS
choose randomly but biased by a function of the ranks that would result if we were to sort the
elements in order by their heuristic values. If rank is the rank of permutation element e
according to the heuristic, then e will be added to the permutation with a probability
proportional to bias(rank). How you implement this depends upon how much confidence you have in
the specific heuristic you are randomizing. Just make sure that you remember that the lowest
rank, rank of 1, is the element perceived to be best by the heuristic. So the bias function
must map lower ranks to higher values, and the output must be positive.

rank - The rank of one of the elements under consideration for addition to the
permutation, where rank means position in a list of the elements if they were sorted by
heuristic value.