Pyomo – Optimization Modeling in Python

  • William E. Hart
  • Carl Laird
  • Jean-Paul Watson
  • David L. Woodruff

Part of the Springer Optimization and Its Applications book series (SOIA, volume 67)

Table of contents

  1. Front Matter
    Pages i-xviii
  2. William E. Hart, Carl Laird, Jean-Paul Watson, David L. Woodruff
    Pages 1-11
  3. William E. Hart, Carl Laird, Jean-Paul Watson, David L. Woodruff
    Pages 13-27
  4. William E. Hart, Carl Laird, Jean-Paul Watson, David L. Woodruff
    Pages 29-41
  5. William E. Hart, Carl Laird, Jean-Paul Watson, David L. Woodruff
    Pages 43-55
  6. William E. Hart, Carl Laird, Jean-Paul Watson, David L. Woodruff
    Pages 57-65
  7. William E. Hart, Carl Laird, Jean-Paul Watson, David L. Woodruff
    Pages 67-89
  8. William E. Hart, Carl Laird, Jean-Paul Watson, David L. Woodruff
    Pages 91-103
  9. William E. Hart, Carl Laird, Jean-Paul Watson, David L. Woodruff
    Pages 105-129
  10. William E. Hart, Carl Laird, Jean-Paul Watson, David L. Woodruff
    Pages 131-164
  11. William E. Hart, Carl Laird, Jean-Paul Watson, David L. Woodruff
    Pages 165-203
  12. Back Matter
    Pages 205-237

About this book

Introduction

This book provides a complete and comprehensive guide to Pyomo (Python Optimization Modeling Objects) for beginning and advanced modelers, including students at the undergraduate and graduate levels, academic researchers, and practitioners. Modeling is a fundamental process in many aspects of scientific research, engineering, and business. This text beautifully illustrates the breadth of the modeling capabilities that are supported by this new software and its handling of complex real-world applications.

 

Pyomo is an open source software package for formulating and solving large-scale optimization problems. The software extends the modeling approach supported by modern AML (Algebraic Modeling Language) tools. Pyomo is a flexible, extensible, and portable AML that is embedded in Python, a full-featured scripting language. Python is a powerful and 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 text begins with a tutorial on simple linear and integer programming models. Information needed to install and get started with the software is also provided. A detailed reference of Pyomo's modeling components is illustrated with extensive examples, including a discussion of how to load data from sources like spreadsheets and databases. The final chapters cover advanced topics such as nonlinear models, stochastic models, and scripting examples.

Keywords

Optimization textbook Python software Sandia optimization software algebraic modeling language mathematical modeling textbook stochastic programming

Authors and affiliations

  • William E. Hart
    • 1
  • Carl Laird
    • 2
  • Jean-Paul Watson
    • 3
  • David L. Woodruff
    • 4
  1. 1.Sandia National LaboratoriesAlbuquerqueUSA
  2. 2., Department of Chemical EngineeringTexas A&M UniversityCollege StationUSA
  3. 3., Discrete Mathematics and Complex SystemsSandia National LaboratoriesAlbuquerqueUSA
  4. 4.Graduate School of ManagementUniversity of CaliforniaDavisUSA

Bibliographic information

  • DOI https://doi.org/10.1007/978-1-4614-3226-5
  • Copyright Information Springer Science+Business Media, LLC 2012
  • Publisher Name Springer, Boston, MA
  • eBook Packages Mathematics and Statistics
  • Print ISBN 978-1-4614-3225-8
  • Online ISBN 978-1-4614-3226-5
  • Series Print ISSN 1931-6828
  • About this book
Industry Sectors
Engineering
Aerospace
Oil, Gas & Geosciences
Pharma