I have a set of items that I would like to bucket into N different buckets. Each item has a property associated with it (size) and I would like the sum of this property in each bucket to be roughly equal. What is the best way to determine this? Note the range of the size on the items is fairly large, in the data set I'm using the smallest size is 1 and the largest is 325,220.

Example: 

```
Item A - size 5
Item B - size 10
Item C - size 8
Item D - size 16
Item E - size 7

```

If I wanted to group these into 3 buckets I would want

```
Bucket 1: A, B
Bucket 2: C, E
Bucket 3: D

```