我有以下问题:
每个办公地点的资源数目之间的差额不应超过一个。·每个办公地点的能力(通过增加个人能力达到)应尽可能平等。
我在互联网上进行了研究,了解了背包算法和Knapsack算法,这听起来很接近这个问题。
例如:办公地点数= 3;人数= 8;人员能力= 10、20、5、150、90、200、250、140 (8项资源的能力值);
以上数字只是样本而已。它可以增长到1000+的资源和各自的能力价值。办公地点的数目也可以不同。
我没有开始编程部分,除非我确信我要走的道路是正确的。我请求你的帮助,引导我找到一个正确的方向来解决这个问题。
此外,如果您可以共享一个可能的伪代码,这将是一个很大的帮助。
谢谢!
发布于 2011-07-22 09:48:26
这是背包问题,或者至少是同样困难的问题(考虑一个只有两个办事处的例子),所以获得最好的解决方案是非常困难的。您可以尝试使用一些通用的优化启发式方法,比如模拟退火:http://en.wikipedia.org/wiki/Simulated_annealing
https://stackoverflow.com/questions/6788245
复制相似问题