Vote Charlie!

Item Grouper: Efficiently arrange things in groups

Posted at age 24.
Edited .

My mom needed arrange for 18 new employees to meet each other via a series of group sessions of four groups meeting at a time. In order to make each session as long as possible, she needed an efficient set of combinations to have each person meet each other person in as few sessions as possible.

She ended up manually grouping all the employees and came up with a solution that required nine sessions, which is pretty good. But I wrote a calculator that solves her problem using only eight sessions. And it only takes a few seconds, versus the much longer amount of time to do it manually.

Screen Shot 2013-04-10 at 15.25.08.jpg

Item Grouper program source code

Using the form below, human resources and hiring managers, teachers, conference organizers and anyone else can find a way to efficiently group items or people into a series of groups. I’m sure there are possibilities other than the above example, but even that one is a pretty common situation faced in business and education.

To try it, just fill out this form and hit submit! If this is useful to you, please comment below letting me know what you used it for!

Please refresh the result a few times to verify you didn’t happen to land on a long solution. To save resources, I limit the number of iterations this program uses to find the solution, which can occasionally result in a nonoptimal set, especially for larger sets. If you have a set much larger than the above example and the script times out, let me know, and I can look at raising the script limits temporarily.

Developers: The source code for this project is hosted on Github. If you are so inclined, feel free to take a look and offer any feedback via pull requests, Github issues or comments below.