Pyomo - Pyomo
![]() | |
| Ontworpen door | Gabriel Hackebeil William E. Hart Carl Laird Bethany Nicholson John Siirola Jean-Paul Watson David Woodruff |
|---|---|
| Verscheen voor het eerst | 2008 |
| Stabiele vrijlating | 5.6.7 / 7 november 2019
|
| OS | Cross-platform : Linux , Mac OS X en Windows |
| Vergunning | BSD-licentie |
| Bestandsnaamextensies | .py |
| Website | www |
| Beïnvloed door | |
| Python , AMPL , algemeen algebraïsch modelleringssysteem | |
Pyomo is een verzameling Python- softwarepakketten voor het formuleren van optimalisatiemodellen.
Pyomo is ontwikkeld door William Hart en Jean-Paul Watson van Sandia National Laboratories en David Woodruff van de University of California, Davis . Aanzienlijke uitbreidingen van Pyomo zijn ontwikkeld door Bethany Nicholson en John Siirola van Sandia National Laboratories , Carl Laird van Purdue University en Gabriel Hackebeil. Pyomo is een open-sourceproject dat vrij beschikbaar is en is gelicentieerd met de BSD- licentie. Pyomo is ontwikkeld als onderdeel van het COIN-OR project. Pyomo is een populair open-source softwarepakket dat wordt gebruikt door verschillende overheidsinstanties en academische instellingen.
Functies
Met Pyomo kunnen gebruikers optimalisatieproblemen in Python formuleren op een manier die vergelijkbaar is met de notatie die gewoonlijk wordt gebruikt bij wiskundige optimalisatie. Pyomo ondersteunt een objectgeoriënteerde stijl van het formuleren van optimalisatiemodellen, die zijn gedefinieerd met een verscheidenheid aan modelleringscomponenten: sets, scalaire en multidimensionale parameters, beslissingsvariabelen, doelstellingen, beperkingen, vergelijkingen, disjuncties en meer. Optimalisatiemodellen kunnen worden geïnitialiseerd met python-gegevens en externe gegevensbronnen kunnen worden gedefinieerd met behulp van spreadsheets , databases en verschillende formaten tekstbestanden. Pyomo ondersteunt zowel abstracte modellen, die worden gedefinieerd zonder gegevens, als concrete modellen, die worden gedefinieerd met gegevens. In beide gevallen maakt Pyomo de scheiding van model en gegevens mogelijk.
Pyomo ondersteunt tientallen oplossers , zowel open source als commercieel, waaronder veel oplossers die worden ondersteund door AMPL , PICO, CBC , CPLEX , IPOPT , Gurobi en GLPK . Pyomo kan de oplosser rechtstreeks of asynchroon met een oplossermanager aanroepen. Oplossermanagers ondersteunen externe, asynchrone uitvoering van oplossers, die parallelle uitvoering van Pyomo-scripts ondersteunen. Oplosserinteractie wordt uitgevoerd met verschillende oplosserinterfaces, afhankelijk van de oplosser die wordt gebruikt. Een zeer generieke solver-interface wordt ondersteund met AMPL's nl (formaat) .
Gerelateerde software
De volgende softwarepakketten integreren Pyomo als bibliotheek ter ondersteuning van optimalisatiemodellering en -analyse:
- Met SolverStudio kunt u Excel gebruiken om optimalisatiemodellen te bewerken, op te slaan en op te lossen die zijn gebouwd met behulp van verschillende modelleringstalen, waaronder Pyomo. Pyomo wordt gebundeld met de SolverStudio- software.
- TEMOA (Tools for Energy Model Optimization and Assessment) is een open source modelleringskader voor het uitvoeren van energiesysteemanalyses. De kerncomponent van TEMOA is een optimalisatiemodel voor de energie-economie. Dit model is geformuleerd en geoptimaliseerd met behulp van Pyomo.
- MinPower is een open source toolkit voor studenten en onderzoekers in energiesystemen. Het is ontworpen om het werken met standaard voedingssysteemmodellen eenvoudig en intuïtief te maken. MinPower gebruikt Pyomo om deze modellen van het stroomsysteem te formuleren en te optimaliseren.
Zie ook
Referenties
Externe links
- Artikelen van IBM's developerWorks:
- "Pyomo ontmoet fantasievoetbal" . 2015-01-27.
- APOPT Solver voor LP-, QP-, MILP-, NLP- en MINLP-oplossingen in Pyomo
