Algorithm design: can you provide a solution to the multiple knapsack problem?

Posted by MalcomTucker on Stack Overflow See other posts from Stack Overflow or by MalcomTucker
Published on 2010-03-06T11:19:15Z Indexed on 2010/03/08 14:51 UTC
Read the original article Hit count: 208

Filed under:
|

I am looking for a pseudo-code solution to what is effectively the Multiple Knapsack Problem (optimisation statement is halfway down the page). I think this problem is NP Complete so the solution doesn't need to be optimal, rather if it is fairly efficient and easily implemented that would be good.

The problem is this:

  • I have many work items, with each taking a different (but fixed and known) amount of time to complete.
  • I need to divide these work items into groups so as to have the smallest number of groups (ideally), with each group of work items taking no longer than a given total threshold - say 1 hour.

I am flexible about the threshold - it doesnt need to be rigidly applied, though should be close. My idea was to allocate work items into bins where each bin represents 90% of the threshold, 80%, 70% and so on. I could then match items that take 90% to those that take 10%, and so on.

Any better ideas?

© Stack Overflow or respective owner

Related posts about algorithm

Related posts about design