aco — это алгоритм оптимизации колоний муравьев (ACO) ISO C++ (метаэвристическая оптимизация, основанная на поведении муравьев) для задачи коммивояжера. Он постепенно выпускает несколько муравьев, одновременно обновляя концентрацию феромонов и рассчитывая лучший графический маршрут. В конце концов лучший маршрут выводится в командную строку.
aco был разработан несколько лет назад для академических и исследовательских целей на основе книги « Вычислительный интеллект: введение » (первое издание 2002 года) Андриса Энгельбрехта. Этот алгоритм доступен всем, кто интересуется методами ACO, поэтому не стесняйтесь изучать его и настраивать параметры.
aco был разработан с использованием стандартных библиотек и дополнительного файла Randoms.cpp
, реализующего методы генерации псевдослучайных чисел. Кроме того, программу можно легко скомпилировать и запустить с помощью следующей команды в командной строке, расположенной в src
:
g++ -Wall *.cpp -o aco; ./aco
. main
метод включен в файл main.cpp
, который содержит несколько параметров алгоритма ACO, которые можно изменить по своему усмотрению. Этот файл также программно определяет связи городов, которые в конечном итоге составляют граф города. Методы алгоритма ACO реализованы в классе ACO
, расположенном в файлах ACO.h
и ACO.cpp
.
@dfernan__