add greedy knapsack heuristic