In this lecture, we continue our discussion
on the Travelling Salesman Problem. We look at heuristics to solve the Travelling Salesman
Problem. First we have to look at what a heuristics is and then, we try and explain why we provide
heuristics solutions to the Travelling Salesman Problem. The first question is what is a heuristics
solution to this problem? In the earlier lectures we had seen 3 types of branch and bound algorithms
to solve the TSP. All of them gave us the exact solution which is shown here. The exact solution being 1-3-4-2-5-1 with
Z equal to 34; this exact solution tells us that the best value or the minimum cost solution
is 34 and the person travels from 1 to 3, 3 to 4, 4 to 2, 2 to 5, 5 to 1 with Z equal
to 34. All above branch and bound algorithms were able to give us this value with Z equal
to 34. The 3 branch and bound algorithms we had solved, using this example of a 5 - city
Travelling Salesman Problem. We have already seen that, for n city problem, we have n minus
1 factorial feasible solution, out of which the best one is with 34. In some for the 5
- city problem, we have a maximum of a 4 factorial feasible solutions and if we look at a twenty
- city problem, then we might even go to as high as nineteen factorial feasible solutions. When we apply the branch and bound algorithm
from any one of the 3 methods that we have seen let us assume that we would choose the
third branch and bound that we saw in the earlier lecture. When we apply this branch
and bound algorithm to large problems, large meaning of the order of hundred cities or
more, in fact hundred is not seen as a very large problem, but we apply it to a hundred
city problem. Then we will observe that the number of nodes is very high, the CPU time
taken is also very high. It may not be able to solve a hundred factorial problems within
a reasonable computing time or within a reasonable CPU time. That happens because of the exponential
nature of the Travelling Salesman Problem, now this leads us to a discussion on the complexity
theory. The branch and bound algorithm that we have
seen comes in the category of an exponential or a non polynomial algorithm, where the computational
effort taken is not described as a polynomial function of the problem size. Any branch and
bound algorithm in the worst case, can evaluate all possible solutions, which means for n
city Travelling Salesman Problem, it might end up evaluating n minus 1 factorial solution
which is an exponential number. For whatever problems when we do not have algorithms, that
have what is called a polynomial complexity branch and bound is a non polynomial complexity.
Wherever we have algorithms that do not run in polynomial time then it becomes necessary
to get good solutions not necessarily exact but to get good solutions
with algorithms that run in polynomial time. Heuristics algorithms actually provide us
with all these 3 things. Every heuristic algorithm attempts to find a good solution to the problem,
does not guarantee exactness, sometimes we may get the exact solution, many times we
may not. Most importantly, it gets quick solutions in terms of computational time and effort. It is polynomial time and effort and they
are mostly quick with respect to providing these solutions. While branch and bound might
take and exponential or a non polynomial amount of time to terminate every heuristic algorithm
terminates within polynomial time and provide quick solutions or good solutions and close
to exact solutions though not exact solutions all the time. Therefore, it is necessary to
look at heuristics for the Travelling Salesman Problem because so far, all the exact algorithms
that had been developed for the TSP run in exponential time. It is necessary to look
at heuristics algorithms that do not provide exact solution or do not guarantee exact solutions,
but provide good solutions that run in polynomial time. There are different categories of heuristic
algorithms or heuristic methods. Some of them are called construction heuristics and the
others are called improvement heuristics. In this lecture series we will see some construction
heuristics as well as some improvement heuristics to the Travelling Salesman Problem. Let us
start the discussion with a first heuristics. The first heuristics that we will describe
is called the nearest neighbour search. Let us provide a quick solution to the Travelling
Salesman Problem. Let us assume that the person starts at city one, when the person is at
city one, we have to find out which is the next best place to go. thus, 1 to 2 is 10,
1 to 3 is 8 9 and 7. We would assume safely that the person would go to the nearest neighbour
which means that place or city which is closest to where the person is at present. From 1,
this person would go to 5 because 1 to 5 is a smallest number here. From 5, now the person
can go to either 5 to 2 or 5 to 4. It could be any one of them. Let us assume the person
goes from 5 to 2. From 2 it is 10, 10 5 and 6. The smallest number being 5, the person
will go to 4 and from 4 the smallest number is 2. But the person will not come back to
2 because 2 to 4, 4 to 2 will be a sub - tour. The person will try the next one which is
5 again. He does not come because 5 to 4 and back to 5 is a sub - tour. The only thing
that is available is 3 and then the person comes back to 1. This is how the nearest neighbour
works. You start with any city, preferably the first and then find out the nearest city.
If the nearest city does not give a sub - tour, then add it. Otherwise find out the next nearest
and repeat till you do not you identify a city which does not result in a sub - tour.
Add it and repeat the procedure till all cities are covered. This will be the nearest neighbour
solution, when we start with city one. The value for this, let us call it as Z, 1 to
5 is 7, 5 to 2 is 6, 13, 2 to 4 is 5, 18, 4 to 3 is 8, 26, 3 to 1 is 8, 34. Let us do
the nearest neighbour with city 2. We start with city 2 and then from city 2, the person
will go to city 4 because 2 to 4 is the smallest. From 4, the person will go to 5 because 4
to 2, the person will not do because it is a sub - tour. From 4 he will go to 5 and then
from 5 the person will go to 1. Then the person will go to 3 and then come back to 2. This
will give Z equal to 2 to 4 is 5, 4 to 5 is 5, plus 6 equal to 11, 5 to 1 is plus 7, 18,
1 to 3 is 18 plus 8 26, 26 plus 10 is 36. Repeat, 2 to 4 is 5, 4 to 5 is 5 plus 6 11,
plus 7 18, 18 plus 8 equal to 26, 26 plus 10 is 36. So, different starting cities can
give different solutions. We have already shown solutions when we start
with city one and city 2. We may do it with city 3, we may do it with city 4, and we may
do it with city 5 and then choose the best out of these 5 possible solutions as the best
one. If we may do it with 3, we would start with 3, from 3 we would come back to 1 and
from 2 we will go to 5. From 5 we can go to either 2 or 4. Go to 2 and then 4 and then
3, with Z equal to 3 to 1 is 8, 1 to 5 is 8 plus 7 is 15, plus 6 equal to 21, 21 plus
5 equal to 26, 26 plus 8 is 34. From 4, we would do 4 to 2 is a smallest 2 to 5, 5 to
1, 1 to 3 and 3 to 4 with Z equal 5 plus 6 11, 5 to 1 7, 18, 18 plus 8 26, 26 plus 8
equal to 34.From 5, we will do 5 to 2, 2 to 4, 4 to 3, 3 to 1 and 1 to 5 with Z is equal
to 34. 5 to 2 is 6, 2 to 4 equal to 6 plus 5 equal to 11, 4 to 3 11 plus 8 equal to 19,
3 to 1 19 plus 8 equal to 27 plus 7 equal to 34. Let me a repeat, 5 to 2 is 6, 2 to 4 is 6
plus 5 is 11, 4 to 3 11 plus 8 equal to 19, 3 to 1 19 plus 8 equal to 27 and plus 7 34.
Out of these 5 solutions, we realize that 4 of them give value 34 and 1 gives value
36. We also realise that 1 5 2 4 3 1 is different from 2 4 5 1 3 2, but if we look
at this solution, 1 5 2 4 3 1, is same as 3 1 5 2 4 3 and so on. Effectively all these
4 happen to be the same solution. This is different. The best of them we could choose
any one of them with value Z equal to 34, is the solution obtained using the nearest
neighbourhood search. We say that this could be the solution obtained using the nearest
neighbourhood search. The nearest neighbourhood search starts like this. We can start with
any one of the cities, say city one. Find out the nearest neighbour, if the nearest
neighbour is already there in the solution, leave it and now find out that neighbour which
is not yet in the solution. This means it will not form a sub - tour. Add the neighbour and proceed till all the
cities are exhausted. We come back to the starting point; repeat this for every city
as we have shown here. So with one, with 2, with 3, with 4, with 5 and choose the best.
This is an example of a construction heuristics. The reason is, we construct, we start from
one and we slowly build or construct the heuristic, till we get a feasible solution to the problem.
Every one of these is a feasible solution to the problem, just because we know already
we have solved this problem, before we know that 34 is the best answer. We may say that
this nearest neighbourhood search has actually given us the optimum. We are able to make that statement because
we know the exact solution or the optimal solution. Ordinarily, we would not be able
to say that we have reached the optimum. The best out of these possible ones is the heuristic
solution that is given by this particular heuristics. Each of these heuristic solutions
is a feasible solution. Each of these is a feasible solution
and actually provides an upper bound to the optimum. The one thing we may be able to say is, the
best of these being 34, 34 is an upper bound to the optimum. It is customary to use a notation
if L0 is the length of the optimal tour to the Travelling Salesman Problem. Then Lh,
every solution that is obtained by this Lh is greater than or equal to L0, that is the
only thing we might say. In this particular instance, we may be able to say that we have
got the optimal. That is because we know that 34 is the optimum. We can quickly understand
that the computational effort that is required to do this is far less than the computational
effort that was required to do this branch and bound. More importantly, it is possible
to show that we only do a polynomial number of steps to get each one of these solutions.
This would qualify as a heuristic because it runs in polynomial time, it provides a
feasible solution and it provides a quick good solution to the problem. The goodness of any heuristics has to be measured.
At the moment, we may be able to say that the best value is 34 but how good is that
34? We know that this Lh being 34 let us assume that we do not know this L0. What we now know
is that L0 is less than or equal to 34. Lh represents the length of the heuristics
solution; L0 represents the length of the optimal solution. So Lh is always greater
than or equal to L0 because it is a heuristic. We need to evaluate the goodness of this heuristic.
To find out how good this heuristic solution is, with respect to the optimum. We can derive
some expressions for Lh by L0 which tells us the extent to which the heuristic solution
can be bigger than the optimal solution. Such an analysis can be carried out. The expression
for Lh by L0 for the nearest neighbourhood search is given by this. Lh by L0 is less
than or equal to 1 plus log n to the base 2 by 2, where n is the problem size and the
logarithm is 2, the base 2. This shows that Lh by L0 is less than or equal
to a quantity greater than 1. We are not going to derive the expression for Lh by Lo here.
However for later heuristics, we will derive expression for Lh by Lo. What does this expression
tell us? For example, if n is equal to say 16, then 2 to the power 4 is 16. So this will
become less than or equal to 2.5, so 4 plus 1 5 by 2. For example, if n equal to 128,
2 to the power 7 is 128. So this will become less than or equal to 4. This shows that if
we have a matrix with size 128, length of the heuristics solution will be within four
times the length of the optimal solution. We also observe from this expression that,
as n increases, the goodness of the heuristic comes down. We also need to look at heuristics,
where either the goodness of the heuristic remains the same, irrespective of the length.
Or we are able to get better expressions for this Lh by Lo. Those heuristics that we subsequently are
going to see, heuristics such as twice around the tree heuristic and a heuristic using perfect
matching, we will derive expressions to show that Lh by Lo is less than or equal to 2.
In this case, irrespective of the size of the matrix and Lh by Lo not is less than 1.5
in this case, irrespective of the size of the matrix. In summary, the nearest neighbourhood
search is a very simple algorithm. It stars with a vertex, it goes through a set of all
other vertex that are nearest, which are not yet covered. Then it picks up the best solution
from among these. The nearest neighbourhood search has a complexity of 1 plus log n to
the base 2 divided by 2. In fact, the second construction algorithm that we will see is
actually from here. This is a branch and bound tree that we saw
in the previous lecture, which was used to get the optimal solution. Somewhere during
the previous lecture we even mentioned that this branch and bound can actually help us
get even a heuristics solution. Let us go back to this branch and bound and let us say
we started with 32. Then we branched here to get 34, then we branched here again and
we got 34. We branched here and here we found out a feasible solution with Z equal to 34.
This was a feasible solution with Z equal to 34. The moment we got a feasible solution
here with Z equal to 34 for this particular example, we were able to fathom this, this
and this. There were no more nodes that were available and we said that this is the optimal
solution. If for a particular example, that one of these
values happens to be, say, less than 34 and then I said that we have to proceed from here
till we get to the exact solution. If we want use this as a heuristic then right here we
have a feasible solution with Z equal to 34. We could have just stopped here and said this
solution by itself is a feasible solution. Therefore, this part of the branch and bound,
up to the point where we get the first feasible solution, can be used as a heuristic solution. The second construction algorithm or construction
heuristic that we will see, is actually this portion of the branch and bound tree. When
we come to this point, we get a feasible solution and this feasible solution acts as a heuristic
to the Travelling Salesman Problem. Again, we would get show this as a heuristics solution.
We may even ignore all the left side nodes, if we were using this only as a heuristic
solution. The third heuristic solution that we will see is this. Let us apply the algorithm to try and get
the minimum spanning tree associated with this matrix. We have already seen in earlier
lectures that the Prim's algorithm or the Kruskal's algorithm can be used to get the
minimum spanning tree. Let us first get the minimum spanning tree. The smallest one is
between 2 and 4. We could start with 2 and 4 with value equal to 5, which is the smallest.
In order to do with Prim's algorithm, now we go back we have put 2 and 4 here. We have
1 3 and 5 here. 2 to 1 is, 10, 2 to 3 is 10; 2 to 5 is 6,
so minimum is 6. 4 to 1 is, 9, 4 to 3 is 8, 4 to 5 is 6. We could take either 2 to 5 or
4 to 5 and then do it. We take 2 to 5 with value 6 here as the next one. Now we go back,
update this to 5 and bring this down to 1 and 3. We have to find out which one is going
to join the minimum spanning tree. 2 to 1, 2 to 3 10 and 10 minimum is 10. 4 to 1 4 to
3 minimum is 8. 5 to 1 5 to 3 minimum is 7. So 5 to 1 come here with value 7. 1 gets updated
here, 1 gets updated here and 3 come here. Now 2 to 3 is 10, 4 to 3 is 8. So minimum
is 8. 5 to 3 is 9; minimum continues to be at 8 and 1 to 3 is 8. We could either do 4
to 3 or 1 to 3. Let us say we do 4 to 3 with 8. This is a minimum spanning tree associated
with this. This has a length equal to 8 plus 5 equal to13 plus 6 equal to 19 plus 7 equal
to 26. I am going to called this as LMST equal to 26. The length of the minimum spanning
tree associated with this matrix is 26. What does this information give us? We have solved
a minimum spanning tree and how is this related to the Travelling Salesman Problem? Let us take any feasible solution to the Travelling
Salesman Problem. Let us take a solution 1 to 2, 2 to 3, 3 to 4, 4 to 5, 5 to 1. If we
take this feasible solution now, 1 to 2, 2 to 3, 3 to 4, 4 to 5 and 5 to 1. This is a
feasible solution to the TSP with L equal to 1 to 2 is 10, 2 to 3 is 10, 20 plus 8 is
28, 28 plus 6 is 34, 34 plus 7 is 41. The first thing that we observe is this L is greater
than or equal to L0 because this is a feasible solution to the Travelling Salesman Problem.
L0 is the optimal solution to the Travelling Salesman Problem. Every feasible solution
to the TSP has 5 edges or n edges while the minimum spanning tree always has n minus 1
edge. If we remove any edge from this, any one edge from this, we may remove this, then
we have 3 to 4, 4 to 5, 5 to 1, 5 to 2, we have a spanning tree. This is a spanning tree because this has 5
vertices, 4 edges connected. There is a path form every vertex to every other vertex. The
original matrix has 5 nodes, this also has 5 nodes. So this is a spanning tree to this.
Removal of every edge for any one edge from any heuristic solution gives us a spanning
tree. Let us assume that we do not know the optimal
solution but the optimal solution also is made up of 5 edges. Therefore, removing one
edge from the optimal solution would give us a spanning tree. If there is an optimal
solution, which if the optimal solution has a length L0 and if we remove an edge from
this L0, we get a spanning tree, so let us call that L as L spanning tree or LST. The
length LST should be less than or equal to L0, not because LST is 1 edge less than L0.
As long as all these Cijs are greater than or equal to 0, which means we do not have
any negative numbers coming here. This is a very reasonable assumption because this
is either a cost matrix or a distance matrix or a time matrix, which means to go from i
to j, we will only have to travel non - negative distances, non - negative times or non - negative
costs. As long as these Cijs from this are greater
than or equal to 0, every edge in L0 is greater than or equal to 0. Therefore, removal of
1 edge from L0 would give LST which is less than or equal to the length L0. This is a
spanning tree to this matrix and this is a minimum spanning tree to this matrix. By definition
LMST, length of minimum spanning tree, has to be less than or equal to length of any
spanning tree, because by definition, this is the spanning tree with minimal length.
We have LST less than or equal are L0 L minimum spanning tree (LMST) less than or equal to
LST, which is less than or equal to L0. Therefore, we could say that the LMST is less than or
equal to L0 and length of the minimum spanning tree is therefore, a lower bound to L0. Here we may say that this LMST of 26 is a
lower bound to L0 and the optimum solution cannot be 26 or less. This is the relationship
between the minimum spanning tree and the Travelling Salesman Problem. LMST is less
than or equal the L0 and it is a lower bound to L0, is a very important result that relates
the minimum spanning tree to the Travelling Salesman Problem. Having obtained the minimum
spanning tree, what we can do now is, we duplicate the edges of the minimum spanning tree. Then, try to write down the duplicated edged
minimum spanning tree this way. For example I start from 1- 1 5 2 4 3 1 to 5. I am just
marking that I have consumed this edge, so 1 to 5, 5 to 2, 2 to 4 and 4 to 3. Now I come
back, I do 3 to 4; I come back and do 4 to 5. I come back and do 4, 1 to 5, 5 to 2, 2 to
4, 4 to 3, 3 to 4, 4 to 2, 2 to 5 and 5 to 1. This way, I have covered all the eight
edges of this. Remember that, the minimum spanning tree will have 4 edges and when we
duplicate it, we would get eight edges. This is the length of twice the minimum spanning
tree and I am going to introduce a new term. I am going to say that this particular graph,
where we have duplicated the edges of the spanning tree, is an Eulerian graph. Therefore,
I am going to call this with a e and I say Le, length of the Eulerian will be the length
of this, which will be twice the spanning tree which is 52, because this is double the
length of the minimum spanning tree. What is this Eulerian graph or Eulerian circuit?
We will quickly see the definition of this an Eulerian graph is one where you can start
with any vertex, go through every edge or arc once and only once and come back to the
starting vertex. Which is what is did we went through 1 to 5, 5 to 2, 2 to 4, 4 to 3, 3
to 4, 4 to 2, 2 to 5, 5 to 1. It is also very easy to follow that, if we take a connected
graph and we duplicate the edges, we can always get an Eulerian circuit. We can also understand
that if we have a graph where the degree of every vertex is even, then it becomes an Eulerian
graph. What is a degree of every vertex? The degree
of every vertex is the number of arcs or edges that are incident on this. If we take this,
there are 2 which is an even number here. There are 4 here, there are 4 here, there
are 4 here and there are 2. This happened because, we duplicated the edges. So if you
take a given graph and duplicate all the edges, we will get an Eulerian. This Eulerian will
have a length of twice that of the minimum spanning tree. This is going to help us in
some ways to get feasible solutions to the Travelling Salesman Problem. How are you going
to do that? Let us start with this 1 and let us move.
1 to 5, 5 to 2, 2 to 4, 4 to 3 and if I come back from 3 to 4, I get a sub - tour; again
I get a sub - tour so I do 3 to 1. I do 1 to 5, 1 to 5, 5 to 2, 2 to 4, 4 to 3 and back
3 to 1. This is a feasible solution to the Travelling Salesman Problem. This has L equal
to 1 to 5 is 7, 5 to 2 equal to 7, plus 6 equal to 13, 2 to 4 13 plus 5 equal to 18,
4 to 3 18 plus 8 equal to 26, 3 to 1 26 plus 8 equal to 34. Is this the only feasible solution
we can get? No, we can get many more feasible solutions. We can do another thing here; you
could start with 1 to 5, 1 to 2, 2 to 4, 4 to 3, 3 to 5 and 5 to 1. You could do 1 to
2, 2 to 4, 4 to 3, 3 to 5 and 5 to 1. This is another solution you can get. Remember
what we do is, we keep moving like a nearest neighbour but we look at several different
solutions and make sure that we create tours as we move along. So 1 to 2 is 10, 2 to 4
is 5, 15, 4 to 3 is 8, 23, 3 to 5 23 plus 9 equal to 32 and 5 to 1 is 32 plus 7 is 39. Repeat, 1 to 2 is 10, 2 to 4 is 5 15, 4 to
3 is 8 23, 3 to 5 9 32, 5 to 1 39. We can do one more solution like this. We could do
1 to 4, 4 to 3, 3 to 2, 2 to 5 and 5 to 1. Now 1 to 4 is 9, 4 to 3 is 9 plus 8 equal
to 17, 3 to 2 17 plus 10 equal to 27, 2 to 5 27 plus 6 equal to 33, 5 to 1 33 plus 7
equal to 40. So we got another solution with 40. We can do one more here. We could do 1
to 3, 3 to 4, 4 to 2, 2 to 5, 5 to 1, 1 to 3, 3 to 4, 4 to 2, 2 to 5, 5 to 1. 1 to 3
is 8, 3 to 4 is 8 plus 8 16, 4 to 2 16 plus 5 21, 2 to 5 21 plus 6 equal to 27, 27plus
7 so L is equal to 34. We can do one more thing. We can go from 1
to 5, 5 to 4, 4 to 3, 3 to 2 and 2 to 1. You could do 1 to 5, 5 to 4, 4 to 3, 3 to 2, 2
to 1 and L is 41. 1 to 5 is 7, 5 to 4 is 7 plus 6 13, 4 to 3 13 plus 8 21, 3 to 2 31
plus 10 is 41. Compute again, 1 to 5 is 7, 5 to 4 7 plus 6 13, 4 to 3 13 plus 8 21, 3
to 2 21 plus 10 equal to 31, 2 to 1 plus 10 is 41. Like this, it is possible evaluate
as many solutions through this. The only condition being, at the end of it, we should be able
to move in this and then come back to 1, we should not move backwards. We should only keep moving forward and try
to get as many solutions as we can. We should not move backwards, for example, we cannot
do this. We cannot do for example 1 to 4 or 1 to 2, 2 to 4, 4 to 3, 3 to 5, 5 to 1. We
should not do because we would have moved backwards. In this type of a heuristic algorithm,
after we get this, you could go back and evaluate as many solutions as you can from this and
then take the best. In this example, the best happens to be here, as well as here, which
give us the best solution. This is 1 5 2 4 3 1 with L equal to 34. We have got the solution
with L equal to 34 here but then, unless we know that it is optimal through some other
means, we cannot say that it is optimal. We would now provide this as a heuristic solution.
Of course, we know earlier that this is the optimal solution. So this particular heuristic
gives us a solution with L equal to 34. This heuristic is called twice around the tree
heuristic and is a very popular heuristic from the literature. It is also easy to understand
why it got its name, because in this heuristic, the most important step is to compute the
minimum spanning tree and then duplicate it and then get this. It is like moving around
the minimum spanning tree twice and therefore, it is called twice around the tree heuristic.
We have to find out, can we possibly find out a good analysis of this. How good is this
heuristic? We saw an earlier that a goodness of a heuristic is given by this expression
called Lh by L0. Now what is the expression for Lh by L0 for this particular heuristic?
Let us try and get that expression for this particular heuristic. The first step of this heuristic was the computation
of the minimum spanning tree. So we computed LMST. We also said earlier that LMST is a
lower bound to L0 because removal of any edge from L0 would give us a spanning tree and
LMST is less than or equal to L of any spanning tree. Therefore, LMST is less than or equal
to L0. Of course, this is a under the assumption that all Cijs are greater than or equal to
0. So under the assumption that all cause are non - negative LMST is less than or equal
to L0. What we did here was, we found out another
Le which is called the L Eulerian. This Eulerian was obtained by duplicating the edges of the
minimum spanning tree. We got the minimum spanning tree here and then we duplicated
the edges. We wrote all the 8 edges in a certain order. L Eulerian we already mentioned is
52, which is twice LMST because L Eulerian is a obtained by duplicating the edges of
the MST. We have L Eulerian is 2 times LMST. The next thing we did was from this L Eulerian,
we picked up several solutions, each of which is a heuristic solution to the TSP. We found
out the best out of that. Let us take the best of that, which is this 34 and we called
this as Lh. But every Lh, length of every heuristic, every Lh we will show that this
will be less than or equal to Le. If we take this, how did we get this solution? This is
1 5 plus 5 2 2 4 4 3 and 3 1. Now 1 5 is common, 5 2 is common, 2 4 is here, 4 3 is here, but
this heuristic has 3 1, whereas Le has 3 4 plus 4 2 plus 2 5 plus 5 1. This distance matrix satisfies triangle inequality,
which means any Cij is less than or equal to Cjk plus Cki. If we do that, if the given
matrix satisfies triangle inequality, then 3 to 4 plus 4 to 2 is more than 3 to 2. So
3 to 2 plus 2 to 5 is more than 3 to 5 and 3 to 5 plus 5 to 1, is more than 3 to 1. Therefore,
3 to 4 plus 4 to 2 plus 2 to 5 plus 5 to 1 is more than 3 to 1. Therefore, you will see
that, Le is greater than or equal to Lh, from which Lh is less than or equal to Le. For
every one of these solutions, which we may call as Lh, if the matrix satisfies triangle
inequality then Lh is less than or equal to Le. Even if we take something like this, if
we take 1 to 5, 5 to 4, say before let us take this. We said 1 to 3, 3 to 4, 4 to 2,
2 to 5, 5 to 1. Now 1 to 5 plus 5 to 2 plus 2 to 4 plus 4 to 3 is greater than or equal
to 1 to 3 by triangle inequality. Therefore, the Lh corresponding to this will be less
than or equal to Le. If we take this 1 to 5, 5 to 4, 4 to 3, 3
to 2, 2 to 1, 1 to 5, 5 to 2 plus 2 to 4, is greater than or equal to 5 to 4, 4 to 3,
3 to 4 plus 4 to 2, is greater than or equal to 3 to 2 and 2 to 5 plus 5 to 1, is greater
than or equal to 2 to 1, Therefore, this Lh will be smaller than Le or Le is greater than
or equal to this Lh. So Le is greater than or equal to every one of these that is here.
Therefore, Le is greater than or equal to the best of these, which we call as Lh. Since Le is greater than or equal to every
one of these, it has to be greater than or equal to the best of these. Le is greater
than or equal to Lh or Lh is less than or equal to Le. Now Lh is equal 2 times LMST.
This is less than or equal to 2 times LMST now, from this result LMST is less than or
equal to L0, so Lh is less than or equal to 2 L0. Now from this we can derive Lh by L0
is less than or equal to 2, which is an important result about the performance of the twice
around the tree heuristic, This heuristic, we can say with confidence that this heuristic
will guarantee a solution, always such that the solution Lh by L0 is less than or equal
to 2. No matter what the problem size is, we will get Lh by L0 less than or equal to
2, provided all the Cijs are greater than or equal to 0. This satisfies triangle inequality. Under these 2 conditions, we can say that
twice around the tree heuristics, no matter what the size of the problem is, no matter
what the numbers are, as long as those numbers are real numbers and they satisfy triangle
inequality. We can say that Lh by L0t is less than or equal to 2. This is some form of an
analysis of a heuristics and a construction heuristic because, we have constructed the
heuristic solution from this, so this is how the twice around the tree heuristic works.
It is called twice around the tree because we go through the minimum spanning tree twice.
It also has a performance measure of 2. We look at a third another heuristic which is
also based on the minimum spanning tree. We have already seen that this is a minimum
spanning tree. So 1 to 3 2, 3 to 4, 4 to 2, 2 to 5 and 5 to 1. Here, we have duplicated
it so I am just removing this. We say this is the minimum spanning tree with values 3
to 4 is 8, 2 to 4 is 5, 2 to 5 is 6 and 1 to 5 is 7 with LMST equal to 26, 8 plus 5
equal to 13 plus 6 equal to 19 plus 7 equal to 26. Let us look at the minimum spanning
tree and let us look at some properties of it. This is a graph which is a collection
of nodes and arcs. Now with any graph, there is an interesting property that the number
of vertices with an odd degree is even. Let us explain this now. What is a degree of a
vertex? The degree of a vertex is a number of edges that are incident onto the vertex.
This has a degree 1 because there is only one vertex, this has degree 2, this has degree
2, this has degree 2 and this has degree 1. Since every edge is counted twice, because
every edge connects 2 vertices. It contributes the degree of 2 vertices. So the total degree
of any graph is an even number because it is multiplied by 2 times the numbers of edges. The total degree being even, it is obvious
that the number of vertices with odd degree will have to be even. In this example, there
are with four edges in this, so sum of the degree has to be eight. We will see 1 plus
2 plus 2 plus 2 plus 1. We got 1 plus 2 plus 2 plus 2 plus 1. This is odd degree; this
is odd degree, so number of vertices that have odd degree will have to be even. Let
us do with any graph and therefore, it is true with a minimum spanning tree, as well,
now find out the number of vertices that have an odd degree. In this case it is just 1 and
3, there are 2 vertices that have odd degree, which happen to be 1 and 3. If you have only 2 vertices that have odd
degree, then just go back and join the vertices. Just join the vertices and you add another
8. We said if you have only 2 vertices that have odd degree, the only thing you will do
is, you will simply join these 2 and when you simply join these 2, you will get one
solution, which is a circuit. This is because you have simply added one edge into a minimum
spanning tree. If you have only 2 vertices that have odd degree, then you will simply
put this into the spanning tree. You also realize that by adding such a vertex,
you get one more Eulerian, which means you can start from 1. 1 to 5, 5 to 2, 2 to 4,
4 to 3, 3 to 1. You go through every edge once and only once and you come back to the
starting point. It is also Hamiltonian, that from every vertex, you can go to every other
vertex and come back to the starting point. In this case, the L Eulerian will be equal
to LMST plus sum L that we have added. I am just going to call it Ladd and because the
number of vertices having odd degree is only 2. We just end up adding only one edge into
this solution. Therefore, this solution is 1 to 5, 5 to 2. 2 to 4, 4 to 3, 3 to 1, there
is only one solution that you get here, if you have 2 vertices coming here, You get only one solution. Now the length
of this solution is 1 to 5 is 7, 5 to 2 7 plus 6 equal to 13, 2 to 4 13 plus 5 18, 4
to 3 18 plus 8 26, 3 to 1 is 34. There is only one solution which we give as a heuristic
solution. Lh equal to 34, now we have provided a heuristic solution to this problem, whose
length equal to 34. This algorithm is called heuristics based on matching or let me explain
the matching as well. Let me explain the matching differently. We have seen only one case, where
the number of vertices with odd degree happens to be 2. When the number of vertices with
odd degree happens to be 2, we simply add that particular edge into the spanning tree
to get a feasible solution to the Travelling Salesman Problem which becomes your Lh but
what happens if you have more than 2. For example, if the minimum spanning tree
for a 5 - city problem is like this, let us say with 1 here, let me say 2 3 4 and 5. This
is a case where the number of vertices with odd degree is 4, as against number of vertices
with odd degree equal to 2. In this case, you have to go back and create the vertices
with the odd degree or 2 3 4 and 5. You will create another matrix with 2 3 4
and 5. 2 3 4 and 5, this is assuming that 2 3 4 and 5 are the vertices with odd degree.
Create this matrix. We would get a matrix which is like this. Dash 10 5 6, we would
get this portion of the matrix. 10 dash 8 9 5 8 dash 6 9 6 dash. We would get a matrix like this. What we have
done from this matrix is to get a minimum weighted matching. What is this minimum weighted
matching? There are 4 nodes 2 3 4 and 5. For example, if I take 2 to 3 and 4 to 5, it is
called a matching. Because there are 4 nodes, I have created 2 edges, such that the nodes
are not common but all the vertices are included. If I look at 2 3 4 and 5, I may have 2 3 4
5. I may have 2 4 3 5 and I may have 2 5 3 4. Because there are 4 vertices, there can be
only 2 matching, each matching has one edge and 2 nodes. If we take this particular matching,
this matching comprises of all these 4, 2 edges but all 4 are kept here. So 3 such matching
are possible and the weights of these are 2 3 4 5 is 16 2 4 is 5, 3 5 is 5 plus 9 equal
to 14, 2 5 3 4 is also 14. Out of the three possibilities that we have here, the minimum
one is either this or this so we could choose any one of them, choose the minimum weighted
matching and then add it onto this. Suppose we take 2 4 3 5, then we end up doing
2 4 3 5 onto this. Then we will get a solution 1 to 2, 2 to 4, 4 to 1, 1 to 3, 3 to 5, 5
to 1. This will be the L Eulerian if you super impose this. We continue the discussion on
this in the next lecture.