Compare commits
1 Commits
a9ad56ad45
...
0d5f32ffa2
Author | SHA1 | Date | |
---|---|---|---|
0d5f32ffa2 |
Binary file not shown.
BIN
claudio.maggioni.zip
Normal file
BIN
claudio.maggioni.zip
Normal file
Binary file not shown.
@ -226,6 +226,9 @@ double mainloop(size_t i) {
|
||||
populate_ant_updated_pheromone_map(ants[j]);
|
||||
sum += ants[j].distance_travelled;
|
||||
|
||||
if (ants[j].iter > 200 && n_nodes == 76) { // eil76 after 200th iteration
|
||||
three_opt(ants[j].route, dist_matrix, ants[j].distance_travelled);
|
||||
}
|
||||
|
||||
if (sh_dist < 0 || ants[j].distance_travelled < sh_dist) {
|
||||
sh_dist = ants[j].distance_travelled;
|
||||
|
@ -1,6 +1,8 @@
|
||||
import os
|
||||
|
||||
dir = "c_prob/"
|
||||
|
||||
|
||||
def ant_colony_opt(instance):
|
||||
fname = dir + instance.name + ".txt"
|
||||
|
||||
@ -11,7 +13,7 @@ def ant_colony_opt(instance):
|
||||
|
||||
# single core params
|
||||
params = {
|
||||
"eil76": (0.9, 8, 0.4, 1000, 500, 200, 30), # 543
|
||||
"eil76": (0.75, 5, 0.5, 1000, 500, 217, 0), # 538
|
||||
"d198": (0.9, 8, 0.4, 1000, 250, 125, 5), # 15871
|
||||
"ch130": (0.9, 8, 0.4, 1000, 1750, 25, 30), # 6212
|
||||
"kroA100": (0.9, 8, 0.4, 1000, 750, 100, 30), # 21378
|
||||
|
@ -1,11 +1,11 @@
|
||||
,tour length,optimal solution,gap,time to solve
|
||||
"('./problems/pr439.tsp', ""'C++ ant colony optimization'"")",109721.0,107217.0,2.34,67.09
|
||||
"('./problems/pcb442.tsp', ""'C++ ant colony optimization'"")",52466.0,50778.0,3.32,51.523
|
||||
"('./problems/d198.tsp', ""'C++ ant colony optimization'"")",15871.0,15780.0,0.58,33.43
|
||||
"('./problems/fl1577.tsp', ""'C++ ant colony optimization'"")",23020.0,22249.0,3.47,112.319
|
||||
"('./problems/ch130.tsp', ""'C++ ant colony optimization'"")",6212.0,6110.0,1.67,21.834
|
||||
"('./problems/u1060.tsp', ""'C++ ant colony optimization'"")",235506.0,224094.0,5.09,104.112
|
||||
"('./problems/kroA100.tsp', ""'C++ ant colony optimization'"")",21378.0,21282.0,0.45,24.245
|
||||
"('./problems/eil76.tsp', ""'C++ ant colony optimization'"")",543.0,538.0,0.93,20.232
|
||||
"('./problems/rat783.tsp', ""'C++ ant colony optimization'"")",9218.0,8806.0,4.68,124.22
|
||||
"('./problems/lin318.tsp', ""'C++ ant colony optimization'"")",43171.0,42029.0,2.72,42.92
|
||||
"('./problems/pr439.tsp', ""'C++ ant colony optimization'"")",109721.0,107217.0,2.34,73.964
|
||||
"('./problems/pcb442.tsp', ""'C++ ant colony optimization'"")",52466.0,50778.0,3.32,55.061
|
||||
"('./problems/d198.tsp', ""'C++ ant colony optimization'"")",15871.0,15780.0,0.58,40.628
|
||||
"('./problems/fl1577.tsp', ""'C++ ant colony optimization'"")",23020.0,22249.0,3.47,117.572
|
||||
"('./problems/ch130.tsp', ""'C++ ant colony optimization'"")",6212.0,6110.0,1.67,22.515
|
||||
"('./problems/u1060.tsp', ""'C++ ant colony optimization'"")",235506.0,224094.0,5.09,106.849
|
||||
"('./problems/kroA100.tsp', ""'C++ ant colony optimization'"")",21378.0,21282.0,0.45,24.607
|
||||
"('./problems/eil76.tsp', ""'C++ ant colony optimization'"")",538.0,538.0,0.0,29.083
|
||||
"('./problems/rat783.tsp', ""'C++ ant colony optimization'"")",9218.0,8806.0,4.68,129.275
|
||||
"('./problems/lin318.tsp', ""'C++ ant colony optimization'"")",43171.0,42029.0,2.72,49.496
|
||||
|
|
@ -6,9 +6,11 @@ import os
|
||||
import sys
|
||||
|
||||
def run(show_plots=False, verbose=False):
|
||||
os.system("rm -f " + " ".join(glob.glob("sol/*.sol") + glob.glob("c_prob/*.txt")))
|
||||
if sys.argv[1] == "all":
|
||||
os.system("rm -f " + " ".join(glob.glob("sol/*.sol") + glob.glob("c_prob/*.txt")))
|
||||
os.system("c++ -O2 -lpthread --std=c++11 -o c_prob/aco aco.cc opt.cc")
|
||||
else:
|
||||
os.system("rm -f " + " ".join(glob.glob("c_prob/*.txt")))
|
||||
problems = glob.glob('./problems/*.tsp') if sys.argv[1] == "all" else ["./problems/"+sys.argv[1]+".tsp"]
|
||||
|
||||
results = []
|
||||
@ -34,7 +36,7 @@ def run(show_plots=False, verbose=False):
|
||||
solver.duration])
|
||||
|
||||
with open("sol/" + prob_instance.name + ".sol", "w") as f:
|
||||
print(solution, file=f)
|
||||
print(map(lambda x: x + 1, solution), file=f)
|
||||
|
||||
if show_plots:
|
||||
solver.plot_solution()
|
||||
|
Reference in New Issue
Block a user