假设我有N个数据包;和M个用户(M> N)。
每个数据包都有一个值可供每个用户使用。
每个用户都有需求。
我们需要将数据包分发给用户,以便用户最大程度地满意。每个数据包只能分配给一个用户。
实施例。 N = 3; M = 5;每个用户的每个数据包的值如下:
packet1(10,20,30,40,50)
packet2(20,10,20,20,0)
packet3(20,10,10,30,20)
这意味着如果将packet1分配给用户1,它将获得10;如果分配给用户2则获得20; user3可以获得30;用户4得40;用户5可以获得50。 同样适用于其他数据包。 但是一个数据包只能分配给一个用户。
让用户1到5的需求分别为(40,50,30,60,70)。 (例如:如果将packet2,3分配给用户1,则获得(20 + 20)= 40,并且满意。)
那么,我们应该将哪个数据包分配给哪个用户以满足最大用户数?
有人可以建议如何证明这个问题的(NP)硬度吗? (是否存在经典的等效问题?)