Các nguồn tôi đã tìm thấy trực tuyến khá lớn. Tôi có thể làm điều gì đó sai, nhưng 10 địa điểm (thành phố) mất ~ 0,6 và 11 địa điểm mất ~ 7 giây. Số liệu giải pháp nhỏ nhất được biết đến mà tôi có thể tìm thấy là 15 địa điểm (và được coi là "nhỏ", "cổ điển" là 48 địa điểm) nhưng có lẽ đó là các thuật toán tối ưu hóa (không phải brute force). Cuối cùng tôi đã thực hiện bảng của riêng tôi với các thành phố thế giới thực:
m
a
a h
s h s u
t a e i g l
r a e t e s
i c r t l e b b a e
c h l a e c o e n o p
h e e r e h n r n h e
t n n d n t n g e e n
maastricht 0 29 20 21 16 31 100 12 4 31 18
aachen 29 0 15 29 28 40 72 21 29 41 12
heerlen 20 15 0 15 14 25 81 9 23 27 13
sittard 21 29 15 0 4 12 92 12 25 13 25
geleen 16 28 14 4 0 16 94 9 20 16 22
echt 31 40 25 12 16 0 95 24 36 3 37
bonn 100 72 81 92 94 95 0 90 101 99 84
hulsberg 12 21 9 12 9 24 90 0 15 25 13
kanne 4 29 23 25 20 36 101 15 0 35 18
ohe 31 41 27 13 16 3 99 25 35 0 38
epen 18 12 13 25 22 37 84 13 18 38 0
Optimal (by program): cities 0-7-4-3-9-5-2-6-1-10-8-0 = 253km
maastricht -> hulsberg -> geleen -> sittard -> ohe -> kanne -> echt
-> heerlen -> bonn -> aachen -> epen -> kanne -> maastricht
Định dạng dữ liệu có thể đọc được bởi chương trình là một bảng một phần (vì nó là đối xứng):
29 20 21 16 31 100 12 4 31 18
15 29 28 40 72 21 29 41 12
15 14 25 81 9 23 27 13
4 12 92 12 25 13 25
16 94 9 20 16 22
95 24 36 3 37
90 101 99 84
15 25 13
35 18
38
Đối với tôi đây mất ~ 6,7 giây để xử lý trên gen thứ 3 i7 (i7-3630QM). Chương trình được viết bằng C++, đơn luồng và chỉ đơn giản là brute-lực lượng khả năng. Để thử nghiệm có thể thực tế hơn khi xóa một địa điểm, sau đó phải mất ~ 660ms (0,7 giây) mà vẫn đủ để xem liệu các thay đổi mã có tạo ra nhiều sự khác biệt hay không.
Bạn có muốn dữ liệu có giải pháp chính xác hoặc chỉ dữ liệu không? Bạn luôn có thể xây dựng bộ dữ liệu của riêng mình nếu muốn. Ngoài ra, bạn đang tìm kiếm các trường hợp TSP Euclide hay các cá thể TSP tùy ý? – templatetypedef
Nếu các giải pháp được bao gồm, nó sẽ được tốt đẹp. Tôi không biết những trường hợp TSP Euclide và Arbitrary là gì. Tôi mới bắt đầu. – Akavall
Bạn cũng có thể tạo các bộ với các giải pháp đã biết để bắt đầu - ví dụ, tạo n điểm trên một vòng tròn. Giải pháp tốt nhất là đi qua chúng theo thứ tự, và bạn có thể ước tính chiều dài đường dẫn lý tưởng theo chiều dài của vòng tròn. – Mathias