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

标签 algorithm knapsack-problem

我遇到的问题如下:

  1. 我几乎没有办公地点和具有不同能力(整数)的资源。
  2. 我想将所有资源分配到不同的办公地点,以找到最佳方式将它们几乎平均分配到各个地点,以便尽可能平衡所有办公地点的能力。需要牢记的几件事:

• 每个办公地点的资源数量之差不应超过一。 • 每个办公地点的能力(通过增加个人能力达到)应尽可能彼此相等。

我通过互联网进行了研究,了解到背包算法和 Bin-pack 算法听起来很接近这个问题。

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

以上数字仅为示例。它可以增长到 1000+ 的资源和各自的能力值。办公地点的数量也可以变化。

我没有开始编程部分,除非我确定我要走的路是正确的。我请求您的帮助,指导我朝着正确的方向解决这个问题。

此外,如果您可以为此分享一个可能的伪代码,将会有很大的帮助。

谢谢!

最佳答案

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

关于algorithm - 资源分配 w.r.t.个人能力 - 这是一个背包问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6788245/

相关文章:

python - 不知道如何解决这个背包问题

c# - 背包问题和的可能组合?

寻找子集组合以实现给定总和同时保持成本最低的算法

c++ - 防止双重删除指针

algorithm - 是否有可能在比 (n 选择 3) 更好的时间内找到可以从长度列表中形成的三角形数量?

algorithm - 形成背包问题变体的动态规划算法

algorithm - 背包问题-递归解法讲解

c++ - 我如何直观地证明这段代码的时间复杂度

c++ - 执行搜索以匹配指定作者并显示指定出版商的图书

javascript - 如何以始终生成唯一值的方式确定性地组合整数?