GatorIncubator / gatorgrouper

:busts_in_silhouette: Automated Group Formation Tool Enabling Effective Team Work
GNU General Public License v3.0
20 stars 20 forks source link

Feature request: Unbalanced partitioning, allowing non-power of 2 splits #297

Open wmodes opened 5 years ago

wmodes commented 5 years ago

Currently using the Kernighan-Lin Grouping Method, only power of 2 group splits are supported. This is impractical for some course sizes if the goal is to create groups of a certain size. For instance, in a course size of 50, 8 groups results in very large groups of 6 members, but 16 groups results in small groups of 3.

I don't know the algorithm very well, but some hasty research revealed similar algorithms that can do unbalanced partitioning, such as shemetis (from this article)

shmetis can handle non-power of 2 partitions, by performing unbalanced bisections. That is, for a 3-way partition it computes a 2-way partition such that the first part has 2/3 of the total number of vertices, and the other part has 1/3. It then it bisects the first part into two equal-size parts, each containing 1/3 of the original number of vertices.

wmodes commented 3 years ago

Checking in. I see the issue is assigned, but not responded.

Alternately, dummy group can be created that balance out Kernighan-Lin's partitioning method and then discarded when output is created. That is, if you have 50 members, and want groups of about 4, 4 dummy groups can be created to make 16 groups and the 4 dummy groups with no members can be discarded.

Michionlion commented 3 years ago

Unfortunately, this repository does not have a current maintainer -- I think the parties involved (@gkapfham, @huangs1, @barrezuetai, and others) would be willing to answer questions about implementations, but probably don't have the bandwidth to make any changes at this time.