Pyomo is a state-of-the-art Python package for modeling and solving optimization problems. Using Pyomo, a user can embed an optimization model consisting of decision variables, constraints, and an optimization objective within Python. Pyomo includes a rich set of features to enable modeling of complex systems, specifying a solver, and accessing the solution.
This repository provides instructions on getting started with Pyomo, and a collection of Pyomo modeling notebooks that have been developed for instructional purposes at Notre Dame. The notebooks were originally developed using the Anaconda distribution of Python. The notebooks have been recently updated to open directly on Google Colaboratory which enables their 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.
Getting Started | |
---|---|
Running Pyomo on the CRC Cluster (ND specific instructions) | |
Running Pyomo on Google Colab | |
Unconstrained Scalar Optimization | |
Linear Programming | |
---|---|
Production Models with Linear Constraints | |
Linear Blending Problems | |
Mixture Design for a Cold Weather Camping Fuel | |
Simple Gasoline Blending Example | |
Assignment Problems | |
---|---|
Transportation Networks | |
Scheduling Problems with Disjunctive Constraints | |
---|---|
Machine Bottleneck | |
Job Shop Scheduling | |
Scheduling Multipurpose Batch Processes using State-Task Networks | |
Simulation | |
---|---|
Linear First Order System | |
Simulation of an Exothermic Stirred Tank Reactor | |
Heat Conduction in Various Geometries | |
Differential Algebraic Equations | |
---|---|
Maximizing Concentration of an Intermediate in a Batch Reactor | |
Path Planning for a Simple Car Model | |
Parameter Estimation | |
---|---|
Parameter Estimation for a Catalytic Reactor | |
Finance | |
---|---|
Binomial Model for Pricing Options | |
Historical Stock Data * | |
Charting Stock Data * | |
MAD Portfolio Optimization | |
Real Options | |
- Notebooks require access to stock data services.