title: When to switch from Dynamic Programming (2D table) to Branch & Bound algorithm?
body: <p>I'm doing a knapsack optimization problem involving dynamic programming and branch &amp; bound. I noticed that when the capacity and the item of the problem gets large, filling up the 2D table for the dynamic programming algorithm will get exponentially slower. At some point I am going to assume that I am suppose to switch algorithm depending on the size of the problem (since lecture have give two types of optimization)?</p>
  
  <p>I've tried to google at what point (what size) should I switch from dynamic programming to branch &amp; bound, but I couldn't get the result that I wanted.</p>
  
  <p>Or, is there another way of looking at the knapsack problem in which I can combine dynamic programming and branch &amp; bound as one algorithm instead of switching algorithm depending of the size of the problem?</p>
  
  <p>Thanks.</p>