Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
1 changed file
with
40 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,40 @@ | ||
# TSP-Guidance | ||
Guide for the 380CT Assignment on TSP | ||
# Guide for the 380CT Assignment on TSP | ||
|
||
The actual part you need to submit is the **Metaheuristics section**. | ||
The rest is meant to introduce you to the basics. | ||
|
||
## Lab 5 | ||
|
||
- Ensure you have **Jupyter**. | ||
- Either install [Jupyter](https://jupyter.org/install) alone or [Anaconda](https://www.anaconda.com/distribution). | ||
- Familiarise yourself with Jupyter functionaility. Consider taking **LinkedIn Learning courses** (free through the university) or any suitable alternatives. Here is a recommended set (e.g. each member of the group takes one): | ||
|
||
- [Introducing Jupyter](https://www.linkedin.com/learning/introducing-jupyter/present-data-like-a-pro-with-jupyter) | ||
- [Get Ready for Your Coding Interview](https://www.linkedin.com/learning/get-ready-for-your-coding-interview/welcome) | ||
- [Python for Data Visualization](https://www.linkedin.com/learning/python-for-data-visualization/setting-marker-type-and-colors) | ||
- [Python: Programming Efficiently](https://www.linkedin.com/learning/python-programming-efficiently/time-profiling) | ||
- [Python Statistics Essential Training](https://www.linkedin.com/learning/python-statistics-essential-training/the-power-of-visualization) | ||
|
||
- Load and study `Investigating TSP.ipynb`. | ||
- Can you improve any of the functions to make them more efficient? | ||
- See how large you can make _n_ while testing `exhaustive_search()`. | ||
- Check that `greedy_nearest_neighbours()` is correct. If not then fix it! | ||
|
||
- Read the [Wikipedia article on TSP](https://en.wikipedia.org/wiki/Travelling_salesman_problem). Pay attention to th **Computing a solution** section, and especially to the `2-opt` and `3-opt` techniques for defining neighbourhoods. | ||
|
||
- Experiment with generating your own graph families. For example: | ||
- **Euclidean graphs**: generate points using _(x,y)_ coordinates, then generate the adjacency matrix by calculating all the required distances. Recall that the distance between two points _(x<sub>1</sub>,y<sub>1</sub>)_ and _(x<sub>2</sub>,y<sub>2</sub>)_ is _sqrt[(x<sub>1</sub>-x<sub>2</sub>)<sup>2</sup>+(y<sub>1</sub>-y<sub>2</sub>)<sup>2</sup>]_. | ||
- **Graphs with obvious shortest cycle**: think of a graph where all the distances are 2 except for the edges on a predefined cycle, where the distance is 1. Such a graph would be useful for testing/debugging the *nearest neighbours greedy search*. | ||
|
||
|
||
|
||
## Bibliography | ||
|
||
- Applegate, DL, Bixby, RE, Chvátal, V, Cook, WJ, 2007, [The Traveling Salesman Problem: A Computational Study](https://locate.coventry.ac.uk/permalink/f/gr8698/COV_ALMA5199622620002011), Princeton University Press, Princeton. | ||
- Cook, WJ 2012, [In Pursuit of the Traveling Salesman: Mathematics at the Limit of Computation](https://locate.coventry.ac.uk/permalink/f/gr8698/COV_ALMA5199665280002011), Princeton University Press, Princeton. | ||
- Glover, F, & Kochenberger, GA (eds) 2002, [Handbook of Metaheuristics](https://locate.coventry.ac.uk/permalink/f/gr8698/COV_ALMA51109755880002011), Kluwer Academic Publishers, Secaucus. | ||
- Gutin, G, & Punnen, AP (eds) 2002, [The Traveling Salesman Problem and Its Variations](https://locate.coventry.ac.uk/permalink/f/gr8698/COV_ALMA51125059450002011), Springer, New York, NY. | ||
- Pintea, C.-M., 2014. [Advances in Bio-inspired Computing for Combinatorial Optimization Problems](https://locate.coventry.ac.uk/permalink/f/1r06c36/COV_ALMA5155140430002011). 1st ed. 2014. | ||
- Steven, SS 2008, [The Algorithm Design Manual](https://locate.coventry.ac.uk/permalink/f/gr8698/COV_ALMA5190160580002011), Springer, England. | ||
- You may also find its [companion website](http://algorist.com/problems/Traveling_Salesman_Problem.html) useful. | ||
- Talbi, E.-G., 2009. [Metaheuristics from design to implementation](https://locate.coventry.ac.uk/permalink/f/gr8698/COV_ALMA51117060170002011), Hoboken, NJ: John Wiley & Sons. |