LLMpediaThe first transparent, open encyclopedia generated by LLMs

Pyomo

Generated by GPT-5-mini
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Parent: CPLEX Hop 5
Expansion Funnel Raw 60 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted60
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
Pyomo
NamePyomo
AuthorWilliam Pulleyblank, Jean Baptiste Lemaire
DeveloperSandia National Laboratories
Released2007
Programming languagePython (programming language)
Operating systemCross-platform
LicenseBSD license

Pyomo is an open-source software package for formulating, analyzing, and solving mathematical optimization problems using the Python (programming language) ecosystem. It provides a high-level, declarative modeling language that integrates with numerical libraries, solver engines, and scientific computing projects to address large-scale problems arising in industry and research. Pyomo bridges symbolic model construction with solver execution, enabling reproducible optimization workflows alongside tools from NumPy, SciPy, and Pandas.

Overview

Pyomo was developed at Sandia National Laboratories and has been used in collaborative projects with institutions like the United States Department of Energy, Lawrence Berkeley National Laboratory, and National Renewable Energy Laboratory. The project aligns with efforts in the 2020s to make computational modeling accessible inside the Python (programming language) community and interacts with scientific software such as Jupyter Notebook and Anaconda (distribution). Pyomo supports a wide range of problem classes and is distributed under a BSD license, facilitating adoption in both academic settings like Massachusetts Institute of Technology and industrial settings including General Electric initiatives.

Features

Pyomo's core features include symbolic model creation, indexing sets, and expression trees compatible with automatic differentiation and transformation pipelines. It exposes constructs for continuous, discrete, and mixed-integer formulations used by projects at Los Alamos National Laboratory, Oak Ridge National Laboratory, and Argonne National Laboratory. The package interoperates with solver frameworks such as COIN-OR, CPLEX, and Gurobi (company), and supports extensions used in domains exemplified by National Aeronautics and Space Administration modeling and United States Department of Agriculture planning studies. Pyomo also supports scenario-based modeling used in collaborative platforms like GitHub and testing systems such as Travis CI and Jenkins (software).

Modeling Components

Pyomo organizes models into components—sets, parameters, variables, objectives, and constraints—similar to algebraic modeling languages used at Princeton University and Stanford University. Its component architecture enables the construction of algebraic expressions that interact with symbolic tools developed in the Python Package Index ecosystem, and integrates with data sources including CSV file workflows and HDF5 data stores used at CERN. Pyomo supports advanced components for piecewise functions and logical constraints employed in industrial optimization at companies like IBM and in transportation projects such as those studied by U.S. Department of Transportation researchers. The modeling layer is designed to work with model transformation utilities developed in collaborations with research centers like Sandia National Laboratories and Lawrence Livermore National Laboratory.

Solvers and Interfaces

Pyomo connects to a broad array of commercial and open-source solvers via standardized interfaces. It dispatches linear and nonlinear problems to engines such as CPLEX, Gurobi (company), SCIP (optimization software), and IPOPT, and routes mixed-integer and global optimization tasks to COIN-OR projects like CBC (solver). The solver manager interfaces support parallel and asynchronous execution patterns pioneered in high-performance computing centers including Argonne National Laboratory and cloud platforms run by Amazon Web Services. Integration with solver-independent standards and tools like AMPL translators and SolverStudio-style workflows eases migration between languages used at institutions such as University of Cambridge and ETH Zurich.

Use Cases and Applications

Pyomo has been applied to energy systems planning, unit commitment, and power market modeling in collaborations with National Renewable Energy Laboratory and California Independent System Operator. It supports supply chain network design problems studied by researchers at Massachusetts Institute of Technology and Georgia Institute of Technology, and has been used in water resources optimization projects associated with United States Bureau of Reclamation. Pyomo facilitates research in process systems engineering referenced by work at Imperial College London and in transportation routing problems investigated at Delft University of Technology. Academic courses at universities including University of California, Berkeley, University of Wisconsin–Madison, and University of Illinois Urbana–Champaign use Pyomo in curricula for optimization and operations research.

Development and Community

The Pyomo codebase is maintained on collaborative platforms like GitHub with contributions from researchers across Sandia National Laboratories, Los Alamos National Laboratory, and international universities such as University of Toronto and University of Oxford. Development practices mirror those adopted by major open-source projects including NumPy and SciPy, with testing and continuous integration that reference services like Travis CI and GitHub Actions. The community organizes workshops and tutorials at conferences such as the INFORMS Annual Meeting, SIAM Conference on Optimization, and events hosted by IEEE, with documentation and examples used in training programs at United States Department of Energy centers. Pyomo’s ecosystem continues to expand through plugins, educational resources, and collaborations with solver vendors such as Gurobi (company) and IBM.

Category:Optimization software