Pyomo - Pyomo
![]() | |
| Zaprojektowany przez | Gabriel Hackebeil William E. Hart Carl Laird Bethany Nicholson John Siirola Jean-Paul Watson David Woodruff |
|---|---|
| Po raz pierwszy pojawiły się | 2008 |
| Wersja stabilna | 5.6.7 / 7 listopada 2019
|
| OS | Wieloplatformowość : Linux , Mac OS X i Windows |
| Licencja | Licencja BSD |
| Rozszerzenia nazw plików | .py |
| Strona internetowa | www |
| Wpływem | |
| Python , AMPL , ogólny system modelowania algebraicznego | |
Pyomo to zbiór pakietów oprogramowania Pythona do formułowania modeli optymalizacyjnych.
Pyomo został opracowany przez Williama Harta i Jean-Paula Watsona z Sandia National Laboratories oraz Davida Woodruffa z University of California w Davis . Znaczące rozszerzenia Pyomo zostały opracowane przez Bethany Nicholson i Johna Siirolę z Sandia National Laboratories , Carla Lairda z Purdue University oraz Gabriela Hackebeila. Pyomo to projekt open-source, który jest dostępny bezpłatnie i jest licencjonowany z licencją BSD . Pyomo jest rozwijany w ramach projektu COIN-OR . Pyomo to popularny pakiet oprogramowania typu open source, z którego korzystają różne agencje rządowe i instytucje akademickie.
Cechy
Pyomo umożliwia użytkownikom formułowanie problemów optymalizacyjnych w Pythonie w sposób podobny do notacji powszechnie stosowanej w optymalizacji matematycznej. Pyomo obsługuje zorientowany obiektowo styl formułowania modeli optymalizacyjnych, które są definiowane za pomocą różnych elementów modelowania: zbiorów, parametrów skalarnych i wielowymiarowych, zmiennych decyzyjnych, celów, ograniczeń, równań, alternatyw i innych. Modele optymalizacyjne można inicjować za pomocą danych Pythona, a zewnętrzne źródła danych można definiować za pomocą arkuszy kalkulacyjnych , baz danych , różnych formatów plików tekstowych. Pyomo obsługuje zarówno modele abstrakcyjne, które są definiowane bez danych, jak i modele konkretne, które są definiowane z danymi. W obu przypadkach Pyomo pozwala na rozdzielenie modelu i danych.
Pyomo obsługuje dziesiątki solverów , zarówno open source, jak i komercyjnych, w tym wiele solverów obsługiwanych przez AMPL , PICO, CBC , CPLEX , IPOPT , Gurobi i GLPK . Pyomo może wywoływać solver bezpośrednio lub asynchronicznie za pomocą menedżera solvera. Menedżerowie Solver obsługują zdalne, asynchroniczne wykonywanie solverów, co umożliwia równoległe wykonywanie skryptów Pyomo. Interakcja Solvera odbywa się za pomocą różnych interfejsów solvera, w zależności od używanego solvera. Bardzo ogólny interfejs solwera jest obsługiwany przez nl (format) AMPL .
Powiązane oprogramowanie
Następujące pakiety oprogramowania integrują Pyomo jako bibliotekę wspierającą modelowanie i analizę optymalizacji:
- SolverStudio pozwala używać programu Excel do edycji, zapisywania i rozwiązywania modeli optymalizacyjnych zbudowanych przy użyciu różnych języków modelowania, w tym Pyomo. Pyomo jest dołączony do oprogramowania SolverStudio .
- TEMOA (Tools for Energy Model Optimization and Assessment) to platforma modelowania typu open source do przeprowadzania analiz systemów energetycznych. Podstawowym elementem TEMOA jest model optymalizacji gospodarki energetycznej. Model ten został opracowany i zoptymalizowany przy użyciu Pyomo.
- MinPower to zestaw narzędzi typu open source dla studentów i badaczy systemów zasilania. Został zaprojektowany tak, aby praca ze standardowymi modelami systemów zasilania była prosta i intuicyjna. MinPower używa Pyomo do formułowania i optymalizacji tych modeli systemów zasilania.
Zobacz też
Bibliografia
Zewnętrzne linki
- Artykuły od IBM developerWorks:
- „Pyomo spotyka Fantasy Football” . 2015-01-27.
- APOPT Solver dla rozwiązań LP, QP, MILP, NLP i MINLP w Pyomo
