The Python Optimization Modeling Objects (Pyomo) package is an open source tool for modeling optimization applications in Python. Pyomo can be used to define symbolic problems, create concrete problem instances, and solve these instances with standard solvers. Pyomo provides a capability that is commonly associated with algebraic modeling languages such as AMPL, AIMMS, and GAMS, but Pyomo's modeling objects are embedded within a full-featured high-level programming language with a rich set of supporting libraries. Pyomo leverages the capabilities of the Coopr software library, which integrates Python packages for defining optimizers, modeling optimization applications, and managing computational experiments.


  • Modeling in a high level language allows modelers to leverage modern programming constructs, ensure cross-platform portability, and access the broad range of functionality found in standard software libraries.
  • Supports both symbolic models, which provide a data-independent formulation of mathematical programs, and concrete models, which directly build model with concrete data.
  • Pyomo leverages a Python component architecture to support extensibility in a modular manner.

Recent Activity



  • global_opt.pptx Download (1.9 MB) - added by jwatson 3 years ago. Global Optimization for Estimation of On/Off? Seasonality in Infectious Disease Spread Using Pyomo, Presentation, INFORMS 2010 Annual Meeting, by Gabriel Hackebeil and Carl Laird.
  • pyomo-jnl.pdf Download (405.9 KB) - added by jwatson 3 years ago. Pyomo: Modeling and Solving Mathematical Programs in Python (under revision)