I have a genetic algorithm in Java and I'm testing new types of selections.
For my tests I'm using the De Jong Half Sphere, my fitness function is $x^2 + y^2$.
The selection method used is Sigma scaling :
fscaled = S + (fraw −fmean)/2σ
Example using S=1
- a) Fitness = 5.927822124 | After Scaling = 0.900756351532265 | 17.74410992 % - b) Fitness = 3.431749363 | After Scaling = 0.5720553077878213 | 10.27246375 % - c) Fitness = 8.428103101 | After Scaling = 1.2300115637030606 | 25.22835279 % - d) Fitness = 2.548825744 | After Scaling = 0.455785494144756 | 7.629554871 % - e) Fitness = 13.07076638 | After Scaling = 1.841391282832097 | 39.12551868 %
I know that sigma scaling should be used with a proportional selection.
Is this the right way to implement this type of selection?
If I wanted to minimize the function instead of maximize it how can I accomplish it, should I subtract the mean to each fitness and get the percentage this way or is there a better way?