introduction to progressive hedging applied to mixed
play

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


  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

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

  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

  4. Two Stage Formulation ( c ( x ) + � minimize s ∈S Pr( s )( f s ( y s ; x )) (EF) subject to: ( x , y s ) ∈ Ω s ∀ s ∈ S where the use of the decision vector x (with x s = 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 y s represent second-stage, scenario-specific decision vectors with associated cost coefficient vectors f s , which are determined given x and a particular s ∈ S .

  5. Scenario Tree The stochastic model must satisfy non-anticipativity (NA) s1 If two different scenarios s and s’ are identical up to time t on s2 the basis of the information s3 available about them at time t, s4 then up to time t the decisions taken must be identical s5 t1 t2 t3 t4 For instance, scenarios s1 and s2 must have the same decisions up to t3

  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.

  7. Basic PH Penalty factor ρ > 0 and a termination threshold ǫ are input parameters: 1. k ← − 0 2. For all s ∈ S , x ( k ) ← − argmin x ( c ( x ) + f s ( y s ; x ) : ( x , y s ) ∈ Ω s ) s x ( k ) ← s ∈S Pr( s ) x ( k ) − � 3. ¯ s 4. w ( k ) − ρ ( x ( k ) x ( k ) ) ← − ¯ s s 5. k ← − k + 1 6. For all s ∈ S , � 2 + f s ( y s ; x ) � x ( k ) c ( x ) + w ( k − 1) � x ( k − 1) � ← − argmin x x + ρ/ 2 � x − ¯ s s x ( k ) ← s ∈S Pr( s ) x ( k ) 7. ¯ − � s � x ( k ) � 8. For all s ∈ S , w ( k ) − w ( k − 1) x ( k ) ← − ¯ + ρ s s s 9. g ( k ) ← � x ( k ) − ¯ x ( k ) � � − � x ∈S Pr( s ) � 10. If g ( k ) < ǫ , then go to step 5. Otherwise, terminate.

  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

  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.

  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.

  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.

  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

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

  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.

  15. In this case: With bundles, iteration zero becomes X (0) ( s ) ← − argmin � b ∈B ( s ) Pr( b ) f b ( X ( b )) Subject To: X ( b ) ∈ Ω b for all b ∈ B ( s ) X ( b ) ∈ N B ( s ) and general iterations become � � X (0) ( s ) ← Pr( b ) f b ( X ( b )) + w ( k ) ( b ) X ( b ) + ρ/ 2 − argmin � � X ( � b ∈B ( s ) Subject To: X ( b ) ∈ Ω b for all b ∈ B ( s ) X ( b ) ∈ N B ( s ) . In implementations, the optimization problems need to be solved only once per PH iteration for each bundle.

  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.

  17. Pyomo ◮ An algebraic modeling language in Python ◮ Enables model declaration and full Python scripting capabilities ◮ Interfaces with many solvers

  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

  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.

  20. Looking Ahead Today ◮ The problems can be nonlinear ◮ We are doing significant applications ◮ We have bounds!

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend