有n
资源需要分配给m
用户(n > m
)。这些限制包括:
1. 每个资源最多只能分配给一个用户。
2. 每个用户都需要一些资源或其他资源来完成任务。
例如,资源表示为a,b,c,d,e
,用户表示为1,2,3
。
用户1可以使用(a,b), (b,c)
。
用户2可以使用:(b), (c), (d), (e)
。
用户3可以使用(c,d), (e,f)
。
对于用户1、2和3,可能的赋值分别为:(a,b)
、(e)
和(c,d)
。
目标是找到一个分配计划,让尽可能多的用户拥有足够的资源。
可能有类似的问题,但我没有发现结果。也许这是一个NPC问题,但我也没有在NPC问题列表中找到相关主题。
我想要一个好的答案
您可以在这里查看有关此问题的文章。
这不是一个微不足道的问题,所以我没有更多有用的想法。
每个用户只有一个选项的特殊情况是np -硬集打包问题,Karp最初的21个问题之一。我会考虑使用现成的约束程序求解器。