Distributed TSP Solver

A distributed-memory Traveling Salesman Problem solver written in C99 and OpenMPI, combining Parallel Tempering, local search, constant-time route updates, and coordinated replica exchange.

TSP route comparison from the distributed solver
20.7×reported speedup
24tested cores
86%parallel efficiency
O(1)route-delta updates

Problem

The Traveling Salesman Problem has a rapidly growing search space. Distributed optimisation can improve runtime, but it also introduces communication, synchronization, and scaling challenges.

My contribution

Parallel methodology

Search

Multiple temperature replicas help the optimisation escape local minima.

Communication

Neighbouring replicas exchange states using an ordered odd-even protocol.

Performance

Distance lookup tables reduce the cost of the inner optimisation loop.

Representative results

Results

Next steps

Planned extensions include hybrid MPI/OpenMP execution, CUDA acceleration, and comparisons across additional TSP datasets.