Outline
•Row generation
•Benders decomposition
•Case application
-----------------------------
•“行”(row),就是约束条件,线性等式或不等式,行生成法就是逐渐增加约束条件的过程。•割平面方法,从更宏观的角度,可以看作是一种行生成方法,因为每找到一个cut,就增加一个线性不等式。
••行生成法是在约束条件上做文章,与之相关的是割平面法,UserCut,LazyCut, Benders分解等;•列生成法是在决策变量上做文章,与之相关的是列生成法,DW分解法,分支定价法等•
---------------------------------------
•行生成方法的基本思路:
•先求解原问题的松弛问题,即初始问题(master problem)不加约束条件或只加其中几个约束;然后求解该松弛问题。
•如果松弛问题得到的解是原问题的可行解,那么该解就是原问题的最优解(例如刚开始运气很好地加了CD和DE)。
•如果松弛问题得到的解对原问题是不可行的,例如解是(0,6)这个点(因为没有加BC这个约束),那么这时候加上BC这个不等式便可以把这个不可行解排除。
•如果松弛问题是无界的,也可以通过继续添加约束条件来处理(例如添加CD这个约束)
•以此循环,直到松弛问题的解是对原问题是可行的,那么该解也是原问题的最优解。•通过行生成方法,上面问题本来需要5个约束条件,很可能只需要2-3个约束条件,上面的循环已经终止了。
---------------------------------------