Computing the optimal road trip across South America

Published on March 14, 2015 by Dr. Randal S. Olson

genetic algorithm machine learning optimization road trip South America traveling salesman problem

2 min READ

By popular request, I've created another follow-up to my posts about computing optimal road trips across the U.S. and Europe. This time, I made an optimal road trip around South America. If you'd like to get into the nitty-gritty of how these road trips are created, check out the first post about the U.S. road trip.

South America is yet another massive and diverse continent, so again there's no way I'll be able to pick a series of stops that will please everyone. However, by combining recommendations from TripAdvisor and Huffington Post, I was able to create a trip with a nice mix between beautiful outdoor sights and lively cities across the entire South American continent. Below is the optimized route between those stops.


Click here for the interactive version

This trip ended up mostly following along the coastline of South America, covering roughly 18,148 miles (29,206 km) of driving, ferrying, and flying. You should plan to spend 3 or more months on this trip if you want to really enjoy it.

Google Maps isn't routing between Colombia and its neighboring countries, so I drew direct lines between Quito <--> Bogota & Santa Marta <--> Isla Margarita that may need to be taken by plane instead. Your best bet with this trip is to start at Isla Margarita, Venezuela and follow the route south from there.

Here's the full list of stops in order:

  1. Isla Margarita, Venezuela
  2. Angel Falls, Venezuela
  3. Jericoacoara, Brazil
  4. Fortaleza, Brazil
  5. Natal, Brazil
  6. Salvador, Brazil
  7. Trancoso, Brazil
  8. Belo Horizonte, Brazil
  9. Buzios, Brazil
  10. Rio de Janeiro, Brazil
  11. Sao Paulo, Brazil
  12. Curitiba, Brazil
  13. Florianopolis, Brazil
  14. Gramado, Brazil
  15. Punta del Este, Uruguay
  16. Asuncion, Paraguay
  17. Buenos Aires, Argentina
  18. Torres del Paine, Chile
  19. El Calafate, Argentina
  20. San Carlos de Bariloche, Argentina
  21. Santa Cruz, Chile
  22. Santiago, Chile
  23. Vina del Mar, Chile
  24. San Pedro de Atacama, Chile
  25. Nuestra Senora de La Paz, Bolivia
  26. Lake Titicaca, Bolivia/Peru
  27. Arequipa, Peru
  28. Urubamba, Peru
  29. Cusco, Peru
  30. Lima, Peru
  31. Mancora, Peru
  32. Quito, Ecuador
  33. Bogota, Colombia
  34. Cartagena, Colombia
  35. Santa Marta, Colombia
  36. Taganga, Colombia

Make your own road trip

If you'd like to customize your own road trip, I've released the Python code I used in this project with an open source license and instructions for how to optimize your custom road trip. You can find the code here.

Happy exploring!