Всеволод Левитан a18a0bf2da Update 'ant-colony/README.md' 5 hónapja
..
src 546332be78 Ant-Colony Optimization 5 hónapja
Cargo.lock 546332be78 Ant-Colony Optimization 5 hónapja
Cargo.toml 546332be78 Ant-Colony Optimization 5 hónapja
README.md a18a0bf2da Update 'ant-colony/README.md' 5 hónapja
example.cmd 546332be78 Ant-Colony Optimization 5 hónapja
example.sh 546332be78 Ant-Colony Optimization 5 hónapja

README.md

Муравьиный алгоритм для решения задачи коммивояжера

Пример

Пример графа

Команда запуска с 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 -- <параметры> <ребра>