ND Pyomo Cookbook
ND Pyomo Cookbook is a collection of notebooks showing how to use Pyomo to solve modeling and optimization problems. With Pyomo, one can embed within Python an optimization model consisting of decision variables, constraints, and an optimization objective. A rich set of features enables the modeling and analysis of complex systems.
The notebooks in this collection were developed for instructional purposes at Notre Dame. Originally developed using the Anaconda distribution of Python, the notebooks have been updated to open directly Google Colaboratory where they can be run using only a browser window.
PyomoFest at Notre Dame was held June 5-7, 2018. This repository contains the agenda, slides and exercises distributed during that event.
Table of Contents
Keyword Index
Chapter 1. Getting Started with Pyomo
- 1.1 Installing a Pyomo/Python Development Environment
- 1.2 Running Pyomo on Google Colab
- 1.3 Running Pyomo on the Notre Dame CRC Cluster
- 1.4 Cross-Platform Installation of Pyomo and Solvers
Chapter 2. Linear Programming
- 2.1 Production Models with Linear Constraints
- 2.2 Linear Blending Problem
- 2.3 Design of a Cold Weather Fuel for a Camping Stove
- 2.4 Gasoline Blending
- 2.5 Model Predictive Control of a Double Integrator
Chapter 3. Assignment Problems
Chapter 4. Scheduling with Disjunctive Constraints
- 4.1 Machine Bottleneck
- 4.2 Job Shop Scheduling
- 4.3 Maintenance Planning
- 4.4 Scheduling Multipurpose Batch Processes using State-Task Networks
Chapter 5. Simulation
- 5.1 Response of a First Order System to Step and Square Wave Inputs
- 5.2 Exothermic CSTR
- 5.3 Transient Heat Conduction in Various Geometries
Chapter 6. Differential-Algebraic Equations
- 6.1 Unconstrained Scalar Optimization
- 6.2 Maximizing Concentration of an Intermediate in a Batch Reactor
- 6.3 Path Planning for a Simple Car
- 6.4 Soft Landing Apollo 11 on the Moon
Chapter 7. Parameter Estimation
Chapter 8. Financial Applications
- 8.1 Obtaining Historical Stock Data
- 8.2 Consolidating and Charting Stock Data
- 8.3 Binomial Model for Pricing Options
- 8.4 MAD Portfolio Optimization
- 8.5 Real Options