Pyomo: Accidentally outrunning the bear
- PMID: 40926962
- PMCID: PMC12416079
- DOI: 10.1016/j.patter.2025.101311
Pyomo: Accidentally outrunning the bear
Abstract
Pyomo is an open-source optimization modeling software that has undergone significant evolution since its inception in 2008. Pyomo has evolved to enhance flexibility, solver integration, and community engagement. Modern collaborative tools for open-source software have facilitated the development of new Pyomo functionality and improved our development process through automated testing and performance-tracking pipelines. However, Pyomo faces challenges typical of research software, including resource limitations and knowledge retention. The Pyomo team's commitment to better development practices and community engagement reflects a proactive approach to these issues. We describe Pyomo's development journey, highlighting both successes and failures, in the hopes that other open-source research software packages may benefit from our experiences.
Keywords: automation; development; open-source; optimization; software.
© 2025 The Authors.
Conflict of interest statement
The authors declare no competing interests.
References
-
- Bynum M.L., Hackebeil G.A., Hart W.E., Laird C.D., Nicholson B.L., Siirola J.D., Watson J.P., Woodruff D.L. Vol. 67. Springer; 2021. (Pyomo-optimization Modeling in Python).
-
- Hart W.E., Watson J.P., Woodruff D.L. Citeseer; 2009. Coopr User Manual: Getting Started with the Pyomo Modeling Language.
-
- Malviya Thakur A., Milewicz R., Jahanshahi M., Paganini L., Vasilescu B., Mockus A. Scientific open-source software is less likely to become abandoned than one might think. arxiv. 2025 doi: 10.48550/arXiv.2504.18971. Preprint at. - DOI
-
- Hart W.E., Watson J.P., Woodruff D.L. Pyomo: modeling and solving mathematical programs in Python. Math. Program. Comput. 2011;3:219–260.
-
- Hart W.E., Laird C.D., Watson J.P., Woodruff D.L. Vol. 67. Springer; 2012. (Pyomo-optimization Modeling in Python).
Publication types
LinkOut - more resources
Full Text Sources