Wrong sign of transformed fitness with maximization in GD
Bug #1399714 reported by
ariel
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Geneva Optimization |
Fix Released
|
Medium
|
Ruediger Berlich |
Bug Description
User reports:
We use "Mont Blanc" - Geneva 1.2.
If maximization is used, GD-Algorithm returns wrong sign of transformed fitness (plus sign).
(currentFitnessVec_ has allready right sign, but it is reversed after GOptimizableEnt
Raw-fitness is correct.
USESIGMOID is activated.
Line 436-437
Bug in GBaseGD.cpp, version 1.2, line 436
Changed in geneva: | |
importance: | Undecided → Medium |
status: | New → Incomplete |
status: | Incomplete → Confirmed |
Changed in geneva: | |
milestone: | none → 1.4.1 |
Changed in geneva: | |
status: | Confirmed → In Progress |
Changed in geneva: | |
status: | In Progress → Fix Committed |
Changed in geneva: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
E.g. in example 01_GSimpleOptimizer I see (after choosing maximization and the USESIGMOID-policy for the individual):
$ ./GSimpleOptimizer -a gd
Starting an optimization run with algorithm "Gradient Descent"
0: (-100 -909.09) // best past: (100 909.09)
[...]
I believe that this is a cosmetic issue -- Geneva internally "translates" maximization into minimization by changing the sign of the "real" fitness. Current fitness and cached fitness are apparently not treated alike. Will investigate.