You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jul 16, 2024. It is now read-only.
As with this particular problem, all individuals converge to one point, the border solutions are identical and thus df == 0.0
In the branch "development_marcus" is a workaround for the crowding distance implemented.
It is still unclear, why this bug is causing the archipelago to crash but is not reproducible by using a single island only. Moreover, the method in serialization.h to catch nans and infs seems not to work as we are dealing with negative nans here.
The text was updated successfully, but these errors were encountered:
Originally created by mmarcusx on 2012-10-23 15:46:20.
Evolution on a specific problem makes the archipelago crash.
To reproduce: download the problem from the attachment and then try:
from PyGMO import *
import dtlz4 as dt4
alg = algorithm.nsga_II(gen=1)
archi = archipelago()
archi.push_back(island(alg, dt4.dtlz4(restrict=[1,2]), 12))
archi.evolve(400)
archi[0]
(If you do not see the error, try another archi.evolve(400))
Stepping inside with pdb and checking state[1] reveals "-nan" values in the middle of all these numbers.
These -nans are somehow correlated to nans produced in population.cpp, in the method "update_crowding_d":
double df = get_individual(I[lastidx]).cur_f[i] - get_individual(I[0]).cur_f[i];
m_crowding_d[I[j]] += (get_individual(I[j+1]).cur_f[i] - get_individual(I[j-1]).cur_f[i])/df;
As with this particular problem, all individuals converge to one point, the border solutions are identical and thus df == 0.0
In the branch "development_marcus" is a workaround for the crowding distance implemented.
It is still unclear, why this bug is causing the archipelago to crash but is not reproducible by using a single island only. Moreover, the method in serialization.h to catch nans and infs seems not to work as we are dealing with negative nans here.
The text was updated successfully, but these errors were encountered: