Skip to content
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Cannot retrieve contributors at this time
# Guide for the 380CT Assignment on TSP
Your work must be done in `Template.ipynb`. The actual part you need to work on is the **Metaheuristics section**.
The rest is meant to introduce you to the basics.
Start by first creating your repository, from this, by clicking on the green button **Use this template**. Then, clone your repository to your local machine. You can then open the notebook in Jupyter.
- Ensure you have **Jupyter**.
- Either install [Jupyter]( alone or [Anaconda](
- 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](
- [Python for Data Visualization](
- [Python Statistics Essential Training](
- Load and study `Investigating TSP.ipynb`.
- Read the [Wikipedia article on TSP]( Pay attention to the **Computing a solution** section, and especially to the `2-opt` techniques for defining neighbourhoods.
- Now you can use `Template.ipynb` to start writing the part you need to submit (about meta-heuristics).
- I propose you work as follows (You don't have to follow this though!):
* Ensure you are familiar with the TSP problem and 2-opt local search techniques. (See this [Wikipedia article](
* Watch the [guest lecture videos]( and check the literature related to TSP and the meta-heuristics you are thinking of.
* Write the code for the meta-heuristic that you have chosen. I recommend GRASP.
- You may try Google Colab and/or Microsoft Azure if that helps you work better, but please be aware that I am not sure about their GDPR compliance.
I should emphasise here that "exhaustive search" and "greedy" are **not* meta-heuristics, nor are 2-opt. Ensure this is clear to you.
## Bibliography
- Applegate, DL, Bixby, RE, Chvátal, V, Cook, WJ, 2007, [The Traveling Salesman Problem: A Computational Study](, Princeton University Press, Princeton.
- Cook, WJ 2012, [In Pursuit of the Traveling Salesman: Mathematics at the Limit of Computation](, Princeton University Press, Princeton.
- Glover, F, & Kochenberger, GA (eds) 2002, [Handbook of Metaheuristics](, Kluwer Academic Publishers, Secaucus.
- Gutin, G, & Punnen, AP (eds) 2002, [The Traveling Salesman Problem and Its Variations](, Springer, New York, NY.
- Pintea, C.-M., 2014. [Advances in Bio-inspired Computing for Combinatorial Optimization Problems]( 1st ed. 2014.
- Steven, SS 2008, [The Algorithm Design Manual](, Springer, England.
- You may also find its [companion website]( useful.
- Talbi, E.-G., 2009. [Metaheuristics from design to implementation](, Hoboken, NJ: John Wiley & Sons.