mkfilipiuk / tsp-heuristics

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About


Languages

Language:Java 56.9%Language:Python 43.1%