130 likes | 379 Views
Reducing Knapsack to TSP. Prof. Pasi Fränti. Knapsack problem. Input: knapsack instance {2,3,5,7,11} Size of the knapsack S =15. Step 1: Create one node for every item. Input: knapsack instance {2,3,5,7,11} Create a node for every knapsack element. 2. 7. 5. 3. 11.
E N D
Reducing Knapsack to TSP Prof. Pasi Fränti
Knapsack problem • Input: knapsack instance {2,3,5,7,11} • Size of the knapsack S=15.
Step 1: Create one node for every item • Input: knapsack instance {2,3,5,7,11} • Create a node for every knapsack element. 2 7 5 3 11
Step 2: Add start and end points • Input: knapsack instance {2,3,5,7,11} • Add node 0 as the home. • Add node N+1 as the turning point. 2 7 5 0 n+1 3 11 N+2 nodes needed to represent the knapsack instance
Step 3: Create forward links • Input: knapsack instance {2,3,5,7,11} • Draw links from smaller nodes to bigger ones. • Set weights according to the bigger node: w(i,j)=j. 7 2 2 7 7 7 7 5 5 5 0 n+1 5 11 11 3 11 3 3 11 11
Step 4: Create forward links for node N+1 • Input: knapsack instance {2,3,5,7,11} • Draw links to N+1 with weights w(i,N+1)=0. 7 2 2 7 7 7 7 0 5 0 5 0 5 0 n+1 0 5 0 11 11 3 11 3 3 11 11
Step 5: Create backward links • Input: knapsack instance {2,3,5,7,11} • Draw backward links from bigger to smaller nodes. • Set weight of the link as w(j,i)=0. 0 2 7 0 0 0 0 0 0 0 0 0 5 0 0 n+1 0 0 0 0 0 0 3 11 0
2 7 0 7 0 0 5 0 n+1 5 0 3 3 11 Solution for KP Solution for TSP • KP = {3,5,7} • TSP = 0-3-5-7-(N+1)-11-2-0 (S=15) Visit the nodes in an increasing order !
2 7 7 0 7 0 0 5 5 0 n+1 5 0 3 3 3 11 Solution for TSP Solution for KP • TSP = 0-3-5-7-(N+1)-11-2-0 • KP = {3,5,7} (all nodes which arrival cost > 0) Select nodes with entrance w>0 !