Benders decomposition: Fundamentals and implementations Stephen J. - - PowerPoint PPT Presentation

benders decomposition fundamentals and implementations
SMART_READER_LITE
LIVE PREVIEW

Benders decomposition: Fundamentals and implementations Stephen J. - - PowerPoint PPT Presentation

Benders decomposition: Fundamentals and implementations Stephen J. Maher University of Exeter, @sj maher s.j.maher@exeter.ac.uk 24th September 2020 Part 1 Fundamentals Mixed integer programming c min x , x subject


slide-1
SLIDE 1

Benders’ decomposition: Fundamentals and implementations

Stephen J. Maher

University of Exeter, @sj maher s.j.maher@exeter.ac.uk

24th September 2020

slide-2
SLIDE 2

Part 1 Fundamentals

slide-3
SLIDE 3

Mixed integer programming

min ¯ c⊤¯ x, subject to ¯ A¯ x ≥ ¯ b, ¯ x ≥ 0, ¯ x ∈ Zp × Rn−p,

slide-4
SLIDE 4

Decomposition methods for mixed integer programming

Block 1 Block 2 Block 3 Master Block Linking Block

Linking variables

Block 1 Block 2 Block 3 Master Block Linking Block

Linking constraints

◮ Constraint decomposition

◮ Existence of a set of linking constraints

◮ Variable decomposition

◮ Existence of a set of linking variables

slide-5
SLIDE 5

Decomposition methods for mixed integer programming

Block 1 Block 2 Block 3 Master Block Linking Block

Linking variables

Block 1 Block 2 Block 3 Master Block Linking Block

Linking constraints

◮ Constraint decomposition

◮ Existence of a set of linking constraints ◮ Exploits property of relaxation, i.e. blocks exhibit structure after relaxation, such as network flow or knapsack.

◮ Variable decomposition

◮ Existence of a set of linking variables ◮ Exploits property of restriction, i.e. blocks are “easy” to solve after fixing variables

slide-6
SLIDE 6

Structured mixed integer programming

Basic idea: Minimise a linear objective function over a set of solutions satisfying a structured set of linear constraints. min c⊤x + d⊤y, subject to Ax ≥ b, Bx + Dy ≥ g, x ≥ 0, y ≥ 0, x ∈ Zp1 × Rn1−p1, y ∈ Zp2 × Rn2−p2.

slide-7
SLIDE 7

Solving structured mixed integer programs - Resources

◮ D. Bertsimas and J. N. Tsitsiklis. Introduction to Linear Optimization, 1997. ◮ J. F. Benders. Partitioning procedures for solving mixed-variables programming problems, Numerische Mathematik, 1962, 4, 238-252. ◮ R. Rahmaniani, T. G. Crainic, M. Gendreau, and W. Rei. The Benders decomposition algorithm: A literature review. European Journal of Operational Research, 2017, 259, 801-817. ◮ A. Maheo. A Short Introduction to Benders. https: //arthur.maheo.net/a-short-introduction-to-benders/.

slide-8
SLIDE 8

Benders’ decomposition

Original problem min c⊤x + d⊤y, subject to Ax ≥ b, Bx + Dy ≥ g, x ≥ 0, y ≥ 0, x ∈ Zp1 × Rn1−p1, y ∈ Rn2.

slide-9
SLIDE 9

Benders’ decomposition

min c⊤x + f (x), subject to Ax ≥ b, x ≥ 0, x ∈ Zp1 × Rn1−p1. where f (x) = min

y≥0{d⊤y | Bx + Dy ≥ g, y ∈ Rn2}

slide-10
SLIDE 10

Benders’ decomposition

min c⊤x + f (x), subject to Ax ≥ b, x ≥ 0, x ∈ Zp1 × Rn1−p1. where f (x) = min

y≥0{d⊤y | Bx + Dy ≥ g, y ∈ Rn2}

The dual formulation of f (x) is important for Benders’ decomposition. Can you write down the dual formulation?

slide-11
SLIDE 11

Benders’ decomposition

min c⊤x + f (x), subject to Ax ≥ b, x ≥ 0, x ∈ Zp1 × Rn1−p1. where f (x) = min

y≥0{d⊤y | Bx + Dy ≥ g, y ∈ Rn2}

equivalently, using the dual formulation we can define f ′(x) = max

u≥0 {u⊤(g − Bx) | D⊤u ≥ d⊤, u ∈ Rm2}

(f ′(x) = f (x))

slide-12
SLIDE 12

Benders’ decomposition

Using the dual formulation of f (x), given by f ′(x) = max

u≥0 {u⊤(g − Bx) | D⊤u ≥ d⊤, u ∈ Rm2}

an equivalent formulation of the original problem is min c⊤x + ϕ, subject to Ax ≥ b, ϕ ≥ f ′(x) x ≥ 0, x ∈ Zp1 × Rn1−p1.

slide-13
SLIDE 13

Benders’ decomposition

Using the dual formulation of f (x), given by f ′(x) = max

u≥0 {u⊤(g − Bx) | D⊤u ≥ d⊤, u ∈ Rm2}

an equivalent formulation of the original problem is min c⊤x + ϕ, subject to Ax ≥ b, ϕ ≥ f ′(x) x ≥ 0, x ∈ Zp1 × Rn1−p1. ◮ Note that the feasible region of f ′(x) does not depend on x,

◮ only the objective function depends on the input value of x

◮ Thus, we can describe f ′(x) as a set of extreme points and extreme rays.

◮ Equivalently, we can describe f (x) as a set of dual extreme points and dual extreme rays

slide-14
SLIDE 14

Benders’ decomposition

Using the dual formulation of f (x), given by f ′(x) = max

u≥0 {u⊤(g − Bx) | D⊤u ≥ d⊤, u ∈ Rm2}

let ◮ O be the set of all extreme points of f ′(x) ◮ F be the set of all extreme rays of f ′(x) Can you write down the expressions for the optimality and feasibility cuts?

slide-15
SLIDE 15

Benders’ decomposition

Using the dual formulation of f (x), given by f ′(x) = max

u≥0 {u⊤(g − Bx) | D⊤u ≥ d⊤, u ∈ Rm2}

let ◮ O be the set of all extreme points of f ′(x) ◮ F be the set of all extreme rays of f ′(x) an equivalent formulation of the original problem is min c⊤x + ϕ, subject to Ax ≥ b, ϕ ≥ u⊤(g − Bx) ∀u ∈ O 0 ≥ u⊤(g − Bx) ∀u ∈ F x ≥ 0, x ∈ Zp1 × Rn1−p1.

slide-16
SLIDE 16

Benders’ decomposition

◮ The sets O and F are exponential in size ◮ The reformulated original problem becomes intractable

slide-17
SLIDE 17

Benders’ decomposition

◮ The sets O and F are exponential in size ◮ The reformulated original problem becomes intractable ◮ Need to use a delayed constraint generation algorithm

slide-18
SLIDE 18

Benders’ decomposition

◮ The sets O and F are exponential in size ◮ The reformulated original problem becomes intractable ◮ Need to use a delayed constraint generation algorithm Cut generating LP ⇔ Benders’ subproblem z(ˆ x) = min d⊤y, subject to Dy ≥ g − B ˆ x, y ≥ 0, y ∈ Rn2.

slide-19
SLIDE 19

Benders’ decomposition

Benders’ master problem min c⊤x + ϕ, subject to Ax ≥ b, ϕ ≥ u⊤(g − Bx) ∀u ∈ O′ 0 ≥ u⊤(g − Bx) ∀u ∈ F′ x ≥ 0, x ∈ Zp1 × Rn1−p1. ◮ O is replaced by O′ (which is a subset of O). ◮ F is replaced by F′ (which is a subset of F).

slide-20
SLIDE 20

Benders’ decomposition

Benders’ subproblem z(ˆ x) = min d⊤y, subject to Dy ≥ g − B ˆ x, y ≥ 0, y ∈ Rn2. If ˆ x induces ◮ an infeasible instance, then the dual ray u is used to generate a feasibility cut 0 ≥ u⊤(g − Bx) ◮ a feasible instance, then the dual solution u is used to generate an

  • ptimality cut

ϕ ≥ u⊤(g − Bx)

◮ the auxiliary variable ϕ is an underestimator of the optimal subproblem objective value

slide-21
SLIDE 21

Benders’ decomposition

Benders’ subproblem – discrete variables (Note: master problem must be pure binary) z(ˆ x) = min d⊤y, subject to Dy ≥ g − Bˆ x, y ≥ 0, y ∈ Zp2 × Rn2−p2. Define the index set B+ := {i|ˆ xi = 1}. If ˆ x induces ◮ an infeasible instance, then the add no-good cut

  • i∈B+

(1 − xi) +

  • i /

∈B+

xi ≥ 1 ◮ a feasible instance, then add a Laporte and Louveaux optimality cut (L is a valid lower bound of z(ˆ x)) ϕ ≥ L +

  • ˆ

z(ˆ x) − L 1 −

i∈B+

(1 − xi) +

  • i /

∈B+

xi

slide-22
SLIDE 22

Benders’ decomposition

◮ Exposes an iterative delayed constraint generation algorithm

  • 1. Find an ˆ

x

  • 2. Solving subproblem using ˆ

x as input

  • 3. Add optimality/feasibility cut to master problem to eliminate ˆ

x.

slide-23
SLIDE 23

Benders’ decomposition

◮ Exposes an iterative delayed constraint generation algorithm

  • 1. Find an ˆ

x

  • 2. Solving subproblem using ˆ

x as input

  • 3. Add optimality/feasibility cut to master problem to eliminate ˆ

x.

Key questions ◮ When to terminate? ◮ When to solve the Benders’ subproblem to generate cuts? ◮ What solution ˆ x should be used? ◮ How to best used MIP solvers to boost iterative algorithm performance?

slide-24
SLIDE 24

Benders’ decomposition

◮ Exposes an iterative delayed constraint generation algorithm

  • 1. Find an ˆ

x

  • 2. Solving subproblem using ˆ

x as input

  • 3. Add optimality/feasibility cut to master problem to eliminate ˆ

x.

Key questions ◮ When to terminate? ◮ When to solve the Benders’ subproblem to generate cuts? ◮ What solution ˆ x should be used? ◮ How to best used MIP solvers to boost iterative algorithm performance? → Algorithm design decisions and enhancement techniques