当前位置:   article > 正文

Benders Decomposition_partitioning procedures for solving mixed-variable

partitioning procedures for solving mixed-variables programming problems

Benders分解由Jacques F. Benders在1962年提出[1]. 它是一种把线性规划问题分解为小规模子问题的技巧. 通过迭代求解主问题和子问题, 从而逼近原问题的最优解. 适合应用在混合整数规划问题中,将原问题分解成两个只包含连续变量和整数变量的子问题. 本文介绍的内容基于 Georrion和Graves[2].
(注:本文内容参考另外一篇博客[3])

问题描述

给定如下的一个混合整数规划问题 P ( x , y ) P(x,y) P(x,y)
m i n : c T x + f ( y )             A x + F ( y ) = b x ≥ 0 y ∈ Z min: c^T x+f(y)\\ \ \ \ \ \ \ \ \ \ \ \ Ax+F(y)=b\\ x\geq 0\\ y\in Z min:cTx+f(y)           Ax+F(y)=bx0yZ
其中 A ∈ R m × n A\in R^{m\times n} ARm×n, c ∈ R n c\in R^n cRn, b ∈ R m b\in R^m bRm. f ( y ) f(y) f(y) F ( y ) F(y) F(y)可以是线性的,也可以是非线性的,另外 y y y也可以是连续的.
Benders Decomposition的基本思想是固定 y y y,那么这个混合整数优化问题就变成了一个连续的线性规划问题. 那么如何确定这个固定的 y y y的值,就是Benders Decomposition算法的细节了.

Benders分解

等价形式
先将原问题 P ( x , y ) P(x,y) P(x,y)写成如下形式:
m i n y { f ( y ) + m i n x { c T x ∣ A x = b − F ( y ) , x ≥ 0 } } \underset{y}{min}\{f(y)+\underset{x}{min}\{c^T x|Ax=b-F(y),x\geq 0\}\} ymin{f(y)+xmin{cTxAx=bF(y),x0}}
将其中的这个子优化问题设为 P ( x ∣ y ) P(x|y) P(xy):
P ( x ∣ y ) : m i n x { c T x ∣ A x = b − F ( y ) , x ≥ 0 } P(x|y): \underset{x}{min}\{c^T x|Ax=b-F(y),x\geq 0\} P(xy):xmin{cTxAx=bF(y),x0}
这个子问题就是一个标准的线性规划问题,根据对偶性原理,这个子问题的最优解和它的对偶问题的最优解相等,因此,将这个式子变形成它的对偶问题:
D ( u ∣ y ) : m a x u { [ b − F ( y ) ] T u ∣ A T u ≤ c } D(u|y): \underset{u}{max}\{[b-F(y)]^Tu|A^T u\leq c\} D(uy):umax{[bF(y)]TuATuc}
因此 P ( x , y ) P(x,y) P(x,y)进而可以写成:
m i n y { f ( y ) + m a x u { [ b − F ( y ) ] T u ∣ A T u ≤ c } } \underset{y}{min}\{f(y)+\underset{u}{max}\{[b-F(y)]^Tu|A^T u\leq c\}\} ymin{f(y)+umax{[bF(y)]TuATuc}}
写成上述形式的好处是 D ( u ∣ y ) D ( u ∣ y ) D(uy)中的约束与变量 y y y无关. 因此, 其最优解一定是多面体(Polytope) Q = { u ∣ A T u ≤ c } Q=\{u | A^T u\leq c\} Q={uATuc}中的一个顶点. 令 U U U代表多面体 Q Q Q顶点的集合. 因此原问题等价于
m i n y { f ( y ) + m a x u ∈ U { [ b − F ( y ) ] T u } } \underset{y}{min}\{f(y)+\underset{u\in U}{max}\{[b-F(y)]^Tu\}\} ymin{f(y)+uUmax{[bF(y)]Tu}}
继续转化为 P 1 ( x , y ) P_1 (x,y) P1(x,y)
m i n : f ( y ) + z s . t . [ b − F ( y ) ] T u ≤ z ,     u ∈ U min:f(y)+z\\ s.t. [b-F(y)]^Tu\leq z,\ \ \ u\in U min:f(y)+zs.t.[bF(y)]Tuz,   uU

问题分解

对原问题 P ( x , y ) P ( x , y ) P(x,y), 我们先固定 y y y得到 P ( x ∣ y ) P ( x ∣ y ) P(xy), 然后考虑其对偶问题 D ( u ∣ y ) D ( u ∣ y ) D(uy). 通过这种方式我们把原问题转化成等价问题 P 1 ( u , y ) P_1(u,y) P1(u,y) . 在新问题 P 1 ( u , y ) P_1(u,y) P1(u,y)中, 每个约束条件对应一个对偶问题 D ( u ∣ y ) D ( u ∣ y ) D(uy)的基本解, 且目标函数 f ( y ) + z f(y)+z f(y)+z u u u无关. 这样一来, 使得我们可以通过迭代的方式进行求解:
主问题 P 1 ( u , y ) P 1 ( u , y ) P1(u,y)一开始 U = ∅ U=\empty U=, 求解出原问题的下界,将最优解对应的 y y y赋值给对偶问题 D ( u ∣ y ) D ( u ∣ y ) D(uy),求解出对偶问题最优解对应的 u u u,从而添加新的约束到 P 1 ( u , y ) P_1(u,y) P1(u,y) ,继续求解。。。如此迭代,直到逼近最优解.

主问题 M ( y , z ∣ u ) M(y,z|u) M(y,zu)
m i n : f ( y ) + z s . t . [ b − F ( y ) ] T u ≤ z ,     u ∈ U min:f(y)+z\\ s.t. [b-F(y)]^Tu\leq z,\ \ \ u\in U min:f(y)+zs.t.[bF(y)]Tuz,   uU
子问题 S ( u ∣ y ) S(u|y) S(uy)
m i n : [ b − F ( y ) ] T u s . t . A T u ≤ c min:[b-F(y)]^T u\\ s.t. A^T u\leq c min:[bF(y)]Tus.t.ATuc

算法流程

在这里插入图片描述
伪代码:

Init: B = empty; UB = inf; e = -1e-4;
solve master problem M(y, z) by fixing z := 0 and get y;
let LB := f(y) + z;
While UB - LB > e: 
    solve sub problem S(u|y) and get u;
    update UB := min {UB, f(y) + OPT(sub)};
    add constraint [b-F(y)]^T u <= z to the master problem;
    solve master problem M(y, z) and get y;
    update LB := OPT(master);
EndWhile

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

参考文献

  1. J.F. Benders. Partitioning Procedures for Solving Mixed-Variables Programming Problems. Numerische Mathematik, Vol. 4, 1962.
  2. A.M. Geoffrion and G.W. Graves. Multicommodity distribution system design by benders decomposition. Management Science 20, no. 5, 822–844, 22, 1974.
  3. https://blog.csdn.net/qx3501332/article/details/104978928?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160756995419721942281622%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=160756995419721942281622&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-6-104978928.nonecase&utm_term=benders&spm=1018.2118.3001.4449
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/833829
推荐阅读
相关标签
  

闽ICP备14008679号