标签: algorithm set grouping preferences
我希望找到一种方法,可以根据偏好对人们进行分类。
例如,假设有100名学生将分配五个班级中的一个:
每个学生都有三个首选课程。什么是最好的方法来分开学生,以便尽可能多的人获得他们的第一和第二选择课程,同时确保没有班级有太多的学生为房间。
我考虑通过以下方法接近它:
虽然我觉得这是一个合理的实现,但我想知道是否还有其他算法可以更好地解决这个问题。我尝试过全面搜索,但我找不到任何可以解决这类问题的东西。
答案 0 :(得分:4)
根据您的描述,这听起来非常像Stable Marriage Problem
检查Wiki链接,您将看到Gale-Shapley算法的描述,这是一个很好的解决方案。