Skip to content

theyusko/tsp-heuristics

Repository files navigation

tsp-heuristics

A team project to implement and compare different TSP heuristics.

Heuristic algorithms:

  1. Insertion Heuristics alt text

  2. Greedy alt text alt text

  3. Nearest Neighbor (Chosen) alt text

  4. Branch and Bround alt text

  5. 2-Opt alt text

  6. Greedy 2-Opt alt text alt text

  7. Genetic alt text

  8. Simulated Annealing alt text

  9. Neural Network alt text

  10. Minimum Spanning Tree (Chosen) https://www.geeksforgeeks.org/travelling-salesman-problem-set-2-approximate-using-mst/

  11. Christofides alt text

Resources:

Traveling Salesman Problem, four algorithms

https://www.youtube.com/watch?v=q6fPk0--eHY

Heuristic Implementations

Blogs

http://toddwschneider.com/posts/traveling-salesman-with-simulated-annealing-r-and-shiny/

Greedy Algo

https://stackoverflow.com/questions/30552656/python-traveling-salesman-greedy-algorithm

Test Data

  • Euclidean graph is generated with the following definition of triangle inequality: Triangle-Inequality: The least distant path to reach a vertex j from i is always to reach j directly from i, rather than through some other vertex k (or vertices), i.e., dis(i, j) is always less than or equal to dis(i, k) + dist(k, j). The Triangle-Inequality holds in many practical situations. When the cost function satisfies the triangle inequality, we can design an approximate algorithm for TSP that returns a tour whose cost is never more than twice the cost of an optimal tour. The idea is to use Minimum Spanning Tree (MST). Following is the MST based algorithm.