표모
Pyomo![]() | |
설계자 | 가브리엘 하케베일 윌리엄 E.하트 칼 레어드 베서니 니콜슨 존 시롤라 장 폴 왓슨 데이비드 우드러프 |
---|---|
처음 등장한 | 전( |
안정된 릴리스 | 6.3 / 2022년 2월 , 전( |
OS | 크로스 플랫폼: Linux, Mac OS X 및 Windows |
면허증. | BSD 라이선스 |
파일 이름 확장자 | .py |
웹 사이트 | www |
영향을 받다 | |
Python, AMP, 일반 대수 모델링 시스템 |
Pyomo는 최적화 [1][2]모델을 공식화하기 위한 Python 소프트웨어 패키지 모음입니다.
Pyomo는 Sandia National Laboratories의 William Hart와 Jean-Paul Watson과 캘리포니아 대학의 David Woodruff에 의해 개발되었습니다.표모에 대한 중요한 확장 기능은 Sandia National Laboratory의 Bethany Nicholson과 John Sirola, Purdue University의 Carl Laird 및 Gabriel Hakebeil에 의해 개발되었습니다.Pyomo는 자유롭게 이용할 수 있는 오픈 소스 프로젝트로 BSD 라이선스를 취득했습니다.표모는 COIN-OR 프로젝트의 일환으로 개발되었습니다.Pyomo는 다양한 정부 기관과 학술 기관에서 사용되는 인기 있는 오픈 소스 소프트웨어 패키지입니다.
특징들
Pyomo는 사용자가 Python의 최적화 문제를 수학적 최적화에서 일반적으로 사용되는 표기법과 유사한 방식으로 공식화할 수 있도록 합니다.Pyomo는 객체 지향 최적화 모델을 공식화하는 스타일을 지원합니다. 최적화 모델은 집합, 스칼라 및 다차원 매개 변수, 결정 변수, 목표, 제약 조건, 방정식, 분리 등 다양한 모델링 구성요소로 정의됩니다.최적화 모델은 파이썬 데이터로 초기화할 수 있으며, 외부 데이터 소스는 스프레드시트, 데이터베이스, 다양한 형식의 텍스트 파일을 사용하여 정의할 수 있습니다.Pyomo는 데이터 없이 정의되는 추상 모델과 데이터로 정의되는 구체적인 모델을 모두 지원합니다.두 경우 모두 Pyomo는 모형과 데이터를 분리할 수 있습니다.
Pyomo는 AMPL, PICO, CBC, CPLEX, IPOPT 및 GLPK에서 지원되는 많은 솔버를 포함하여 오픈소스 및 상용 솔버를 수십 개 지원합니다.Pyomo는 솔버를 직접 호출하거나 솔버 매니저와 비동기적으로 호출할 수 있습니다.솔버 매니저는 Pyomo 스크립트의 병렬 실행을 지원하는 솔버의 비동기 원격 실행을 지원합니다.솔버 상호작용은 사용되는 솔버에 따라 다양한 솔버 인터페이스와 함께 수행됩니다.매우 일반적인 솔버 인터페이스는 AMP의 nl(형식)에서 지원됩니다.
관련 소프트웨어
다음 소프트웨어 패키지는 Pyomo를 라이브러리로 통합하여 최적화 모델링 및 분석을 지원합니다.
- SolverStudio를 사용하면 Excel을 사용하여 Pyomo를 [3]비롯한 다양한 모델링 언어를 사용하여 작성된 최적화 모델을 편집, 저장 및 해결할 수 있습니다.Pyomo는 Solver Studio 소프트웨어와 번들되어 있습니다.
- TEMOA(Tools for Energy Model Optimization and Assessment)는 에너지 시스템 [4]분석을 수행하기 위한 오픈 소스 모델링 프레임워크입니다.TEMOA의 핵심 요소는 에너지 경제 최적화 모델입니다.이 모델은 Pyomo를 사용하여 제조 및 최적화되었습니다.
- MinPower는 전력 시스템의 학생과 연구자를 위한 오픈 소스 툴킷입니다.표준 전원 시스템 모델의 조작을 심플하고 [5]직관적으로 실시할 수 있도록 설계되어 있습니다.MinPower는 Pyomo를 사용하여 이러한 전력 시스템 모델을 공식화하고 최적화합니다.
- Pyomo와 [6]유사한 기능을 제공하는 linopy 프로젝트.
「 」를 참조해 주세요.
레퍼런스
- ^ William E. Hart; Carl D. Laird; Jean-Paul Watson; David L. Woodruff; Gabriel A. Hackebeil; Bethany L. Nicholson; John D. Siirola (2017). Pyomo — Optimization Modeling in Python. Springer. ISBN 978-3-319-58821-6.
- ^ Hart, William; Jean-Paul Watson; David L. Woodruff (2011). "Pyomo: modeling and solving mathematical programs in python". Mathematical Programming Computation. Vol. 3, no. 3. doi:10.1007/s12532-011-0026-8.
- ^ Mason, Andrew (2013). "SolverStudio: A New Tool for Better Optimisation and Simulation Modelling in Excel". INFORMS Transactions on Education. Vol. 14, no. 1. pp. 45–52. doi:10.1287/ited.2013.0112.
- ^ DeCarolis, Joseph; Kevin Hunter; Sarat Sreepathi (2010). The TEMOA Project: Tools for Energy Model Optimization and Analysis (PDF). International Energy Workshop. Stockholm, Sweden.
- ^ Greenhall, Adam; Rich Christie; Jean-Paul Watson (2012). Minpower: A power systems optimization toolkit (PDF). Power and Energy Society General Meeting.
- ^ "linopy: Linear optimization with N-D labeled variables". PyPSA. Retrieved 2022-02-22.
외부 링크
- IBM developerWorks의 기사:
- "Pyomo Meets Fantasy Football". 2015-01-27.
- Pyomo의 LP, QP, MILP, NLP 및 MINLP 솔루션용 APOPT 솔버