From 2933b4c887954e164a9844a9476d87eabe1c2183 Mon Sep 17 00:00:00 2001 From: kellen Date: Sun, 16 Feb 2020 22:21:24 +0800 Subject: [PATCH] complete init1 --- .idea/workspace.xml | 197 ++++++++------- ACO.py | 187 ++++++++++++++ GA.py | 2 + PSO.py | 235 ++++++++++++++++++ README.md | 38 +++ SA.py | 2 - SOM.py | 206 ++++++++++++++++ TS.py | 169 +++++++++++++ data/bayg29.tsp.gz | Bin 1196 -> 0 bytes data/berlin52.tsp | 60 ----- data/berlin52.tsp.gz | Bin 472 -> 0 bytes data/burma14.tsp | 24 -- data/burma14.tsp.gz | Bin 307 -> 0 bytes data/ch130.tsp | 137 ----------- data/ch130.tsp.gz | Bin 2475 -> 0 bytes data/ch150.tsp | 157 ------------ data/ch150.tsp.gz | Bin 2847 -> 0 bytes data/gr96.tsp | 104 -------- data/gr96.tsp.gz | Bin 899 -> 0 bytes data/kroA100.tsp | 107 -------- data/kroA100.tsp.gz | Bin 792 -> 0 bytes data/kroA200.tsp | 207 ---------------- data/kroA200.tsp.gz | Bin 1436 -> 0 bytes data/kroB200.tsp | 207 ---------------- data/kroB200.tsp.gz | Bin 1434 -> 0 bytes data/pcb442.tsp | 449 ---------------------------------- data/pcb442.tsp.gz | Bin 2337 -> 0 bytes data/pr226.tsp | 233 ------------------ data/pr226.tsp.gz | Bin 1162 -> 0 bytes data/pr76.tsp | 83 ------- data/pr76.tsp.gz | Bin 533 -> 0 bytes data/rat99.tsp | 106 -------- data/rat99.tsp.gz | Bin 639 -> 0 bytes data/st70.tsp.gz | Bin 471 -> 0 bytes data/tsp225.tsp | 232 ------------------ data/tsp225.tsp.gz | Bin 1244 -> 0 bytes foa_2opt_greedy.py | 261 -------------------- foa_2opt_greedy_ga.py | 386 ----------------------------- foa_2opt_greedy_morebest.py | 232 ------------------ foa_2opt_greedy_multi_best.py | 234 ------------------ foa_3opt_greedy.py | 269 -------------------- foa_3opt_greedy_bak.py | 225 ----------------- foa_greedy_single_GA.py | 297 ---------------------- foa_shuffle_part.py | 235 ------------------ foa_shufllepart_greedy.py | 187 -------------- img/ACO.png | Bin 0 -> 71574 bytes img/PSO.png | Bin 0 -> 83346 bytes img/SI.png | Bin 0 -> 83147 bytes img/SOM.png | Bin 0 -> 81802 bytes img/TS.png | Bin 0 -> 83918 bytes 50 files changed, 951 insertions(+), 4517 deletions(-) create mode 100755 ACO.py create mode 100755 PSO.py create mode 100644 README.md create mode 100755 SOM.py create mode 100755 TS.py delete mode 100755 data/bayg29.tsp.gz delete mode 100755 data/berlin52.tsp delete mode 100755 data/berlin52.tsp.gz delete mode 100755 data/burma14.tsp delete mode 100755 data/burma14.tsp.gz delete mode 100755 data/ch130.tsp delete mode 100755 data/ch130.tsp.gz delete mode 100755 data/ch150.tsp delete mode 100755 data/ch150.tsp.gz delete mode 100755 data/gr96.tsp delete mode 100755 data/gr96.tsp.gz delete mode 100755 data/kroA100.tsp delete mode 100755 data/kroA100.tsp.gz delete mode 100755 data/kroA200.tsp delete mode 100755 data/kroA200.tsp.gz delete mode 100755 data/kroB200.tsp delete mode 100755 data/kroB200.tsp.gz delete mode 100755 data/pcb442.tsp delete mode 100755 data/pcb442.tsp.gz delete mode 100755 data/pr226.tsp delete mode 100755 data/pr226.tsp.gz delete mode 100755 data/pr76.tsp delete mode 100755 data/pr76.tsp.gz delete mode 100755 data/rat99.tsp delete mode 100755 data/rat99.tsp.gz delete mode 100755 data/st70.tsp.gz delete mode 100755 data/tsp225.tsp delete mode 100755 data/tsp225.tsp.gz delete mode 100755 foa_2opt_greedy.py delete mode 100755 foa_2opt_greedy_ga.py delete mode 100755 foa_2opt_greedy_morebest.py delete mode 100755 foa_2opt_greedy_multi_best.py delete mode 100755 foa_3opt_greedy.py delete mode 100755 foa_3opt_greedy_bak.py delete mode 100755 foa_greedy_single_GA.py delete mode 100755 foa_shuffle_part.py delete mode 100755 foa_shufllepart_greedy.py create mode 100644 img/ACO.png create mode 100644 img/PSO.png create mode 100644 img/SI.png create mode 100644 img/SOM.png create mode 100644 img/TS.png diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 62019c0..0672e7e 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,9 +2,27 @@ - - + + + + + + + + + + + + + + + + + + + + - - + + - + - + - + - + - + + + + - - - @@ -183,13 +201,27 @@ - + + + + + @@ -199,64 +231,72 @@ - + + - + - + + - + - + + - + - + + - + - + + - + - + + - + - + + - + - + + - + @@ -264,63 +304,23 @@ - + - + - + - + - - file://$PROJECT_DIR$/foa_2opt_greedy_ga.py - 290 - - - file://$PROJECT_DIR$/foa_shuffle_part.py - 154 - - - file://$PROJECT_DIR$/foa_2opt_greedy.py - 152 - - - file://$PROJECT_DIR$/foa_2opt_greedy_morebest.py - 130 - - - file://$PROJECT_DIR$/foa_3opt_greedy.py - 160 - - - file://$PROJECT_DIR$/foa_3opt_greedy.py - 138 - - - file://$PROJECT_DIR$/foa_3opt_greedy.py - 167 - - - file://$PROJECT_DIR$/foa_2opt_greedy.py - 118 - file://$PROJECT_DIR$/GA.py 122 @@ -346,6 +346,31 @@ 97 + + file://$PROJECT_DIR$/ACO.py + 102 + + + file://$PROJECT_DIR$/PSO.py + 177 + + + file://$PROJECT_DIR$/PSO.py + 88 + + + file://$PROJECT_DIR$/PSO.py + 93 + + + file://$PROJECT_DIR$/TS.py + 106 + @@ -359,20 +384,26 @@ + + + + + + + - - - + - - + + + \ No newline at end of file diff --git a/ACO.py b/ACO.py new file mode 100755 index 0000000..b6cd2a0 --- /dev/null +++ b/ACO.py @@ -0,0 +1,187 @@ +import random +import math +import numpy as np +import matplotlib.pyplot as plt + + +class ACO(object): + def __init__(self, num_city, data): + self.m = 30 # 蚂蚁数量 + self.alpha = 1 # 信息素重要程度因子 + self.beta = 5 # 启发函数重要因子 + self.rho = 0.1 # 信息素挥发因子 + self.Q = 1 # 常量系数 + self.num_city = num_city # 城市规模 + self.location = data # 城市坐标 + self.Tau = np.ones([num_city, num_city]) # 信息素矩阵 + self.Table = [[0 for _ in range(num_city)] for _ in range(self.m)] # 生成的蚁群 + self.iter = 1 + self.iter_max = 500 + self.dis_mat = self.compute_dis_mat(num_city, self.location) # 计算城市之间的距离矩阵 + self.Eta = 10. / self.dis_mat # 启发式函数 + self.paths = None # 蚁群中每个个体的长度 + # 存储存储每个温度下的最终路径,画出收敛图 + self.iter_x = [] + self.iter_y = [] + + # 轮盘赌选择 + def rand_choose(self, p): + x = np.random.rand() + for i, t in enumerate(p): + x -= t + if x <= 0: + break + return i + + # 生成蚁群 + def get_ants(self, num_city): + for i in range(self.m): + start = np.random.randint(num_city - 1) + self.Table[i][0] = start + unvisit = list([x for x in range(num_city) if x != start]) + current = start + j = 1 + while len(unvisit) != 0: + P = [] + # 通过信息素计算城市之间的转移概率 + for v in unvisit: + P.append(self.Tau[current][v] ** self.alpha * self.Eta[current][v] ** self.beta) + P_sum = sum(P) + P = [x / P_sum for x in P] + # 轮盘赌选择一个一个城市 + index = self.rand_choose(P) + current = unvisit[index] + self.Table[i][j] = current + unvisit.remove(current) + j += 1 + + # 计算不同城市之间的距离 + def compute_dis_mat(self, num_city, location): + dis_mat = np.zeros((num_city, num_city)) + for i in range(num_city): + for j in range(num_city): + if i == j: + dis_mat[i][j] = np.inf + continue + a = location[i] + b = location[j] + tmp = np.sqrt(sum([(x[0] - x[1]) ** 2 for x in zip(a, b)])) + dis_mat[i][j] = tmp + return dis_mat + + # 计算一条路径的长度 + def compute_pathlen(self, path, dis_mat): + a = path[0] + b = path[-1] + result = dis_mat[a][b] + for i in range(len(path) - 1): + a = path[i] + b = path[i + 1] + result += dis_mat[a][b] + return result + + # 计算一个群体的长度 + def compute_paths(self, paths): + result = [] + for one in paths: + length = self.compute_pathlen(one, self.dis_mat) + result.append(length) + return result + + # 更新信息素 + def update_Tau(self): + delta_tau = np.zeros([self.num_city, self.num_city]) + paths = self.compute_paths(self.Table) + for i in range(self.m): + for j in range(self.num_city - 1): + a = self.Table[i][j] + b = self.Table[i][j + 1] + delta_tau[a][b] = delta_tau[a][b] + self.Q / paths[i] + a = self.Table[i][0] + b = self.Table[i][-1] + delta_tau[a][b] = delta_tau[a][b] + self.Q / paths[i] + self.Tau = (1 - self.rho) * self.Tau + delta_tau + + def aco(self): + best_lenth = math.inf + best_path = None + for cnt in range(self.iter_max): + # 生成新的蚁群 + self.get_ants(self.num_city) # out>>self.Table + self.paths = self.compute_paths(self.Table) + # 取该蚁群的最优解 + tmp_lenth = min(self.paths) + tmp_path = self.Table[self.paths.index(tmp_lenth)] + # 可视化初始的路径 + if cnt == 0: + init_show = self.location[tmp_path] + init_show = np.vstack([init_show, init_show[0]]) + plt.subplot(2, 2, 2) + plt.title('init best result') + plt.plot(init_show[:, 0], init_show[:, 1]) + # 更新最优解 + if tmp_lenth < best_lenth: + best_lenth = tmp_lenth + best_path = tmp_path + # 更新信息素 + self.update_Tau() + + # 保存结果 + self.iter_x.append(cnt) + self.iter_y.append(best_lenth) + print(cnt) + return best_lenth, best_path + + def run(self): + best_length, best_path = self.aco() + plt.subplot(2, 2, 4) + plt.title('convergence curve') + plt.plot(self.iter_x, self.iter_y) + return self.location[best_path], best_length + + +# 读取数据 +def read_tsp(path): + lines = open(path, 'r').readlines() + assert 'NODE_COORD_SECTION\n' in lines + index = lines.index('NODE_COORD_SECTION\n') + data = lines[index + 1:-1] + tmp = [] + for line in data: + line = line.strip().split(' ') + if line[0] == 'EOF': + continue + tmpline = [] + for x in line: + if x == '': + continue + else: + tmpline.append(float(x)) + if tmpline == []: + continue + tmp.append(tmpline) + data = tmp + return data + + +data = read_tsp('data/st70.tsp') + +data = np.array(data) +plt.suptitle('ACO in st70.tsp') +data = data[:, 1:] +plt.subplot(2, 2, 1) +plt.title('raw data') +# 加上一行因为会回到起点 +show_data = np.vstack([data, data[0]]) +plt.plot(data[:, 0], data[:, 1]) + +aco = ACO(num_city=data.shape[0], data=data.copy()) +Best_path, Best = aco.run() +print(Best) +plt.subplot(2, 2, 3) + + +Best_path = np.vstack([Best_path, Best_path[0]]) +plt.plot(Best_path[:, 0], Best_path[:, 1]) +plt.title('result') +plt.show() diff --git a/GA.py b/GA.py index 3783c43..b2b4b42 100755 --- a/GA.py +++ b/GA.py @@ -205,6 +205,8 @@ def run(self): if tmp_best_score > best_score: best_score = tmp_best_score BEST_LIST = tmp_best_one + print(i) + print(1./best_score) plt.subplot(2, 2, 4) plt.title('convergence curve') plt.plot(self.iter_x, self.iter_y) diff --git a/PSO.py b/PSO.py new file mode 100755 index 0000000..6ae4a75 --- /dev/null +++ b/PSO.py @@ -0,0 +1,235 @@ +import random +import math +import numpy as np +import matplotlib.pyplot as plt + + +class PSO(object): + def __init__(self, num_city, data): + self.iter_max = 500 # 迭代数目 + self.num = 150 # 粒子数目 + self.num_city = num_city # 城市数 + self.location = data # 城市的位置坐标 + # 计算距离矩阵 + self.dis_mat = self.compute_dis_mat(num_city, self.location) # 计算城市之间的距离矩阵 + # 初始化所有粒子 + self.particals = self.random_init(self.num, num_city) + self.lenths = self.compute_paths(self.particals) + # 得到初始化群体的最优解 + init_l = min(self.lenths) + init_index = self.lenths.index(init_l) + init_path = self.particals[init_index] + # 画出初始的路径图 + init_show = self.location[init_path] + plt.subplot(2, 2, 2) + plt.title('init best result') + plt.plot(init_show[:, 0], init_show[:, 1]) + # 记录每个个体的当前最优解 + self.local_best = self.particals + self.local_best_len = self.lenths + # 记录当前的全局最优解,长度是iteration + self.global_best = init_path + self.global_best_len = init_l + # 输出解 + self.best_l = self.global_best_len + self.best_path = self.global_best + # 存储每次迭代的结果,画出收敛图 + self.iter_x = [0] + self.iter_y = [init_l] + + # 随机初始化 + def random_init(self, num_total, num_city): + tmp = [x for x in range(num_city)] + result = [] + for i in range(num_total): + random.shuffle(tmp) + result.append(tmp.copy()) + return result + + # 计算不同城市之间的距离 + def compute_dis_mat(self, num_city, location): + dis_mat = np.zeros((num_city, num_city)) + for i in range(num_city): + for j in range(num_city): + if i == j: + dis_mat[i][j] = np.inf + continue + a = location[i] + b = location[j] + tmp = np.sqrt(sum([(x[0] - x[1]) ** 2 for x in zip(a, b)])) + dis_mat[i][j] = tmp + return dis_mat + + # 计算一条路径的长度 + def compute_pathlen(self, path, dis_mat): + a = path[0] + b = path[-1] + result = dis_mat[a][b] + for i in range(len(path) - 1): + a = path[i] + b = path[i + 1] + result += dis_mat[a][b] + return result + + # 计算一个群体的长度 + def compute_paths(self, paths): + result = [] + for one in paths: + length = self.compute_pathlen(one, self.dis_mat) + result.append(length) + return result + + # 评估当前的群体 + def eval_particals(self): + min_lenth = min(self.lenths) + min_index = self.lenths.index(min_lenth) + cur_path = self.particals[min_index] + # 更新当前的全局最优 + if min_lenth < self.global_best_len: + self.global_best_len = min_lenth + self.global_best = cur_path + # 更新当前的个体最优 + for i, l in enumerate(self.lenths): + if l < self.local_best_len[i]: + self.local_best_len[i] = l + self.local_best[i] = self.particals[i] + + # 粒子交叉 + def cross(self, cur, best): + one = cur.copy() + l = [t for t in range(self.num_city)] + t = np.random.choice(l,2) + x = min(t) + y = max(t) + cross_part = best[x:y] + tmp = [] + for t in one: + if t in cross_part: + continue + tmp.append(t) + # 两种交叉方法 + one = tmp + cross_part + l1 = self.compute_pathlen(one, self.dis_mat) + one2 = cross_part + tmp + l2 = self.compute_pathlen(one2, self.dis_mat) + if l1 self.taboo_size: + self.taboo = self.taboo[1:] + self.iter_x.append(cnt) + self.iter_y.append(self.best_length) + print(cnt, self.best_length) + print(self.best_length) + + def run(self): + self.ts() + plt.subplot(2, 2, 4) + plt.title('convergence curve') + plt.plot(self.iter_x, self.iter_y) + return self.location[self.best_path], self.best_length + + +# 读取数据 +def read_tsp(path): + lines = open(path, 'r').readlines() + assert 'NODE_COORD_SECTION\n' in lines + index = lines.index('NODE_COORD_SECTION\n') + data = lines[index + 1:-1] + tmp = [] + for line in data: + line = line.strip().split(' ') + if line[0] == 'EOF': + continue + tmpline = [] + for x in line: + if x == '': + continue + else: + tmpline.append(float(x)) + if tmpline == []: + continue + tmp.append(tmpline) + data = tmp + return data + + +data = read_tsp('data/st70.tsp') + +data = np.array(data) +plt.suptitle('TS in st70.tsp') +data = data[:, 1:] +plt.subplot(2, 2, 1) +plt.title('raw data') +show_data = np.vstack([data, data[0]]) +plt.plot(data[:, 0], data[:, 1]) + +func = TS(num_city=data.shape[0], data=data.copy()) +best_path, best_length = func.run() +plt.subplot(2, 2, 3) +# 加上一行因为会回到起点 +best_path = np.vstack([best_path, best_path[0]]) +plt.plot(best_path[:, 0], best_path[:, 1]) +plt.title('result') +plt.show() diff --git a/data/bayg29.tsp.gz b/data/bayg29.tsp.gz deleted file mode 100755 index 0a9f4c36e1fda1bcffa429f78f6a8af625818b34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1196 zcmV;d1XKGTiwFq0$G|NB17cx$XEHf1baQY3RaRY3Bu5N1s%Mes11o$79Pxm-3}9$&0J$)DT*9;{EBZ)<#PZr0Pu z)y2i?a`Q>7%gO$Azk8AWll;2d`tJJbRuJcA{pI-E-Rbe>cpTl_UY*_z{KN5^)yW1oPSTs$ zTtrhBS*l2##cakKm@1xv?q&v28e6mWG#zfye=c(O0M9Tn5Ttybq;NDw{&oY1_CbBi)++Q$+aVfQj0l$gNL@nXAVJ~=s1ea$&`toQIBwZi^H z{+abbjHDBB)`uFCr@|xT###t!Y@Icmo#)#<4f=IOZuA{F&0Z_1*stWu9QnQYy++^U zsA-~C3a~u8Hw5wN2dnW-jfMVa?Pm52;&CrErrz2-4|R{D2YT}QAt>I(`-Xgco&I58 zc;C>sWlA;=&2#X}%(+Gk+^yusde;+_T1`?l;z1XP=(9krxrc@Q z$K2_6{-(B=56(a3i8-@J7~5w-*P*BS9PpXbbIdCGgMB`iiM>vZsGo9f81tXqufp@} zYhA({UdXF^M z%4|Phv8u?;vBF5eo_B3V+=G#P%b6&CE(M!;jxfRxIa?Q1&FYV*sqPIUbB48*q z!Tbw!he&u6Hp1|2!1Vwphb23VaWLTQXd6KwcfjR6450^H{mMBFxDB{DTw}NRoABar z?t{r8NRQY7L&$(>Lc$umlMdLkg!B=+jM!?Ce2XAy@Ycw(w-F={II=7eTiRjwhb&R% z0Y{d$L=Zc`o+a-JCPP78Lf0Dba!99#RD*XPye+aULz6Uu*vN7etqox<|}M|RHu diff --git a/data/berlin52.tsp b/data/berlin52.tsp deleted file mode 100755 index 6f35791..0000000 --- a/data/berlin52.tsp +++ /dev/null @@ -1,60 +0,0 @@ -NAME: berlin52 -TYPE: TSP -COMMENT: 52 locations in Berlin (Groetschel) -DIMENSION: 52 -EDGE_WEIGHT_TYPE: EUC_2D -NODE_COORD_SECTION -1 565.0 575.0 -2 25.0 185.0 -3 345.0 750.0 -4 945.0 685.0 -5 845.0 655.0 -6 880.0 660.0 -7 25.0 230.0 -8 525.0 1000.0 -9 580.0 1175.0 -10 650.0 1130.0 -11 1605.0 620.0 -12 1220.0 580.0 -13 1465.0 200.0 -14 1530.0 5.0 -15 845.0 680.0 -16 725.0 370.0 -17 145.0 665.0 -18 415.0 635.0 -19 510.0 875.0 -20 560.0 365.0 -21 300.0 465.0 -22 520.0 585.0 -23 480.0 415.0 -24 835.0 625.0 -25 975.0 580.0 -26 1215.0 245.0 -27 1320.0 315.0 -28 1250.0 400.0 -29 660.0 180.0 -30 410.0 250.0 -31 420.0 555.0 -32 575.0 665.0 -33 1150.0 1160.0 -34 700.0 580.0 -35 685.0 595.0 -36 685.0 610.0 -37 770.0 610.0 -38 795.0 645.0 -39 720.0 635.0 -40 760.0 650.0 -41 475.0 960.0 -42 95.0 260.0 -43 875.0 920.0 -44 700.0 500.0 -45 555.0 815.0 -46 830.0 485.0 -47 1170.0 65.0 -48 830.0 610.0 -49 605.0 625.0 -50 595.0 360.0 -51 1340.0 725.0 -52 1740.0 245.0 -EOF - diff --git a/data/berlin52.tsp.gz b/data/berlin52.tsp.gz deleted file mode 100755 index 23c8f2f3153f088f4b4b1bbf2dfb3514a6a12841..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 472 zcmV;}0Vn<+iwFpb$G|NB17c-zY-w&aGA?v;Z~#S;ON-l342AdiS7_O8im!BEo?RQe zX%>lx#zX1Kv_qhQkig9Re<~fBWE1jP=SoM9!`J=zM1N0jm-97qn14Sj&d2AlnfCkf zFh5ady4+s>e4KCBcRF9`8?^Lk`*u5hyubcCT|S3lr`qFgI+#3+!**PLjl1oSdGUnf z%Vyyr9HwDhHq-QTSdQanR(*(+Oa9VPuKF98*dR6oAxTCxcS?zRP(dtHbIL}ATI-C8 zDXS-8F=%QCDZ9?FrwnC`s244RGt@CsEFBWFeGZW+GXCOSh(a;JFe6_~6tf_1bhqW= zLKVfO0;|47v_RY_MW6uHTC_yXoDl`qoYoHscI2Yk diff --git a/data/ch130.tsp b/data/ch130.tsp deleted file mode 100755 index 29bd5f8..0000000 --- a/data/ch130.tsp +++ /dev/null @@ -1,137 +0,0 @@ -NAME: ch130 -TYPE: TSP -COMMENT: 130 city problem (Churritz) -DIMENSION: 130 -EDGE_WEIGHT_TYPE: EUC_2D -NODE_COORD_SECTION -1 334.5909245845 161.7809319139 -2 397.6446634067 262.8165330708 -3 503.8741827107 172.8741151168 -4 444.0479403502 384.6491809647 -5 311.6137146746 2.0091699828 -6 662.8551011379 549.2301263653 -7 40.0979030612 187.2375430791 -8 526.8941409181 215.7079092185 -9 209.1887938487 691.0262291948 -10 683.2674131973 414.2096286906 -11 280.7494438748 5.9206392047 -12 252.7493090080 535.7430385019 -13 698.7850451923 348.4413729766 -14 678.7574678104 410.7256424438 -15 220.0041131179 409.1225812873 -16 355.1528556851 76.3912076444 -17 296.9724227786 313.1312792361 -18 504.5154071733 240.8866564499 -19 224.1079496785 358.4872228907 -20 470.6801296968 309.6259188406 -21 554.2530513223 279.4242466521 -22 567.6332684419 352.7162027273 -23 599.0532671093 361.0948690386 -24 240.5232959211 430.6036007844 -25 32.0825972787 345.8551009775 -26 91.0538736891 148.7213270256 -27 248.2179894723 343.9528017384 -28 488.8909044347 3.6122311393 -29 206.0467939820 437.7639406167 -30 575.8409415632 141.9670960195 -31 282.6089948164 329.4183805862 -32 27.6581484868 424.7684581747 -33 568.5737309870 287.0975660546 -34 269.4638933331 295.9464636385 -35 417.8004856811 341.2596589955 -36 32.1680938737 448.8998721172 -37 561.4775136009 357.3543930067 -38 342.9482167470 492.3321423839 -39 399.6752075383 156.8435035519 -40 571.7371050025 375.7575350833 -41 370.7559842751 151.9060751898 -42 509.7093253204 435.7975189314 -43 177.0206999750 295.6044772584 -44 526.1674198605 409.4859418161 -45 316.5725171854 65.6400108214 -46 469.2908100279 281.9891445025 -47 572.7630641427 373.3208821255 -48 29.5176994283 330.0382309000 -49 454.0082936692 537.2178547659 -50 416.1546762271 227.6133100741 -51 535.2514330806 471.0648643744 -52 265.4455533675 684.9987192464 -53 478.0542110167 509.6452028741 -54 370.4781203413 332.5390063041 -55 598.3479202004 446.8693279856 -56 201.1521139175 649.0260268945 -57 193.6925360026 680.2322840744 -58 448.5792598859 532.7934059740 -59 603.2853485624 134.4006473609 -60 543.0102490781 481.5168231148 -61 214.5750793346 43.6460117543 -62 426.3501451825 61.7285415996 -63 89.0447037063 277.1158385868 -64 84.4920100219 31.8474816424 -65 220.0468614154 623.0778103080 -66 688.4613313444 0.4702312726 -67 687.2857531630 373.5346236130 -68 75.4934933967 312.9175377486 -69 63.4170993511 23.7039309674 -70 97.9363495877 211.0910930878 -71 399.5255884970 170.8221968365 -72 456.3167017346 597.1937161677 -73 319.8855102422 626.8396604886 -74 295.9250894897 664.6291554845 -75 288.4868857235 667.7284070537 -76 268.3951858954 52.9010181645 -77 140.4709056068 513.5566720960 -78 689.8079027159 167.5947003748 -79 280.5784506848 458.7533546925 -80 453.3884433554 282.9082328989 -81 213.5704943432 525.8681817779 -82 133.6953004520 677.1757808026 -83 521.1658690522 132.8617086506 -84 30.2657946347 450.0754502986 -85 657.0199585283 39.7772908299 -86 6.9252241961 23.8749241575 -87 252.4286967767 535.1659364856 -88 42.8551682504 63.8232081774 -89 145.8999393902 399.5255884970 -90 638.4885715591 62.6262558472 -91 489.2756391122 665.3131282446 -92 361.2231139311 564.2347787901 -93 519.9475425732 347.9711417040 -94 129.3349741063 435.6692740389 -95 259.7172815016 454.6495181318 -96 676.3421890013 371.0979706551 -97 84.5133841706 183.3260738572 -98 77.7164048671 354.3833863300 -99 335.9802442534 660.6321896676 -100 264.3554717810 377.5743377274 -101 51.6826916855 676.0429509187 -102 692.1376849300 543.8010925819 -103 169.2191356800 547.8194325476 -104 194.0131482339 263.4791316822 -105 415.1928395332 78.9133571973 -106 415.0432204919 479.0801701569 -107 169.8389859939 245.6103433244 -108 525.0987124228 213.5063718969 -109 238.6851191283 33.4932910965 -110 116.2112467718 363.5742702940 -111 16.9283258126 656.5711014044 -112 434.3440768162 92.6996831431 -113 40.5253860363 424.6829615797 -114 530.4849979086 183.8390534273 -115 484.3595848990 49.2460387276 -116 263.6501248722 426.5852608187 -117 450.2891917862 126.3853415784 -118 441.7822805823 299.7724362653 -119 24.2169105375 500.3474481664 -120 503.7886861157 514.6895019799 -121 635.5389390312 200.9811207275 -122 614.5922732529 418.8691931188 -123 21.7161351334 660.9741760476 -124 143.8266469611 92.6996831431 -125 637.7191022040 54.2048412384 -126 566.5645610042 199.9551615873 -127 196.6849168280 221.8209157619 -128 384.9270448985 87.4630166986 -129 178.1107815614 104.6905805938 -130 403.2874386776 205.8971749407 -EOF diff --git a/data/ch130.tsp.gz b/data/ch130.tsp.gz deleted file mode 100755 index a06017e38a71b55429bf0bf18990b326ed1b8b9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2475 zcmV;c2~_qUiwFqZw7@L@17m10GcYc6b8rA%mqD-PHx0%2`4m~gCbAvJvAaVvk1~sy zSJ9~utC6UXS_uRil?8lye*QmLKsD;L_vR+f@$oq)pMLZ4<(v8APr7A%{^NK2_vi1w z8}D8}eth}#`J2hd^T(fm`RDxm*T4PgFMs~){MEak{_*we&%gZZ*W>*M)_nir_0zL# zyuAPR<;x#lK79MT&tKkldimkq7kfWGy}p0>^6vHZ_wT=a|MKoLKNvdq_H|0i{G^|$ zq3fp9*3wX7q9As3=Qn9m6qpFnUQ-Lg(-O4J=tmT zo3Mw39wZq0$KOk(pdE=NUntiRq;A}RB13ZS~3N3@1+j!f`A;z!H&+@8xh z?ONU70H1MLaDe8f3UDgt*$KBka_E_6U?3n4l0f8rC9{)idH2wm`<$i6fHCsuys>tv z$)&44l$KVky5?s0Cd+j%_OeSop+mWpKoLDISMT1_06jB;BD}Z+Fq$u#UtUy6OAnXG zYi3z;hspFSE0VrdROAGX6?W)JLaJdp&jHx8<>)qG;PAx_4cZ;kVKz@d!@VsMc#0#y zRl~%taZ7%3s+JrUK*It^cq}xLKJDZPf66|#tq$GSNf%bg4w1{2!zdf>B~`H_T-biz zm6x$*D$qLT1bEM7 zXvp>8`7tj$kgLfiwx>DHcr1!{;7bHL1b;>XP&2}BEa($qz<$?uI$pjEJg-6_!xm=N^EsMsS_G8`pgCQ&V`9Z}pFK0x5IsmTajvF|8r%*DuQ%(ldX590V8jgL|+;K}r;1hIap})JQ0wq!`mtNw3Y*`~Dk zoUzyTx)H`Gqw07HHiCrBHgOI_D5_$_p2?-4p8!|1yxxUFqYMZG`}+iV21%Mst**+% z+($&rNBqZQJTlOnCZkdAZA0qDj%ZMj{HOUFSDD=tu{IIoc#O4;IeW&G#yngEjc9`* zupmW@ATG(DjiPZrBhKCSr3f|v!HtqJakWpI?q>R05?Jg55g?<$QhtB(BE;I--!>q5 zb3o0OgahsIn_@XTtu$_my~i0B{16FhyDiq>OXn7C$6@&F4xAtV$Mo6{+9*K)8c{1l zjTMgTZ&GMT2-;NKILJBV2#gJZ9T3YJBH#uFLns47yAO#l6^?+2i0>{Mh*+Lh2t)_k zcNf?I9{K}o$q4~66mntdaXXO6xCzSC*ztyGgmsiovf~$Y9Tq(zfdyiBhuNh@PVzju zg%TsHT_$0K{1V*;5((XXn1WIuCkpunw%&ovJHAm_3knKFHIS!gb7Y(1WBUvrv8Q?0 z*O$Jaj|9|?1*kggtB$k(L#$EUcz2s=GOZ^jkYC|SuOJkR>e)uOu~gJXn@A|&?zoi% zx)|teCzt=m0=Q1fLT+#lQmW`6+TdasAeb0d&3cFY7oh+|E7Gdk!cELZJb-3E@9adl$u%4r`imHGfB1+PN#=QWJzO$e*zD=Rj}zc(SGTW zR-P4v7otDD?oSzDS(qTO5IE2#szQi(TkIx?v7!?X6e_3)>uCpu#n;4^elV~go(005 zBn93TSQ=W~sZdBJUB-RNK#XyuCKf@GhEX23wT|eL&!BZC(^j8+8$)_~8?oMlAHloM z_uS^q&RbBeRS<>4J}2)n?#c!*pHPonHlQ6}iI}V)=k)00e%=mn;B)|K7vjH;a8*u;*1@w;b zcoOr`eP_BElux`ac+&(NKOL2Mg7j06J&H_BE@l45GyLu9MQ#Ff9sq>D&L-M(pSw$o^ImS|ENMWJZ4@c&xUQJ|j@Kq1Y)rZ^8+FlO_{f<9v*3y~prquHPZ7S#es zKIoQM2cTFzM9q0j0^{UJ#_ZhaIf9S?j$008ISxsd<> diff --git a/data/ch150.tsp b/data/ch150.tsp deleted file mode 100755 index b21eb0a..0000000 --- a/data/ch150.tsp +++ /dev/null @@ -1,157 +0,0 @@ -NAME: ch150 -TYPE: TSP -COMMENT: 150 city Problem (churritz) -DIMENSION: 150 -EDGE_WEIGHT_TYPE: EUC_2D -NODE_COORD_SECTION -1 37.4393516691 541.2090699418 -2 612.1759508571 494.3166877396 -3 38.1312338227 353.1484581781 -4 53.4418081065 131.4849013650 -5 143.0606355347 631.7200953923 -6 689.9451267256 468.5354998742 -7 112.7478815786 529.4177578260 -8 141.4875865042 504.8184855710 -9 661.0513901702 445.9375182115 -10 98.7899036592 384.5926031158 -11 697.3881696597 180.3962284275 -12 536.4894189738 287.2279085051 -13 192.4067320507 20.4394059310 -14 282.7865258765 229.8001556189 -15 240.8251726391 281.5141437200 -16 246.9281323057 322.4613321160 -17 649.7313216456 62.3331575282 -18 352.9658562600 666.7873101942 -19 633.3923676580 534.9398453712 -20 488.3117994040 437.4869439948 -21 141.4039286509 228.4325551488 -22 17.3632612602 240.2407068508 -23 397.5586451389 231.3591208928 -24 565.7853781464 282.3858748974 -25 475.8975387047 468.5392706317 -26 322.4224566559 550.3165478233 -27 397.5586634023 74.7588387765 -28 672.8618339396 432.8826409630 -29 571.2189680147 530.2616991530 -30 104.6531165914 482.8224768783 -31 356.7098388794 67.6477131712 -32 400.4070255527 253.6794479997 -33 282.3036243109 426.8380500923 -34 58.7766988363 507.1712386832 -35 189.7506224400 460.3815233617 -36 659.9124120147 226.6284156239 -37 639.0307636033 467.2302300719 -38 415.0258357432 233.3045376118 -39 547.2662016307 161.6589278401 -40 616.6547902644 339.3409309407 -41 494.8592427417 148.1217856389 -42 629.9980812186 433.4548164038 -43 471.1014312410 314.2219307579 -44 138.2440514421 137.1679919735 -45 91.5847556724 110.0203007516 -46 390.6972811808 423.9774318385 -47 565.1617825137 429.1598152874 -48 54.5248980387 438.5515408431 -49 334.3508329710 153.7969238040 -50 531.0291024509 612.3874827889 -51 475.7345905802 385.7844618897 -52 228.8325218994 410.4461939615 -53 578.3805347586 321.3303494537 -54 358.9170574485 404.4670352898 -55 486.4648554867 593.0429937016 -56 343.1693707670 509.3123571315 -57 530.3626972076 137.6881275684 -58 498.8065475299 576.2102674608 -59 224.3182715500 312.4677490415 -60 595.8360732590 81.8130051356 -61 661.5588724308 217.0456944477 -62 43.6892045516 305.4722789165 -63 79.4653452530 445.9641737689 -64 210.4163247004 130.7151137038 -65 432.2642292251 629.4092661116 -66 623.2487161301 69.1892850840 -67 436.5194739944 282.9356456070 -68 59.4163265482 40.1280234442 -69 630.9230074073 230.3429888130 -70 579.3265539688 601.0359410602 -71 117.8624507480 112.9796833705 -72 297.7912565664 166.3131886803 -73 22.7642703744 455.5340094037 -74 259.7095810385 10.6199925885 -75 342.3579873647 599.3880182608 -76 10.0260950143 488.9310558282 -77 315.2926064118 273.2275475579 -78 220.7044919297 270.0819745721 -79 192.1186059948 314.1839922798 -80 271.5042718992 225.2921989972 -81 530.7320005441 504.0670155337 -82 42.5331441666 656.3645162886 -83 396.1274792588 539.4648066027 -84 118.6631474021 508.7129103929 -85 395.6913876595 699.5376048429 -86 559.0157105844 560.8866941411 -87 22.6471035906 526.2470392816 -88 135.6377085256 325.8409901555 -89 141.4507014379 485.2477927763 -90 396.7741299332 460.7557115283 -91 87.7494562765 19.6170129082 -92 350.4245639661 420.6531186835 -93 216.7010817133 466.4816410995 -94 130.9237737024 351.1491733079 -95 72.6329856671 645.7852219213 -96 144.6002949996 457.4224283926 -97 212.3725077442 594.9216893413 -98 49.9186786455 541.4350825349 -99 656.6943525585 558.1109593509 -100 176.5941623792 648.5239953299 -101 500.3825200226 198.7428378322 -102 634.3178678420 612.8291643194 -103 59.7537372726 551.6321886765 -104 15.2145765106 143.0441928532 -105 283.0054378872 376.4439530184 -106 146.5389000907 39.4231794338 -107 101.8685605377 635.0986850180 -108 588.1968537448 580.5946976921 -109 457.2628632528 350.0164047376 -110 537.4663680494 472.5842276692 -111 269.3669098585 367.4763636538 -112 239.9045383695 102.6297653390 -113 88.4677500396 384.0507209275 -114 658.9133693395 583.9575181023 -115 97.7359146347 157.4558657632 -116 506.6191384007 233.0022156094 -117 500.2566898239 64.9136393489 -118 594.4048565021 275.8741868990 -119 66.2308146610 24.1317387604 -120 598.4162993909 414.5557574275 -121 172.3088330830 344.3963466366 -122 299.4812851800 251.8295121320 -123 303.8379894831 21.0526063790 -124 197.8969269840 512.3888960980 -125 56.0199567669 243.0663818382 -126 255.5566183121 448.8651882442 -127 608.4256112402 222.5421309272 -128 70.2722703273 77.9227026433 -129 398.2298999899 119.5576573860 -130 635.4970237093 133.3225902609 -131 378.3484559418 272.2907677147 -132 484.8029663388 677.0730379436 -133 278.8710882619 299.9308770828 -134 381.6537300653 360.3337602785 -135 557.6070707573 595.3185092281 -136 249.0589749342 76.6595112599 -137 562.9048787838 670.0382113114 -138 398.5504365580 392.6493259144 -139 590.8939720560 370.7414913742 -140 558.2008003726 0.4198814512 -141 461.4114714423 530.5254969413 -142 354.7242881504 685.4045361900 -143 193.6611295657 669.7432521028 -144 352.3140807211 140.3273323662 -145 308.4345709740 115.2054269847 -146 299.5881370080 530.5889619020 -147 334.2748764383 152.1494569394 -148 690.9658585947 134.5793307203 -149 48.0798124069 270.9680673720 -150 91.6467647724 166.3541158474 -EOF diff --git a/data/ch150.tsp.gz b/data/ch150.tsp.gz deleted file mode 100755 index 834f746ba7d86cb8a0719f20100ef3a3f68b67ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2847 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 diff --git a/data/gr96.tsp b/data/gr96.tsp deleted file mode 100755 index d40ca22..0000000 --- a/data/gr96.tsp +++ /dev/null @@ -1,104 +0,0 @@ -NAME: gr96 -TYPE: TSP -COMMENT: Africa-Subproblem of 666-city TSP (Groetschel) -DIMENSION: 96 -EDGE_WEIGHT_TYPE: GEO -DISPLAY_DATA_TYPE: COORD_DISPLAY -NODE_COORD_SECTION - 1 14.55 -23.31 - 2 28.06 -15.24 - 3 32.38 -16.54 - 4 31.38 -8.00 - 5 33.39 -7.35 - 6 34.02 -6.51 - 7 34.05 -4.57 - 8 35.48 -5.45 - 9 35.43 -0.43 - 10 36.47 3.03 - 11 22.56 5.30 - 12 36.22 6.37 - 13 36.48 10.11 - 14 34.44 10.46 - 15 32.54 13.11 - 16 32.07 20.04 - 17 31.12 29.54 - 18 31.16 32.18 - 19 29.58 32.33 - 20 30.03 31.15 - 21 24.05 32.53 - 22 19.37 37.14 - 23 15.36 32.32 - 24 13.11 30.13 - 25 13.38 25.21 - 26 15.20 38.53 - 27 9.00 38.50 - 28 11.36 43.09 - 29 18.06 -15.57 - 30 14.40 -17.26 - 31 13.28 -16.39 - 32 11.51 -15.35 - 33 16.46 -3.01 - 34 12.39 -8.00 - 35 10.23 -9.18 - 36 9.31 -13.43 - 37 8.30 -13.15 - 38 6.18 -10.47 - 39 5.19 -4.02 - 40 6.41 -1.35 - 41 5.33 -0.13 - 42 6.08 1.13 - 43 6.29 2.37 - 44 12.22 -1.31 - 45 13.31 2.07 - 46 12.00 8.30 - 47 11.51 13.10 - 48 12.07 15.03 - 49 6.27 3.24 - 50 6.27 7.27 - 51 0.20 6.44 - 52 3.45 8.47 - 53 3.52 11.31 - 54 4.22 18.35 - 55 0.23 9.27 - 56 -4.16 15.17 - 57 -4.18 15.18 - 58 0.04 18.16 - 59 -5.54 22.25 - 60 0.30 25.12 - 61 -3.23 29.22 - 62 -1.57 30.04 - 63 0.19 32.25 - 64 -1.17 36.49 - 65 2.01 45.20 - 66 -4.03 39.40 - 67 -6.10 39.11 - 68 -6.48 39.17 - 69 -8.48 13.14 - 70 -12.44 15.47 - 71 -11.40 27.28 - 72 -12.49 28.13 - 73 -15.25 28.17 - 74 -20.09 28.36 - 75 -17.50 31.03 - 76 -15.47 35.00 - 77 -19.49 34.52 - 78 -25.58 32.35 - 79 -15.57 -5.42 - 80 -37.15 -12.30 - 81 -22.59 14.31 - 82 -22.34 17.06 - 83 -26.38 15.10 - 84 -24.45 25.55 - 85 -25.45 28.10 - 86 -26.15 28.00 - 87 -29.12 26.07 - 88 -29.55 30.56 - 89 -33.00 27.55 - 90 -33.58 25.40 - 91 -33.55 18.22 - 92 -23.21 43.40 - 93 -18.55 47.31 - 94 -12.16 49.17 - 95 -20.10 57.30 - 96 -4.38 55.27 -EOF diff --git a/data/gr96.tsp.gz b/data/gr96.tsp.gz deleted file mode 100755 index 21f14679ba3b083e5124ae41de1423fbea8d45cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 899 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 diff --git a/data/kroB200.tsp b/data/kroB200.tsp deleted file mode 100755 index 73b23c1..0000000 --- a/data/kroB200.tsp +++ /dev/null @@ -1,207 +0,0 @@ -NAME: kroB200 -TYPE: TSP -COMMENT: 200-city problem B (Krolak/Felts/Nelson) -DIMENSION: 200 -EDGE_WEIGHT_TYPE : EUC_2D -NODE_COORD_SECTION -1 3140 1401 -2 556 1056 -3 3675 1522 -4 1182 1853 -5 3595 111 -6 962 1895 -7 2030 1186 -8 3507 1851 -9 2642 1269 -10 3438 901 -11 3858 1472 -12 2937 1568 -13 376 1018 -14 839 1355 -15 706 1925 -16 749 920 -17 298 615 -18 694 552 -19 387 190 -20 2801 695 -21 3133 1143 -22 1517 266 -23 1538 224 -24 844 520 -25 2639 1239 -26 3123 217 -27 2489 1520 -28 3834 1827 -29 3417 1808 -30 2938 543 -31 71 1323 -32 3245 1828 -33 731 1741 -34 2312 1270 -35 2426 1851 -36 380 478 -37 2310 635 -38 2830 775 -39 3829 513 -40 3684 445 -41 171 514 -42 627 1261 -43 1490 1123 -44 61 81 -45 422 542 -46 2698 1221 -47 2372 127 -48 177 1390 -49 3084 748 -50 1213 910 -51 3 1817 -52 1782 995 -53 3896 742 -54 1829 812 -55 1286 550 -56 3017 108 -57 2132 1432 -58 2000 1110 -59 3317 1966 -60 1729 1498 -61 2408 1747 -62 3292 152 -63 193 1210 -64 782 1462 -65 2503 352 -66 1697 1924 -67 3821 147 -68 3370 791 -69 3162 367 -70 3938 516 -71 2741 1583 -72 2330 741 -73 3918 1088 -74 1794 1589 -75 2929 485 -76 3453 1998 -77 896 705 -78 399 850 -79 2614 195 -80 2800 653 -81 2630 20 -82 563 1513 -83 1090 1652 -84 2009 1163 -85 3876 1165 -86 3084 774 -87 1526 1612 -88 1612 328 -89 1423 1322 -90 3058 1276 -91 3782 1865 -92 347 252 -93 3904 1444 -94 2191 1579 -95 3220 1454 -96 468 319 -97 3611 1968 -98 3114 1629 -99 3515 1892 -100 3060 155 -101 2995 264 -102 202 233 -103 981 848 -104 1346 408 -105 781 670 -106 1009 1001 -107 2927 1777 -108 2982 949 -109 555 1121 -110 464 1302 -111 3452 637 -112 571 1982 -113 2656 128 -114 1623 1723 -115 2067 694 -116 1725 927 -117 3600 459 -118 1109 1196 -119 366 339 -120 778 1282 -121 386 1616 -122 3918 1217 -123 3332 1049 -124 2597 349 -125 811 1295 -126 241 1069 -127 2658 360 -128 394 1944 -129 3786 1862 -130 264 36 -131 2050 1833 -132 3538 125 -133 1646 1817 -134 2993 624 -135 547 25 -136 3373 1902 -137 460 267 -138 3060 781 -139 1828 456 -140 1021 962 -141 2347 388 -142 3535 1112 -143 1529 581 -144 1203 385 -145 1787 1902 -146 2740 1101 -147 555 1753 -148 47 363 -149 3935 540 -150 3062 329 -151 387 199 -152 2901 920 -153 931 512 -154 1766 692 -155 401 980 -156 149 1629 -157 2214 1977 -158 3805 1619 -159 1179 969 -160 1017 333 -161 2834 1512 -162 634 294 -163 1819 814 -164 1393 859 -165 1768 1578 -166 3023 871 -167 3248 1906 -168 1632 1742 -169 2223 990 -170 3868 697 -171 1541 354 -172 2374 1944 -173 1962 389 -174 3007 1524 -175 3220 1945 -176 2356 1568 -177 1604 706 -178 2028 1736 -179 2581 121 -180 2221 1578 -181 2944 632 -182 1082 1561 -183 997 942 -184 2334 523 -185 1264 1090 -186 1699 1294 -187 235 1059 -188 2592 248 -189 3642 699 -190 3599 514 -191 1766 678 -192 240 619 -193 1272 246 -194 3503 301 -195 80 1533 -196 1677 1238 -197 3766 154 -198 3946 459 -199 1994 1852 -200 278 165 -EOF diff --git a/data/kroB200.tsp.gz b/data/kroB200.tsp.gz deleted file mode 100755 index 9b042590c82b6d29079c1f4e6b769943047e384c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1434 zcmV;L1!ejliwFojlfNwh18Z_`LNYKgE_8En05z6NZ=N*}h4=F-yo3d+XKat{?r8G0 zRHzA}L5NiZs0-9UP}>dvp658}qRs2uT+W<1^WA*^?((vH{Pg%LYPGxHeqwd^{wKS- zefREibN8~a{oS8`efh8a`|0tIhYx?3SLK@@KRrJD{_(}@4-a2HzqtAE@cHqdZ|(Xm z58l7My*Y2}a{cCV|Lf)Ln;-7(WwyL5mtU^#KqLV<=Pry_GUp?L(elU*c*fv(JgS=F@y0KoGO55+ah_)#qept zv%a>_;T8$621YA5!E<+IUzdRhiLEkl*St(8mEbc__m?EELlgq_ZHmZ@;P^MzR;%`-nlhh~@@Bxx1Cqw;_T3{)kYdE{9X@*Fb zlx3~+7YLV$>|Jfr&;x9?s_u=Mwkh=ib72dto4A6*t*k4-_TG(z!?&=R+mH{eNOA@z zS-Q}5_5nOm28z0DYfrgma02AR)iImqu5z!UOBQJDfLqcT7NA}a@_fTYfLSop6-I;5 z5Q7Cu!a>qwE=4)0REbiRn5aSKoUE3l1?F~X7mX#FLLbD7PE47sL?bEdusj=YKx?SY zdB*~=Na-o~J*U#dRDvUys1OXnVv*V%=$R}C1TyRcuOf|~qU~e_3NW-GMjmQ*Rau~IF$D8j44RKv12!QEv<-_Yp_aTQ^(7D%;-5H28C~)= zJn=SZuWeV1DD2axRG=i!j9C4E_^DnDf$akM6Rc- z>&1F1H$`Kyk8A=DPBpeF$!`Ti^dauGrNMCmIAcmjY6wZAETDCuCndtGRCqp33f)U} zup~xoz}6}Gq{AH1lkL>!R?jPP&>4q|M`l>~^Vre1h8pBNLyETEO&W|73E!lQDJo;X z>(bJtl!84G-X(o;T3u9BEf&0`!a5Tn(1NX6sSl)=O}I<^&L}#bQlu2zAe~2!CAV6L zyVPKbW2qGBKwJWx_*Egznjjzr49WejpshP8DoMVPNdn~J-WtMH1l0T`Sn+>QjYfC- z(ZTtZKBvAy3+=-UuIdpS9eovr&CDVoo(YiilR(oZ>EWp`rshCM;Ke&hB4sV7FQthQ z{+xv_C5pmNZu*70y@`GY}N2gB7xIMg7#`>1c`QN*^;)Yo?8JZ`)GPU o_0ve8$nt5+e9{TUxYeW!;YH@5v5Gb9a{Jo;2R=4jmS+k806}ujs{jB1 diff --git a/data/pcb442.tsp b/data/pcb442.tsp deleted file mode 100755 index 2b74de7..0000000 --- a/data/pcb442.tsp +++ /dev/null @@ -1,449 +0,0 @@ -NAME : pcb442 -COMMENT : Drilling problem (Groetschel/Juenger/Reinelt) -TYPE : TSP -DIMENSION : 442 -EDGE_WEIGHT_TYPE : EUC_2D -NODE_COORD_SECTION -1 2.00000e+02 4.00000e+02 -2 2.00000e+02 5.00000e+02 -3 2.00000e+02 6.00000e+02 -4 2.00000e+02 7.00000e+02 -5 2.00000e+02 8.00000e+02 -6 2.00000e+02 9.00000e+02 -7 2.00000e+02 1.00000e+03 -8 2.00000e+02 1.10000e+03 -9 2.00000e+02 1.20000e+03 -10 2.00000e+02 1.30000e+03 -11 2.00000e+02 1.40000e+03 -12 2.00000e+02 1.50000e+03 -13 2.00000e+02 1.60000e+03 -14 2.00000e+02 1.70000e+03 -15 2.00000e+02 1.80000e+03 -16 2.00000e+02 1.90000e+03 -17 2.00000e+02 2.00000e+03 -18 2.00000e+02 2.10000e+03 -19 2.00000e+02 2.20000e+03 -20 2.00000e+02 2.30000e+03 -21 2.00000e+02 2.40000e+03 -22 2.00000e+02 2.50000e+03 -23 2.00000e+02 2.60000e+03 -24 2.00000e+02 2.70000e+03 -25 2.00000e+02 2.80000e+03 -26 2.00000e+02 2.90000e+03 -27 2.00000e+02 3.00000e+03 -28 2.00000e+02 3.10000e+03 -29 2.00000e+02 3.20000e+03 -30 2.00000e+02 3.30000e+03 -31 2.00000e+02 3.40000e+03 -32 2.00000e+02 3.50000e+03 -33 2.00000e+02 3.60000e+03 -34 3.00000e+02 4.00000e+02 -35 3.00000e+02 5.00000e+02 -36 3.00000e+02 6.00000e+02 -37 3.00000e+02 7.00000e+02 -38 3.00000e+02 8.00000e+02 -39 3.00000e+02 9.00000e+02 -40 3.00000e+02 1.00000e+03 -41 3.00000e+02 1.10000e+03 -42 3.00000e+02 1.20000e+03 -43 3.00000e+02 1.30000e+03 -44 3.00000e+02 1.40000e+03 -45 3.00000e+02 1.50000e+03 -46 3.00000e+02 1.60000e+03 -47 3.00000e+02 1.70000e+03 -48 3.00000e+02 1.80000e+03 -49 3.00000e+02 1.90000e+03 -50 3.00000e+02 2.00000e+03 -51 3.00000e+02 2.10000e+03 -52 3.00000e+02 2.20000e+03 -53 3.00000e+02 2.30000e+03 -54 3.00000e+02 2.40000e+03 -55 3.00000e+02 2.50000e+03 -56 3.00000e+02 2.60000e+03 -57 3.00000e+02 2.70000e+03 -58 3.00000e+02 2.80000e+03 -59 3.00000e+02 2.90000e+03 -60 3.00000e+02 3.00000e+03 -61 3.00000e+02 3.10000e+03 -62 3.00000e+02 3.20000e+03 -63 3.00000e+02 3.30000e+03 -64 3.00000e+02 3.40000e+03 -65 3.00000e+02 3.50000e+03 -66 4.00000e+02 4.00000e+02 -67 4.00000e+02 5.00000e+02 -68 4.00000e+02 6.00000e+02 -69 4.00000e+02 7.00000e+02 -70 4.00000e+02 8.00000e+02 -71 4.00000e+02 9.00000e+02 -72 4.00000e+02 1.00000e+03 -73 4.00000e+02 1.10000e+03 -74 4.00000e+02 1.20000e+03 -75 4.00000e+02 1.30000e+03 -76 4.00000e+02 1.40000e+03 -77 4.00000e+02 1.50000e+03 -78 4.00000e+02 1.60000e+03 -79 4.00000e+02 1.70000e+03 -80 4.00000e+02 1.80000e+03 -81 4.00000e+02 1.90000e+03 -82 4.00000e+02 2.00000e+03 -83 4.00000e+02 2.10000e+03 -84 4.00000e+02 2.20000e+03 -85 4.00000e+02 2.30000e+03 -86 4.00000e+02 2.40000e+03 -87 4.00000e+02 2.50000e+03 -88 4.00000e+02 2.60000e+03 -89 4.00000e+02 2.70000e+03 -90 4.00000e+02 2.80000e+03 -91 4.00000e+02 2.90000e+03 -92 4.00000e+02 3.00000e+03 -93 4.00000e+02 3.10000e+03 -94 4.00000e+02 3.20000e+03 -95 4.00000e+02 3.30000e+03 -96 4.00000e+02 3.40000e+03 -97 4.00000e+02 3.50000e+03 -98 4.00000e+02 3.60000e+03 -99 5.00000e+02 1.50000e+03 -100 5.00000e+02 1.82900e+03 -101 5.00000e+02 3.10000e+03 -102 6.00000e+02 4.00000e+02 -103 7.00000e+02 3.00000e+02 -104 7.00000e+02 6.00000e+02 -105 7.00000e+02 1.50000e+03 -106 7.00000e+02 1.60000e+03 -107 7.00000e+02 1.80000e+03 -108 7.00000e+02 2.10000e+03 -109 7.00000e+02 2.40000e+03 -110 7.00000e+02 2.70000e+03 -111 7.00000e+02 3.00000e+03 -112 7.00000e+02 3.30000e+03 -113 7.00000e+02 3.60000e+03 -114 8.00000e+02 3.00000e+02 -115 8.00000e+02 6.00000e+02 -116 8.00000e+02 1.03000e+03 -117 8.00000e+02 1.50000e+03 -118 8.00000e+02 1.80000e+03 -119 8.00000e+02 2.10000e+03 -120 8.00000e+02 2.40000e+03 -121 8.00000e+02 2.60000e+03 -122 8.00000e+02 2.70000e+03 -123 8.00000e+02 3.00000e+03 -124 8.00000e+02 3.30000e+03 -125 8.00000e+02 3.60000e+03 -126 9.00000e+02 3.00000e+02 -127 9.00000e+02 6.00000e+02 -128 9.00000e+02 1.50000e+03 -129 9.00000e+02 1.80000e+03 -130 9.00000e+02 2.10000e+03 -131 9.00000e+02 2.40000e+03 -132 9.00000e+02 2.70000e+03 -133 9.00000e+02 3.00000e+03 -134 9.00000e+02 3.30000e+03 -135 9.00000e+02 3.60000e+03 -136 1.00000e+03 3.00000e+02 -137 1.00000e+03 6.00000e+02 -138 1.00000e+03 1.10000e+03 -139 1.00000e+03 1.50000e+03 -140 1.00000e+03 1.62900e+03 -141 1.00000e+03 1.80000e+03 -142 1.00000e+03 2.10000e+03 -143 1.00000e+03 2.40000e+03 -144 1.00000e+03 2.60000e+03 -145 1.00000e+03 2.70000e+03 -146 1.00000e+03 3.00000e+03 -147 1.00000e+03 3.30000e+03 -148 1.00000e+03 3.60000e+03 -149 1.10000e+03 3.00000e+02 -150 1.10000e+03 6.00000e+02 -151 1.10000e+03 7.00000e+02 -152 1.10000e+03 9.00000e+02 -153 1.10000e+03 1.50000e+03 -154 1.10000e+03 1.80000e+03 -155 1.10000e+03 2.10000e+03 -156 1.10000e+03 2.40000e+03 -157 1.10000e+03 2.70000e+03 -158 1.10000e+03 3.00000e+03 -159 1.10000e+03 3.30000e+03 -160 1.10000e+03 3.60000e+03 -161 1.20000e+03 3.00000e+02 -162 1.20000e+03 6.00000e+02 -163 1.20000e+03 1.50000e+03 -164 1.20000e+03 1.70000e+03 -165 1.20000e+03 1.80000e+03 -166 1.20000e+03 2.10000e+03 -167 1.20000e+03 2.40000e+03 -168 1.20000e+03 2.70000e+03 -169 1.20000e+03 3.00000e+03 -170 1.20000e+03 3.30000e+03 -171 1.20000e+03 3.60000e+03 -172 1.30000e+03 3.00000e+02 -173 1.30000e+03 6.00000e+02 -174 1.30000e+03 7.00000e+02 -175 1.30000e+03 1.13000e+03 -176 1.30000e+03 1.50000e+03 -177 1.30000e+03 1.80000e+03 -178 1.30000e+03 2.10000e+03 -179 1.30000e+03 2.20000e+03 -180 1.30000e+03 2.40000e+03 -181 1.30000e+03 2.70000e+03 -182 1.30000e+03 3.00000e+03 -183 1.30000e+03 3.30000e+03 -184 1.30000e+03 3.60000e+03 -185 1.40000e+03 3.00000e+02 -186 1.40000e+03 6.00000e+02 -187 1.40000e+03 9.30000e+02 -188 1.40000e+03 1.50000e+03 -189 1.40000e+03 1.80000e+03 -190 1.40000e+03 2.00000e+03 -191 1.40000e+03 2.10000e+03 -192 1.40000e+03 2.40000e+03 -193 1.40000e+03 2.50000e+03 -194 1.40000e+03 2.70000e+03 -195 1.40000e+03 2.82000e+03 -196 1.40000e+03 2.90000e+03 -197 1.40000e+03 3.00000e+03 -198 1.40000e+03 3.30000e+03 -199 1.40000e+03 3.60000e+03 -200 1.50000e+03 1.50000e+03 -201 1.50000e+03 1.80000e+03 -202 1.50000e+03 1.90000e+03 -203 1.50000e+03 2.10000e+03 -204 1.50000e+03 2.40000e+03 -205 1.50000e+03 2.70000e+03 -206 1.50000e+03 2.80000e+03 -207 1.50000e+03 2.86000e+03 -208 1.50000e+03 3.00000e+03 -209 1.50000e+03 3.30000e+03 -210 1.50000e+03 3.60000e+03 -211 1.60000e+03 1.10000e+03 -212 1.60000e+03 1.30000e+03 -213 1.60000e+03 1.50000e+03 -214 1.60000e+03 1.80000e+03 -215 1.60000e+03 2.10000e+03 -216 1.60000e+03 2.40000e+03 -217 1.60000e+03 2.70000e+03 -218 1.60000e+03 3.00000e+03 -219 1.60000e+03 3.30000e+03 -220 1.60000e+03 3.60000e+03 -221 1.70000e+03 1.20000e+03 -222 1.70000e+03 1.50000e+03 -223 1.70000e+03 1.80000e+03 -224 1.70000e+03 2.10000e+03 -225 1.70000e+03 2.40000e+03 -226 1.70000e+03 3.60000e+03 -227 1.80000e+03 3.00000e+02 -228 1.80000e+03 6.00000e+02 -229 1.80000e+03 1.23000e+03 -230 1.80000e+03 1.50000e+03 -231 1.80000e+03 1.80000e+03 -232 1.80000e+03 2.10000e+03 -233 1.80000e+03 2.40000e+03 -234 1.90000e+03 3.00000e+02 -235 1.90000e+03 6.00000e+02 -236 1.90000e+03 3.00000e+03 -237 1.90000e+03 3.52000e+03 -238 2.00000e+03 3.00000e+02 -239 2.00000e+03 3.70000e+02 -240 2.00000e+03 6.00000e+02 -241 2.00000e+03 8.00000e+02 -242 2.00000e+03 9.00000e+02 -243 2.00000e+03 1.00000e+03 -244 2.00000e+03 1.10000e+03 -245 2.00000e+03 1.20000e+03 -246 2.00000e+03 1.30000e+03 -247 2.00000e+03 1.40000e+03 -248 2.00000e+03 1.50000e+03 -249 2.00000e+03 1.60000e+03 -250 2.00000e+03 1.70000e+03 -251 2.00000e+03 1.80000e+03 -252 2.00000e+03 1.90000e+03 -253 2.00000e+03 2.00000e+03 -254 2.00000e+03 2.10000e+03 -255 2.00000e+03 2.20000e+03 -256 2.00000e+03 2.30000e+03 -257 2.00000e+03 2.40000e+03 -258 2.00000e+03 2.50000e+03 -259 2.00000e+03 2.60000e+03 -260 2.00000e+03 2.70000e+03 -261 2.00000e+03 2.80000e+03 -262 2.00000e+03 2.90000e+03 -263 2.00000e+03 3.00000e+03 -264 2.00000e+03 3.10000e+03 -265 2.00000e+03 3.50000e+03 -266 2.10000e+03 3.00000e+02 -267 2.10000e+03 6.00000e+02 -268 2.10000e+03 3.20000e+03 -269 2.20000e+03 3.00000e+02 -270 2.20000e+03 4.69000e+02 -271 2.20000e+03 6.00000e+02 -272 2.20000e+03 3.20000e+03 -273 2.30000e+03 3.00000e+02 -274 2.30000e+03 6.00000e+02 -275 2.30000e+03 3.40000e+03 -276 2.40000e+03 3.00000e+02 -277 2.40000e+03 6.00000e+02 -278 2.40000e+03 2.10000e+03 -279 2.50000e+03 3.00000e+02 -280 2.50000e+03 8.00000e+02 -281 2.60000e+03 4.00000e+02 -282 2.60000e+03 5.00000e+02 -283 2.60000e+03 8.00000e+02 -284 2.60000e+03 9.00000e+02 -285 2.60000e+03 1.00000e+03 -286 2.60000e+03 1.10000e+03 -287 2.60000e+03 1.20000e+03 -288 2.60000e+03 1.30000e+03 -289 2.60000e+03 1.40000e+03 -290 2.60000e+03 1.50000e+03 -291 2.60000e+03 1.60000e+03 -292 2.60000e+03 1.70000e+03 -293 2.60000e+03 1.80000e+03 -294 2.60000e+03 1.90000e+03 -295 2.60000e+03 2.00000e+03 -296 2.60000e+03 2.10000e+03 -297 2.60000e+03 2.20000e+03 -298 2.60000e+03 2.30000e+03 -299 2.60000e+03 2.40000e+03 -300 2.60000e+03 2.50000e+03 -301 2.60000e+03 2.60000e+03 -302 2.60000e+03 2.70000e+03 -303 2.60000e+03 2.80000e+03 -304 2.60000e+03 2.90000e+03 -305 2.60000e+03 3.00000e+03 -306 2.60000e+03 3.10000e+03 -307 2.60000e+03 3.40000e+03 -308 2.70000e+03 7.00000e+02 -309 2.70000e+03 8.00000e+02 -310 2.70000e+03 9.00000e+02 -311 2.70000e+03 1.00000e+03 -312 2.70000e+03 1.10000e+03 -313 2.70000e+03 1.20000e+03 -314 2.70000e+03 1.30000e+03 -315 2.70000e+03 1.40000e+03 -316 2.70000e+03 1.50000e+03 -317 2.70000e+03 1.60000e+03 -318 2.70000e+03 1.70000e+03 -319 2.70000e+03 1.80000e+03 -320 2.70000e+03 1.90000e+03 -321 2.70000e+03 2.00000e+03 -322 2.70000e+03 2.10000e+03 -323 2.70000e+03 2.20000e+03 -324 2.70000e+03 2.30000e+03 -325 2.70000e+03 2.50000e+03 -326 2.70000e+03 2.60000e+03 -327 2.70000e+03 2.70000e+03 -328 2.70000e+03 2.80000e+03 -329 2.70000e+03 2.90000e+03 -330 2.70000e+03 3.00000e+03 -331 2.70000e+03 3.10000e+03 -332 2.70000e+03 3.20000e+03 -333 2.70000e+03 3.30000e+03 -334 2.70000e+03 3.40000e+03 -335 2.70000e+03 3.50000e+03 -336 2.70000e+03 3.60000e+03 -337 2.70000e+03 3.70000e+03 -338 2.70000e+03 3.80000e+03 -339 2.80000e+03 9.00000e+02 -340 2.80000e+03 1.13000e+03 -341 2.90000e+03 4.00000e+02 -342 2.90000e+03 5.00000e+02 -343 2.90000e+03 1.40000e+03 -344 2.90000e+03 2.40000e+03 -345 2.90000e+03 3.00000e+03 -346 3.00000e+03 7.00000e+02 -347 3.00000e+03 8.00000e+02 -348 3.00000e+03 9.00000e+02 -349 3.00000e+03 1.00000e+03 -350 3.00000e+03 1.10000e+03 -351 3.00000e+03 1.20000e+03 -352 3.00000e+03 1.30000e+03 -353 3.00000e+03 1.50000e+03 -354 3.00000e+03 1.60000e+03 -355 3.00000e+03 1.70000e+03 -356 3.00000e+03 1.80000e+03 -357 3.00000e+03 1.90000e+03 -358 3.00000e+03 2.00000e+03 -359 3.00000e+03 2.10000e+03 -360 3.00000e+03 2.20000e+03 -361 3.00000e+03 2.30000e+03 -362 3.00000e+03 2.50000e+03 -363 3.00000e+03 2.60000e+03 -364 3.00000e+03 2.70000e+03 -365 3.00000e+03 2.80000e+03 -366 3.00000e+03 2.90000e+03 -367 3.00000e+03 3.00000e+03 -368 3.00000e+03 3.10000e+03 -369 3.00000e+03 3.20000e+03 -370 3.00000e+03 3.30000e+03 -371 3.00000e+03 3.40000e+03 -372 3.00000e+03 3.50000e+03 -373 3.00000e+03 3.60000e+03 -374 3.00000e+03 3.70000e+03 -375 3.00000e+03 3.80000e+03 -376 1.50000e+02 3.50000e+03 -377 1.50000e+02 3.55000e+03 -378 4.69000e+02 2.55000e+03 -379 4.69000e+02 3.35000e+03 -380 4.69000e+02 3.45000e+03 -381 5.40000e+02 2.33000e+03 -382 5.40000e+02 2.43000e+03 -383 6.20000e+02 3.65000e+03 -384 6.20000e+02 3.70900e+03 -385 7.50000e+02 2.55000e+03 -386 8.50000e+02 5.20000e+02 -387 8.50000e+02 7.00000e+02 -388 8.50000e+02 2.28000e+03 -389 9.39000e+02 7.40000e+02 -390 9.50000e+02 2.22000e+03 -391 9.10000e+02 2.60000e+03 -392 1.05000e+03 1.05000e+03 -393 1.15000e+03 1.35000e+03 -394 1.17000e+03 2.28000e+03 -395 1.22000e+03 2.21000e+03 -396 1.35000e+03 7.50000e+02 -397 1.35000e+03 1.70000e+03 -398 1.35000e+03 2.14000e+03 -399 1.45000e+03 7.70000e+02 -400 1.55000e+03 3.00000e+02 -401 1.55000e+03 5.00000e+02 -402 1.55000e+03 1.85000e+03 -403 1.65000e+03 1.05000e+03 -404 1.69000e+03 2.68000e+03 -405 1.71000e+03 3.10000e+02 -406 1.71000e+03 5.10000e+02 -407 1.75000e+03 7.50000e+02 -408 1.79000e+03 2.58000e+03 -409 1.72000e+03 2.61000e+03 -410 1.79000e+03 3.33000e+03 -411 1.72000e+03 3.40900e+03 -412 1.82900e+03 2.70000e+03 -413 1.82900e+03 2.80000e+03 -414 1.82900e+03 3.45000e+03 -415 2.06000e+03 1.65000e+03 -416 2.05000e+03 3.15000e+03 -417 2.17000e+03 1.90000e+03 -418 2.11000e+03 2.00000e+03 -419 2.12000e+03 2.75000e+03 -420 2.15000e+03 3.25000e+03 -421 2.29000e+03 1.40000e+03 -422 2.22000e+03 2.82000e+03 -423 2.28000e+03 3.25000e+03 -424 2.39000e+03 1.30000e+03 -425 2.32000e+03 1.50000e+03 -426 2.45000e+03 7.10000e+02 -427 2.62000e+03 3.65000e+03 -428 2.75000e+03 5.20000e+02 -429 2.76000e+03 2.36000e+03 -430 2.85000e+03 2.20000e+03 -431 2.85000e+03 2.70000e+03 -432 2.85000e+03 3.35000e+03 -433 2.93000e+03 9.50000e+02 -434 2.95000e+03 1.75000e+03 -435 2.95000e+03 2.05000e+03 -436 5.20000e+02 3.20000e+03 -437 2.30000e+03 3.50000e+03 -438 2.32000e+03 3.15000e+03 -439 5.30000e+02 2.10000e+03 -440 2.55000e+03 7.10000e+02 -441 7.50000e+02 4.90000e+02 -442 0.00000e+00 0.00000e+00 -EOF diff --git a/data/pcb442.tsp.gz b/data/pcb442.tsp.gz deleted file mode 100755 index 66218c81ea4e73aefcdf919716bd335062937e8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2337 zcmWlXd05g}7suNqm0yEP6F6orjSgBVmP@XUIodOpWj#}BBPh5~X=7zB23_*XslYPpi{jr+!%9 zs!e$2tH23{KmU5FciA!I%iD^1mSjpaMT%9atWMAy>Ar}_DG^syyEU`iQ&v`Xj*-mS z*yxEoal&O&B|lfgU6-%DN+v0Vv%}5FTawv@Ktpb#YIe4)Klfbnx^lkbMDlS@rF1im z&azLSC?XGtmbixQqA5<>)>^L0zGh24GrP4lxpA(>wTVTKMZ_u$16`cg;}l;uHYyOR z2lV*KHuG1ESKNm&;Ywwxw%*T<+PewAnB}>JY`MjIa257onJqWs^ebHw^z3HyNoWAuna%LmvHgf2if}d*kU&{4h^J#va0YktI~#dX(z6bZMWpMTeI<`P;4h z64^hRb;-mkA5nU2pd6&EtG^y=`wn47I=`B0R=97)#0VtrE1C4I(kB z21`(e|4481n?Aq25i7e@YYqiW>ZB^*UpuQ$8GBZrGPTP%zv{Mn+Q7!j8PP$xE4EI* zFP`DIuhRI^g|DqTD&7cu?W+lt7~i#$ndJBgw>a!%z4E~fB1ny)gdJzIiUkK=Yy#V0{TrPW{ zUg9nSgzWv5@SVaQP~EmRk0|WPxG%QN=n7pYA0d2=7-Pb%P1SZpfTMejVll=LnHlRHrB#)g?;BEN*kMCiP_~o+iC$^blmI)fr5MGNu?5 zd{2uedCl={@BTmu->B^mTGW1b!%lQ6QZmPc0F+aJSE52s@M81wv~-pRc%SefJMdlk&D$k^7mXsRpt*;cx_H&aMG(r zJiomM1-OBq4m|@n44`17A3RWTUo4<0z72l5YaCwnr#)EHFzGx4gIlg^KYE6X@&k5P zy9~JGI>4<}-3R?mJr#8CZi>pg@LUT+d)7KFV7JWGKzKLXA>#`z3su#x_mUJRxR^e8 zpx&bT2q~QX+|b=c-gL$LADU;jyu>zru&p5g)!AH%p%ph$+%~JUU@|QaROS2Ue50*r z8szmXOK8RF4C-TGEpj5CPo2pcFo)QkIxw6Gg~uAWK;iWaT%htMeU_&N+eVaILv15j z8t|Y+HAM+7z)#JNicf?ya;ED4Hu9|T?+@PnCdJP*Rop5xgPt&B@KQ6CbNn4BFcg8; zn)-8Xdd{()QHIFlt-m#e=4(HP*H>+a_HIeR^WEasN}Ydn_R<@Zlu~}aCTsfj9SvY?fhSa z@n6IzFDd0L`Zez7Q+q?Ko*vVzM?y%L%(WErI*o_BVudn>2nrJb5TpR3r?7+wvAVE2 z6%fvXlgA!&1{`IkP%!wm>M#)RPvsRdyisulSOEB_z!+kmSv>t_rrhCCP6#}FEqL<| z7}A7#nRLg|oiS`i(}Q67yM#-+VeR)Wvw2aD*;n~t8E_}jx!e^3B#uMSBR-<&-h@P* z2<=H_?JdD9CP$bKj~U*wSs0%|ZBNgmrHTQE3I=4mX(ZJhb#N=512JD?gdK7Yh}UJ>I~E+_)iGl$dp}8yA>OPh1Vg#*^9I|Sk#%dv93Yu&gz z2CJvltd6~M7Qfe2go88pj~mlkA;m?kuGk+&(I-L#%>He`{DK~)Xz7SvQKhpO8z8I2 z^~DSEo9zox9C&yeFPg{^>$!8;r)rrZY+iC)M1v;T_U0%Ho;ZJiK;-BL3JsP6>5rog zmep>&HyXuk#c-UiaJv_Zn%^~VXAn7)JiSULsVKjdO)mb{)fXSjc1B$KSH-gw%Yv4g Y0!Bl4{q_n(GDm4>M(epx!ff02f5}{_OaK4? diff --git a/data/pr226.tsp b/data/pr226.tsp deleted file mode 100755 index d25bcd4..0000000 --- a/data/pr226.tsp +++ /dev/null @@ -1,233 +0,0 @@ -NAME : pr226 -COMMENT : 226-city problem (Padberg/Rinaldi) -TYPE : TSP -DIMENSION : 226 -EDGE_WEIGHT_TYPE : EUC_2D -NODE_COORD_SECTION -1 15625 1150 -2 14625 1200 -3 14525 1200 -4 14425 1200 -5 14125 1200 -6 14025 1200 -7 13925 1200 -8 13975 1500 -9 13625 1200 -10 13475 1200 -11 13475 1600 -12 13475 1750 -13 13475 1900 -14 13325 1200 -15 13175 1200 -16 13100 1725 -17 12675 1725 -18 12025 1300 -19 11425 1600 -20 9725 1450 -21 7975 1150 -22 6975 1200 -23 6875 1200 -24 6775 1200 -25 6475 1200 -26 6375 1200 -27 6275 1200 -28 6325 1500 -29 5975 1200 -30 5825 1200 -31 5825 1600 -32 5825 1750 -33 5825 1900 -34 5675 1200 -35 5525 1200 -36 5450 1725 -37 5025 1725 -38 4375 1300 -39 3775 1600 -40 2075 1450 -41 2075 3850 -42 3775 2300 -43 4375 3300 -44 5025 2150 -45 5450 2150 -46 5475 2500 -47 5475 3000 -48 5825 2050 -49 6325 2200 -50 7975 2150 -51 8725 2550 -52 8725 2650 -53 8725 2750 -54 8725 2850 -55 8725 2950 -56 8725 3050 -57 8725 3200 -58 8725 3300 -59 8725 3400 -60 8725 3500 -61 8725 3600 -62 8725 3700 -63 8725 3800 -64 9725 3850 -65 11425 2300 -66 12025 3300 -67 12675 2150 -68 13100 2150 -69 13125 2500 -70 13125 3000 -71 13475 2050 -72 13975 2200 -73 15625 2150 -74 16375 2550 -75 16375 2650 -76 16375 2750 -77 16375 2850 -78 16375 2950 -79 16375 3050 -80 16375 3200 -81 16375 3300 -82 16375 3400 -83 16375 3500 -84 16375 3600 -85 16375 3700 -86 16375 3800 -87 4875 6500 -88 4875 6700 -89 4875 6600 -90 4875 6800 -91 4875 6900 -92 4875 7000 -93 4875 7100 -94 4875 7200 -95 4975 6500 -96 4975 6600 -97 4975 6700 -98 4975 6800 -99 4975 6900 -100 4975 7000 -101 4975 7100 -102 4975 7200 -103 12525 6500 -104 12525 6700 -105 12525 6600 -106 12525 6800 -107 12525 6900 -108 12525 7000 -109 12525 7100 -110 12525 7200 -111 12625 6500 -112 12625 6600 -113 12625 6700 -114 12625 6800 -115 12625 6900 -116 12625 7000 -117 12625 7100 -118 12625 7200 -119 12625 8450 -120 12625 8550 -121 12625 8650 -122 12625 8750 -123 12625 8850 -124 12625 8950 -125 12625 9050 -126 12525 8450 -127 12525 8650 -128 12525 8550 -129 12525 8750 -130 12525 8950 -131 12525 8850 -132 12525 9050 -133 10075 8800 -134 9975 8800 -135 9875 8800 -136 9775 8800 -137 4975 8450 -138 4975 8550 -139 4975 8650 -140 4975 8750 -141 4975 8850 -142 4975 8950 -143 4975 9050 -144 4875 8450 -145 4875 8650 -146 4875 8550 -147 4875 8750 -148 4875 8950 -149 4875 8850 -150 4875 9050 -151 2425 8800 -152 2325 8800 -153 2225 8800 -154 2125 8800 -155 1875 11850 -156 1975 11850 -157 2075 11850 -158 2425 11850 -159 2525 11850 -160 2625 11850 -161 2725 11850 -162 2825 11850 -163 2925 11850 -164 3025 11850 -165 3125 11850 -166 3375 11850 -167 3475 11850 -168 3575 11850 -169 3675 11850 -170 3775 11850 -171 4075 11850 -172 4175 11850 -173 4275 11850 -174 4375 11850 -175 4475 11850 -176 4575 11850 -177 4675 11850 -178 4775 11850 -179 4875 11850 -180 4975 11850 -181 5375 11850 -182 5475 11850 -183 5575 11850 -184 5675 11850 -185 5775 11850 -186 5875 11850 -187 5975 11850 -188 6075 11850 -189 6175 11850 -190 6275 11850 -191 9525 11850 -192 9625 11850 -193 9725 11850 -194 10075 11850 -195 10175 11850 -196 10275 11850 -197 10375 11850 -198 10475 11850 -199 10575 11850 -200 10675 11850 -201 10775 11850 -202 11025 11850 -203 11125 11850 -204 11225 11850 -205 11325 11850 -206 11425 11850 -207 11725 11850 -208 11825 11850 -209 11925 11850 -210 12025 11850 -211 12125 11850 -212 12225 11850 -213 12325 11850 -214 12425 11850 -215 12525 11850 -216 12625 11850 -217 13025 11850 -218 13125 11850 -219 13225 11850 -220 13325 11850 -221 13425 11850 -222 13525 11850 -223 13625 11850 -224 13725 11850 -225 13825 11850 -226 13925 11850 -EOF diff --git a/data/pr226.tsp.gz b/data/pr226.tsp.gz deleted file mode 100755 index 5b73c4698532d8b984bdb63f19787f28abd9e6fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1162 zcmV;51aKL7Z%rytTkUjh2|aD95(pKruO-~Imf z?|<~e-ygqx{xf~^^5N6R&tL!e{{7ouAHIBg`*yqi_QG%8USGD$Bfa+eczxD4xBc>N zzyG>FzWe!hx5xHh9`112p0Ahv{&2m%zuaH zf&SFu&w)H5e)zP|}c=#SKV(d3nIp=K(eKaX?G`SPS&j@qm#! z95Cq@FgIYOc9h1P+B{q@2HYEh0b7A+z)oOItseziYR67tPmPwM3&)X~tXp8FD!s7@ zxDpQcyygUXm zS&f$ht)$6Y0*wI-Is+Q8A*~v4qpcY%hOU6D(}scQOaop*TLzWqI2&-+-8w*ar&|X& z7_0-F3{_`Gtm@6iO1$dbMoyHvkE5)wPa9PwJ{kqguaS+!u;E8T92;OKN-P^_M^~y0 zIvO&0Vw!BM5W6{kvKQAlN{&b#4DQM#O6(O;x$a~MeLj2i}*La z7cp>-RQXhOd2JfVbIX8BtZcyVtYX0DV1dG5w-y={hHAjQua@d^oz)Gb^e|x2H4Q{( z8A$TbZV8D{$;GG$fstk#c>#PJMXcoNI0T!cgkA2AQ*bz{=rlCd!)W#&D{L<4R(`Aw@CtfYi|l zNG;8P)YA%BDZ2tv(3F6k((7!4Vp%U2hLiFuAbleHiImLx#WbWn3oD{*t|cJt8U(EN z={2N%3%ZogHRw`6*QiTd7j zUvfR@ORxuhN%o*G(H``Re{q~W+@1N-9`&Z(K%Du067)FWG3bHZQ3CTVCFpU+W6r^LYBPUw_*E2X3wu=O+yS0G9wWZvX%Q diff --git a/data/pr76.tsp b/data/pr76.tsp deleted file mode 100755 index ec1e7d4..0000000 --- a/data/pr76.tsp +++ /dev/null @@ -1,83 +0,0 @@ -NAME : pr76 -COMMENT : 76-city problem (Padberg/Rinaldi) -TYPE : TSP -DIMENSION : 76 -EDGE_WEIGHT_TYPE : EUC_2D -NODE_COORD_SECTION -1 3600 2300 -2 3100 3300 -3 4700 5750 -4 5400 5750 -5 5608 7103 -6 4493 7102 -7 3600 6950 -8 3100 7250 -9 4700 8450 -10 5400 8450 -11 5610 10053 -12 4492 10052 -13 3600 10800 -14 3100 10950 -15 4700 11650 -16 5400 11650 -17 6650 10800 -18 7300 10950 -19 7300 7250 -20 6650 6950 -21 7300 3300 -22 6650 2300 -23 5400 1600 -24 8350 2300 -25 7850 3300 -26 9450 5750 -27 10150 5750 -28 10358 7103 -29 9243 7102 -30 8350 6950 -31 7850 7250 -32 9450 8450 -33 10150 8450 -34 10360 10053 -35 9242 10052 -36 8350 10800 -37 7850 10950 -38 9450 11650 -39 10150 11650 -40 11400 10800 -41 12050 10950 -42 12050 7250 -43 11400 6950 -44 12050 3300 -45 11400 2300 -46 10150 1600 -47 13100 2300 -48 12600 3300 -49 14200 5750 -50 14900 5750 -51 15108 7103 -52 13993 7102 -53 13100 6950 -54 12600 7250 -55 14200 8450 -56 14900 8450 -57 15110 10053 -58 13992 10052 -59 13100 10800 -60 12600 10950 -61 14200 11650 -62 14900 11650 -63 16150 10800 -64 16800 10950 -65 16800 7250 -66 16150 6950 -67 16800 3300 -68 16150 2300 -69 14900 1600 -70 19800 800 -71 19800 10000 -72 19800 11900 -73 19800 12200 -74 200 12200 -75 200 1100 -76 200 800 -EOF diff --git a/data/pr76.tsp.gz b/data/pr76.tsp.gz deleted file mode 100755 index 044461e93d39bfadec2359a2173daf953d11ce7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 533 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 G5C8y|%375G diff --git a/foa_2opt_greedy.py b/foa_2opt_greedy.py deleted file mode 100755 index 83b7dad..0000000 --- a/foa_2opt_greedy.py +++ /dev/null @@ -1,261 +0,0 @@ -import random -import numpy as np -import math -import pandas as pd -import tqdm - - -class FOA(object): - def __init__(self, num_city, num_total, iteration, data, save_path, save_freq, **kwargs): - self.num_city = num_city - self.num_total = num_total - self.iteration = iteration - self.save_path = save_path - self.save_freq = save_freq - self.location = data - self.dis_mat = self.compute_dis_mat(num_city, self.location) - # self.fruits = self.greedy_init(self.dis_mat, num_total, num_city) - self.fruits = self.random_init(num_total,num_city) - - # 贪心初始化种群 - def greedy_init(self, dis_mat, num_total, num_city): - start_index = 0 - result = [] - for i in range(num_total): - rest = [x for x in range(0, num_city)] - # 所有起始点都已经生成了 - if start_index >= num_city: - start_index = np.random.randint(0, num_city) - result.append(result[start_index].copy()) - continue - current = start_index - rest.remove(current) - # 找到一条最近邻路径 - result_one = [current] - while len(rest) != 0: - tmp_min = math.inf - tmp_choose = -1 - for x in rest: - if dis_mat[current][x] < tmp_min: - tmp_min = dis_mat[current][x] - tmp_choose = x - - current = tmp_choose - result_one.append(tmp_choose) - rest.remove(tmp_choose) - result.append(result_one) - start_index += 1 - return result - - # def greedy_init_2(self,dis_mat,num_total,num_city): - # start_index = 0 - # result = [[]]*num_total - # rest = [x for x in range(0, num_city)] - # # 所有起始点都已经生成了 - # if start_index >= num_city: - # start_index = np.random.randint(0,num_city) - # result[i] = result[start_index].copy() - # continue - # current = start_index - # rest.remove(current) - # # 找到一条最近邻路径 - # result_one = [current] - # while len(rest) != 0: - # tmp_min = math.inf - # tmp_choose = -1 - # for x in rest: - # if dis_mat[current][x] < tmp_min: - # tmp_min = dis_mat[current][x] - # tmp_choose = x - # - # current = tmp_choose - # result_one.append(tmp_choose) - # rest.remove(tmp_choose) - # # result[i] = result_one - # result[0] = result_one - # start_index += 1 - # return result - # 随机初始化种群 - def random_init(self, num_total, num_city): - tmp = [x for x in range(num_city)] - result = [] - for i in range(num_total): - random.shuffle(tmp) - result.append(tmp.copy()) - return result - - # 计算不同城市之间的距离 - def compute_dis_mat(self, num_city, location): - dis_mat = np.zeros((num_city, num_city)) - for i in range(num_city): - for j in range(num_city): - if i == j: - dis_mat[i][j] = np.inf - continue - a = location[i] - b = location[j] - tmp = np.sqrt(sum([(x[0] - x[1]) ** 2 for x in zip(a, b)])) - dis_mat[i][j] = tmp - return dis_mat - - # 计算路径长度 - def compute_pathlen(self, path, dis_mat): - try: - a = path[0] - b = path[-1] - except: - import pdb - pdb.set_trace() - result = dis_mat[a][b] - for i in range(len(path) - 1): - a = path[i] - b = path[i + 1] - result += dis_mat[a][b] - return result - - # 计算种群适应度 - def compute_adp(self, fruits): - adp = [] - for fruit in fruits: - if isinstance(fruit, int): - import pdb - pdb.set_trace() - length = self.compute_pathlen(fruit, self.dis_mat) - adp.append(1.0 / length) - return np.array(adp) - - # 对序列做2opt操作 - def _2opt(self, x): - city_list = [i for i in range(self.num_city)] - choice = np.random.choice(city_list, 2) - choice.sort() - i, j = choice - a = x[:i] - b = x[i:j] - c = x[j:] - b = b[::-1] - if isinstance(x, int) or isinstance(a + b + c, int): - import pdb - pdb.set_trace() - adp1 = 1. / self.compute_pathlen(x, self.dis_mat) - adp2 = 1. / self.compute_pathlen(a + b + c, self.dis_mat) - if adp1 > adp2: - result = x - else: - result = a + b + c - - # result = a+b+c - return result - - # 迭代一次,返回适应度最高的个体和他的序列。 - def fly(self, fruits, num_total): - # 选择适应度最高的个体 - self.dis_adp = self.compute_adp(self.fruits) - # 从高到底适应度排序 - sortindex = np.argsort(-self.dis_adp) - best_adp = self.dis_adp[sortindex[0]] - best_fruit = self.fruits[sortindex[0]] - # 保留种群中适应度最好的个体 - # self.fruits[0] = best_fruit - self.fruits = [best_fruit] - for i in range(1, num_total): - # 2opt生成一个新个体 - - opt_2_res = self._2opt(best_fruit.copy()) - self.fruits.append(opt_2_res) - return best_adp, best_fruit - - # 总共的迭代过程,返回最终最好的长度,以及一段路径 - def run(self): - best_fruit = None - best_adp = -math.inf - for i in range(self.iteration): - tmp_adp, tmp_list = self.fly(self.fruits, self.num_total) - if tmp_adp > best_adp: - best_adp = tmp_adp - best_fruit = tmp_list - bestlen = 1.0 / best_adp - return self.location[best_fruit], bestlen - - -import pandas as pd - - -def read_tsp(path): - lines = open(path, 'r').readlines() - assert 'NODE_COORD_SECTION\n' in lines - index = lines.index('NODE_COORD_SECTION\n') - data = lines[index + 1:-1] - tmp = [] - for line in data: - line = line.strip().split(' ') - if line[0] == 'EOF': - continue - tmpline = [] - for x in line: - if x == '': - continue - else: - tmpline.append(float(x)) - if tmpline == []: - continue - tmp.append(tmpline) - data = tmp - return data - - -data = read_tsp('data/st70.tsp') -data = np.array(data) -data = data[:, 1:] -result_ = [] -runtimes = 20 -import time - -start_time = time.time() -for _ in tqdm.trange(runtimes): - foa = FOA(num_city=data.shape[0], num_total=50, iteration=1000, data=data.copy(), save_path='sdsdsdssd.txt', - save_freq=10) - res, length = foa.run() - result_.append(length) -end_time = time.time() -result_ = np.array(result_) - -print('best:{:.2f}\tworst:{:.2f}\tmean:{:.2f}\tstd:{:.2f}\taverage_time:{:.2f}'.format(result_.min(), result_.max(), - result_.mean(), result_.std(), ( - end_time - start_time) / runtimes)) - -# import os -# # print(os.getcwd()) -# import matplotlib.pyplot as plt -# import numpy as np -# from mpl_toolkits.mplot3d import Axes3D -# -# fig = plt.figure() -# ax = Axes3D(fig) -# colors = ('#377eb8', '#ff7f00', '#4daf4a','#aaaaaa') -# def plot(i, data): -# -# x = data[:,0] -# y = data[:,1] -# z = data[:,2] -# ax.scatter(x, y, z,color=colors[i],marker = '+') -# # ax.set_zlabel('Z', fontdict={'size': 15, 'color': 'red'}) -# # ax.set_ylabel('Y', fontdict={'size': 15, 'color': 'red'}) -# # ax.set_xlabel('X', fontdict={'size': 15, 'color': 'red'}) -# ax.plot3D(data[:,0], data[:,1], data[:,2],color = colors[i]) -# result = [] -# for i in range(4): -# data = pd.read_csv('path5_{}.csv'.format(i),header=None) -# data = np.array(data) -# foa = FOA(num_city=data.shape[0],num_total=20,iteration=100,adp_norm=1000,data=data,save_path='sdsdsdssd.txt',save_freq=10) -# res,lenth = foa.run() -# -# res = np.array(res).astype(np.int) -# plot(i,res) -# -# print(lenth) -# # result.append(res) -# # result = np.concatenate(result,axis = 0) -# # print(result.shape) -# # plot(result) -# plt.show() diff --git a/foa_2opt_greedy_ga.py b/foa_2opt_greedy_ga.py deleted file mode 100755 index ddf0dc1..0000000 --- a/foa_2opt_greedy_ga.py +++ /dev/null @@ -1,386 +0,0 @@ -import random -import numpy as np -import math -import pandas as pd - - -class FOA(object): - def __init__(self, num_city, num_total, iteration, adp_norm, data, save_path, save_freq, **kwargs): - self.num_city = num_city - self.num_total = num_total - self.dis_adp = [0 for _ in range(self.num_total)] - self.iteration = iteration - self.adp_norm = adp_norm - self.save_path = save_path - self.save_freq = save_freq - self.location = data - self.dis_mat = self.distance_p2p_mat() - # self.generate_best() - self.ga_choose_num = 10 - self.ga_ratio = 0.5 - self.cross_ratio = 0.9 - self.mutate_ratio = 0.9 - self.generate_fruits() - print('get data,she shape is {}'.format(self.location.shape)) - - def get_data(self, data): - return np.loadtxt(data)[:, 1:] - - # 贪心初始化一条最优路径 - def generate_best(self,flag = True): - if flag: - initial = [0] - rest = [x for x in range(1, self.num_city)] - initial_path = 0 - while len(rest) != 0: - start = initial[-1] - tmp_min = math.inf - tmp_choose = -1 - for x in rest: - if self.dis_mat[start][x] < tmp_min: - tmp_min = self.dis_mat[start][x] - tmp_choose = x - initial_path += tmp_min - initial.append(tmp_choose) - rest.remove(tmp_choose) - initial_path += self.dis_mat[tmp_choose][0] - return initial, initial_path - else: - initial = [x for x in range(self.num_city)] - initial_path = 0 - for index in range(self.num_city - 1): - initial_path += self.dis_mat[index][index+1] - initial_path += self.dis_mat[index][0] - return initial, initial_path - - def generate_fruits(self): - best, initial_path = self.generate_best(True) - self.fruits = [np.array(best)] - for _ in range(self.num_total - 1): - tmp = best.copy() - np.random.shuffle(tmp) - self.fruits.append(np.array(tmp)) - - # 对称矩阵,两个城市之间的距离 支持2d和3d - def distance_p2p_mat(self): - dis_mat = [] - for i in range(self.num_city): - dis_mat_each = [] - for j in range(self.num_city): - tmp = 0 - for k in range(len(self.location[i])): - tmp += pow(self.location[i][k] - self.location[j][k], 2) - tmp = math.sqrt(tmp) - dis_mat_each.append(tmp) - dis_mat.append(dis_mat_each) - return dis_mat - - # 目标函数计算,适应度计算,中间计算。适应度为1/总距离*10000 - def dis_adp_total(self, ): - self.dis_adp = [] - for i in range(self.num_total): - try: - dis = self.dis_mat[self.fruits[i][self.num_city - 1]][self.fruits[i][0]] # 回家 - except: - import pdb - pdb.set_trace() - for j in range(self.num_city - 1): - dis = self.dis_mat[self.fruits[i][j]][self.fruits[i][j + 1]] + dis - dis_adp_each = self.adp_norm / dis - self.dis_adp.append(dis_adp_each) - - def swap_part(self, list1, list2): - index = len(list1) - list = list1 + list2 - list = list[::-1] - return list[:index], list[index:] - - def ga_cross(self, x, y): - x = np.array(x) - y = np.array(y) - len_ = len(x) - assert len(x) == len(y) - path_list = [t for t in range(len_)] - # start, end = np.random.choice(path_list,2) - # order = list(random.sample(path_list,2)) - start = np.random.randint(len_-5) - end = start +5 - # order.sort() - # start, end = order - - # 找到冲突点并存下他们的下标,x中存储的是y中的下标 - tmp = x[start:end] - x_conflict_index = [] - for sub in tmp: - index = int(np.where(y == sub)[0]) - if not (index >= start and index < end): - x_conflict_index.append(index) - y_confict_index = [] - tmp = y[start:end] - for sub in tmp: - index = int(np.where(x == sub)[0]) - if not (index >= start and index < end): - y_confict_index.append(index) - assert len(x_conflict_index) == len(y_confict_index) - # 交叉 - tmp = x[start:end].copy() - x[start:end] = y[start:end] - y[start:end] = tmp - # 解决冲突 - for index in range(len(x_conflict_index)): - i = x_conflict_index[index] - j = y_confict_index[index] - y[i], x[j] = x[j], y[i] - - assert len(set(x)) == len_ and len(set(y)) == len_ - return x, y - - def ga_cross(self, x, y): - x = np.array(x) - y = np.array(y) - len_ = len(x) - assert len(x) == len(y) - path_list = [t for t in range(len_)] - # start, end = np.random.choice(path_list,2) - order = list(random.sample(path_list,2)) - # start = np.random.randint(len_-3) - # end = start +3 - order.sort() - start, end = order - - # 找到冲突点并存下他们的下标,x中存储的是y中的下标 - tmp = x[start:end] - x_conflict_index = [] - for sub in tmp: - index = int(np.where(y == sub)[0]) - if not (index >= start and index < end): - x_conflict_index.append(index) - y_confict_index = [] - tmp = y[start:end] - for sub in tmp: - index = int(np.where(x == sub)[0]) - if not (index >= start and index < end): - y_confict_index.append(index) - assert len(x_conflict_index) == len(y_confict_index) - # 交叉 - tmp = x[start:end].copy() - x[start:end] = y[start:end] - y[start:end] = tmp - # 解决冲突 - for index in range(len(x_conflict_index)): - i = x_conflict_index[index] - j = y_confict_index[index] - y[i], x[j] = x[j], y[i] - - assert len(set(x)) == len_ and len(set(y)) == len_ - return list(x), list(y) - - def ga_parent(self,scores,choose_num): - scores_order = np.argsort(scores)[::-1].copy() - scores_order = scores_order[0:choose_num] - genes_choose = [] - genes_score = [] - for sub in scores_order: - genes_choose.append(self.fruits[sub]) - genes_score.append(scores[sub]) - return genes_score, genes_choose - - def ga_choose(self,genes_score,genes_choose): - sum_score = sum(genes_score) - score_ratio = [sub*1.0/sum_score for sub in genes_score] - rand1 = np.random.rand() - rand2 = np.random.rand() - for i, sub in enumerate(score_ratio): - if rand1 >= 0: - rand1 -= sub - if rand1 < 0: - index1 = i - if rand2 >= 0: - rand2 -= sub - if rand2 < 0: - index2 = i - if rand1 < 0 and rand2 < 0: - break - return list(genes_choose[index1]), list(genes_choose[index2]) - - def ga_mutate(self,gene): - path_list = [t for t in range(len(gene))] - order = list(random.sample(path_list, 2)) - start, end = min(order), max(order) - tmp = gene[start:end] - # np.random.shuffle(tmp) - tmp = tmp[::-1] - gene[start:end] = tmp - return list(gene) - - def ga(self): - # 获得优质父代 - scores = self.dis_adp - genes_score, genes_choose = self.ga_parent(scores,self.ga_choose_num) - ga_result = [] - # for sub in genes_choose[0:self.ga_choose_num]: - # ga_result.append(list(sub)) - # 轮盘赌方式对父代进行选择 - gene_x, gene_y = self.ga_choose(genes_score,genes_choose) - # 交叉 - if np.random.rand() < self.cross_ratio: - gene_x, gene_y = self.ga_cross(gene_x, gene_y) - # 变异 - if np.random.rand() < self.mutate_ratio: - gene_x_new = self.ga_mutate(gene_x) - if np.random.rand() < self.mutate_ratio: - gene_y_new = self.ga_mutate(gene_y) - - if not (gene_x in ga_result): - ga_result.append(gene_x) - if not (gene_y in ga_result): - ga_result.append(gene_y) - - ga_result = ga_result[:self.num_total] - ga_result = [np.array(x) for x in ga_result] - return ga_result - - def get_best(self): - self.dis_adp_total() - sortindex = np.argsort(self.dis_adp)[::-1] - best_adp = self.dis_adp[sortindex[0]] - best_fruit = self.fruits[sortindex[0]] - return best_adp, best_fruit - - - def opt_2(self, x): - city_list = [i for i in range(self.num_city)] - choice = np.random.choice(city_list, 2) - choice.sort() - res_list = [] - a, b = list(choice) - part1 = list(x[:a]) - part2 = list(x[a:b]) - part3 = list(x[b:]) - - # 1 - res = part1 + part2[::-1] + part3 - res_list.append(res) - # 2 - list1, list2 = self.swap_part(part1, part3) - res = list1 + part2 + list2 - res_list.append(res) - # 3 - res = list1 + part2[::-1] + list2 - res_list.append(res) - return res_list - - def fly(self): - self.dis_adp_total() - sortindex = np.argsort(self.dis_adp)[::-1] - best_adp = self.dis_adp[sortindex[0]] - best_fruit = self.fruits[sortindex[0]] - fruits = [best_fruit] - while len(fruits) < self.num_total*2: - if np.random.rand() < self.ga_ratio: - ga_result = self.ga() - fruits += ga_result - else: - opt_2_result = self.opt_2(best_fruit) - fruits += opt_2_result - - self.dis_adp_total() - sortindex = np.argsort(self.dis_adp)[::-1] - keep_index = sortindex[:self.num_total] - - self.fruits = np.array(fruits)[keep_index] - self.fruits = list(fruits) - - return best_adp, best_fruit - - def run(self): - print('==================Running the code==================') - BEST_LIST = None - best_adp = -math.inf - - with open(self.save_path, 'w') as f: - for i in range(1, self.iteration + 1): - max_adp, best_list = self.fly() - # self.ga() - if max_adp > best_adp: - best_adp = max_adp - BEST_LIST = best_list - bestlen = self.adp_norm / best_adp - return self.location[BEST_LIST], bestlen - - -import pandas as pd - -# x = [t for t in range(10)] -# yy = x.copy() -# np.random.shuffle(yy) -# -# tx,ty = FOA.ga_cross(x,yy) -# print(tx,ty) - - -def read_tsp(path): - lines = open(path, 'r').readlines() - assert 'NODE_COORD_SECTION\n' in lines - index = lines.index('NODE_COORD_SECTION\n') - data = lines[index + 1:-1] - tmp = [] - for line in data: - line = line.strip().split(' ') - tmpline = [] - for x in line: - if x == '': - continue - else: - tmpline.append(int(x)) - tmp.append(tmpline) - data = tmp - return data - - -data = read_tsp('data/st70.tsp') -data = np.array(data) -data = data[:, 1:] -for _ in range(10): - foa = FOA(num_city=data.shape[0], num_total=200, iteration=1000, adp_norm=1000, data=data.copy(), - save_path='sdsdsdssd.txt', save_freq=10) - res, result = foa.run() - print(result) - - - -# import os -# # print(os.getcwd()) -# import matplotlib.pyplot as plt -# import numpy as np -# from mpl_toolkits.mplot3d import Axes3D -# -# fig = plt.figure() -# ax = Axes3D(fig) -# colors = ('#377eb8', '#ff7f00', '#4daf4a','#aaaaaa') -# def plot(i, data): -# -# x = data[:,0] -# y = data[:,1] -# z = data[:,2] -# ax.scatter(x, y, z,color=colors[i],marker = '+') -# # ax.set_zlabel('Z', fontdict={'size': 15, 'color': 'red'}) -# # ax.set_ylabel('Y', fontdict={'size': 15, 'color': 'red'}) -# # ax.set_xlabel('X', fontdict={'size': 15, 'color': 'red'}) -# ax.plot3D(data[:,0], data[:,1], data[:,2],color = colors[i]) -# result = [] -# for i in range(4): -# data = pd.read_csv('path5_{}.csv'.format(i),header=None) -# data = np.array(data) -# foa = FOA(num_city=data.shape[0],num_total=20,iteration=100,adp_norm=1000,data=data,save_path='sdsdsdssd.txt',save_freq=10) -# res,lenth = foa.run() -# -# res = np.array(res).astype(np.int) -# plot(i,res) -# -# print(lenth) -# # result.append(res) -# # result = np.concatenate(result,axis = 0) -# # print(result.shape) -# # plot(result) -# plt.show() diff --git a/foa_2opt_greedy_morebest.py b/foa_2opt_greedy_morebest.py deleted file mode 100755 index 97bae6f..0000000 --- a/foa_2opt_greedy_morebest.py +++ /dev/null @@ -1,232 +0,0 @@ -import random -import numpy as np -import math -import pandas as pd -import tqdm - -class FOA(object): - def __init__(self, num_city, num_total, iteration, data, save_path, save_freq, **kwargs): - self.num_city = num_city - self.num_total = num_total - self.iteration = iteration - self.save_path = save_path - self.save_freq = save_freq - self.location = data - self.dis_mat = self.compute_dis_mat(num_city,self.location) - self.fruits = self.greedy_init(self.dis_mat,num_total,num_city) - # self.fruits = self.random_init(num_total,num_city) - # 贪心初始化种群 - def greedy_init(self,dis_mat,num_total,num_city): - start_index = 0 - result = [[]]*num_total - for i in range(num_total): - rest = [x for x in range(0, num_city)] - # 所有起始点都已经生成了 - if start_index >= num_city: - start_index = np.random.randint(0,num_city) - result[i] = result[start_index].copy() - continue - current = start_index - rest.remove(current) - # 找到一条最近邻路径 - result_one = [current] - while len(rest) != 0: - tmp_min = math.inf - tmp_choose = -1 - for x in rest: - if dis_mat[current][x] < tmp_min: - tmp_min = dis_mat[current][x] - tmp_choose = x - - current = tmp_choose - result_one.append(tmp_choose) - rest.remove(tmp_choose) - result[i] = result_one - start_index += 1 - return result - # def greedy_init_2(self,dis_mat,num_total,num_city): - # start_index = 0 - # result = [[]]*num_total - # rest = [x for x in range(0, num_city)] - # # 所有起始点都已经生成了 - # if start_index >= num_city: - # start_index = np.random.randint(0,num_city) - # result[i] = result[start_index].copy() - # continue - # current = start_index - # rest.remove(current) - # # 找到一条最近邻路径 - # result_one = [current] - # while len(rest) != 0: - # tmp_min = math.inf - # tmp_choose = -1 - # for x in rest: - # if dis_mat[current][x] < tmp_min: - # tmp_min = dis_mat[current][x] - # tmp_choose = x - # - # current = tmp_choose - # result_one.append(tmp_choose) - # rest.remove(tmp_choose) - # # result[i] = result_one - # result[0] = result_one - # start_index += 1 - # return result - # 随机初始化种群 - def random_init(self,num_total,num_city): - tmp = [x for x in range(num_city)] - result = [[]]*num_total - for i in range(num_total): - random.shuffle(tmp) - result[i] = tmp - return result - # 计算不同城市之间的距离 - def compute_dis_mat(self,num_city,location): - dis_mat = np.zeros((num_city,num_city)) - for i in range(num_city): - for j in range(num_city): - if i == j: - dis_mat[i][j] = np.inf - continue - a = location[i] - b = location[j] - tmp = np.sqrt(sum([(x[0] - x[1]) ** 2for x in zip(a,b)])) - dis_mat[i][j] = tmp - return dis_mat - # 计算路径长度 - def compute_pathlen(self,path,dis_mat): - a = path[0] - b = path[-1] - result = dis_mat[a][b] - for i in range(len(path) - 1): - a = path[i] - b = path[i+1] - result += dis_mat[a][b] - return result - # 计算种群适应度 - def compute_adp(self,fruits): - adp = [] - for fruit in fruits: - length = self.compute_pathlen(fruit,self.dis_mat) - adp.append(1.0/length) - return np.array(adp) - # 对序列做2opt操作 - def _2opt(self, x): - city_list = [i for i in range(self.num_city)] - choice = np.random.choice(city_list, 2) - choice.sort() - i,j = choice - a = x[:i] - b = x[i:j] - c = x[j:] - b = b[::-1] - result = a+b+c - return result - # 迭代一次,返回适应度最高的个体和他的序列。 - def fly(self,fruits,num_total): - best_ratio = 0.6 - best_num =best_ratio*num_total - start_ge = best_num - # 选择适应度最高的个体 - self.dis_adp = self.compute_adp(self.fruits) - # 从高到底适应度排序 - sortindex = np.argsort(-self.dis_adp) - best_adp = self.dis_adp[sortindex[0]] - best_fruit = self.fruits[sortindex[0]] - # 保留种群中适应度最好的个体 - tmp_fruits = self.fruits.copy() - for i in range(int(best_num)): - index = sortindex[i] - self.fruits[i] = tmp_fruits[index] - # self.fruits[0] = best_fruit - - for i in range(int(start_ge), num_total): - # 2opt生成一个新个体 - index = np.random.randint(0,best_num-1) - opt_2_res = self._2opt(self.fruits[index].copy()) - self.fruits[i] = opt_2_res - return best_adp, best_fruit - # 总共的迭代过程,返回最终最好的长度,以及一段路径 - def run(self): - best_fruit = None - best_adp = -math.inf - for i in range(self.iteration): - tmp_adp, tmp_list = self.fly(self.fruits,self.num_total) - if tmp_adp > best_adp: - best_adp = tmp_adp - best_fruit = tmp_list - bestlen = 1.0/best_adp - return self.location[best_fruit],bestlen -import pandas as pd -def read_tsp(path): - lines = open(path, 'r').readlines() - assert 'NODE_COORD_SECTION\n' in lines - index = lines.index('NODE_COORD_SECTION\n') - data = lines[index + 1:-1] - tmp = [] - for line in data: - line = line.strip().split(' ') - if line[0] == 'EOF': - continue - tmpline = [] - for x in line: - if x == '': - continue - else: - tmpline.append(float(x)) - if tmpline == []: - continue - tmp.append(tmpline) - data = tmp - return data -data = read_tsp('data/st70.tsp') -data = np.array(data) -data = data[:,1:] -result_ = [] -runtimes = 20 -import time -start_time = time.time() -for _ in tqdm.trange(runtimes): - foa = FOA(num_city=data.shape[0],num_total=50,iteration=1000,data=data.copy(),save_path='sdsdsdssd.txt',save_freq=10) - res, length = foa.run() - result_.append(length) -end_time = time.time() -result_ = np.array(result_) - -print('best:{:.2f}\tworst:{:.2f}\tmean:{:.2f}\tstd:{:.2f}\taverage_time:{:.2f}'.format(result_.min(),result_.max(),result_.mean(), result_.std(),(end_time-start_time)/runtimes)) - -# import os -# # print(os.getcwd()) -# import matplotlib.pyplot as plt -# import numpy as np -# from mpl_toolkits.mplot3d import Axes3D -# -# fig = plt.figure() -# ax = Axes3D(fig) -# colors = ('#377eb8', '#ff7f00', '#4daf4a','#aaaaaa') -# def plot(i, data): -# -# x = data[:,0] -# y = data[:,1] -# z = data[:,2] -# ax.scatter(x, y, z,color=colors[i],marker = '+') -# # ax.set_zlabel('Z', fontdict={'size': 15, 'color': 'red'}) -# # ax.set_ylabel('Y', fontdict={'size': 15, 'color': 'red'}) -# # ax.set_xlabel('X', fontdict={'size': 15, 'color': 'red'}) -# ax.plot3D(data[:,0], data[:,1], data[:,2],color = colors[i]) -# result = [] -# for i in range(4): -# data = pd.read_csv('path5_{}.csv'.format(i),header=None) -# data = np.array(data) -# foa = FOA(num_city=data.shape[0],num_total=20,iteration=100,adp_norm=1000,data=data,save_path='sdsdsdssd.txt',save_freq=10) -# res,lenth = foa.run() -# -# res = np.array(res).astype(np.int) -# plot(i,res) -# -# print(lenth) -# # result.append(res) -# # result = np.concatenate(result,axis = 0) -# # print(result.shape) -# # plot(result) -# plt.show() \ No newline at end of file diff --git a/foa_2opt_greedy_multi_best.py b/foa_2opt_greedy_multi_best.py deleted file mode 100755 index 1d6c85e..0000000 --- a/foa_2opt_greedy_multi_best.py +++ /dev/null @@ -1,234 +0,0 @@ -import random -import numpy as np -import math -import pandas as pd - - -class FOA(object): - def __init__(self, num_city, num_total, iteration, adp_norm, data, save_path, save_freq, **kwargs): - self.num_city = num_city - self.num_total = num_total - self.dis_adp = [0 for _ in range(self.num_total)] - self.iteration = iteration - self.adp_norm = adp_norm - self.save_path = save_path - self.save_freq = save_freq - self.location = data - self.dis_mat = self.distance_p2p_mat() - self.best_num = 1 - self.generate_best() - self.generate_fruits() - print('get data,she shape is {}'.format(self.location.shape)) - - def get_data(self, data): - return np.loadtxt(data)[:, 1:] - - # 贪心初始化一条最优路径 - - def generate_best(self, flag=True): - if flag: - initial = [0] - rest = [x for x in range(1, self.num_city)] - initial_path = 0 - while len(rest) != 0: - start = initial[-1] - tmp_min = math.inf - tmp_choose = -1 - for x in rest: - if self.dis_mat[start][x] < tmp_min: - tmp_min = self.dis_mat[start][x] - tmp_choose = x - initial_path += tmp_min - initial.append(tmp_choose) - rest.remove(tmp_choose) - initial_path += self.dis_mat[tmp_choose][0] - return initial, initial_path - else: - initial = [x for x in range(self.num_city)] - initial_path = 0 - for index in range(self.num_city - 1): - initial_path += self.dis_mat[index][index + 1] - initial_path += self.dis_mat[index][0] - return initial, initial_path - - def generate_fruits(self): - best, initial_path = self.generate_best(True) - self.fruits = [best] - for _ in range(self.num_total - 1): - a = np.random.randint(0, self.num_city) - b = np.random.randint(0, self.num_city) - a = min(a, b) - b = max(a, b) - part1 = list(best[:a]) - part2 = list(best[a:b]) - part3 = list(best[b:]) - if len(part2)>=1: - try: - np.random.shuffle(part2) - part2 = list(part2) - except: - import pdb - pdb.set_trace() - res = part1 + part2 + part3 - self.fruits.append(res) - - # 对称矩阵,两个城市之间的距离 支持2d和3d - def distance_p2p_mat(self): - dis_mat = [] - for i in range(self.num_city): - dis_mat_each = [] - for j in range(self.num_city): - tmp = 0 - for k in range(len(self.location[i])): - tmp += pow(self.location[i][k] - self.location[j][k], 2) - tmp = math.sqrt(tmp) - dis_mat_each.append(tmp) - dis_mat.append(dis_mat_each) - return dis_mat - - # 目标函数计算,适应度计算,中间计算。适应度为1/总距离*10000 - def dis_adp_total(self, ): - self.dis_adp = [] - for i in range(self.num_total): - try: - dis = self.dis_mat[self.fruits[i][self.num_city - 1]][self.fruits[i][0]] # 回家 - except: - import pdb - pdb.set_trace() - for j in range(self.num_city - 1): - dis = self.dis_mat[self.fruits[i][j]][self.fruits[i][j + 1]] + dis - dis_adp_each = self.adp_norm / dis - self.dis_adp.append(dis_adp_each) - - def swap_part(self,list1,list2): - index = len(list1) - list = list1 + list2 - list = list[::-1] - return list[:index], list[index:] - - def opt_2(self, x): - city_list = [i for i in range(self.num_city)] - res_list = [] - for i in range(3): - choice = np.random.choice(city_list, 2) - choice.sort() - a, b = list(choice) - part1 = list(x[:a]) - part2 = list(x[a:b]) - part3 = list(x[b:]) - - # 1 - res = part1 + part2[::-1] + part3 - res_list.append(res) - # 2 - list1, list2 = self.swap_part(part1, part3) - res = list1 + part2 + list2 - res_list.append(res) - # 3 - res = list1 + part2[::-1] + list2 - res_list.append(res) - return res_list - - def fly(self): - self.dis_adp_total() - sortindex = np.argsort(self.dis_adp)[::-1] - best_adps = [] - for sub in sortindex[:self.best_num]: - best_adps.append(self.dis_adp[sub]) - best_fruits = [] - for sub in sortindex[:self.best_num]: - best_fruits.append(self.fruits[sub]) - self.fruits = best_fruits - tmp = 1 - while tmp < self.num_total: - randint = np.random.randint(0,self.best_num) - best_fruit = best_fruits[randint] - opt_2_res = self.opt_2(best_fruit.copy()) - self.fruits += opt_2_res - tmp += 3 - self.fruits = self.fruits[:self.num_total] - - return best_adps[0],best_fruit - - def run(self): - print('==================Running the code==================') - BEST_LIST = None - best_adp = -math.inf - cnt = 0 - with open(self.save_path, 'w') as f: - for i in range(1, self.iteration + 1): - max_adp, best_list = self.fly() - cnt += 1 - if max_adp > best_adp: - cnt = 0 - best_adp = max_adp - BEST_LIST = best_list - if cnt > 50: - break - bestlen = self.adp_norm/best_adp - return self.location[BEST_LIST],bestlen -import pandas as pd -def read_tsp(path): - lines = open(path, 'r').readlines() - assert 'NODE_COORD_SECTION\n' in lines - index = lines.index('NODE_COORD_SECTION\n') - data = lines[index + 1:-1] - tmp = [] - for line in data: - line = line.strip().split(' ') - if line[0] == 'EOF': - continue - tmpline = [] - for x in line: - if x == '': - continue - else: - tmpline.append(float(x)) - if tmpline == []: - continue - tmp.append(tmpline) - data = tmp - return data -data = read_tsp('data/st70.tsp') -# data = read_tsp('data/burma14.tsp') -data = np.array(data) -data = data[:,1:] -for _ in range(10): - foa = FOA(num_city=data.shape[0],num_total=50,iteration=3000,adp_norm=1000,data=data.copy(),save_path='sdsdsdssd.txt',save_freq=10) - res, length = foa.run() - print(length) -# import os -# # print(os.getcwd()) -# import matplotlib.pyplot as plt -# import numpy as np -# from mpl_toolkits.mplot3d import Axes3D -# -# fig = plt.figure() -# ax = Axes3D(fig) -# colors = ('#377eb8', '#ff7f00', '#4daf4a','#aaaaaa') -# def plot(i, data): -# -# x = data[:,0] -# y = data[:,1] -# z = data[:,2] -# ax.scatter(x, y, z,color=colors[i],marker = '+') -# # ax.set_zlabel('Z', fontdict={'size': 15, 'color': 'red'}) -# # ax.set_ylabel('Y', fontdict={'size': 15, 'color': 'red'}) -# # ax.set_xlabel('X', fontdict={'size': 15, 'color': 'red'}) -# ax.plot3D(data[:,0], data[:,1], data[:,2],color = colors[i]) -# result = [] -# for i in range(4): -# data = pd.read_csv('path5_{}.csv'.format(i),header=None) -# data = np.array(data) -# foa = FOA(num_city=data.shape[0],num_total=20,iteration=100,adp_norm=1000,data=data,save_path='sdsdsdssd.txt',save_freq=10) -# res,lenth = foa.run() -# -# res = np.array(res).astype(np.int) -# plot(i,res) -# -# print(lenth) -# # result.append(res) -# # result = np.concatenate(result,axis = 0) -# # print(result.shape) -# # plot(result) -# plt.show() \ No newline at end of file diff --git a/foa_3opt_greedy.py b/foa_3opt_greedy.py deleted file mode 100755 index 7cfb1ec..0000000 --- a/foa_3opt_greedy.py +++ /dev/null @@ -1,269 +0,0 @@ -import random -import numpy as np -import math -import pandas as pd -import tqdm - -class FOA(object): - def __init__(self, num_city, num_total, iteration, data, save_path, save_freq, **kwargs): - self.num_city = num_city - self.num_total = num_total - self.iteration = iteration - self.save_path = save_path - self.save_freq = save_freq - self.location = data - self.dis_mat = self.compute_dis_mat(num_city,self.location) - self.fruits = self.greedy_init(self.dis_mat,num_total,num_city) - # self.fruits = self.random_init(num_total,num_city) - # 贪心初始化种群 - def greedy_init(self,dis_mat,num_total,num_city): - start_index = 0 - result = [[]]*num_total - for i in range(num_total): - rest = [x for x in range(0, num_city)] - # 所有起始点都已经生成了 - if start_index >= num_city: - start_index = np.random.randint(0,num_city) - result[i] = result[start_index].copy() - continue - current = start_index - rest.remove(current) - # 找到一条最近邻路径 - result_one = [current] - while len(rest) != 0: - tmp_min = math.inf - tmp_choose = -1 - for x in rest: - if dis_mat[current][x] < tmp_min: - tmp_min = dis_mat[current][x] - tmp_choose = x - - current = tmp_choose - result_one.append(tmp_choose) - rest.remove(tmp_choose) - result[i] = result_one - start_index += 1 - return result - # def greedy_init_2(self,dis_mat,num_total,num_city): - # start_index = 0 - # result = [[]]*num_total - # rest = [x for x in range(0, num_city)] - # # 所有起始点都已经生成了 - # if start_index >= num_city: - # start_index = np.random.randint(0,num_city) - # result[i] = result[start_index].copy() - # continue - # current = start_index - # rest.remove(current) - # # 找到一条最近邻路径 - # result_one = [current] - # while len(rest) != 0: - # tmp_min = math.inf - # tmp_choose = -1 - # for x in rest: - # if dis_mat[current][x] < tmp_min: - # tmp_min = dis_mat[current][x] - # tmp_choose = x - # - # current = tmp_choose - # result_one.append(tmp_choose) - # rest.remove(tmp_choose) - # # result[i] = result_one - # result[0] = result_one - # start_index += 1 - # return result - # 随机初始化种群 - def random_init(self,num_total,num_city): - tmp = [x for x in range(num_city)] - result = [[]]*num_total - for i in range(num_total): - random.shuffle(tmp) - result[i] = tmp - return result - # 计算不同城市之间的距离 - def compute_dis_mat(self,num_city,location): - dis_mat = np.zeros((num_city,num_city)) - for i in range(num_city): - for j in range(num_city): - if i == j: - dis_mat[i][j] = np.inf - continue - a = location[i] - b = location[j] - tmp = np.sqrt(sum([(x[0] - x[1]) ** 2for x in zip(a,b)])) - dis_mat[i][j] = tmp - return dis_mat - # 计算路径长度 - def compute_pathlen(self,path,dis_mat): - a = path[0] - b = path[-1] - assert a!=b - result = dis_mat[a][b] - for i in range(len(path) - 1): - a = path[i] - b = path[i+1] - assert a!= b - result += dis_mat[a][b] - return result - # 计算种群适应度 - def compute_adp(self,fruits): - adp = [] - for fruit in fruits: - length = self.compute_pathlen(fruit,self.dis_mat) - adp.append(1.0/length) - return np.array(adp) - # 对序列做2opt操作 - def _3opt(self, x): - city_list = [i for i in range(self.num_city)] - choice = np.random.choice(city_list, 2) - choice.sort() - i, j = choice - a = x[:i] - b = x[i:j] - c = x[j:] - tmp_best = [] - tmp_best_adp = [] - # param1 - # tmp = a+b+c - # tmp_adp = 1./self.compute_pathlen(tmp, self.dis_mat) - # tmp_best = [a + b + c, ] - # tmp_best_adp = [tmp_adp] - # param2 - tmp = a+b+c[::-1] - tmp_adp = 1./self.compute_pathlen(tmp, self.dis_mat) - tmp_best.append(tmp) - tmp_best_adp.append(tmp_adp) - # param3 - tmp = a+c[::-1]+b[::-1] - tmp_best.append(tmp) - tmp_best_adp.append(1./self.compute_pathlen(tmp, self.dis_mat)) - # param4 - tmp = a+b[::-1]+c - tmp_best.append(tmp) - tmp_best_adp.append(1./self.compute_pathlen(tmp,self.dis_mat)) - # param5 - tmp = a+c+b[::-1] - tmp_best.append(tmp) - tmp_best_adp.append(1./self.compute_pathlen(tmp, self.dis_mat)) - # param6 - tmp = a+c[::-1]+b - tmp_best.append(tmp) - tmp_best_adp.append(1./self.compute_pathlen(tmp, self.dis_mat)) - # param7 - tmp = a+b[::-1]+c[::-1] - tmp_best.append(tmp) - tmp_best_adp.append(1./self.compute_pathlen(tmp, self.dis_mat)) - # param8 - tmp = a+c+b - tmp_best.append(tmp) - tmp_best_adp.append(1./self.compute_pathlen(tmp, self.dis_mat)) - - max_adp = max(tmp_best_adp) - max_index = tmp_best_adp.index(max_adp) - result = tmp_best[max_index] - return result - # 迭代一次,返回适应度最高的个体和他的序列。 - def fly(self,fruits,num_total): - # 选择适应度最高的个体 - self.dis_adp = self.compute_adp(self.fruits) - # 从高到底适应度排序 - sortindex = np.argsort(-self.dis_adp) - best_adp = self.dis_adp[sortindex[0]] - best_fruit = self.fruits[sortindex[0]] - # 保留种群中适应度最好的个体 - self.fruits[0] = best_fruit - for i in range(1, num_total): - # 2opt生成一个新个体 - - opt_2_res = self._3opt(best_fruit.copy()) - self.fruits[i] = opt_2_res - return best_adp, best_fruit - # 总共的迭代过程,返回最终最好的长度,以及一段路径 - def run(self): - best_fruit = None - best_adp = -math.inf - best_list = [] - for i in range(self.iteration): - tmp_adp, tmp_list = self.fly(self.fruits,self.num_total) - if tmp_adp > best_adp: - best_adp = tmp_adp - best_fruit = tmp_list - # best_list = [] - # best_list.append(best_adp) - # if len(best_list) == 50: - # break - bestlen = 1.0/best_adp - return self.location[best_fruit],bestlen -import pandas as pd -def read_tsp(path): - lines = open(path, 'r').readlines() - assert 'NODE_COORD_SECTION\n' in lines - index = lines.index('NODE_COORD_SECTION\n') - data = lines[index + 1:-1] - tmp = [] - for line in data: - line = line.strip().split(' ') - if line[0] == 'EOF': - continue - tmpline = [] - for x in line: - if x == '': - continue - else: - tmpline.append(float(x)) - if tmpline == []: - continue - tmp.append(tmpline) - data = tmp - return data -data = read_tsp('data/st70.tsp') -data = np.array(data) -data = data[:,1:] -result_ = [] -runtimes = 20 -import time -start_time = time.time() -for _ in tqdm.trange(runtimes): - foa = FOA(num_city=data.shape[0],num_total=50,iteration=1000,data=data.copy(),save_path='sdsdsdssd.txt',save_freq=10) - res, length = foa.run() - result_.append(length) -end_time = time.time() -result_ = np.array(result_) - -print('best:{:.2f}\tworst:{:.2f}\tmean:{:.2f}\tstd:{:.2f}\taverage_time:{:.2f}'.format(result_.min(),result_.max(),result_.mean(), result_.std(),(end_time-start_time)/runtimes)) - -# import os -# # print(os.getcwd()) -# import matplotlib.pyplot as plt -# import numpy as np -# from mpl_toolkits.mplot3d import Axes3D -# -# fig = plt.figure() -# ax = Axes3D(fig) -# colors = ('#377eb8', '#ff7f00', '#4daf4a','#aaaaaa') -# def plot(i, data): -# -# x = data[:,0] -# y = data[:,1] -# z = data[:,2] -# ax.scatter(x, y, z,color=colors[i],marker = '+') -# # ax.set_zlabel('Z', fontdict={'size': 15, 'color': 'red'}) -# # ax.set_ylabel('Y', fontdict={'size': 15, 'color': 'red'}) -# # ax.set_xlabel('X', fontdict={'size': 15, 'color': 'red'}) -# ax.plot3D(data[:,0], data[:,1], data[:,2],color = colors[i]) -# result = [] -# for i in range(4): -# data = pd.read_csv('path5_{}.csv'.format(i),header=None) -# data = np.array(data) -# foa = FOA(num_city=data.shape[0],num_total=20,iteration=100,adp_norm=1000,data=data,save_path='sdsdsdssd.txt',save_freq=10) -# res,lenth = foa.run() -# -# res = np.array(res).astype(np.int) -# plot(i,res) -# -# print(lenth) -# # result.append(res) -# # result = np.concatenate(result,axis = 0) -# # print(result.shape) -# # plot(result) -# plt.show() \ No newline at end of file diff --git a/foa_3opt_greedy_bak.py b/foa_3opt_greedy_bak.py deleted file mode 100755 index 86a9577..0000000 --- a/foa_3opt_greedy_bak.py +++ /dev/null @@ -1,225 +0,0 @@ -import random -import numpy as np -import math -import pandas as pd -import time - -class FOA(object): - def __init__(self, num_city, num_total, iteration, adp_norm, data, save_path, save_freq, **kwargs): - self.num_city = num_city - self.num_total = num_total - self.dis_adp = [0 for _ in range(self.num_total)] - self.iteration = iteration - self.adp_norm = adp_norm - self.save_path = save_path - self.save_freq = save_freq - self.location = data - self.dis_mat = self.distance_p2p_mat() - self.generate_best() - self.generate_fruits() - print('get data,she shape is {}'.format(self.location.shape)) - - def get_data(self, data): - return np.loadtxt(data)[:, 1:] - - # 贪心初始化一条最优路径 - def generate_best(self): - initial = [0] - rest = [x for x in range(1, self.num_city)] - initial_path = 0 - while len(rest) != 0: - start = initial[-1] - tmp_min = math.inf - tmp_choose = -1 - for x in rest: - if self.dis_mat[start][x] < tmp_min: - tmp_min = self.dis_mat[start][x] - tmp_choose = x - initial_path += tmp_min - initial.append(tmp_choose) - rest.remove(tmp_choose) - initial_path += self.dis_mat[tmp_choose][0] - return initial, initial_path - - def generate_fruits(self): - best, initial_path = self.generate_best() - self.fruits = [best] - for _ in range(self.num_total - 1): - a = np.random.randint(0, self.num_city) - b = np.random.randint(0, self.num_city) - a = min(a, b) - b = max(a, b) - part1 = list(best[:a]) - part2 = list(best[a:b]) - part3 = list(best[b:]) - if len(part2)>=1: - try: - np.random.shuffle(part2) - part2 = list(part2) - except: - import pdb - pdb.set_trace() - res = part1 + part2 + part3 - self.fruits.append(res) - - # 对称矩阵,两个城市之间的距离 支持2d和3d - def distance_p2p_mat(self): - dis_mat = [] - for i in range(self.num_city): - dis_mat_each = [] - for j in range(self.num_city): - tmp = 0 - for k in range(len(self.location[i])): - tmp += pow(self.location[i][k] - self.location[j][k], 2) - tmp = math.sqrt(tmp) - dis_mat_each.append(tmp) - dis_mat.append(dis_mat_each) - return dis_mat - - # 目标函数计算,适应度计算,中间计算。适应度为1/总距离*10000 - def dis_adp_total(self, ): - self.dis_adp = [] - for i in range(self.num_total): - try: - dis = self.dis_mat[self.fruits[i][self.num_city - 1]][self.fruits[i][0]] # 回家 - except: - import pdb - pdb.set_trace() - for j in range(self.num_city - 1): - dis = self.dis_mat[self.fruits[i][j]][self.fruits[i][j + 1]] + dis - dis_adp_each = self.adp_norm / dis - self.dis_adp.append(dis_adp_each) - - def swap_part(self,list1,list2): - index = len(list1) - list = list1 + list2 - list = list[::-1] - return list[:index], list[index:] - - def fly(self): - self.dis_adp_total() - sortindex = np.argsort(self.dis_adp)[::-1] - best_adp = self.dis_adp[sortindex[0]] - best_fruit = self.fruits[sortindex[0]] - self.fruits = [best_fruit] - city_list = [i for i in range(self.num_city)] - cnt = 0 - while cnt < self.num_total-1: - choice = np.random.choice(city_list, 3) - choice.sort() - a, b, c = list(choice) - part1 = list(best_fruit[:a]) - part2 = list(best_fruit[a:b]) - part3 = list(best_fruit[b:c]) - part4 = list(best_fruit[c:]) - # 1 - res = part1+part2[::-1]+part3+part4 - assert len(res) == 70,print(len) - self.fruits.append(res) - # 2 - res = part1 + part2 + part3[::-1] + part4 - assert len(res) == 70 - self.fruits.append(res) - # 3 - list1, list2 = self.swap_part(part1, part4) - res = list1 + part2 + part3 + list2 - assert len(res) == 70 - self.fruits.append(res) - # 4 - res = part1 + part2[::-1] + part3[::-1] + part4 - assert len(res) == 70 - self.fruits.append(res) - # 5 - res = list1 + part2[::-1] + part3 + list2 - assert len(res) == 70 - self.fruits.append(res) - # 6 - res = list1 + part2 + part3[::-1] + list2 - assert len(res) == 70 - self.fruits.append(res) - # # 7 - # res = part1 + part3 + part2 + part4 - # self.fruits.append(res) - # # 8 - # res = part2 + part1 + part3 + part4 - # self.fruits.append(res) - cnt += 6 - self.fruits = self.fruits[:self.num_total] - - return best_adp,best_fruit - - def run(self): - print('==================Running the code==================') - BEST_LIST = None - best_adp = -math.inf - with open(self.save_path, 'w') as f: - for i in range(1, self.iteration + 1): - aaaaa = time.time() - max_adp, best_list = self.fly() - if max_adp > best_adp: - best_adp = max_adp - BEST_LIST = best_list - bbbb = time.time() - print(bbbb - aaaaa) - bestlen = self.adp_norm/best_adp - return self.location[BEST_LIST],bestlen -import pandas as pd -def read_tsp(path): - lines = open(path,'r').readlines() - assert 'NODE_COORD_SECTION\n' in lines - index = lines.index('NODE_COORD_SECTION\n') - data = lines[index+1:-1] - tmp = [] - for line in data: - line = line.strip().split(' ') - tmpline = [] - for x in line: - if x == '': - continue - else: - tmpline.append(int(x)) - tmp.append(tmpline) - data = tmp - return data -data = read_tsp('data/st70.tsp') -data = np.array(data) -data = data[:,1:] -for _ in range(10): - foa = FOA(num_city=data.shape[0],num_total=50,iteration=1000,adp_norm=1000,data=data.copy().astype(np.int),save_path='sdsdsdssd.txt',save_freq=10) - res, length = foa.run() - print(length) -# import os -# # print(os.getcwd()) -# import matplotlib.pyplot as plt -# import numpy as np -# from mpl_toolkits.mplot3d import Axes3D -# -# fig = plt.figure() -# ax = Axes3D(fig) -# colors = ('#377eb8', '#ff7f00', '#4daf4a','#aaaaaa') -# def plot(i, data): -# -# x = data[:,0] -# y = data[:,1] -# z = data[:,2] -# ax.scatter(x, y, z,color=colors[i],marker = '+') -# # ax.set_zlabel('Z', fontdict={'size': 15, 'color': 'red'}) -# # ax.set_ylabel('Y', fontdict={'size': 15, 'color': 'red'}) -# # ax.set_xlabel('X', fontdict={'size': 15, 'color': 'red'}) -# ax.plot3D(data[:,0], data[:,1], data[:,2],color = colors[i]) -# result = [] -# for i in range(4): -# data = pd.read_csv('path5_{}.csv'.format(i),header=None) -# data = np.array(data) -# foa = FOA(num_city=data.shape[0],num_total=20,iteration=100,adp_norm=1000,data=data,save_path='sdsdsdssd.txt',save_freq=10) -# res,lenth = foa.run() -# -# res = np.array(res).astype(np.int) -# plot(i,res) -# -# print(lenth) -# # result.append(res) -# # result = np.concatenate(result,axis = 0) -# # print(result.shape) -# # plot(result) -# plt.show() \ No newline at end of file diff --git a/foa_greedy_single_GA.py b/foa_greedy_single_GA.py deleted file mode 100755 index aad7fa8..0000000 --- a/foa_greedy_single_GA.py +++ /dev/null @@ -1,297 +0,0 @@ -import random -import numpy as np -import math -import pandas as pd -import tqdm - - -class FOA(object): - def __init__(self, num_city, num_total, iteration, data, save_path, save_freq, **kwargs): - self.num_city = num_city - self.num_total = num_total - self.iteration = iteration - self.save_path = save_path - self.save_freq = save_freq - self.location = data - self.dis_mat = self.compute_dis_mat(num_city, self.location) - # self.fruits = self.greedy_init(self.dis_mat, num_total, num_city) - self.fruits = self.random_init(num_total,num_city) - - # 贪心初始化种群 - def greedy_init(self, dis_mat, num_total, num_city): - start_index = 0 - result = [] - for i in range(num_total): - rest = [x for x in range(0, num_city)] - # 所有起始点都已经生成了 - if start_index >= num_city: - start_index = np.random.randint(0, num_city) - result.append(result[start_index].copy()) - continue - current = start_index - rest.remove(current) - # 找到一条最近邻路径 - result_one = [current] - while len(rest) != 0: - tmp_min = math.inf - tmp_choose = -1 - for x in rest: - if dis_mat[current][x] < tmp_min: - tmp_min = dis_mat[current][x] - tmp_choose = x - - current = tmp_choose - result_one.append(tmp_choose) - rest.remove(tmp_choose) - result.append(result_one) - start_index += 1 - return result - - # def greedy_init_2(self,dis_mat,num_total,num_city): - # start_index = 0 - # result = [[]]*num_total - # rest = [x for x in range(0, num_city)] - # # 所有起始点都已经生成了 - # if start_index >= num_city: - # start_index = np.random.randint(0,num_city) - # result[i] = result[start_index].copy() - # continue - # current = start_index - # rest.remove(current) - # # 找到一条最近邻路径 - # result_one = [current] - # while len(rest) != 0: - # tmp_min = math.inf - # tmp_choose = -1 - # for x in rest: - # if dis_mat[current][x] < tmp_min: - # tmp_min = dis_mat[current][x] - # tmp_choose = x - # - # current = tmp_choose - # result_one.append(tmp_choose) - # rest.remove(tmp_choose) - # # result[i] = result_one - # result[0] = result_one - # start_index += 1 - # return result - # 随机初始化种群 - def random_init(self, num_total, num_city): - tmp = [x for x in range(num_city)] - result = [] - for i in range(num_total): - random.shuffle(tmp) - result.append(tmp.copy()) - return result - - # 计算不同城市之间的距离 - def compute_dis_mat(self, num_city, location): - dis_mat = np.zeros((num_city, num_city)) - for i in range(num_city): - for j in range(num_city): - if i == j: - dis_mat[i][j] = np.inf - continue - a = location[i] - b = location[j] - tmp = np.sqrt(sum([(x[0] - x[1]) ** 2 for x in zip(a, b)])) - dis_mat[i][j] = tmp - return dis_mat - - # 计算路径长度 - def compute_pathlen(self, path, dis_mat): - a = path[0] - b = path[-1] - assert a != b - result = dis_mat[a][b] - for i in range(len(path) - 1): - a = path[i] - b = path[i + 1] - assert a != b - result += dis_mat[a][b] - return result - - # 计算种群适应度 - def compute_adp(self, fruits): - adp = [] - for fruit in fruits: - length = self.compute_pathlen(fruit, self.dis_mat) - adp.append(1.0 / length) - return np.array(adp) - - # 对序列做2opt操作 - def single_GA(self, best, x): - # 1.翻转法,根据序列的差异长度选择反转长度 - tmp = np.array(best) - np.array(x) - l = np.where(tmp != 0) - l = len(l[0]) - # top = max(self.num_city - l,3) - top = 5 - print(l) - a = np.random.randint(top) - t = x[a:a+l] - return x[:a] + t[::-1]+x[a+l:] - - - # def _3opt(self, x): - # city_list = [i for i in range(self.num_city)] - # choice = np.random.choice(city_list, 2) - # choice.sort() - # i, j = choice - # a = x[:i] - # b = x[i:j] - # c = x[j:] - # tmp_best = [] - # tmp_best_adp = [] - # # param1 - # # tmp = a+b+c - # # tmp_adp = 1./self.compute_pathlen(tmp, self.dis_mat) - # # tmp_best = [a + b + c, ] - # # tmp_best_adp = [tmp_adp] - # # param2 - # tmp = a + b + c[::-1] - # tmp_adp = 1. / self.compute_pathlen(tmp, self.dis_mat) - # tmp_best.append(tmp) - # tmp_best_adp.append(tmp_adp) - # # param3 - # tmp = a + c[::-1] + b[::-1] - # tmp_best.append(tmp) - # tmp_best_adp.append(1. / self.compute_pathlen(tmp, self.dis_mat)) - # # param4 - # tmp = a + b[::-1] + c - # tmp_best.append(tmp) - # tmp_best_adp.append(1. / self.compute_pathlen(tmp, self.dis_mat)) - # # param5 - # tmp = a + c + b[::-1] - # tmp_best.append(tmp) - # tmp_best_adp.append(1. / self.compute_pathlen(tmp, self.dis_mat)) - # # param6 - # tmp = a + c[::-1] + b - # tmp_best.append(tmp) - # tmp_best_adp.append(1. / self.compute_pathlen(tmp, self.dis_mat)) - # # param7 - # tmp = a + b[::-1] + c[::-1] - # tmp_best.append(tmp) - # tmp_best_adp.append(1. / self.compute_pathlen(tmp, self.dis_mat)) - # # param8 - # tmp = a + c + b - # tmp_best.append(tmp) - # tmp_best_adp.append(1. / self.compute_pathlen(tmp, self.dis_mat)) - # - # max_adp = max(tmp_best_adp) - # max_index = tmp_best_adp.index(max_adp) - # result = tmp_best[max_index] - # return result - - # 迭代一次,返回适应度最高的个体和他的序列。 - def fly(self, fruits, num_total): - # 选择适应度最高的个体 - self.dis_adp = self.compute_adp(self.fruits) - # 从高到底适应度排序 - sortindex = np.argsort(-self.dis_adp) - best_adp = self.dis_adp[sortindex[0]] - best_fruit = self.fruits[sortindex[0]] - # 保留种群中适应度最好的个体 - self.fruits[0] = best_fruit - for i in range(1, num_total): - # 2opt生成一个新个体 - x = self.fruits[i] - opt_2_res = self.single_GA(best_fruit,x) - self.fruits[i] = opt_2_res - return best_adp, best_fruit - - # 总共的迭代过程,返回最终最好的长度,以及一段路径 - def run(self): - best_fruit = None - best_adp = -math.inf - for i in range(self.iteration): - tmp_adp, tmp_list = self.fly(self.fruits, self.num_total) - if tmp_adp > best_adp: - print('wwww') - best_adp = tmp_adp - best_fruit = tmp_list - bestlen = 1.0 / best_adp - return self.location[best_fruit], bestlen - - -import pandas as pd - - -def read_tsp(path): - lines = open(path, 'r').readlines() - assert 'NODE_COORD_SECTION\n' in lines - index = lines.index('NODE_COORD_SECTION\n') - data = lines[index + 1:-1] - tmp = [] - for line in data: - line = line.strip().split(' ') - if line[0] == 'EOF': - continue - tmpline = [] - for x in line: - if x == '': - continue - else: - tmpline.append(float(x)) - if tmpline == []: - continue - tmp.append(tmpline) - data = tmp - return data - - -data = read_tsp('data/st70.tsp') -data = np.array(data) -data = data[:, 1:] -result_ = [] -runtimes = 1 -import time - -start_time = time.time() -for _ in tqdm.trange(runtimes): - foa = FOA(num_city=data.shape[0], num_total=50, iteration=1000, data=data.copy(), save_path='sdsdsdssd.txt', - save_freq=10) - res, length = foa.run() - result_.append(length) -end_time = time.time() -result_ = np.array(result_) - -print('best:{:.2f}\tworst:{:.2f}\tmean:{:.2f}\tstd:{:.2f}\taverage_time:{:.2f}'.format(result_.min(), result_.max(), - result_.mean(), result_.std(), ( - end_time - start_time) / runtimes)) - -# import os -# # print(os.getcwd()) -# import matplotlib.pyplot as plt -# import numpy as np -# from mpl_toolkits.mplot3d import Axes3D -# -# fig = plt.figure() -# ax = Axes3D(fig) -# colors = ('#377eb8', '#ff7f00', '#4daf4a','#aaaaaa') -# def plot(i, data): -# -# x = data[:,0] -# y = data[:,1] -# z = data[:,2] -# ax.scatter(x, y, z,color=colors[i],marker = '+') -# # ax.set_zlabel('Z', fontdict={'size': 15, 'color': 'red'}) -# # ax.set_ylabel('Y', fontdict={'size': 15, 'color': 'red'}) -# # ax.set_xlabel('X', fontdict={'size': 15, 'color': 'red'}) -# ax.plot3D(data[:,0], data[:,1], data[:,2],color = colors[i]) -# result = [] -# for i in range(4): -# data = pd.read_csv('path5_{}.csv'.format(i),header=None) -# data = np.array(data) -# foa = FOA(num_city=data.shape[0],num_total=20,iteration=100,adp_norm=1000,data=data,save_path='sdsdsdssd.txt',save_freq=10) -# res,lenth = foa.run() -# -# res = np.array(res).astype(np.int) -# plot(i,res) -# -# print(lenth) -# # result.append(res) -# # result = np.concatenate(result,axis = 0) -# # print(result.shape) -# # plot(result) -# plt.show() diff --git a/foa_shuffle_part.py b/foa_shuffle_part.py deleted file mode 100755 index 8a397ab..0000000 --- a/foa_shuffle_part.py +++ /dev/null @@ -1,235 +0,0 @@ -import random -import numpy as np -import math -import pandas as pd - - -class FOA(object): - def __init__(self, num_city, num_total, iteration, adp_norm, data, save_path, save_freq, **kwargs): - self.num_city = num_city - self.num_total = num_total - self.dis_adp = [0 for _ in range(self.num_total)] - self.iteration = iteration - self.adp_norm = adp_norm - self.save_path = save_path - self.save_freq = save_freq - self.location = data - self.dis_mat = self.distance_p2p_mat() - self.generate_best() - self.generate_fruits() - print('get data,she shape is {}'.format(self.location.shape)) - - def get_data(self, data): - return np.loadtxt(data)[:, 1:] - - # 贪心初始化一条最优路径 - - def generate_best(self, flag=True): - if flag: - initial = [0] - rest = [x for x in range(1, self.num_city)] - initial_path = 0 - while len(rest) != 0: - start = initial[-1] - tmp_min = math.inf - tmp_choose = -1 - for x in rest: - if self.dis_mat[start][x] < tmp_min: - tmp_min = self.dis_mat[start][x] - tmp_choose = x - initial_path += tmp_min - initial.append(tmp_choose) - rest.remove(tmp_choose) - initial_path += self.dis_mat[tmp_choose][0] - return initial, initial_path - else: - initial = [x for x in range(self.num_city)] - initial_path = 0 - for index in range(self.num_city - 1): - initial_path += self.dis_mat[index][index + 1] - initial_path += self.dis_mat[index][0] - return initial, initial_path - - def generate_fruits(self): - best, initial_path = self.generate_best(True) - self.fruits = [best] - for _ in range(self.num_total - 1): - a = np.random.randint(0, self.num_city) - b = np.random.randint(0, self.num_city) - a = min(a, b) - b = max(a, b) - part1 = list(best[:a]) - part2 = list(best[a:b]) - part3 = list(best[b:]) - if len(part2)>=1: - try: - np.random.shuffle(part2) - part2 = list(part2) - except: - import pdb - pdb.set_trace() - res = part1 + part2 + part3 - self.fruits.append(res) - - # 对称矩阵,两个城市之间的距离 支持2d和3d - def distance_p2p_mat(self): - dis_mat = [] - for i in range(self.num_city): - dis_mat_each = [] - for j in range(self.num_city): - tmp = 0 - for k in range(len(self.location[i])): - tmp += pow(self.location[i][k] - self.location[j][k], 2) - tmp = math.sqrt(tmp) - dis_mat_each.append(tmp) - dis_mat.append(dis_mat_each) - return dis_mat - - # 目标函数计算,适应度计算,中间计算。适应度为1/总距离*10000 - def dis_adp_total(self, ): - self.dis_adp = [] - for i in range(self.num_total): - try: - dis = self.dis_mat[self.fruits[i][self.num_city - 1]][self.fruits[i][0]] # 回家 - except: - import pdb - pdb.set_trace() - for j in range(self.num_city - 1): - dis = self.dis_mat[self.fruits[i][j]][self.fruits[i][j + 1]] + dis - dis_adp_each = self.adp_norm / dis - self.dis_adp.append(dis_adp_each) - - def swap_part(self,list1,list2): - index = len(list1) - list = list1 + list2 - list = list[::-1] - return list[:index], list[index:] - - def opt_2(self, x): - city_list = [i for i in range(self.num_city)] - choice = np.random.choice(city_list, 2) - choice.sort() - res_list = [] - a, b = list(choice) - part1 = list(x[:a]) - part2 = list(x[a:b]) - part3 = list(x[b:]) - - # 1 - res = part1 + part2[::-1] + part3 - res_list.append(res) - # 2 - list1, list2 = self.swap_part(part1, part3) - res = list1 + part2 + list2 - res_list.append(res) - # 3 - res = list1 + part2[::-1] + list2 - res_list.append(res) - return res_list - - def shuffle_part(self,data): - x = np.random.randint(0,len(data)) - y = np.random.randint(0,len(data)) - start = min(x,y) - end = max(y,x) - # x = np.random.randint(0,len(data)-10) - # y = x+10 - part1 = data[:start] - part2 = data[start:end] - part3 = data[end:] - # np.random.shuffle(part2) - part2 = part2[::-1] - res_list = [part1+part2+part3] - return res_list - def fly(self): - self.dis_adp_total() - sortindex = np.argsort(self.dis_adp)[::-1] - best_adp = self.dis_adp[sortindex[0]] - best_fruit = self.fruits[sortindex[0]] - self.fruits = [best_fruit] - tmp = 1 - while tmp < self.num_total: - opt_2_res = self.shuffle_part(best_fruit.copy()) - self.fruits += opt_2_res - tmp += len(opt_2_res) - self.fruits = self.fruits[:self.num_total] - - return best_adp,best_fruit - - def run(self): - print('==================Running the code==================') - BEST_LIST = None - best_adp = -math.inf - with open(self.save_path, 'w') as f: - for i in range(1, self.iteration + 1): - max_adp, best_list = self.fly() - if max_adp > best_adp: - best_adp = max_adp - BEST_LIST = best_list - bestlen = self.adp_norm/best_adp - return self.location[BEST_LIST],bestlen -import pandas as pd -def read_tsp(path): - lines = open(path, 'r').readlines() - assert 'NODE_COORD_SECTION\n' in lines - index = lines.index('NODE_COORD_SECTION\n') - data = lines[index + 1:-1] - tmp = [] - for line in data: - line = line.strip().split(' ') - if line[0] == 'EOF': - continue - tmpline = [] - for x in line: - if x == '': - continue - else: - tmpline.append(float(x)) - if tmpline == []: - continue - tmp.append(tmpline) - data = tmp - return data -data = read_tsp('data/st70.tsp') -# data = read_tsp('data/burma14.tsp') -data = np.array(data) -data = data[:,1:] -for _ in range(10): - foa = FOA(num_city=data.shape[0],num_total=50,iteration=1000,adp_norm=1000,data=data.copy(),save_path='sdsdsdssd.txt',save_freq=10) - res, length = foa.run() - print(length) -# import os -# # print(os.getcwd()) -# import matplotlib.pyplot as plt -# import numpy as np -# from mpl_toolkits.mplot3d import Axes3D -# -# fig = plt.figure() -# ax = Axes3D(fig) -# colors = ('#377eb8', '#ff7f00', '#4daf4a','#aaaaaa') -# def plot(i, data): -# -# x = data[:,0] -# y = data[:,1] -# z = data[:,2] -# ax.scatter(x, y, z,color=colors[i],marker = '+') -# # ax.set_zlabel('Z', fontdict={'size': 15, 'color': 'red'}) -# # ax.set_ylabel('Y', fontdict={'size': 15, 'color': 'red'}) -# # ax.set_xlabel('X', fontdict={'size': 15, 'color': 'red'}) -# ax.plot3D(data[:,0], data[:,1], data[:,2],color = colors[i]) -# result = [] -# for i in range(4): -# data = pd.read_csv('path5_{}.csv'.format(i),header=None) -# data = np.array(data) -# foa = FOA(num_city=data.shape[0],num_total=20,iteration=100,adp_norm=1000,data=data,save_path='sdsdsdssd.txt',save_freq=10) -# res,lenth = foa.run() -# -# res = np.array(res).astype(np.int) -# plot(i,res) -# -# print(lenth) -# # result.append(res) -# # result = np.concatenate(result,axis = 0) -# # print(result.shape) -# # plot(result) -# plt.show() \ No newline at end of file diff --git a/foa_shufllepart_greedy.py b/foa_shufllepart_greedy.py deleted file mode 100755 index c97def1..0000000 --- a/foa_shufllepart_greedy.py +++ /dev/null @@ -1,187 +0,0 @@ -import random -import numpy as np -import math -import pandas as pd - - -class FOA(object): - def __init__(self, num_city, num_total, iteration, adp_norm, data, save_path, save_freq, **kwargs): - self.num_city = num_city - self.num_total = num_total - self.dis_adp = [0 for _ in range(self.num_total)] - self.iteration = iteration - self.adp_norm = adp_norm - self.save_path = save_path - self.save_freq = save_freq - self.location = data - self.dis_mat = self.distance_p2p_mat() - self.generate_best() - self.generate_fruits() - print('get data,she shape is {}'.format(self.location.shape)) - - def get_data(self, data): - return np.loadtxt(data)[:, 1:] - - # 贪心初始化一条最优路径 - def generate_best(self): - initial = [0] - rest = [x for x in range(1, self.num_city)] - initial_path = 0 - while len(rest) != 0: - start = initial[-1] - tmp_min = math.inf - tmp_choose = -1 - for x in rest: - if self.dis_mat[start][x] < tmp_min: - tmp_min = self.dis_mat[start][x] - tmp_choose = x - initial_path += tmp_min - initial.append(tmp_choose) - rest.remove(tmp_choose) - initial_path += self.dis_mat[tmp_choose][0] - return initial, initial_path - - def generate_fruits(self): - best, initial_path = self.generate_best() - self.fruits = [best] - for _ in range(self.num_total - 1): - a = np.random.randint(0, self.num_city) - b = np.random.randint(0, self.num_city) - a = min(a, b) - b = max(a, b) - part1 = list(best[:a]) - part2 = list(best[a:b]) - part3 = list(best[b:]) - if len(part2) >= 1: - try: - np.random.shuffle(part2) - part2 = list(part2) - except: - import pdb - pdb.set_trace() - res = part1 + part2 + part3 - self.fruits.append(res) - - # 对称矩阵,两个城市之间的距离 支持2d和3d - def distance_p2p_mat(self): - dis_mat = [] - for i in range(self.num_city): - dis_mat_each = [] - for j in range(self.num_city): - tmp = 0 - for k in range(len(self.location[i])): - tmp += pow(self.location[i][k] - self.location[j][k], 2) - tmp = math.sqrt(tmp) - dis_mat_each.append(tmp) - dis_mat.append(dis_mat_each) - return dis_mat - - # 目标函数计算,适应度计算,中间计算。适应度为1/总距离*10000 - def dis_adp_total(self, ): - self.dis_adp = [] - for i in range(self.num_total): - dis = self.dis_mat[self.fruits[i][self.num_city - 1]][self.fruits[i][0]] # 回家 - for j in range(self.num_city - 1): - dis = self.dis_mat[self.fruits[i][j]][self.fruits[i][j + 1]] + dis - dis_adp_each = self.adp_norm / dis - self.dis_adp.append(dis_adp_each) - - def fly(self): - self.dis_adp_total() - sortindex = np.argsort(self.dis_adp)[::-1] - best_adp = self.dis_adp[sortindex[0]] - best_fruit = self.fruits[sortindex[0]] - self.fruits = [best_fruit] - for _ in range(self.num_total - 1): - a = np.random.randint(0, self.num_city) - b = np.random.randint(0, self.num_city) - a = min(a, b) - b = max(a, b) - part1 = list(best_fruit[:a]) - part2 = list(best_fruit[a:b]) - part3 = list(best_fruit[b:]) - if len(part2) >= 1: - np.random.shuffle(part2) - part2 = list(part2) - res = part1 + part2 + part3 - self.fruits.append(res) - return best_adp, best_fruit - - def run(self): - print('==================Running the code==================') - BEST_LIST = None - best_adp = -math.inf - with open(self.save_path, 'w') as f: - for i in range(1, self.iteration + 1): - max_adp, best_list = self.fly() - if max_adp > best_adp: - best_adp = max_adp - BEST_LIST = best_list - bestlen = self.adp_norm / best_adp - return self.location[BEST_LIST], bestlen - - -import pandas as pd - - -def read_tsp(path): - lines = open(path, 'r').readlines() - assert 'NODE_COORD_SECTION\n' in lines - index = lines.index('NODE_COORD_SECTION\n') - data = lines[index + 1:-1] - tmp = [] - for line in data: - line = line.strip().split(' ') - tmpline = [] - for x in line: - if x == '': - continue - else: - tmpline.append(int(x)) - tmp.append(tmpline) - data = tmp - return data - - -data = read_tsp('data/st70.tsp') -data = np.array(data) -data = data[:, 1:] -foa = FOA(num_city=data.shape[0], num_total=50, iteration=1000, adp_norm=1000, data=data, save_path='sdsdsdssd.txt', - save_freq=10) -res, len = foa.run() -print(len) -# import os -# # print(os.getcwd()) -# import matplotlib.pyplot as plt -# import numpy as np -# from mpl_toolkits.mplot3d import Axes3D -# -# fig = plt.figure() -# ax = Axes3D(fig) -# colors = ('#377eb8', '#ff7f00', '#4daf4a','#aaaaaa') -# def plot(i, data): -# -# x = data[:,0] -# y = data[:,1] -# z = data[:,2] -# ax.scatter(x, y, z,color=colors[i],marker = '+') -# # ax.set_zlabel('Z', fontdict={'size': 15, 'color': 'red'}) -# # ax.set_ylabel('Y', fontdict={'size': 15, 'color': 'red'}) -# # ax.set_xlabel('X', fontdict={'size': 15, 'color': 'red'}) -# ax.plot3D(data[:,0], data[:,1], data[:,2],color = colors[i]) -# result = [] -# for i in range(4): -# data = pd.read_csv('path5_{}.csv'.format(i),header=None) -# data = np.array(data) -# foa = FOA(num_city=data.shape[0],num_total=20,iteration=100,adp_norm=1000,data=data,save_path='sdsdsdssd.txt',save_freq=10) -# res,lenth = foa.run() -# -# res = np.array(res).astype(np.int) -# plot(i,res) -# -# print(lenth) -# # result.append(res) -# # result = np.concatenate(result,axis = 0) -# # print(result.shape) -# # plot(result) -# plt.show() diff --git a/img/ACO.png b/img/ACO.png new file mode 100644 index 0000000000000000000000000000000000000000..c1b3c4461f7e861400ffc28d232fb3d9ba43c9b4 GIT binary patch literal 71574 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

U9Y}!%kv&Fei=J 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 literal 0 HcmV?d00001

7#?i&t(+$7|eMBpE-L0;LUuV6@yG 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 YNXx3=LTS-R1o)#MqbgnT$T;AC0UG=sIRF3v literal 0 HcmV?d00001 diff --git a/img/SOM.png b/img/SOM.png new file mode 100644 index 0000000000000000000000000000000000000000..6fbbc330c52b14c7ec43a077bca28c9285a1effb GIT binary patch literal 81802 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