We continue to take a look at the traveling salesman problem today. We can improve the memoziation with branching and bounding. The idea here is that the recursive function call in memoziation step earlier could be very expensive so we make it faster with branching by first looking up a table to see if the value was previously computed. We branch if it was previously computed and this makes it faster. If not, we replace the expensive recursive call with a cheaper call for the lower bound of the subspace. If this lower bound and the wmeight of the edge connecting s collected vertices with the new vertex is less than the value of the variable Best we have computed so far, then we perform the regular recursive call
for all m not = 1 on S - k
If M [S - k, m] is defined
Best = min ( Best, M[S-k, m] + w(m, k)
else
temp = LB (S - k, m )
If temp + w (m, k) < best
Best = min ( Best, Memo(S-k, m) + w (m, k))
for all m not = 1 on S - k
If M [S - k, m] is defined
Best = min ( Best, M[S-k, m] + w(m, k)
else
temp = LB (S - k, m )
If temp + w (m, k) < best
Best = min ( Best, Memo(S-k, m) + w (m, k))
No comments:
Post a Comment