Генетический алгоритм Решение - Парето
Я реализую генетический алгоритм (NSGA2) в Scala. Он уже разработан, и я сейчас тестирую. Я использовал проблему SCH с n=1 (размер задачи). Я думаю, что получил правильное решение, но с чем-то, что я считаю странным. Я знаю, что решение этой проблемы [0,2]. Я получаю большинство решений в этом интервале, но некоторые решения находятся вне этого интервала (и имеют ненулевой ранг). Я уже увеличил количество поколений, но дал тот же результат.
Таким образом, я использую Популяцию 500, и около 400 геномов правильные, но последние 100 находятся за пределами правильного интервала [0,2] (И ранг отличается от 0).
Итак, решение, которое я получаю, это:
Если стереть последние решения (около 100), которые, как я знаю, неверны (за пределами [0,2]), я получу правильное средство Парето.
Это нормально, или это указывает на то, что что-то не так с моим кодом?