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 variablesDeal 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. 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值