Генетический алгоритм кроссовер, дающий худшие результаты

Текущий используемый алгоритм — это генетический алгоритм, использующий мутацию и упорядоченный кроссовер. Мы изменили исходный алгоритм упорядоченного кроссовера, удалив депо (конечные точки), а затем выполнив кроссовер и добавив их после. Алгоритм родительского выбора использует выбор рулетки с

доброта = 1 / time_to_travel_route.

Без кроссовера алгоритм дает хорошие результаты (используя только мутации), но их добавление значительно ухудшает их. Вот ссылка на пост с похожей проблемой: Почему добавление кроссовера в мой генетический алгоритм дает мне худшие результаты?

Следуя совету, данному в посте, благость была изменена на

доброта = 1 / (time_to_travel_route) ^ n с переменным n

Однако это все равно не дало положительного результата.

Численность населения: пробовал от 100 до 10000
Условие остановки: пробовал от 10 поколений до 1000
Алгоритм фитнеса: пробовал 1 / (time_to_travel_route) ^ n с варьированием n от 1 до больших чисел

Алгоритм мутации: Алгоритм использует 2-опц. Все потомство мутировало. Алгоритм мутации пробует разные мутации, пока не найдет лучшее решение. Однако, если он найдет худшее решение, он может просто вернуть худшую популяцию с вероятностью p. Это сделано, чтобы добавить немного случайности и избежать локальных минимас. Мы варьировали р от 5 до 20 процентов.

1

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]