I am looking for an algorithm that "describes" the following situation:
15 - 22 people are combined into groups of 4 or 5 based upon stated preferences of who they wish to be grouped with. Each person will be grouped with at least one of their preferences.
This isn't "homework".