我知道列生成提供了最佳解决方案,并且可以与其他启发式一起使用。但这是否使它成为一个精确的算法?提前谢谢。
答案 0 :(得分:1)
传统的CG对轻松的问题进行操作。虽然它找到了最佳的LP解决方案,但这可能无法直接转化为最佳的MIP解决方案。对于一些问题(例如1d切割库存),有证据表明这个差距很小,我们只是将为松弛问题找到的一组列应用到最终的MIP,知道这是一个很好的解决方案,但必然是最优的。所以它是一种启发式。
通过一些努力,您可以在分支定界算法中使用列生成(这称为分支和价格)。这提供了经过验证的最佳解
答案 1 :(得分:0)
精确算法表示该算法可以全局解决优化问题,即已给出了全局最优值。
列生成技术通常应用于松弛LP问题,并试图通过对偶乘法器不断改进当前解决方案来优化松弛LP问题。它为松弛LP问题提供了精确的LP解决方案。但是有时在实际问题中,使用松弛Lp问题的精确解是不可行的,需要将其转换为整数解才能使用。现在,如果问题的规模很小,则可以使用许多精确的MIP算法(例如Branch和Bound)来精确地解决它,并给出整数解。但是,如果问题是大规模的,那么即使是精确的MIP算法也可能需要更长的运行时间,因此,我们使用一些特殊/智能的启发式方法来降低MIP问题的难度。
摘要:列生成是一种解决宽松LP问题(而不是原始IP问题)的精确技术。
答案 2 :(得分:0)
首先,严格来说,所有算法都是启发式的,包括单纯形法。 其次,我认为列生成是一种启发式算法,因为它解决了主问题的LP松弛问题。它不能保证IP最佳。实际上,CG并不总是收敛得很好。