def change_N(Max, k, end, n_loop): data = [[], [], []] for N in range(100, end, 100): mode2 = 0 mode3 = 0 for loop in range(n_loop): s = np.random.rand(N, 2) * Max e = np.random.rand(N, 2) * Max start_time = time.time() improvedMunkres.improved_munkres(s, e, Max, N, k) print("%d---%s seconds ---" % (N, time.time() - start_time)) mode2 += time.time() - start_time start_time = time.time() ver2.improved_munkres(s, e, Max, N, k) print("%d---%s seconds ---" % (N, time.time() - start_time)) mode3 += time.time() - start_time data[0].append(N) data[1].append(mode2 / n_loop) data[2].append(mode3 / n_loop) dataframe = pd.DataFrame(data) dataframe.to_csv("data.csv")
def change_k(Max, k_end, loop, N, color): i_time = [0] * (k_end - 1) d_time = [0] * (k_end - 1) for i in range(1, k_end): i_sum = 0 d_sum = 0 for j in range(loop): s = np.random.rand(N, 2) * Max e = np.random.rand(N, 2) * Max start_time = time.time() improvedMunkres.improved_munkres(s, e, Max, N, i) print("%d%%---%s seconds ---" % ((i + 1) * (j + 1) / ((k_end - 3) * loop) * 100, time.time() - start_time)) i_sum += time.time() - start_time ''' start_time = time.time() improvedMunkres.original_munkres(s, e, Max, N, i) print("%d%%---%s seconds ---" % ((i-1)/(k_end-1)*100 + j/loop*10, time.time() - start_time)) d_sum += time.time() - start_time ''' i_time[i - 1] = i_sum / loop # d_time[i-1] = d_sum/loop plt.title('Check time by changing K') a = np.array(i_time) plt.plot(list(range(1, k_end)), a[0:k_end], colors[color], label='improved ' + str(N)) # plt.plot(list(range(1, k_end)), d_time, 'r.-', label='default') plt.xlabel('k') plt.ylabel('time(s)') plt.legend() plt.show() print(np.array(i_time)) return i_time
def change_N(Max, k, end, n_loop): i_time = [0] * (end - k) d_time = [0] * (end - k) g_time = [0] * (end - k) for N in range(k, end): for loop in range(n_loop): s = np.random.rand(N, 2) * Max e = np.random.rand(N, 2) * Max start_time = time.time() improvedMunkres.improved_munkres(s, e, Max, N, k) print("---%s seconds ---" % (time.time() - start_time)) i_time[N - k] += time.time() - start_time start_time = time.time() ver2.improved_munkres(s, e, Max, N, k) print("---%s seconds ---" % (time.time() - start_time)) g_time[N - k] += time.time() - start_time start_time = time.time() ver2.original_munkres(s, e, Max, N, k) print("---%s seconds ---" % (time.time() - start_time)) d_time[N - k] += time.time() - start_time list(range(k, end)) i_time[N - k] /= n_loop g_time[N - k] /= n_loop d_time[N - k] /= n_loop plt.title('Execution time difference') plt.plot(list(range(k, end)), d_time, 'kv-', label='mode 1') plt.plot(list(range(k, end)), i_time, 'r.-', label='mode 2') plt.plot(list(range(k, end)), g_time, 'b.-', label='mode 3') plt.xlabel('number of robots') plt.ylabel('time(s)') plt.legend() plt.show()
def change_N_2(Max, k, end, n_loop): i_time = [0] * (end - k) d_time = [0] * (end - k) g_time = [0] * (end - k) for NNN in range(k, end): N = NNN * 50 for loop in range(n_loop): s = np.random.rand(N, 2) * Max e = np.random.rand(N, 2) * Max start_time = time.time() improvedMunkres.improved_munkres(s, e, Max, N, k) print("---%s seconds ---" % (time.time() - start_time)) i_time[NNN] += time.time() - start_time start_time = time.time() ver2.improved_munkres(s, e, Max, N, k) print("---%s seconds ---" % (time.time() - start_time)) g_time[NNN] += time.time() - start_time # start_time = time.time() # ver2.original_munkres(s, e, Max, N, k) # print("---%s seconds ---" % (time.time() - start_time)) # d_time[N-k] += time.time() - start_time list(range(k, end)) i_time[NNN] /= n_loop g_time[NNN] /= n_loop # d_time[N-k] /= n_loop dataframe = pd.DataFrame(i_time) dataframe.to_csv("i_time.csv") dataframe = pd.DataFrame(g_time) dataframe.to_csv("g_time.csv")
for i in range(division, d_limit): buf1.append(0) buf2.append(0) for l in range(loop): s = np.random.rand(N, 2) * Max e = np.random.rand(N, 2) * Max s1 = time.time() standard = improvedMunkres.original_munkres(s, e, Max, N, 1) print("%d #%dth standard: %f seconds" % (N, l, time.time() - s1)) for k in range(division, d_limit): s1 = time.time() r1 = improvedMunkres.improved_munkres(s, e, Max, N, k) temp = (r1 - standard) / standard * 100 buf1[k - division] += temp s1 = time.time() r1 = ver2.improved_munkres(s, e, Max, N, k) temp = (r1 - standard) / standard * 100 buf2[k - division] += temp #print("----------- %f seconds s:%f i:%f %f" % (time.time() - s1, standard, r1, temp)) err1 = [] err2 = [] for i in range(len(range(division, d_limit))): err1.append(100 - buf1[i] / loop) err2.append(100 - buf2[i] / loop)
import numpy as np import matplotlib.pylab as plt time_diff = 0 Max = 1 N = 100 for loop in range(100): s = np.random.rand(N, 2) * Max e = np.random.rand(N, 2) * Max # div 3 st1 = time.time() improvedMunkres.improved_munkres(s, e, Max, N, 3) et1 = time.time() - st1 st2 = time.time() improvedMunkres.original_munkres(s, e, Max, N, 3) et2 = time.time() - st2 print("%f %f" % (et1, et2)) ''' print("trial : %d" % loop) print(et1/et2*100) time_diff += et1/et2*100 ''' ''' print("Final::", end=' ') print(time_diff/100)