Valladolid Stochastic Programming Short Course, July 11th-20th, 2017 Note: Access to this page is restricted to registered participants. Questions: Contact Victor Zavala [link]
Group Agenda
Part I: Formulations
Tuesday, July 11th, 10 am - 1 pm - Intro Probability Theory
- Motivating Examples
- Two-Stage Formulations
- Julia, JuMP, JuliaBox
Wednesday, July 12th, 10 am - 1 pm - Value of Stochastic Programming
- Risk Metrics
Thursday, July 13th, 10 am - 1 pm - Probabilistic Constraints
- Sampling and Inference Analysis
Monday, July 17th, 10 am - 1 pm - Multi-Objective Formulations
- Multi-Stage Formulations
Part II: Software and Algorithms
Tuesday, July 18th, 10 am - 1 pm - Algorithms for Stochastic NLP
- Nonlinear Programming
- Structured Linear Algebra
- Plasmo, Ipopt, and PIPS-NLP
Wednesday, July 19th, 10 am - 1 pm - Algorithms for Stochastic MIP
- Benders Decomposition
- Stochastic Dual Dynamic Programming
- Dual Decomposition
- DSP
Thursday, July 20th, 10 am - 1 pm - Advanced Topics, Summary, Discussion
Software Intructions
The first part of the course will be based on JuliaBox. Please validate that JuliaBox is working for you prior to attending the course. Note: If you have any questions, please contact Jordan Jalving. E-mail: jalving@wisc.edu - 1. Go to https://juliabox.com and log in using your Gmail account (this is safe, the server is hosted by Google)
- 2. Go to Sync Tab and type https://github.com/zavalab/JuliaBox.git in the Git Clone URL field. Click on arrow to synchronize with GIT repo.
- 3. Go to IJulia Tab and go to JuliaBox > Valladolid2017 folder
- 4. To test:
- Open install_packages.ipynb notebook file under Valladolid2017 folder
- In the options tab, click Kernel>Change Kernel>Julia 0.5.x (this changes to the current version of Julia)
- In the options tab, click on Cell>Run All (this runs the notebook)
- After completion, shut down the install_packages.ipynb
- Open jump_example.ipynb notebook file under Valladolid2017/Formulations and run
Part II The second part of the course is more advanced and will require you to have several packages for modeling and solution of stochastic programming problems installed on your laptop. Note: If you have any questions, please contact Jordan Jalving. E-mail: jalving@wisc.edu
Julia - Install version 0.5.2 following the instructions in https://julialang.org/downloads
- Install packages JuMP, Cbc, PyPlot, Distributions, and IJulia using Pkg.Add("Name") where Name=JuMP, Cbc, etc.
DSP Ipopt PIPS-NLP Set Environmental Variables
Assuming that you have installed all our packages under /opt, you need to modify your environmental variables using: - export PATH=/opt/Ipopt/bin:$PATH
- export PATH=/opt/mpich/bin:$PATH
- export PATH=/opt/PIPS/build_pips:$PATH
- export LD_LIBRARY_PATH=/opt/mpich/lib:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH=/opt/PIPS/build_pips/PIPS-NLP:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH=/opt/PIPS/build_pips/ThirdParty:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH=/opt/DSP/lib:$LD_LIBRARY_PATH
- export CPLUS_INCLUDE_PATH=/opt/mpich/include:$CPLUS_INCLUDE_PATH
- export PIPS_NLP_SHARED_LIB=/opt/PIPS_BACK/build_pips/PIPS-NLP/libpipsnlp.so
- export PIPS_NLP_PAR_SHARED_LIB=/opt/PIPS_BACK/build_pips/PIPS-NLP/libparpipsnlp.so
Validation
To test that your installation is running correctly, try running the following scripts: - farmer.jl (by typing "julia farmer.jl") or by running notebook farmer.ipynb using IJulia
- jump_example.jl or jump_example.ipynb
- PIDtuning.jl
- StochPIDTuning_Plasmo.jl
- farmer_dsp.jl
|
|