Distributed TSP Solver

A distributed-memory parallel-tempering solver with TSPLIB-compatible EUC_2D route weights, deterministic seed support, official Berlin52 optimal-tour validation, and a repeated strong-scaling study on the Stromboli cluster.

7542official Berlin52 optimum
30fixed-seed measured runs
10.83×median speedup at 24 MPI processes
0%optimality gap in every measured run

Problem

The Traveling Salesman Problem has a rapidly growing search space. Distributed optimization can reduce search time, but it introduces communication, synchronization, load-distribution, stochastic variability, and benchmarking challenges.

My contribution

Metric correction

The Berlin52 instance declares EDGE_WEIGHT_TYPE: EUC_2D. The corrected implementation rounds each Euclidean edge length to the nearest integer before summing the route weight. The included official optimal tour is evaluated in CI and must equal 7542. Earlier course outputs used raw floating-point Euclidean distances, so their route-quality values are not directly comparable with the official TSPLIB optimum.

Parallel methodology

Search

Replicas at different temperatures balance local improvement with wider exploration.

Communication

Neighboring replicas exchange routes through an ordered alternating pattern.

Reproducibility

The benchmark uses fixed base seeds and records the process count, runtime, route length, speedup, efficiency, and variability.

Corrected repeated benchmark

The Stromboli study used five fixed seeds—1001, 2002, 3003, 4004, and 5005—at 1, 2, 4, 8, 12, and 24 MPI processes. This produced 30 measured runs. Every run reached the official Berlin52 optimum of 7542.

MPI processesMedian runtime [s]Median speedupParallel efficiency
16.89561.000100.0%
23.58571.92396.2%
41.91333.60490.1%
81.09076.32279.0%
120.84978.11667.6%
240.636710.83045.1%

The raw and aggregated datasets are archived in the repository benchmark directory. Median runtime is used because repeated stochastic runs are better represented by a robust central value than by one isolated timing.

Automated evidence

Historical course benchmark

The original course study reported a 20.7× speedup and approximately 86% parallel efficiency on 24 cores. Those plots are retained only as historical artifacts because the earlier implementation used raw floating-point distances. They must not be compared directly with the corrected benchmark above.

Scope and limitations

Next extensions

Useful extensions include runtime configuration of replica count and temperature schedule, additional TSPLIB instances, hybrid MPI/OpenMP execution, and comparison across multiple cluster environments.