Introduction to Progressive Hedging Applied to Mixed-Integer and - - PowerPoint PPT Presentation

introduction to progressive hedging applied to mixed
SMART_READER_LITE
LIVE PREVIEW

Introduction to Progressive Hedging Applied to Mixed-Integer and - - PowerPoint PPT Presentation

Introduction to Progressive Hedging Applied to Mixed-Integer and Non-Linear Stochastic Programs David L. Woodruff Graduate School of Management UC Davis Davis CA USA 95616 DLWoodruff@UCDavis.edu Outline PH Tricks of the trade PySP


slide-1
SLIDE 1

Introduction to Progressive Hedging Applied to Mixed-Integer and Non-Linear Stochastic Programs

David L. Woodruff Graduate School of Management UC Davis Davis CA USA 95616 DLWoodruff@UCDavis.edu

slide-2
SLIDE 2

Outline

◮ PH ◮ Tricks of the trade ◮ PySP ◮ Pr(0.3) Farmer Example ◮ Pr(0.3) Scenario Generation

slide-3
SLIDE 3

The Source

R.T. Rockafellar and R.J.-B. Wets, “Scenarios and Policy Aggregation in Optimization Under Uncertainty,” Mathematics of Operations Research, 1991, Vol 16, No 1, 119–147

slide-4
SLIDE 4

Two Stage Formulation

minimize (c(x) +

s∈S Pr(s)(fs(ys; x))

(EF) subject to: (x, ys) ∈ Ωs ∀s ∈ S where the use of the decision vector x (with xs = x, ∀s ∈ S) that does not depend on the scenario implicitly implements the non-anticipativity constraints that avoid allowing the decisions to depend on the scenario. The ys represent second-stage, scenario-specific decision vectors with associated cost coefficient vectors fs, which are determined given x and a particular s ∈ S.

slide-5
SLIDE 5

Scenario Tree

The stochastic model must satisfy non-anticipativity (NA)

If two different scenarios s and s’ are identical up to time t on the basis of the information available about them at time t, then up to time t the decisions taken must be identical For instance, scenarios s1 and s2 must have the same decisions up to t3

s1 s2 s3 s4 s5 t1 t2 t3 t4

slide-6
SLIDE 6

Social Model

A Moderated Meeting

◮ A group of people come to a meeting to solve a problem, each

with their own ideas about a possible solution.

◮ A moderator attempts to identify a common solution. ◮ Concensus is “encouraged” by making people feel bad about

continuing to advocate a different solution.

slide-7
SLIDE 7

Basic PH

Penalty factor ρ > 0 and a termination threshold ǫ are input parameters:

  • 1. k ←

− 0

  • 2. For all s ∈ S,

x(k)

s

← − argminx (c(x) + fs(ys; x) : (x, ys) ∈ Ωs)

  • 3. ¯

x(k) ← −

s∈S Pr(s)x(k) s

  • 4. w(k)

s

← − ρ(x(k)

s

− ¯ x(k))

  • 5. k ←

− k + 1

  • 6. For all s ∈ S,

x(k)

s

← − argminx

  • c(x) + w(k−1)

s

x + ρ/2

  • x − ¯

x(k−1) 2 + fs(ys; x)

  • 7. ¯

x(k) ← −

s∈S Pr(s)x(k) s

  • 8. For all s ∈ S, w(k)

s

← − w(k−1)

s

+ ρ

  • x(k)

s

− ¯ x(k)

  • 9. g(k) ←

x∈S Pr(s)

  • x(k) − ¯

x(k)

  • 10. If g(k) < ǫ, then go to step 5. Otherwise, terminate.
slide-8
SLIDE 8

How to set ρ

Usually, ρ should be a vector. There are lots of ideas out there, including dynamic ρ. We think you want to start out with ρ proportional (e.g. 1/10) to ∂f (x) ∂x

slide-9
SLIDE 9

MIPs and NLPs

We are particularily interested in MIPs and NLPs so

◮ Cycling needs to be detected and mitigated. ◮ Subproblems can be time consuming, but might be able to

make use of a modest number of parallel processors themselves.

◮ Starting points are important.

slide-10
SLIDE 10

Accelerating Convergence

◮ The following acceleration methods are designed for one-sided

constraints, such as when the problem for each scenario is to minimize c · x subject to Ax ≥ b with x ≥ 0 where the elements of vectors c and b and the matrix A are all non-negative.

◮ Fix variables that seem to have converged. ◮ Slamming — fix low cost variables that have not converged. ◮ Slamming can be used to force termination.

slide-11
SLIDE 11

Termination

◮ Dirty little secret: One typically needs some way to force full

convergence.

◮ E.g. for MIPs we like to fix the converged integers and solve

the resulting EF.

◮ Research opportunities abound:

◮ You might need to form the EF for a subset of the scenarios. ◮ You might be able to create a descent algorithm or repair

heuristic.

slide-12
SLIDE 12

A Reference

Progressive Hedging Innovations for a Class of Stochastic Mixed-integer Resource Allocation Problems, Jean-Paul Watson and David L. Woodruff, Computational Management Science, Volume 8, Issue 4 (2011), Pages 355-370

slide-13
SLIDE 13

Bundles

◮ Combine scenarios into bundles. ◮ For subproblems, solve the EF for each bundle.

slide-14
SLIDE 14

More Formally

◮ For notational simplicity, let’s temporarily assume the bundles

are a partition of the scenarios.

◮ Let B(s) represent the scenario index bundle that contains the

scenario index s.

◮ E.g., S = {1, 2, 3, 4, 5}. One might choose to form bundles

{1, 3, 4} and {2, 5}, and B(2) = {2, 5}, etc.

slide-15
SLIDE 15

In this case:

With bundles, iteration zero becomes X (0)(s) ← − argmin

b∈B(s) Pr(b)fb(X(b))

Subject To: X(b) ∈ Ωb for all b ∈ B(s) X(b) ∈ NB(s) and general iterations become X (0)(s) ← − argmin

b∈B(s)

  • Pr(b)fb(X(b)) + w(k)(b)X(b) + ρ/2
  • X(

Subject To: X(b) ∈ Ωb for all b ∈ B(s) X(b) ∈ NB(s). In implementations, the optimization problems need to be solved

  • nly once per PH iteration for each bundle.
slide-16
SLIDE 16

PySP

◮ We have open-sourde software that supports scripting and

innovation in PH.

◮ It will also solve the EF. ◮ Google download coopr, then indicate that you really want

coopr, not copper.

◮ https://software.sandia.gov/trac/coopr ◮ PySP: modeling and solving stochastic programs in python,

William E. Hart, Jean-Paul Watson and David L. Woodruff, Mathematical Programming Computation, 2012, Vol 4, No. 2,

◮ Pyomo - Optimization Modeling in Python. William E. Hart,

Carl Laird, Jean-Paul Watson and David L. Woodruff. Springer, 2012.

slide-17
SLIDE 17

Pyomo

◮ An algebraic modeling language in Python ◮ Enables model declaration and full Python scripting

capabilities

◮ Interfaces with many solvers

slide-18
SLIDE 18

PySP from Ten Thousand Meters

◮ Declare the deterministic model ◮ Test it with some data ◮ Declare the scenario tree and provide scenario data ◮ Now you can optimize the extensive form (if your problem is

small and/or your computer is large)

◮ You can make use of an extensible version of PH ◮ You can start with the Watson and Woodruff extensions

slide-19
SLIDE 19

Looking Ahead

◮ We can exchange information with DDSIP, but that is a talk

for another day.

◮ We hope to have something “out of the box” in a year.

slide-20
SLIDE 20

Looking Ahead Today

◮ The problems can be nonlinear ◮ We are doing significant applications ◮ We have bounds!