Die drei Teile eines Optimierungsproblems

← Learning Hub Lektion 1 · Batterieoptimierungs-Kurs · Geschätzte Dauer: 10 Minuten

Du hast eine Batterie. Strompreise ändern sich stündlich. Du willst so viel Geld wie möglich verdienen, indem du entscheidest, wann du lädst (günstig kaufen) und entlädst (teuer verkaufen). Das ist es — das ist ein Optimierungsproblem.

Jedes Optimierungsproblem hat genau drei Zutaten. Lerne diese, und du kannst jede Entscheidung als Optimierungsproblem formulieren — nicht nur für Batterien.

1. Entscheidungsvariablen — „Was kann ich steuern?"

Das sind die Stellschrauben, an denen du drehen kannst. Für eine Batterie, die 24 Stunden betrieben wird, sind deine Entscheidungen:

p_laden[t]    = Ladeleistung in Stunde t   (MW)
p_entladen[t] = Entladeleistung in Stunde t (MW)

Die Aufgabe des Optimierers ist es, die besten Werte für diese Variablen zu finden. Alles andere (Preise, Batteriegröße, Wirkungsgrad) ist ein Parameter — vorgegeben, nicht gewählt.

Wichtige Unterscheidung: Entscheidungsvariablen werden vom Optimierer gewählt. Parameter sind feste Eingaben. Diese zu verwechseln ist der häufigste Anfängerfehler.

2. Zielfunktion — „Was maximiere oder minimiere ich?"

Die Zielfunktion ist eine einzelne Zahl, die dem Optimierer sagt, wie gut eine Lösung ist. Für eine Batterie im Day-Ahead-Markt ist es schlicht der Erlös:

maximiere:  Σ  preis[t] × (p_entladen[t] − p_laden[t])  für t = 1..24

Beim Entladen verkaufst du zu preis[t]. Beim Laden kaufst du zu preis[t]. Der Optimierer findet das Lade-/Entlademuster, das diese Summe maximiert.

Nur eine Zielfunktion. Du kannst nicht gleichzeitig Erlös maximieren und Degradation minimieren — du musst dich für eines entscheiden (oder beides in einer gewichteten Summe kombinieren). Das ist eine Grundregel der linearen Programmierung.

3. Nebenbedingungen — „Welche Regeln muss ich einhalten?"

Nebenbedingungen sind die physikalischen und vertraglichen Grenzen, die der Optimierer respektieren muss. Ohne sie würde er einfach sagen: „Entlade unendlich viel Leistung zum Spitzenpreis." Einige Batterie-Nebenbedingungen:

Der Parameter η (Eta) ist der Gesamtwirkungsgrad — typischerweise 0,85–0,92 für Lithium-Ionen. Dies ist ein Parameter, keine Entscheidungsvariable.

Alles zusammen

Hier die vollständige Struktur einer einfachen Batterie-Day-Ahead-Optimierung:

Gegeben (Parameter):
  preis[t]   — Day-Ahead-Preis für jede Stunde (€/MWh)
  P_max      — Max. Lade-/Entladeleistung (MW)
  E_max      — Energiekapazität der Batterie (MWh)
  η          — Gesamtwirkungsgrad
  SoC_init   — Anfangsladezustand (MWh)

Finde (Entscheidungsvariablen):
  p_laden[t], p_entladen[t]  für t = 1..24

Maximiere (Zielfunktion):
  Σ preis[t] × (p_entladen[t] − p_laden[t])

Unter den Nebenbedingungen:
  0 ≤ p_laden[t] ≤ P_max
  0 ≤ p_entladen[t] ≤ P_max
  SoC[t] = SoC[t-1] + η×p_laden[t] − p_entladen[t]/η
  0 ≤ SoC[t] ≤ E_max
  SoC[0] = SoC_init
Das war's. Diese 10-Zeilen-Formulierung ist der Kern jedes Batterieoptimierungssystems in der Praxis. Alles andere — mehrere Märkte, Degradation, Unsicherheit — ist eine Erweiterung dieser Struktur.

Überprüfe dein Verständnis

Welches der folgenden ist in der obigen Formulierung eine Entscheidungsvariable?

Warum kann der Optimierer nicht einfach in der teuersten Stunde mit maximaler Leistung entladen und sonst nichts tun?

Wenn du möchtest, dass der Optimierer auch die Batterie-Degradation minimiert, was müsstest du ändern?

Wie geht es weiter

Du kennst jetzt die Anatomie jedes Optimierungsproblems. In Lektion 2 werden wir genau diese Formulierung in Python implementieren — mit der Pyomo-Bibliothek und dem HiGHS-Solver — und sie mit echten Day-Ahead-Preisdaten ausführen.

📖 Empfohlene Lektüre

Boyd & Vandenberghe, Convex Optimization, Kapitel 1 (S. 1–15) — „Introduction" gibt die formale Definition eines Optimierungsproblems und die Intuition dahinter. Kostenloses PDF. Lies nur die ersten 15 Seiten.

💬 Fragen? Irgendetwas unklar bei Zielfunktionen, Nebenbedingungen oder Entscheidungsvariablen? Frag deinen Lehrer — dafür bin ich da. Besonders wenn die Notation verwirrend ist oder du sehen willst, wie eine bestimmte reale Batterie-Nebenbedingung in dieses Framework passt.

Rechtliches: Impressum