资源分配w.r.t.个人能力 - 这是背包问题吗?

时间:2011-07-22 09:44:13

标签: algorithm knapsack-problem

我遇到如下问题:

  1. 我的办公地点和资源很少,具有不同的功能(整数)。
  2. 我想将所有资源分配到不同的办公地点,以找到在各地点之间几乎平分的最佳方式,以便尽可能平衡所有办公地点的能力。要记住几件事情:
  3. •每个办公地点的资源数量之间的差异不应超过一个。 •每个办公地点的能力(通过增加个人能力达到的)应尽可能彼此相等。

    我已经在互联网上进行了研究,并了解了Knapsack算法和Bin-pack算法,这听起来很接近这个问题。

    实施例: 办公地点数量= 3; 人数= 8; 人员能力= 10,20,5,150,90,200,250,140(8种资源的能力值);

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

    我没有启动编程部分,除非我确定我要采取的路径是正确的。我请求你的帮助指导我找到解决问题的正确方向。

    另外,如果你可以为此分享一个可能的伪代码,那将是一个很好的帮助。

    谢谢!

1 个答案:

答案 0 :(得分:0)

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