Philipp Hannemann (Uni Leipzig): Pyomo

Werbung
Pyomo – Optimierung mit Python
Strommarkt-TechTalk – Berlin – 20.02.2015
Philipp Hanemann
Professur für Energiemanagement und Nachhaltigkeit
Institut für Infrastruktur und Ressourcenmanagement - IIRM
Universität Leipzig
Philipp Hanemann
1
Warum Python?
• Open source
• Vollwertige Programmiersprache (high level)
• Vektorrechnung (Numpy, Scipy)
• Zeitreihen (Pandas)
• Optimierung (cvx-opt, Pyomo)
• viele andere Libraries
• große Community  dynamische Entwicklung
Ein Tool für alles
Philipp Hanemann
2
Pyomo (http://www.pyomo.org/ - new )
„The goal of Pyomo is to provide a platform for expressing optimization models that
supports the central ideas of modern algebraic modeling languages within a
framework that promotes flexibility, extensibility, portability, and maintainability.”
Latest version: 4.0 (22nd January 2015)
Model Input
In Python everything is an object!!!
Real system
Model instance (object)
Concrete model
Abstract model
Solver
Presolve
Parse to solver
Output
Solve
Results / further data manipulation
Philipp Hanemann
3
Concrete Model
Problem
max
Pyomo library
3 x1  5 x2
Model object
x1  4
x2  6
3x1  2 x2  18
Model
specifciation
s.t.:
x1  0, x2  0
Model
instance
Solver specification
Model solve
Philipp Hanemann
4
Abstract Model
Problem
3 x1  5 x2
max
x1  4
x2  6
3x1  2 x2  18
Sets: V columns, R rows
s.t.:
Parameters for: c, A, b
x1  0, x2  0
𝑜𝑏𝑗 =
𝑐𝑖 ∗ 𝑥𝑖
𝑖∈𝑉
𝑇
max 𝑐 𝑥 | 𝐴𝑥 ≤ 𝑏, 𝑥 ≥ 0
with 𝐴𝜖ℝ𝑚,𝑛 , 𝑏𝜖ℝ𝑚 , 𝑐𝜖ℝ𝑛
𝑎𝑖 ∗ 𝑥𝑖 ≤ 𝑏𝑟 ∀ 𝑟 ∈ 𝑅
𝑖∈𝑉
Input data
Philipp Hanemann
5
Kontakt
Philipp Hanemann
Professur für Energiemanagement und Nachhaltigkeit
Wirtschaftswissenschaftliche Fakultät
Universität Leipzig
Grimmaische Str. 12
D-04109 Leipzig
Tel.: 0341/97 33858
[email protected]
www.wifa.uni-leipzig.de/iirm
Philipp Hanemann
6
Herunterladen