In my application, a user gets a list of items and needs to divide these in any number of groups, with some additional restrictions (between X and Y items in a group, etc.) Currently, the application looks roughly like this:

This looks like a clumsy way to do this. For instance, if the user has 6 trucks already and wants to put his last chair in the emptiest truck, he first has to compare them all. Or maybe he wants to play around with different configurations for a bit, which would be much easier if you could move items from one truck to another. Is there a more intuitive approach to this problem?
(Note that the answer to this question about dividing items in 2 groups will not work very well, since the number of groups is dynamic.)