- Notifications
You must be signed in to change notification settings - Fork529
An object-oriented algebraic modeling language in Python for structured optimization problems.
License
Pyomo/pyomo
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Pyomo is a Python-based open-source software package that supports adiverse set of optimization capabilities for formulating and analyzingoptimization models. Pyomo can be used to define symbolic problems,create concrete problem instances, and solve these instances withstandard solvers. Pyomo supports a wide range of problem types,including:
- Linear programming
- Quadratic programming
- Nonlinear programming
- Mixed-integer linear programming
- Mixed-integer quadratic programming
- Mixed-integer nonlinear programming
- Mixed-integer stochastic programming
- Generalized disjunctive programming
- Differential algebraic equations
- Mathematical programming with equilibrium constraints
- Constraint programming
Pyomo supports analysis and scripting within a full-featured programminglanguage. Further, Pyomo has also proven an effective framework fordeveloping high-level optimization and analysis tools. For example, thempi-sppy
package provides genericsolvers for stochastic programming.mpi-sppy
leverages the fact thatPyomo's modeling objects are embedded within a full-featured high-levelprogramming language, which allows for transparent parallelization ofsubproblems using Python parallel communication libraries.
Pyomo was formerly released as the Coopr software library.
Pyomo is available under the BSD License - see theLICENSE.md
file.
Pyomo is currently tested with the following Python implementations:
- CPython: 3.9, 3.10, 3.11, 3.12, 3.13
- PyPy: 3.10
Testing and support policy:
At the time of the first Pyomo release after the end-of-life of a minor Pythonversion, we will remove testing for that Python version.
pip install pyomo
conda install -c conda-forge pyomo
- Pyomo — Optimization Modeling in Python
- Pyomo Workshop Slides
- Prof. Jeffrey Kantor's Pyomo Cookbook
- Thecompanion notebooksforHands-On Mathematical Optimization with Python
- Pyomo Gallery
To get help from the Pyomo community ask a question on one of the following:
Pyomo development moved to this repository in June 2016 fromSandia National Laboratories. Developer discussions are hosted byGoogle Groups.
The Pyomo Development team holds weekly coordination meetings onTuesdays 12:30 - 14:00 (MT). Please contactwg-pyomo@sandia.gov torequest call-in information.
By contributing to this software project, you are agreeing to thefollowing terms and conditions for your contributions:
- You agree your contributions are submitted under the BSD license.
- You represent you are authorized to make the contributions and grantthe license. If your employer has rights to intellectual property thatincludes your contributions, you represent that you have receivedpermission to make contributions and grant the required license onbehalf of that employer.
Seehttps://pyomo.readthedocs.io/en/latest/related_packages.html.
About
An object-oriented algebraic modeling language in Python for structured optimization problems.