# Exact algorithms for the minimum latency problem Exact algorithms for the minimum latency problem 吳邦一 黃正男 詹富傑 樹德科大 資工系.

## Presentation on theme: "Exact algorithms for the minimum latency problem Exact algorithms for the minimum latency problem 吳邦一 黃正男 詹富傑 樹德科大 資工系."— Presentation transcript:

Exact algorithms for the minimum latency problem Exact algorithms for the minimum latency problem 吳邦一 黃正男 詹富傑 樹德科大 資工系

Routing in a network 5 6 10 100 P1 P2 Which is better, P1 or P2?

Routing in a network 5 6 10 100 P1 P2 Total length Total delay P15+100+10=1155+105+115=225 P26+10+100=1166+16+116=138

Routing in a network System ’ s aspect System ’ s aspect –Minimize the total length –Traveling salesperson problem Customers ’ aspect Customers ’ aspect –Minimize the total delay –The minimum latency problem

Complexity and approximability Polynomial-time solvable Polynomial-time solvable –Path, unweighted tree, tree of diameter 3, tree with constant leaves NP-hard even for weighted tree NP-hard even for weighted tree Approximation ratios Approximation ratios –(STOC 94)144 → 21.5 → 10.8 → 3.59 (FOCS 03)

Our result Exact algorithms using a technique combining the advantages of both Dynamic Programming and Branch- and-Bound Exact algorithms using a technique combining the advantages of both Dynamic Programming and Branch- and-Bound Experimental results on random and real data Experimental results on random and real data

Dynamic programming Solution space: all permutations Solution space: all permutations –(n-1)! (except the starting node) Configuration (S,r) of a subtour P Configuration (S,r) of a subtour P –S: the visited node, i.e., V(P) –r: the last node of P Only one subtour for each configuration is needed, the best one but not the shortest one. Only one subtour for each configuration is needed, the best one but not the shortest one. –Only O(n2^n) configurations

Dynamic programming Configurations for k visited nodes Configurations for k+1 visited nodes

Branch-and-bound A tree searching algorithm A tree searching algorithm –A lower bound function for each subtour –A global upper bound for the optimal (a feasible solution) –A subtour with lower bound >= UB is useless subtour P extend P by one node All possible successive nodes

Dynamic programming with pruning Configurations for k visited nodes Configurations for k+1 visited nodes If lower bound >=UB, discard If lower bound { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.com/13/4009547/slides/slide_10.jpg", "name": "Dynamic programming with pruning Configurations for k visited nodes Configurations for k+1 visited nodes If lower bound >=UB, discard If lower bound =UB, discard If lower bound

What we need A global UB A global UB –A greedy method A lower bound function A lower bound function –A series of lower bound functions B k (P) –Preprocessing time: O(n k+1 ) –For each subtour: O(kn) time Trade-off between quality and time Trade-off between quality and time A data structure to store the configurations A data structure to store the configurations

How to search a configuration Configurations for k visited nodes Configurations for k+1 visited nodes If lower bound >=UB, discard If lower bound { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.com/13/4009547/slides/slide_12.jpg", "name": "How to search a configuration Configurations for k visited nodes Configurations for k+1 visited nodes If lower bound >=UB, discard If lower bound =UB, discard If lower bound

In a traditional DP In a traditional DP –Encoding each configuration into an integer –Using a BIG array –O(1) for searching but the whole array needs to be scanned.  It ’ s just what we want to avoid An AVL tree is employed. An AVL tree is employed.

Experiments: random data

Experiments: real data TSPLIB Perform much better than on random data

Discussion A good modification for DP and B&B A good modification for DP and B&B Using a good data structure such as the AVL tree is very important. Using a good data structure such as the AVL tree is very important. For small j>i, DPP(j) is better than DPP(i) when n is sufficiently large. For small j>i, DPP(j) is better than DPP(i) when n is sufficiently large. Theoretically, we have more precise lower bound functions. But it suffers from a long computation time and therefore has a worse performance. Theoretically, we have more precise lower bound functions. But it suffers from a long computation time and therefore has a worse performance. In fact, we have tried several other lower bound functions. Some of them eliminate much more subtours than B1 but has a worse performance In fact, we have tried several other lower bound functions. Some of them eliminate much more subtours than B1 but has a worse performance

Thank you

Download ppt "Exact algorithms for the minimum latency problem Exact algorithms for the minimum latency problem 吳邦一 黃正男 詹富傑 樹德科大 資工系."

Similar presentations