我正在构建 Web 应用程序,我试图在其中根据用户的偏好将用户分配到组中。 在我的应用程序中,我有 1 个存储用户信息的表和 1 个存储用户选择的表。
用户必须从 10 个选项中至少选择一个。
我正在尝试编写满足这些规则的算法:
1.一个群组必须有4到8个用户
2.每个用户最多只能属于一个组
3. 群组中的每个用户,至少有一个共同的首选
4. 最好每个用户都属于这个组/尽可能多
但还没有运气。 有人知道如何找到这样的解决方案吗?也会找到好的解决方案(不是最好的)的算法,将不胜感激。
最佳答案
这个问题类似于Miss Manners 2009 Drools Planner 的示例, 这是关于将客人(= 用户)分配到 table (= 组)并确保坐在彼此旁边的客人有相同的偏好。
关于algorithm - 分配算法/伪代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5226119/