Le fonti che ho trovato online sono piuttosto enormi. Potrei fare qualcosa di sbagliato, ma 10 luoghi (città) prendono ~ 0.6 secondi e 11 luoghi prendono ~ 7 secondi. Il set di dati con la più piccola soluzione conosciuta che ho trovato era di 15 posti (e considerato "piccolo", il "classico" di 48 posti) ma forse quelli per gli algoritmi ottimizzati (forza non bruta). Alla fine ho fatto la mia propria tabella con le città del mondo reale:
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
Il formato dei dati leggibili dal programma è una tabella parziale (perché è simmetrica):
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
Per me questo richiede ~ 6,7 secondi per l'elaborazione su un terzo gen i7 (i7-3630QM). Il programma è scritto in C++, single-threaded e semplicemente brute-forza le possibilità. Per testare potrebbe essere più pratico rimuovere un posto, quindi occorrono ~ 660ms (0,7s) che sono ancora sufficienti per vedere se le modifiche al codice fanno la differenza.
Desideri dati con soluzioni esatte o solo dati? Puoi sempre creare i tuoi set di dati, se lo desideri. Inoltre, stai cercando istanze TSP euclidee o istanze TSP arbitrarie? – templatetypedef
Se le soluzioni sono incluse, sarebbe bello. Non so quali siano le istanze TSP Euclide e Arbitrarie. Sto solo iniziando. – Akavall
È anche possibile creare set con soluzioni note per iniziare, ad esempio creare n punti su una circonferenza. La soluzione migliore è attraversarli in ordine e puoi approssimare la lunghezza del percorso ideale in base alla lunghezza del cerchio. – Mathias