private int getNextBestFValueIndex(double[] f, int bestIndex) {
// Array may only contain 1 item (i.e. no alternative),
// therefore default to bestIndex initially
int lidx = bestIndex;
Double lowestSoFar = INFINITY;
for (int i = 0; i < f.length; i++) {
if (i != bestIndex && f[i] < lowestSoFar) {
lowestSoFar = f[i];
lidx = i;
}
}
return lidx;
}
}