资源分配,而不是个人能力,是一个背包问题吗?



我有一个问题如下:

  1. 我有几个办公地点和不同能力的资源(整数)。
  2. 我想把所有的资源分配到不同的办公地点,以找到最好的方法来几乎平均分配这些资源,这样所有办公地点的能力就尽可能地平衡。有几件事要记住:

•每个办公地点的资源数量差异不应超过1。•每个办公地点的能力(通过增加个人能力达到)应该尽可能接近彼此。

我在网上进行了研究,了解了backpack算法和Bin-pack算法,它们听起来很接近这个问题。

的例子:办公地点数= 3;人数= 8;人员能力= 10、20、5、150、90、200、250、140(8个资源的能力值);

以上数字只是样本。它可以增长到1000+的资源和各自的能力价值。办公地点的数量也可以变化。

我没有开始编程部分,除非我确定我要采取的路径是正确的。我请求你的帮助,引导我到正确的方向来解决这个问题。

另外,如果你能分享一个可能的伪代码,将是一个很大的帮助。

谢谢!

这是一个背包问题,或者至少同样困难(考虑一个只有两个办公室的实例),因此获得最佳解决方案将非常困难。您可以尝试使用一些通用的优化启发式方法,如模拟退火:http://en.wikipedia.org/wiki/Simulated_annealing

最新更新