Большое спасибо за Ваше исследование. Я также занимаюсь изучением этого алгоритма. А у меня вопрос по Вашему коду. На каком основании Вы берете куммулятивный минимум pd.DataFrame(aca.y_best_history).cummin()? Ведь если убрать его и посмотреть просто на длину маршрута для каждой итерации, то видим, что на каждой итерации маршрут может или увеличитьвася, или уменьшаться (то есть отклоняться в любую из сторон). Я к чему веду, что если брать pd.DataFrame(aca.y_best_history).cummin(), то не всегда понятно вроде как на какой итерации разумно было бы остановиться. Или я что-то не правильно понял?
Добрый день! Спасибо за проявленный к статье и коду интерес. Кумулятивный минимум находится путём сравнения каждого последующего элемента с предыдущим. Нет существенной разницы в том, брать кумулятивный минимум или не брать, время выполнения алгоритма практически не меняется. В коде программы он используется только для построения графиков.
Я тоже интересуюсь этим алгоритмом, написал свою библиотеку на php. https://github.com/mgrechanik/ant-colony-optimization Опытным путем выяснил что не классический алгоритм, а алгоритм с использованием Элитных муравьев, дает лучшие результаты, позволяет находить даже самые лучшие пути (если библиотека TSPLIB95 - данные и результаты, с ними сравниваем)
Большое спасибо за Ваше исследование. Я также занимаюсь изучением этого алгоритма. А у меня вопрос по Вашему коду. На каком основании Вы берете куммулятивный минимум pd.DataFrame(aca.y_best_history).cummin()? Ведь если убрать его и посмотреть просто на длину маршрута для каждой итерации, то видим, что на каждой итерации маршрут может или увеличитьвася, или уменьшаться (то есть отклоняться в любую из сторон). Я к чему веду, что если брать pd.DataFrame(aca.y_best_history).cummin(), то не всегда понятно вроде как на какой итерации разумно было бы остановиться. Или я что-то не правильно понял?
Добрый день! Спасибо за проявленный к статье и коду интерес.
Кумулятивный минимум находится путём сравнения каждого последующего элемента с предыдущим. Нет существенной разницы в том, брать кумулятивный минимум или не брать, время выполнения алгоритма практически не меняется. В коде программы он используется только для построения графиков.
Я тоже интересуюсь этим алгоритмом, написал свою библиотеку на php.
https://github.com/mgrechanik/ant-colony-optimization
Опытным путем выяснил что не классический алгоритм, а алгоритм с использованием Элитных муравьев, дает лучшие результаты, позволяет находить даже самые лучшие пути (если библиотека TSPLIB95 - данные и результаты, с ними сравниваем)