Heuristics for the General Multiple Non-linear Knapsack Problem