我希望有人可以帮助解决我遇到的问题 - 尝试使用R解决。
个人可以提交物品请求。每人最低请求数为1。建议最多五个,但人们可以在特殊情况下提交更多。每个项目只能分配一个人。
每个项目的“满意度”/质量得分从10(高质量)到0(低质量)不等。我们的想法是根据请求分配项目,以便分配尽可能多的高质量项目。个人满足公平的请求传播并不重要。
每个人都必须满足至少一个请求。下一个优先事项是通过向其他人分配请求来查看是否可以让任何超过建议限制的人。之后,优先考虑的是根据质量得分查看项目在每个人的请求列表中的排名,并分配给排名最高的人(例如,如果它首先在某人的列表中,第三个在另一个人的列表中,则给出它到前者)。
实际上,我需要某种类型的排序算法:
有没有人对如何处理此问题有任何想法?我可以想到为什么我可以安排数据以便于识别和查看需要发生的位置,而不是自动化流程本身。提前感谢您的帮助。
数据(至少是此过程所需的位数)如下所示:
Item ID Person ID Item Score
1 AAG 9
1 AAK 8
2 AAAX 8
2 AN 8
2 AAAK 8
3 Z 8
3 K 8
4 AAC 7
4 AR 5
5 W 10
5 V 9
6 AAAM 7
6 AAAL 7
7 AAAAN 5
7 AAAAO 5
8 AB 9
8 D 9
9 AAAAK 6
9 AAAAC 6
10 A 3
10 AY 3