应用运筹学3-Benders Decomposition

Benders Decomposition

Problem Description

Remove some variables would make the remaining program easy to solve.

Assume the LP is below and \(x\) is the complicated variable:

\[\begin{aligned} z=& \min c x+h y \\ & \text { s.t. } A x=b \\ & G x+H y=d \\ & x \in \mathbb{R}_{+}^{n}, y \in \mathbb{R}_{+}^{p} \end{aligned} \]

Benders Decomposition

First projecting the problem into the \(x\) space:

\[z=\min \left\{c x+Q(x): A x=b, x \in \mathcal{K}_{x}, x \in \mathbb{R}_{+}^{n}\right\} \]

where the second-stage problem is:

\[Q(x)=\min \left\{h y: H y=d-G x, y \in \mathbb{R}_{+}^{p}\right\} \]

and

\[\mathcal{K}_{x}=\left\{x \in \mathbb{R}_{+}^{n}: \exists y \in \mathbb{R}_{+}^{p} \text { with } H y=d-G x\right\} \]

  1. How do we enforce we can find \(x\) such that \(x\in\mathcal K_x\)?

    By Farkas Lemma, which states, we can find \(y:Hy=d-Gx\) iff

\[v^T(d-Gx)\leq 0,\quad \forall v\in\mathcal V=\{v|vH\leq 0\} \]

This is equivalent to prove:

\[\max \left\{v^{\top}(d-G x): v H \leq 0\right\} \leq 0 \]

Since \(\mathcal V\) is a convex polyhedral cone which obtains its extreme value at the origin, which means along the extreme ray, the objective value can only decrease, let \(v_i^T\) denote the extreme ray, and we can try:

\[v_{i}^{\top}(d-G x) \leq 0, i\in [N] \]

  1. How could we make sure the solution found in \(\mathcal K\) is optimal (examine the condition \(\phi\geq Q(x)\))?

    Solve the dual program of \(Q(x)\):

    \[Q(x)^{D}=\max \left\{u^{\top}(d-G x): u H \leq h\right\} \]

    by strong duality, we have:

    \[\phi \geq Q^{D}(x) \]

    Since \(Q^D(x)\) is convex and its optimum attained at one of the extreme points, let \(u_j\) be the extreme points, above condition changes to:

    \[\phi \geq \max _{j=1, \ldots, M}\left(u_{j}\right)^{\top}(d-G x)\\ =\left(u_{j}\right)^{\top}(d-G x), \quad j=1, \ldots, M \]

Finally, we have:

\[\begin{align} z&=\min. cx+\phi\\ s.t.\quad &Ax=b\\ &\left(v_{i}\right)^{\top}(d-G x) \leq 0 \quad i=1, \ldots, N\\ &\phi \geq\left(u_{i}\right)^{\top}(d-G x) \quad j=1, \ldots, M \end{align} \]

BD cuts

Let \((x_t,\phi ^t)\) be the solution to MP at a generic iteration \(t\).

Feasibility Test

Solve the program:

\[\begin{align} F\left(x^{t}\right) &=\max v^{\top}\left(d-G x^{t}\right) \\ v H & \leq 0 \\ v I & \leq e \label{eq1}\\ -v I & \leq e \label{eq2} \end{align} \]

Without \(\ref{eq1},\ref{eq2}\) the feasibility subproblem is unbounded. Assume the solution is \(v^t\).

If \(F(x^t)\leq 0\), Farkas Lemma would make sure one feasible solution exists. Otherwise add feasibility cut:

\[(v^t)^T(d-Gx)\leq 0 \]

This cut has following two properties:

  1. Would cut \(F(x^t)\), since \((v^t)^T(d-Gx^t)>0\) violating.

  2. Would not cut other solution \(x'\in\mathcal K\), since:

    \[\begin{align} 0\geq F(x')&=(v')^T(d-Gx')\geq (v^t)^T(d-Gx') \end{align} \]

General we solve the dual, since we care more about the maximum value rather than itself:

\[\begin{gathered} F^{D}\left(x^{t}\right)=\min e^{T} w^{+}+e^{T} w^{-} \\ H y+w^{+}-w^{-}=d-G x^{t} \\ y, w^{+}, w^{-} \geq 0 \end{gathered} \]

Optimality Test

We solve

\[Q^{D}\left(x^{t}\right)=\max \left\{u^{\top}\left(d-G x^{t}\right): u H \leq h, u \in \mathbb{R}_{+}^{m}\right\} \]

and if \(\phi \geq Q^D(x^t)\), the solution is optimal. Otherwise, add optimality cut:

\[\phi\geq (u^t)^T(d-Gx) \]

This cut would:

  1. Cut the solution \((x^t,\phi^t)\) since \((u^t)^T(d-Gx^t)<0\) violates the cut.

  2. Never cut the optimal solution. Since

    \[Q^D(x')=(u')^T(d-Gx')\geq (u^t)^T(d-Gx') \]

posted @ 2021-11-20 22:32  romaLzhih  阅读(77)  评论(0编辑  收藏  举报