2

How do I distribute 48 items each with its own dollar value to each of 3 inheritors so that the value given to each is equal or nearly equal?

This is a form of partitioning problem with is NP-complete (or some such) and therefore impossible to perfectly answer with 48 items. I'm looking for a practical and generally acknowledged approximate algorithm to do this. It's a problem faced by many in resolving wills and estates. Answer must be out there somewhere! The answer could be a computer script or just a manual method.

A heuristic that is "Generally Accepted" would suffice. With my programmer hat on I seek a near-perfect solution. With my legalistic executor hat on I seek something for which there is a generally accepted or legal precedent as being "good enough".

Programming Language env: visual basic in LibreOffice Other research: Wikipedia, MathIsFun, CodingTheWheel

Chris Gerken
  • 16,221
  • 6
  • 44
  • 59
  • Interesting question. This strikes me as a complication of the ["Knapsack problem"](http://en.wikipedia.org/wiki/Knapsack_problem). – Mr.Wizard Nov 30 '11 at 17:48
  • Also, you may consider asking this question on http://math.stackexchange.com/ – Mr.Wizard Nov 30 '11 at 17:57
  • Are the numbers 48 and 3 fairly representative of your actual use? With items >> inheritors, this problem appears easier. – Mr.Wizard Nov 30 '11 at 18:07
  • Yes, it is related to the Knapsack problem. Yes it is more complicated at least in the theory. I would like an algorithm even if it took 5 days to run on my PC. Yes, the 48 and 3 are real-world numbers: 48 jewelry items and 3 people to please. – GrabsAtStrawberries Nov 30 '11 at 23:53
  • In that case an extremely simple algorithm may work. Are you able to provide some sample data sets? – Mr.Wizard Dec 01 '11 at 01:35
  • I think this looks like a solution: http://www.jstor.org/pss/2631900 but not sure what the access requirements are for the rest of it. Also looks pretty complicated. – Helen Dec 05 '11 at 11:54

1 Answers1

0

I have found a "good enough" answer from justanswer.com. Good enough for the legalities of dividing up the jewelry and close enough to being equal to satisfy all parties. The procedure:

Sort the items in descending order of value. Use greedy algorithm: start with 1st item (the most valuable) and fill the next bin (there are 3 inheritors so 3 bins) until that bin is no longer the bin of least value. Choose bin of subsequent least value and similarly fill it. Repeat.

Comments welcome.