Improved dynamic programming and approximation results for the knapsack problem with setups