A complementary heuristic for the unbounded knapsack problem