1. Getting Started with Pyomo#
Pyomo is an cross-platform, open-source systems modeling language for Python available under the BSD free-software license. Pyomo is well suited to modeling simple and complex systems that can be described by linear or nonlinear algebraic, differential, and partial differential equations and constraints.
This collection of notebooks demonstrates the use of Pyomo for typical applications.
Online resources
Read the Docs. Official documentation for the latest release of Pyomo.
Pyomo Examples from the official Pyomo Github Repository.
References
Bynum, M. L., Hackebeil, G. A., Hart, W. E., Laird, C. D., Nicholson, B. L., Siirola, J. D., Watson, J.-P. and Woodruff, D. L. (2021). Pyomo-optimization modeling in python (Vol. 67). Springer. Pyomo – Optimization Modeling in Python. Third Edition. Springer Optimization and Its Applications Vol. 67. Springer, 2021.
Hart, William E., Jean-Paul Watson, and David L. Woodruff. “Pyomo: modeling and solving mathematical programs in Python.” Mathematical Programming Computation 3, no. 3 (2011): 219.
Nicholson, Bethany, John D. Siirola, Jean-Paul Watson, Victor M. Zavala, and Lorenz T. Biegler. “pyomo.dae: a modeling and automatic discretization framework for optimization with differential and algebraic equations.” Mathematical Programming Computation 10(2) (2018): 187-223. Presentation slides.
Nicholson, Bethany L., Laird, Carl Damon, Siirola, John Daniel, Watson, Jean-Paul, and Hart, William E. Mon . “Pyomo Tutorial.” United States. Presentation slides in pdf format.
Watson, Jean-Paul, David L. Woodruff, and William E. Hart. “PySP: modeling and solving stochastic programs in Python.” Mathematical Programming Computation 4(2) (2012): 109-149.