Pyomo - Pyomo

Pyomo
Logo Pyomo bez tekstu.png
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 ; 13 lat temu ( 2008 )
Wersja stabilna
5.6.7 / 7 listopada 2019 ; 22 miesiące temu ( 2019-11-07 )
OS Wieloplatformowość : Linux , Mac OS X i Windows
Licencja Licencja BSD
Rozszerzenia nazw plików .py
Strona internetowa www .pyomo .org
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