Pyomo – Optimization Modeling in PythonThis 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 |
229 | |
233 | |
Other editions - View all
Pyomo – Optimization Modeling in Python William E. Hart,Carl Laird,Jean-Paul Watson,David L. Woodruff No preview available - 2012 |
Pyomo – Optimization Modeling in Python William E. Hart,Carl Laird,Jean-Paul Watson,David L. Woodruff No preview available - 2014 |
Pyomo – Optimization Modeling in Python William E. Hart,Carl Laird,Jean-Paul Watson,David L. Woodruff No preview available - 2012 |
Common terms and phrases
abstract model algorithm AMLs Applying arguments call-back function Chapter COIN-OR computing concrete model concrete Pyomo model Constraint model convergence Coopr Coopr packages coopr.pyomo import cooprinstall CPLEX create data command file data file database declaration default define describes executed expr expression extensive form format formulation GLPK high-level programming language illustrates import command includes index set indices integer IPOPT linear programming list comprehensions mixed-integer model in Example model instance model object model.B model.obj modeling components namespace node nonlinear programming open source optimization models output P_POP param Param(model.A parameter data parameter values problem provides pyomo command Pyomo model Pyomo supports PySP Python packages Python script relational table Rosenbrock function rule function runph S_SI scenario sub-problem scenario tree Section set data solution solve solver interfaces solver results specified Springer Science+Business Media stochastic programming string sudoku suffix syntax tuple validate Var(initialize variable values within=NonNegativeReals within=PositiveReals xrange