I hope I am in the right forum, since I can't even tell where does my question belong.

Let's assume I have 10 workers in my company. They have their individual productivities, say P1... P10 objects done per hour. I know these numbers.

Let's say I have to do today 48 objects. I would like to find a way to distribute a) the 48 objects to teams and b) distribute the workers to teams so that all the teams finish theit work at about the same time. For example I would like to be able to find an algorithm to reach the following conclusion: I will distribute my people in 4 teams, A, B, C, and D, as follows (1, 7) (8, 3, 4) (6, 9), and (2, 5), and I will assign to my teams A, B, C, and D the 48 objects to do today as follows (9), (11), (14), and (14). This way, all my four teams will end their workday at around the same time, say, 4PM.

I can, for sure, play on my computer with my chart, assigning and unassigning members to teams, until I obtain a relatively flat envelope, but is there any algorithm that could suggest me a suitable distribution ?

For simplicity, I could assume that the number of teams is known and fixed, say N teams. Of course, I also know who my available workers are today, and what their individual productivities are. I also know, obviously, that I have to produce P objects.

Where do I start ?
Thank you very much
Alex.