Question 1 – Classical Single Vehicle Routing Problem

Question 1 – Classical Single Vehicle Routing Problem
This problem is a Travelling Salesman Problem with 75 nodes. A graph depicting the problem is
shown in figure 1.
Figure 1 – TSP
Based on the location data that was given to us, the distance matrix was first calculated using an
excel spreadsheet. Using this data the first heuristic used was the Nearest Neighbor with a
starting node of 1. The final length of the problem was found to be 87,368.
Since this value could not be improved upon using Excel alone, the problem was restarted with
the C-W Savings construction heuristic. After importing the problem into the Tours evaluation
software, the savings matrix was obtained. The points corresponding to the maximum savings
Page | 1
were obtained and a sub-tour was constructed with those points and the starting node of 1. This
tour was then expanded to the next pair of points using the next largest savings from the savings
matrix. The exact point of arc of insertion was chosen based on the cheapest insertion penalty.
The insertion penalties were also obtained from the Tours evaluation software. By repeating this
process, the sub-tour was expanded to include all the 75 points. The final length obtained using
this method was 80874.60. From this route, some directions were changed based on the previous
nearest neighbor heuristic and the length was reduced to 76,614.73. This solution is depicted in
Figure 2.
Figure 2 – Savings Algorithm and Cheapest Insertion
Page | 2
The last attempt to find a better solution was to run a genetic algorithm using MATLAB. The
genetic algorithm (GA) is a search heuristic that generates solutions to optimization problems
using techniques inspired by natural evolution, such as inheritance, mutation, selection, and
crossover. A population of strings (or chromosomes), which encode candidate solutions (or
individuals) to an optimization problem, evolves toward better solutions. The evolution usually
starts from a population of randomly generated individuals and happens in generations. In each
generation, the fitness of every individual in the population is evaluated, multiple individuals are
stochastically selected from the current population based on their fitness, and modified
(recombined and possibly randomly mutated) to form a new population. The new population is
then used in the next iteration of the algorithm.
To find the optimal route, we used resources from the Mathworks website. The inputs to
MATLAB include coordinates of cities, matrix of savings, the size of population and the number
of desired iterations. The population size was set to 100 and number of iterations to 100,000. As
most heuristics do, GA converges to a near optimal solution but the results vary each run, since
the optimization process and its performance rely on the randomly picked initial solution. After
several runs, the lowest total distance obtained was 69839.47. And the near optimal tour is
shown as Figure 3.
Page | 3
Figure 3 – Genetic Algorithm using MATLAB
Page | 4
References
1. Kirk, Joseph. "Traveling Salesman Problem - Genetic Algorithm." MathWorks. 02 Jan. 2009. Web.
28 Oct. 2010. <http://www.mathworks.cn/matlabcentral/fileexchange/13680>.
2.
"Genetic Algorithm." Wikipedia, the Free Encyclopedia. Web. 28 Oct. 2010.
<http://en.wikipedia.org/wiki/Genetic_algorithm>.
3.
Page | 5