Stochastic Programming: Formulations, Algorithms, and Applications

Summary: This short course is targeted towards graduate students, researchers, and practitioners interested in learning how to formulate, analyze, and solve stochastic programming problems. The course provides a review of probability and optimization concepts and covers different problem classes that include risk measures, probabilistic constraints, stochastic dominance, and (partial) differential equations. The course also explores conceptual connections with non-smooth and mixed-integer optimization that facilitates modeling and analysis. Algorithms and software tools for the solution of continuous and mixed-integer formulations in parallel computers are also discussed. Numerical examples implemented in the open-source Julia programming language are provided. Finally, real applications are discussed to demonstrate the scope of the concepts and tools.

Contact: For information please contact Victor M. Zavala [link]


- Introduction to Probability and Optimization

- Two-Stage and Multi-Stage Formulations

- Risk Measures and Mitigation

- Uncertainty Quantification

- Sample Average Approximations

- Inference (Solution) Analysis

- Multi-Objective Formulations

- Probabilistic (Chance) Constraints

- Stochastic Dominance and Conflict Resolution


- Mixed-Integer and Continuous Optimization

- Numerical Linear Algebra

- Lagrangian Dual Decomposition

- Benders Decomposition

- Progressive Hedging

- Stochastic Dual Dynamic Programming

Applications and Software:

- Modeling and Solver Tools: Julia, DSP, PIPS-NLP, Ipopt, JuMP, PLASMO

- Parallel Computing and Scalability Issues

- Network and Controller Design

- Model Predictive Control and Real-Time Optimization

- Chemical, Power, Natural Gas, Batteries, Solar/Wind, Agriculture, Manufacturing

Previous Course Dates:

- April 2016 at KAUST, Saudi Arabia

- August 2016 at the University of Wisconsin-Madison

- August 2016 at Dow Chemical Headquarters

- December 2016 at ITESM, Mexico

- April 2017 at Universidad Nacional and Universidad de Antioquia, Colombia

- July 2017 at Universidad de Valladolid, Spain

- August 2017 at University of Wisconsin-Madison

- June 2018 at University of Wisconsin-Madison

- August 2018 at ITESM, Mexico

- October 2018 at UANL, Mexico

- May 2019 at Universidad de las Americas, Mexico

- December 2020 at University of Guanajuato, Mexico

- January 2021 at University of Celaya, Mexico

Companies that have taken the Course:

- Air Liquide

- ExxonMobil

- Dow Chemical

- Johnson Controls

- Saudi Aramco

- Procter & Gamble

- Genentech

About the instructor: Victor M. Zavala is the Baldovin-DaPra Professor in the Department of Chemical and Biological Engineering at the University of Wisconsin-Madison and a computational mathematician in the Mathematics and Computer Science Division at Argonne National Laboratory. He holds a B.Sc. degree from Universidad Iberoamericana and a Ph.D. degree from Carnegie Mellon University, both in chemical engineering. He is on the editorial board of the Journal of Process Control, Mathematical Programming Computation, and Computers & Chemical engineering. He is a recipient of NSF and DOE Early Career awards and of the Presidential Early Career Award for Scientists and Engineers (PECASE). His research interests include statistics, control, and optimization and applications to energy and environmental systems.