我遇到如下问题:
•每个办公地点的资源数量之间的差异不应超过一个。 •每个办公地点的能力(通过增加个人能力达到的)应尽可能彼此相等。
我已经在互联网上进行了研究,并了解了Knapsack算法和Bin-pack算法,这听起来很接近这个问题。
实施例: 办公地点数量= 3; 人数= 8; 人员能力= 10,20,5,150,90,200,250,140(8种资源的能力值);
上述数字只是样本。对于资源和各自的功能价值,它可以增长到1000+。办公地点的数量也可以变化。
我没有启动编程部分,除非我确定我要采取的路径是正确的。我请求你的帮助指导我找到解决问题的正确方向。
另外,如果你可以为此分享一个可能的伪代码,那将是一个很好的帮助。
谢谢!
答案 0 :(得分:0)
这是背包问题或至少同样困难(考虑只有两个办公室的实例),因此获得最佳解决方案将非常困难。您可以尝试使用一些通用的优化启发式方法,如模拟退火:http://en.wikipedia.org/wiki/Simulated_annealing