实例介绍
【实例简介】
Pyomo—Optimization Modeling in Python
William e.Hart· Carl laird·Jean- Paul watson DaⅴidL. Woodruff Pyomo--Optimization Modeling in python pringer William e. hart Carl laird Data analysis and Informatics Department Department of Chemical engincerin Sandia national laboratories Texas a&m Albuquerque, NM87185 College Station. TX 77843 USA USA wehart(sandia.gov carl.lairdatamu edu Jcan-Paul Watson David L. woodruff Discrete Mathematics and Complex Systems Graduate School of management Department University of California, Davis Sandia national laboratories Davis.CA 95616 Albuquerque NM 87185 USA USA dlwoodruffaucdavis edu watson sandia. gov ISsN1931-6828 ISBN978-1-4614-3225-8 c-ISBN978-1-4614-3226-5 DOⅠ10.1007/978-1-4614-3226-5 Springer New York Dordrecht Heidelberg london Library of Congress Control Number 2012930924 o Springer Science+Business Media, LLC 2012 All rights reserved. This work may not be translated or copied in whole or in part without the written permission of the publisher(Springer Scicncc+Busincss Media, LLC, 233 Spring Strcct, New York, NY 10013, USA), except for brief excerpts in connection with reviews or scholarly analysis. Use in connection with any form of information storagc and retrieval, clectronic adaptation, computcr softwarc, or by similar or dissimilar methodology now known or hcrcaftcr devcloped is forbidden The usc in this publication of tradc namcs, trademarks, scrvicc marks, and similar tcrms, cvcn if they arc not identified h. is not to bc takcn as an to whith ot thcy are subjcct to proprietary rights Printed on acid -frcc paper SpringerispartofSpringerScience+businessMedia(www.springer.com) For valerie, christy, Michelle and barbara Thank you for your support and patience during the many nights and weekends that we have spent on Promo and this book Preface This book describes a new tool for mathematical modeling the python optimization Modeling Objects(Pyomo) software. Pyomo supports the formulation and analysis of mathematical models for complex optimization applications. This capability is commonly associated with algebraic modeling languages (AMLS), which support the description and analysis of mathematical models with a high-level language Although most AMLS are implemented in custom modeling languages, Pyomo's modeling objects are embedded within Python, a full-featured high-level program- ming language that contains a rich set of supporting libraries Modeling is a fundamental process in many aspects of scientific research, engi neering and business, and the widespread availability of computing resources has made the numerical analysis of mathematical models a commonplace activity. Fur thermore, AMLS have emerged as a key capability for robustly formulating large models for complex, real-world applications [40]. AMLS simplify the process of formulating complex models by simplifying the management of sparse data and supporting the natural expression of model components. Additionally, AMLS like Pyomo support scripting with model objects which facilitates rapid development of new analysis tools Preface Goals of the book In this book, we provide an introduction to the Pyomo modeling software. a key goal of this book is to provide a comprehensive reference that will enable the user to develop optimization models with Pyomo. The book contains many example mod- els, and the presentation of Pyomo's capabilities highlights different techniques that can be used to formulate models. The presentation in the book is roughly broken down into three parts 1. Introduction-Introducing mathematical modeling and Pyomo, an overview of Pyomo's design, and an illustration of Pyomo with increasingly complex models. 2. Modeling Components-Detailed descriptions of the core modeling components that are supported by Pomo 3. Advanced Capabilities- Presentations of advanced features, including modeling of non- linear and stochastic programs, as well as high-level scripting with Python Another goal of this book is to illustrate the breadth of the modeling and anal ysis capabilities that are supported by Pyomo. Pyomo supports the formulation and analysis of common optimization models, including linear programs, mixed integer linear programs, nonlinear programs, mixed-integer nonlinear programs and stochastic programs. Additionally, Pyomo includes solver interfaces for a variety of widely used optimization software packages, including CBC, CPLEX, GLPK, GUROBI, and PIco. Additionally, pyomo can execute optimizers that employ the AMPl Solver library interface Finally, this book provides the information needed to install and get started with yomo. Pyomo is a component of the Coopr software project. This book doc uments the capabilities of the Coopr 3.1 release, which includes version 3.0 of coopr. promo, which defines Pyomo. Appendix a describes installation options for Coopr. Coopr leverages a variety of third-party Python packages, and installa tion options described in the appendix include the installation of these auxilliary packages Who should read this book This book is intended to be a reference for students, academic researchers and prac titioners. The design of Pyomo is simple enough that it has been effectively used in the classroom with undergraduate and graduate students. However, we assume that the reader is generally familiar with optimization and mathematical modeling Although this book does not contain a glossary, we recommend the mathematical Programming Glossary [35] as a reference for the reader A goal of this book is to help users get started with Pyomo even if they have little knowledge of Python. Appendix b provides a quick introduction to Python, but we have been impressed with how well standard Python reference texts support new Pyomo users Although Pyomo introduces Python objects and a process for applyin Preface them, the expression of models with Pyomo strongly reflects Pythons clean, concise syntax. Note that our discussion of Pyomo's advanced modeling capabilities assumes some background in object-oriented design and features of the Python program ming language. For example, our discusion of modeling components distinguishes between class definitions and class instances. Similarly, our discussion of pyomo expressions requires a description of how operator overloading is used. We have not attempted to describe these advanced features of python in the book. Thus, a user should expect to develop some familiarity with Python in order to effectively understand and use advanced modeling features Pyomo is also a valuable tool for academic researchers and practitioners a key focus of Pyomo development has been on the ability to support the formulation and analysis of real-world applications. Pyomo supports our work with complex real-world applications, so key issues like run-time performance and robust solver interfaces are a priority Additionally we believe that researchers will find that Coopr provides an effec tive framework for developing high-level optimization and analysis tools. For ex ample, Pyomo supports stochastic programming with extensions that are defined in Coopr's PysP package PySP provides generic solvers for stochastic programming, and it leverages the fact that Pyomo's modeling objects are embedded within a full featured high-level programming language. This allows for transparent paralleliza- tion of sub-problems using Python parallel communication libraries. This ability to support generic solvers for complex models is very powerful, and we believe that it can be used with many other optimization analysis techniques 【实例截图】
【核心代码】
Pyomo—Optimization Modeling in Python
William e.Hart· Carl laird·Jean- Paul watson DaⅴidL. Woodruff Pyomo--Optimization Modeling in python pringer William e. hart Carl laird Data analysis and Informatics Department Department of Chemical engincerin Sandia national laboratories Texas a&m Albuquerque, NM87185 College Station. TX 77843 USA USA wehart(sandia.gov carl.lairdatamu edu Jcan-Paul Watson David L. woodruff Discrete Mathematics and Complex Systems Graduate School of management Department University of California, Davis Sandia national laboratories Davis.CA 95616 Albuquerque NM 87185 USA USA dlwoodruffaucdavis edu watson sandia. gov ISsN1931-6828 ISBN978-1-4614-3225-8 c-ISBN978-1-4614-3226-5 DOⅠ10.1007/978-1-4614-3226-5 Springer New York Dordrecht Heidelberg london Library of Congress Control Number 2012930924 o Springer Science+Business Media, LLC 2012 All rights reserved. This work may not be translated or copied in whole or in part without the written permission of the publisher(Springer Scicncc+Busincss Media, LLC, 233 Spring Strcct, New York, NY 10013, USA), except for brief excerpts in connection with reviews or scholarly analysis. Use in connection with any form of information storagc and retrieval, clectronic adaptation, computcr softwarc, or by similar or dissimilar methodology now known or hcrcaftcr devcloped is forbidden The usc in this publication of tradc namcs, trademarks, scrvicc marks, and similar tcrms, cvcn if they arc not identified h. is not to bc takcn as an to whith ot thcy are subjcct to proprietary rights Printed on acid -frcc paper SpringerispartofSpringerScience+businessMedia(www.springer.com) For valerie, christy, Michelle and barbara Thank you for your support and patience during the many nights and weekends that we have spent on Promo and this book Preface This book describes a new tool for mathematical modeling the python optimization Modeling Objects(Pyomo) software. Pyomo supports the formulation and analysis of mathematical models for complex optimization applications. This capability is commonly associated with algebraic modeling languages (AMLS), which support the description and analysis of mathematical models with a high-level language Although most AMLS are implemented in custom modeling languages, Pyomo's modeling objects are embedded within Python, a full-featured high-level program- ming language that contains a rich set of supporting libraries Modeling is a fundamental process in many aspects of scientific research, engi neering and business, and the widespread availability of computing resources has made the numerical analysis of mathematical models a commonplace activity. Fur thermore, AMLS have emerged as a key capability for robustly formulating large models for complex, real-world applications [40]. AMLS simplify the process of formulating complex models by simplifying the management of sparse data and supporting the natural expression of model components. Additionally, AMLS like Pyomo support scripting with model objects which facilitates rapid development of new analysis tools Preface Goals of the book In this book, we provide an introduction to the Pyomo modeling software. a key goal of this book is to provide a comprehensive reference that will enable the user to develop optimization models with Pyomo. The book contains many example mod- els, and the presentation of Pyomo's capabilities highlights different techniques that can be used to formulate models. The presentation in the book is roughly broken down into three parts 1. Introduction-Introducing mathematical modeling and Pyomo, an overview of Pyomo's design, and an illustration of Pyomo with increasingly complex models. 2. Modeling Components-Detailed descriptions of the core modeling components that are supported by Pomo 3. Advanced Capabilities- Presentations of advanced features, including modeling of non- linear and stochastic programs, as well as high-level scripting with Python Another goal of this book is to illustrate the breadth of the modeling and anal ysis capabilities that are supported by Pyomo. Pyomo supports the formulation and analysis of common optimization models, including linear programs, mixed integer linear programs, nonlinear programs, mixed-integer nonlinear programs and stochastic programs. Additionally, Pyomo includes solver interfaces for a variety of widely used optimization software packages, including CBC, CPLEX, GLPK, GUROBI, and PIco. Additionally, pyomo can execute optimizers that employ the AMPl Solver library interface Finally, this book provides the information needed to install and get started with yomo. Pyomo is a component of the Coopr software project. This book doc uments the capabilities of the Coopr 3.1 release, which includes version 3.0 of coopr. promo, which defines Pyomo. Appendix a describes installation options for Coopr. Coopr leverages a variety of third-party Python packages, and installa tion options described in the appendix include the installation of these auxilliary packages Who should read this book This book is intended to be a reference for students, academic researchers and prac titioners. The design of Pyomo is simple enough that it has been effectively used in the classroom with undergraduate and graduate students. However, we assume that the reader is generally familiar with optimization and mathematical modeling Although this book does not contain a glossary, we recommend the mathematical Programming Glossary [35] as a reference for the reader A goal of this book is to help users get started with Pyomo even if they have little knowledge of Python. Appendix b provides a quick introduction to Python, but we have been impressed with how well standard Python reference texts support new Pyomo users Although Pyomo introduces Python objects and a process for applyin Preface them, the expression of models with Pyomo strongly reflects Pythons clean, concise syntax. Note that our discussion of Pyomo's advanced modeling capabilities assumes some background in object-oriented design and features of the Python program ming language. For example, our discusion of modeling components distinguishes between class definitions and class instances. Similarly, our discussion of pyomo expressions requires a description of how operator overloading is used. We have not attempted to describe these advanced features of python in the book. Thus, a user should expect to develop some familiarity with Python in order to effectively understand and use advanced modeling features Pyomo is also a valuable tool for academic researchers and practitioners a key focus of Pyomo development has been on the ability to support the formulation and analysis of real-world applications. Pyomo supports our work with complex real-world applications, so key issues like run-time performance and robust solver interfaces are a priority Additionally we believe that researchers will find that Coopr provides an effec tive framework for developing high-level optimization and analysis tools. For ex ample, Pyomo supports stochastic programming with extensions that are defined in Coopr's PysP package PySP provides generic solvers for stochastic programming, and it leverages the fact that Pyomo's modeling objects are embedded within a full featured high-level programming language. This allows for transparent paralleliza- tion of sub-problems using Python parallel communication libraries. This ability to support generic solvers for complex models is very powerful, and we believe that it can be used with many other optimization analysis techniques 【实例截图】
【核心代码】
标签:
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论