Pyomo is a Python-based open-source software package that supports a diverse set of optimization capabilities for formulating, solving, and analyzing optimization models.
A core capability of Pyomo is modeling structured optimization applications. Pyomo can be used to define general symbolic problems, create specific problem instances, and solve these instances using commercial and open-source solvers.
Pyomo development is hosted at GitHub:
https://github.com/Pyomo/pyomo
See the Pyomo Forum for online discussions of Pyomo or to ask a question:
http://groups.google.com/group/pyomo-forum/
Ask a question on StackOverflow using the #pyomo tag:
#pyomo
https://stackoverflow.com/questions/ask?tags=pyomo
Additional Pyomo tutorials and examples can be found at the following links:
Pyomo — Optimization Modeling in Python ([PyomoBookIII])
Pyomo Workshop Slides and Exercises
Prof. Jeffrey Kantor’s Pyomo Cookbook
The companion notebooks for Hands-On Mathematical Optimization with Python
Pyomo Gallery
Interested in contributing code or documentation to the project? Check out our Contribution Guide
Pyomo is a key dependency for a number of other software packages for specific domains or customized solution strategies. A non-comprehensive list of Pyomo-related packages may be found here.
If you use Pyomo in your work, please cite:
Bynum, Michael L., Gabriel A. Hackebeil, William E. Hart, Carl D. Laird, Bethany L. Nicholson, John D. Siirola, Jean-Paul Watson, and David L. Woodruff. Pyomo - Optimization Modeling in Python, 3rd Edition. Springer, 2021.
Additionally, several Pyomo capabilities and subpackages are described in further detail in separate Publications.