TSPLIB数据集制作python代码实现
时间: 2023-09-21 14:11:07 浏览: 178
TSPLIB是一个经典的旅行商问题数据集,可以用于测试和比较不同算法的效率。以下是制作TSPLIB数据集的Python代码:
```python
import random
def generate_tsp_data(num_cities, max_x, max_y, filename):
cities = []
for i in range(num_cities):
x = random.randint(0, max_x)
y = random.randint(0, max_y)
cities.append((i+1, x, y))
with open(filename, 'w') as f:
f.write("NAME: Random TSP Data\n")
f.write(f"COMMENT: {num_cities} cities, max_x={max_x}, max_y={max_y}\n")
f.write("TYPE: TSP\n")
f.write(f"DIMENSION: {num_cities}\n")
f.write("EDGE_WEIGHT_TYPE: EUC_2D\n")
f.write("NODE_COORD_SECTION\n")
for city in cities:
f.write(f"{city[0]} {city[1]} {city[2]}\n")
f.write("EOF\n")
if __name__ == '__main__':
generate_tsp_data(10, 100, 100, "test.tsp")
```
这个代码生成一个包含10个城市的TSP数据集,每个城市的x和y坐标在[0, 100]范围内。生成的数据集保存在名为"test.tsp"的文件中。可以根据需要修改参数来生成不同大小和范围的数据集。
阅读全文