[Paradiseo-help] Bug in moeoFrontByFrontCrowdingDiversityAssignment.h ?

Arnaud Liefooghe arnaud.liefooghe at univ-lille1.fr
Mer 20 Avr 10:41:33 CEST 2016


Dear Martin,

Thank you very much for reporting this. You are definitely right, and the
patch you propose allows to solve this issue that was causing some
erroneous diversity values for populations with multiple non-dominated
fronts.

This has been corrected and this is now available in the current branch of
the Paradiseo Git repository.

Best wishes,
Arnaud Liefooghe, on behalf of the Paradiseo developers

On Tue, Mar 29, 2016 at 9:40 PM, Martin Stehlik <xstehl2 at fi.muni.cz> wrote:
> Dear ParadiseEO developes,
>
> I like and regularly use ParadisEO framework.
>
> However, I think there is a bug in
> moeoFrontByFrontCrowdingDiversityAssignment.h used in MOEO for widely
> used NSGA-II algorithm. The bug is related to wrong evaluation of the
> individuals for diversification in the population before selection in
> each generation.
>
> The erroneous part is the calculation of the distances to closest
> neighbors for each individual, because of incorrect sorting. The bug was
> found in the header file
> moeoFrontByFrontCrowdingDiversityAssignment.hinthefunctionsetDistances(),
line127:
> std::sort(sortedptrpop.begin(), sortedptrpop.end(), cmp2);. This sorting
> is performed consecutively for each of the objectives, but should be
> done only within the same “dominance” front (bounded by variables a and
> b). However, all the population is stored in sortedptrpop and since all
> the population is being sorted at line 127, this leads to a mixing of
> the individuals across different “dominance” fronts. Each time this
> sorting is called, it should be performed only on the corresponding part
> of the population containing individuals with the same dominance rank
> that is specified by interval <a;b>.
>
> I suggest to correct the discussed bug by the following:
> std::sort(sortedptrpop.begin()+a, sortedptrpop.begin()+b+1, cmp2);
>
> Could you confirm me my assumptions, please?
>
> Best regards,
> Martin Stehlik
> _______________________________________________
> Paradiseo-help mailing list
> Paradiseo-help at lists.gforge.inria.fr
> http://lists.gforge.inria.fr/mailman/listinfo/paradiseo-help
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.gforge.inria.fr/pipermail/paradiseo-help/attachments/20160420/cfd61621/attachment.html>


Plus d'informations sur la liste de diffusion Paradiseo-help