本文记录了一些对Benders (B)和 Danzig-Wolf(DW) decomposition 的一些初步理解以及两者的使用场景与对比。
来源:
- Jacek Gondzio, https://www.researchgate.net/post/Can_anyone_state_the_difference_or_pros_cons_of_benders_decomposition_vs_dantzig-wolfe_decomposition_methods_with_regards_to_stochastic_problems
- CHURLZU LIM, RELATIONSHIP AMONG BENDERS, DANTZIG–WOLFE, AND LAGRANGIAN OPTIMIZATION
- Rahmaniani, R., Crainic, T. G., Gendreau, M., & Rei, W. (2017). The Benders decomposition algorithm: A literature review. European Journal of Operational Research, 259(3), 801-817.
Benders | Dantzig-Wolf |
Benders (B) decomposition deals with the problem min f_1^T x_0 + g_1^T y_1 + g_2^T y_2 s.t. T_1 x_0 + W_1 y_1 = h_1 T_2 x_0 + W_2 y_2 = h_1 x_0 >= 0, y_1 >= 0, y_2 >= 0. | Dantzig-Wolfe (DW) DW approach deals with the problem: min c_1^T x_1 + c_2^T x_2 s.t. A_1 x_1 = b_1 (C1) A_2 x_2 = b_2 (C2) B_1 x_1 + B_2 x_2 = b_0 (C3) x_1 >= 0, x_2 >= 0. |
Deal with problems with complicating variables | Deal with problems with complicating constraints. |
B applies to almost independent problems which are linked thrugh a common variable x_0. Observe that without this variable (or if this variable was given an arbitrary fixed value) the B problem would become separable and could be solved as two independent small problems, one with y_1 and another with y_2.
About stochastic programming : The problem may be interepreted as modelling a two-stage decision process in which x_0 corresponds to a first-stage decision to be made today and the 2nd-stage decisions y_1 and y_2 which correspond to two possible scenarios of what may happen tomorrow. This is well explained in the book: S.W. Wallace and P. Kall, Stochastic Programming, John Wiley & Sons, Chichester, 1994. | DW applies to almost independent problems which are linked through a coupling constraints (C3). Observe that without this constraint the DW problem would become separable and could be solved as two independent small problems, one with x_1 and another with x_2. The problem may be interepreted as modelling two almost independent divisions which are linked via a common resource constraint (C3). This is well explained in the book: G.B. Dantzig, Linear Programming and Extensions, Princeton University Press, Princeton 1963. |
Benders (row generation) is more general. Applied to all optimization problems with constraints. 貌似子问题在计算LB时也利用了strong duality吧? | Applied only to linear constraint set. |
Michael Patriksson posted: in the classic formulation of the two algorithms - which can be found in the very best optimization books from the beginning of the 1970s, when descriptions were more basic - DW only works for linear programs, while Benders works for mixed-integer linear programs. That is, Benders decomposition is a more general algorithm, in the sense that it solves a larger class of problems.
在linear subproblem上应该也是利用了strong duality | The reason why DW only works for linear programs is the utilization of strong duality through a linear programming dual reformulation of the subproblem; Benders decomposition does not rely on such a condition, and therefore is more general. But as everyone knows, for LP Benders is equivalent to Dantzig-Wolfe applied to the dual of that LP. |
Classic Benders can be seen as dual form of DW. But this not holds for logic-based benders. |