[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
现将一万个客户由大到小排序,设为K1,K2,……,K10000。
对于第一个员工,从K1开始,如果K1+K2小于35000万,则继续加,依次类推K1+K2+K3+……,直到有一个i使得K1+K2+……+Ki大于35000万,则抛掉Ki换Ki+1试试,若仍大于35000万,则抛掉Ki+1并换Ki+2试……直至得到35000万或所有客户都遍历,此时就得到一个近似解。
对于第二个员工则要把第一个员工手中的客户去掉然后再重复第一个员工的过程。
……
按上述算法,当第20个员工分配完后,会剩下一些客户(不过这些客户的量都较小,量大已经被选走),那就按“最小加最大”的原则再分配。如此就可以得到近似解。

TOP

回复 17# 的帖子

我不认为那种算法有更好的优越性。
首先,都不能求出全局最优解,仅仅是局部的近似解。
其次,时间复杂度基本上是同一数量级。

TOP

返回列表