Travelling Salesman optimization problem (Spanish mainland cities version), simulated annealing approach.
This code looks for solutions to the travelling salesman problem using the Simulated Annealing algorithm. This version works out solutions for the Spanish case (spanish cities, distances are in kilometers). A nice TODO would be to draw the solution using the city coordinates.
An intro to this classic problem: https://en.wikipedia.org/wiki/Travelling_salesman_problem
The video that inspired it all: https://www.youtube.com/watch?v=SC5CX8drAtU
What's Simulated Annealing: https://en.wikipedia.org/wiki/Simulated_annealing
Other useful links: http://www.theprojectspot.com/tutorial-post/simulated-annealing-algorithm-for-beginners/6 https://towardsdatascience.com/how-to-solve-the-traveling-salesman-problem-a-comparative-analysis-39056a916c9f
The source of the data used, just in case I uploaded the Excel file to the repo, and it's included as a Dict in the code: https://www.businessintelligence.info/varios/longitud-latitud-pueblos-espana.html