Я пытаюсь запустить следующий код в google colab, чтобы сгенерировать графики для Задачи Продавца, но при запуске я получаю сообщение об ошибке, так как модуль с именем urlparse не найден, хотя я не использовал такой модуль. Я пробовал! Pip install urlparse, но такого модуля нет (ОШИБКА: не удалось найти версию, которая удовлетворяет требованию urlparse (из версий: нет) ОШИБКА: не найдено соответствующего распределения для urlparse). Меня смущает, откуда именно эта ошибка появляется, чтобы ее решить
import time
import argparse
import pprint as pp
import os
import pandas as pd
import numpy as np
from concorde.tsp import TSPSolver
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--num_samples", type=int, default=10000)
parser.add_argument("--num_nodes", type=int, default=20)
parser.add_argument("--node_dim", type=int, default=2)
parser.add_argument("--filename", type=str, default=None)
opts = parser.parse_args()
if opts.filename is None:
opts.filename = f"tsp{opts.num_nodes}_concorde.txt"
# Pretty print the run args
pp.pprint(vars(opts))
set_nodes_coord = np.random.random([opts.num_samples, opts.num_nodes, opts.node_dim])
with open(opts.filename, "w") as f:
start_time = time.time()
for nodes_coord in set_nodes_coord:
solver = TSPSolver.from_data(nodes_coord[:,0], nodes_coord[:,1], norm="GEO")
solution = solver.solve()
f.write( " ".join( str(x)+str(" ")+str(y) for x,y in nodes_coord) )
f.write( str(" ") + str('output') + str(" ") )
f.write( str(" ").join( str(node_idx+1) for node_idx in solution.tour) )
f.write( str(" ") + str(solution.tour[0]+1) + str(" ") )
f.write( "\n" )
end_time = time.time() - start_time
print(f"Completed generation of {opts.num_samples} samples of TSP{opts.num_nodes}.")
print(f"Total time: {end_time/3600:.1f}h")
print(f"Average time: {(end_time/3600)/opts.num_samples:.1f}h")