1、看了许多书的介绍,有点晕。把看到的总结一下:
2、理论上隐枚举是不需要列举(枚举)所有的解进行判断计算的,这个时候就需要一些技巧将模型进行标准化变形,然后通过分支和上(下)界的对比进行剪枝,这样就不需要列举出所有的解进行计算;
3、还有其他课本提到的隐枚举法是完全枚举法的一种改进,只是减少计算的一种方法。因为它还是需要将所有的解枚举出来,只是通过设置了“过滤条件”这个目标函数值的上(下)界,减少了约束条件的判断计算。如果不满足过滤约束,就不需要进行约束的判断计算,可以省去很多计算;
4、当然,改进的方法很多,我们还可以直接根据目标函数的系数进行改进计算次数。如果求最大值的时候,我们可以将目标函数的系统按照从大到小排列(系数需要变形,都是正的),然后从全1的解开始进行递减计算。比如111;110;101;100这种方式计算,从大往小计算,只要哪个解是可行解,那么就是最优值。
5、分析:
第一种方式比较难学,理论上是不需要枚举所有的解就可以得到最优解,计算步骤也比较少;
第二种方式是需要枚举所有的解,但是计算步骤减少了,有些劣解可以直接排除,不用判断是不是可行解,减少了约束判断的计算次数,但是这种方式,首先需要得到一个可行解,这需要增加一定的计算次数;
第三种方式不需要枚举所有的解,但是每个解都需要判断一下约束的计算。
6、隐枚举法个教材是混乱的,应该统一一下。