Вход
Регистрация

ГА и кроссовер SBX

Друзья!
Обращаюсь прежде всего к тем, кто самостоятельно реализовывал SBX кроссовер или имел опыт в его применении. Дело в том, что прочитав статью Self-Adaptive Genetic Algorithms with Simulated Binary Crossover авторов Kalyanmoy Deb и Hans-Georg Beyer, где расписываются чудесные преимущества упомянутого оператора и он соспоставляется с самоадаптируемыми еволюционными стратегиями, я решил повторить подвиг авторов на своей реализации. Я тестировал на тех же функциях, что и авторы, аналогично отключил мутацию (установил ее вероятность в 0) и в остальном повторил условия экспериментов. Кстати, вопрос тем, кто читал статью - там не упомянута вероятность кроссовера, но я устанавливал ее в 1, т.е. новое поколение полностью генерируется кроссовером.
Однако результаты у меня получаются иные. Если на простой сферической функции результаты еще можно соотнести со статьей, то на мультимодальной функции SBX кроссовер ступорится в далекой от минимума точке, для 30 параметров она колеблется в районе от ~ 2 до 15. Это очень делеко от минимумов, полученных в статье (порядка 10^-4). В то же время BLX-0.5 кроссовер, который в статье выглядит совсем никак, у меня работает просто отлично, далеко уходя за пределы, полученные там любыми методами. Минимум, найденный BLX-кроссовером у меня составил порядка 10^-34.
Я не знаю, куда копать и почему получается такая разница. Вроде все формулы перепроверил 100 раз, условия эксперимента восстановил. У кого какие мысли по этому поводу?