-
Notifications
You must be signed in to change notification settings - Fork 7
/
main_ACO.py
22 lines (18 loc) · 1.17 KB
/
main_ACO.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import yaml
from typing import Dict
from utils import search_algorithms, cost_functions
def main(config: Dict) -> None:
cost_function = cost_functions.calculate_distances
best_solution, best_cost = search_algorithms.aco(cost_function=cost_function, vertices=config['vertices'],
num_ants=config['num_ants'], max_itr=config['max_itr'],
max_itr_ant=config['max_itr_ant'], alpha=config['alpha'],
beta=config['beta'], pheromone_decay=config['pheromone_decay'],
starting_vertex=config['starting_vertex'], stopping_vertex=config['stopping_vertex'],
one_time_visit=config['one_time_visit'], visit_all_vertices=config['visit_all_vertices'],
TSP=config['TSP'])
print(f"Best Solution: {best_solution}")
print(f"Best Cost: {best_cost}")
if __name__ == '__main__':
with open('./config/config_ACO.yaml', 'r') as f:
config = yaml.safe_load(f)
main(config=config)