Latar Belakang
Masalah salesman keliling (TSP) meminta sirkuit terpendek yang mengunjungi kumpulan kota tertentu. Untuk keperluan pertanyaan ini, kota-kota akan menjadi titik di pesawat dan jarak di antara mereka akan menjadi jarak Euclidean biasa (dibulatkan ke bilangan bulat terdekat). Sirkuit harus "pulang pergi", artinya harus kembali ke kota awal.
The Concorde TSP solver dapat memecahkan contoh masalah salesman keliling Euclidean, persis dan jauh lebih cepat dari yang diharapkan. Sebagai contoh, Concorde mampu memecahkan instance 85.900 poin persis, bagian yang terlihat seperti ini:
Namun, beberapa instance TSP terlalu lama, bahkan untuk Concorde. Misalnya, tidak ada yang bisa menyelesaikan contoh 100.000 poin ini berdasarkan Mona Lisa . (Ada hadiah $ 1.000 yang ditawarkan jika Anda bisa menyelesaikannya!)
Concorde tersedia untuk diunduh sebagai kode sumber atau yang dapat dieksekusi. Secara default, ia menggunakan built-in linear program (LP) solver QSopt , tetapi juga dapat menggunakan solver LP yang lebih baik seperti CPLEX.
Tantangan
Apa contoh TSP terkecil yang dapat Anda hasilkan yang membutuhkan waktu lebih dari lima menit untuk menyelesaikan Concorde ?
Anda dapat menulis program untuk menampilkan instance, atau menggunakan metode lain yang Anda inginkan.
Mencetak gol
Semakin sedikit poin dalam contoh semakin baik. Dasi akan dipecah berdasarkan ukuran file instance (lihat di bawah).
Standardisasi
Komputer yang berbeda berjalan lebih cepat atau lebih lambat, jadi kami akan menggunakan Server NEOS untuk Concorde sebagai standar pengukuran untuk runtime. Anda dapat mengirimkan daftar poin dalam formulir koordinat 2-d sederhana berikut:
#cities
x_0 y_0
x_1 y_1
.
.
.
x_n-1 y_n-1
Pengaturan yang harus digunakan pada NEOS adalah "data Concorde (file xy-list, norma L2)", "Algoritma: Concorde (QSopt)", dan "Benih acak: diperbaiki".
Baseline
Mesin virtual 1.889-point rl1889.tsp
dari TSPLIB membutuhkan "Total Running Time: 871.18 (detik)", yang lebih dari lima menit. Ini terlihat seperti ini: