mpi-sppy
Support for solving multi-stage stochastic programs based on a scenario discretization of the uncertainty. For parallelization, MPI is used.
Getting Started
Building Your Model File
Running with generic_cylinders
generic_cylinders.py- Your Model File (Module)
- Solving the Extensive Form
- Running PH with Spokes
- Choosing a Hub Algorithm
- Choosing Spokes
- Multistage Options
- ADMM Decomposition
- Rho Settings
- Extensions via Command Line
- Solution Output
- MMW Confidence Intervals
- Pickled Scenarios and Bundles
- Advanced:
hub_and_spoke_dict_callback - Advanced: Using a Class in the Module
custom_writerconfig-filesolver-optionssolver-log-dirwarmstart-subproblemsturn-off-names-check- Presolve (FBBT and OBBT)
- Examples
- Solving the Extensive Form
Algorithms and Cylinders
- Overview
- Hubs
- Spokes
- Extensions
- Distributed Subproblem Presolve
- variable_probability
- Rho Setting
- Default Rho
- Rho Setter Function
- Separation-based Rho (
--sep-rho) - Coefficient-based Rho (
--coeff-rho) - Sensitivity-based Rho (
--sensi-rho) - Reduced-costs-based Rho (
--reduced-costs-rho) - Gradient-based Rho (
--grad-rho) - Dynamic Rho Updates
- Norm Rho Updater (
--use-norm-rho-updater) - Primal-Dual Rho Updater (
--use-primal-dual-rho-updater) - W-based Rho
Solutions and Confidence Intervals
Advanced Topics
- Proper Bundles
- Pickling Scenarios and Bundles
- Jensen’s Bound as potential starting bound
- Per-scenario-feasible candidate xhat
- Supplying an Initial Xhat from a File
- SMPS Format Support
- AML Agnosticism
- ADMM with
generic_cylinders - AdmmWrapper
- StochAdmmWrapper
- APH
- Running without MPI and mpi4py
- Secret Menu Items
- PySP Conversion (Legacy)
For Developers and Contributors
References