Reducing Knapsack to TSP 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.
N+2 nodes needed to represent the knapsack instance n+1 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.
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 n
Step 4: Create forward links for node N n Input: knapsack instance {2,3,5,7,11} Draw links to N+1 with weights w(i,N+1)=0.
n 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)=
Solution for KP Solution for TSP KP = {3,5,7} n TSP = (N+1) (S=15) Visit the nodes in an increasing order !
Solution for TSP Solution for KP TSP = (N+1) KP = {3,5,7} (all nodes which arrival cost > 0) n Select nodes with entrance w>0 ! 3 7 5