Pyomo – Optimization Modeling in Python

Front Cover
Springer Science & Business Media, Feb 15, 2012 - Mathematics - 238 pages
This book provides a complete and comprehensive reference/guide to Pyomo (Python Optimization Modeling Objects) for both beginning and advanced modelers, including students at the undergraduate and graduate levels, academic researchers, and practitioners. The text illustrates the breadth of the modeling and analysis capabilities that are supported by the software and support of complex real-world applications. Pyomo is an open source software package for formulating and solving large-scale optimization and operations research problems. The text begins with a tutorial on simple linear and integer programming models. A detailed reference of Pyomo's modeling components is illustrated with extensive examples, including a discussion of how to load data from data sources like spreadsheets and databases. Chapters describing advanced modeling capabilities for nonlinear and stochastic optimization are also included. The Pyomo software provides familiar modeling features within Python, a powerful dynamic programming language that has a very clear, readable syntax and intuitive object orientation. Pyomo includes Python classes for defining sparse sets, parameters, and variables, which can be used to formulate algebraic expressions that define objectives and constraints. Moreover, Pyomo can be used from a command-line interface and within Python's interactive command environment, which makes it easy to create Pyomo models, apply a variety of optimizers, and examine solutions. The software supports a different modeling approach than commercial AML (Algebraic Modeling Languages) tools, and is designed for flexibility, extensibility, portability, and maintainability but also maintains the central ideas in modern AMLs.
 

Contents

Chapter 1 Introduction
1
Chapter 2 Pyomo Modeling Strategies
13
Variables Objectives and Constraints
28
Sets and Parameters
43
Chapter 5 Miscellaneous Model Components and Utility Functions
56
Chapter 6 Initializing Abstract Models with Data Command Files
67
Chapter 7 The Pyomo Commandline Interface
90
Chapter 8 Nonlinear Programming with Pyomo
105
Chapter 9 Stochastic Programming Extensions
130
Chapter 10 Scripting and Algorithm Development
165
Appendix A Installing Coopr
205
Appendix B A Brief Python Tutorial
211
The Bigger Picture
225
References
229
Index
233
Copyright

Other editions - View all

Common terms and phrases