我遇到的问题如下:
- 我几乎没有办公地点和具有不同能力(整数)的资源。
- 我想将所有资源分配到不同的办公地点,以找到最佳方式将它们几乎平均分配到各个地点,以便尽可能平衡所有办公地点的能力。需要牢记的几件事:
• 每个办公地点的资源数量之差不应超过一。 • 每个办公地点的能力(通过增加个人能力达到)应尽可能彼此相等。
我通过互联网进行了研究,了解到背包算法和 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/