# Муравьиный алгоритм для решения задачи коммивояжера ## Пример ![Пример графа](http://media.geeksforgeeks.org/wp-content/uploads/Euler12-300x225.png) Команда запуска с cargo: `cargo run -q -- -a=1 -b=2 -e=0.1 -i=100 -n=20 -q=100 1-2=10 1-3=15 1-4=20 2-4=25 2-3=35 3-4=30` Команда запуска исходника: `ant-colony.exe -a=1 -b=2 -e=0.1 -i=100 -n=20 -q=100 1-2=10 1-3=15 1-4=20 2-4=25 2-3=35 3-4=30` Пример вывода: ``` Best path: 1 -> 2 -> 4 -> 3 -> 1 1-2=10 (pheromone: 307.674). Cumulative length: 10 2-4=25 (pheromone: 307.668). Cumulative length: 35 4-3=30 (pheromone: 307.681). Cumulative length: 65 3-1=15 (pheromone: 0.006). Cumulative length: 80 Total path length: . . . . . 80 ``` ## Аргументы запуска `cargo run -- --help` / `ant-colony.exe --help` 1. Alpha (double): `--alpha`, `-a` 2. Beta (double): `--beta`, `-b` 3. Испарение феромонов (double): `--evaporation`, `-e` 4. Количество итераций (usize): `--iterations`, `-i` 5. Количество муравьев (usize): `--ants`, `-n` 6. Q value (double): `-q` 7. Список ребер в формате `A-B=расстояние` _!! Стартовой точкой считается самая первая вершина в списке ребер (в примере - 1)_ Пример: `ant-colony.exe -a=1 -b=2 -e=0.1 -i=100 -n=20 -q=100 1-2=10 1-3=15 1-4=20 2-4=25 2-3=35 3-4=30` ## Запуск ### При наличии cargo (комплекта сборки для Rust): `cargo run -- <параметры> <ребра>`