Benders Decomposition vs Danzig-Wolf Decomposition

本文記錄了一些對Benders (B)和 Danzig-Wolf(DW) decomposition 的一些初步理解以及兩者的使用場景與對比。

來源:

  1. 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
  2. CHURLZU LIM, RELATIONSHIP AMONG BENDERS, DANTZIG–WOLFE, AND LAGRANGIAN OPTIMIZATION
  3. 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.  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章