/ND-Pyomo-Cookbook

A repository of Pyomo examples.

Primary LanguageJupyter NotebookApache License 2.0Apache-2.0

ND-Pyomo-Cookbook

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 Open In Colab
Unconstrained Scalar Optimization Open In Colab
                                                                                                                                              
Linear Programming
Production Models with Linear Constraints Open In Colab
Linear Blending Problems Open In Colab
Mixture Design for a Cold Weather Camping Fuel Open In Colab
Simple Gasoline Blending Example Open In Colab
                                                                                                                                              
Assignment Problems
Transportation Networks Open In Colab
                                                                                                                                              
Scheduling Problems with Disjunctive Constraints
Machine Bottleneck Open In Colab
Job Shop Scheduling Open In Colab
Scheduling Multipurpose Batch Processes using State-Task Networks Open In Colab
                                                                                                                                              
Simulation
Linear First Order System Open In Colab
Simulation of an Exothermic Stirred Tank Reactor Open In Colab
Heat Conduction in Various Geometries Open In Colab
                                                                                                                                              
Differential Algebraic Equations
Maximizing Concentration of an Intermediate in a Batch Reactor Open In Colab
Path Planning for a Simple Car Model Open In Colab
                                                                                                                                              
Parameter Estimation
Parameter Estimation for a Catalytic Reactor Open In Colab
                                                                                                                                              
Finance
Binomial Model for Pricing Options Open In Colab
Historical Stock Data * Open In Colab
Charting Stock Data * Open In Colab
MAD Portfolio Optimization Open In Colab
Real Options Open In Colab
                                                                                                                                              
  • Notebooks require access to stock data services.