Benachrichtigungen
Alles löschen

Wahl des Algorithmus

10 Beiträge
7 Benutzer
1 Reactions
471 Ansichten
(@augomat)
Newbie
Beigetreten: Vor 1 Monat
Beiträge: 2
Themenstarter  

Hi!

Hab mir den Code ein ganz kurz angesehen, wie im Podcast erwähnt verwendest du ja einen evolutionären Algorithmus.
Kannst du vielleicht kurz den Hintergrund dieser Algorithmus-Wahl erklären?

Hintergrund der Frage: Wie verhält sich die Performance Algorithmus wenn der Suchraum vergrößert wird (zB optimierung über mehrerer Tage oder mehrerer Verbraucher, oder auch kontinuierliche Werte für Ladeleistungen).

Könnte man dafür einen Simplex verwenden, oder ein Gradienten-basiertes Verfahren?

Lg,
Georg


   
Zitat
Schlagwörter für Thema
(@normannk)
Newbie
Beigetreten: Vor 1 Monat
Beiträge: 2
 

Ich bin dafür zwar nicht verantwortlich, aber ich hätte den auch gewählt. Daher versuche ich mich mal an einer Antwort.
Der Suchraum ist durch die Vielzahl an Einflussfaktoren (PV-Prognose, Strompreis, Lastprofil, mehrere steuerbare Verbraucher) und deren Nicht-Linearität sehr groß. Evolutionäre Algorithmen sind robust gegenüber hochdimensionalen und komplexen Suchräumen, da sie durch ihre stochastische Natur auch bei großen Problemgrößen gute Lösungen finden können, ohne lokale Optima zu stark zu bevorzugen.

Aber da die Optimierung viel Rechenzeit verschlingt, wäre es interessant auch mal andere Algorithmen zu sehen. Evtl könnte man die auch kombinieren um z.B. Gute Kandidaten für eine Lösung schneller zu finden.

Kennst du dich da evtl aus?

Lg


   
AntwortZitat
drbacke
(@drbacke)
Mitglied Admin
Beigetreten: Vor 7 Jahren
Beiträge: 1145
 

Der Problem ist leider nichtlinear, damit sind dann alle linearen Verfahren raus 🙁 Gradienten können wir nicht berechnen (höchstens numerisch und das wird vermutlich noch teurer) und die Gefahr sich in einem lokalen Minimum festzufressen ist hier auch sehr hoch. Aber man kann gerne mal überlegen ob uns da noch was schlaueres einfällt. Es wäre eine Kombination mit einem kleinen ML Model denkbar, das würde es erheblich beschleunigung. Ansonsten wäre es vermutlich sinnvoller mehr Speed rauzszuholen, dann ist das evolutionäre auch egal.

Viele Grüße
Andreas


   
AntwortZitat
(@augomat)
Newbie
Beigetreten: Vor 1 Monat
Beiträge: 2
Themenstarter  

Hab mir, um mich ein bisschen einzudenken in das Problem, EMHASS angesehen.
Die sind relativ überzeugt davon, dass das ein lineares Problem ist:
Link entfernt

Habs noch nicht ausprobiert, nur ein bisschen doku gelesen, aber soweit ich sehe, können die auch relativ viel (also zB Verbrauchsvorhersage wo verschiebbare Lasten ausgenommen sind).

Welche konkreten Optimierungen könnten wir dann mit EOS mehr/besser lösen, weil wir eben keine linearen constraints haben müssen?

Das evolutionäre Algorithmen weniger anfälliger sind gegenüber lokalen Minima (sofern es diese in bedeutender Anzahl gibt), ist in jedem Fall ein Vorteil.


   
AntwortZitat
(@almato0)
Newbie
Beigetreten: Vor 4 Wochen
Beiträge: 1
 

Hallo in die Runde.

ähnlich zu den evolutionären Algorithmen sind stochastische Methoden.

Bei sehr komplexen und nichtlinearen Modellen kann man Monte Carlo Simulation verwenden. Schaut mal unter "Arie Dubi Israel" in Google nach, ist schon etwas älter, aber immer noch gut! Damit wurden hochkomplexe Prozesse bei Militär und Bahn untersucht, zum Beispiel die sichere Maintenance und Einsatzbereitschaft von Militärflugzeugen der israelischen Luftwaffe geplant. Stochastische Simulation nutzt man auch bei der Crash Simulation, die extrem nichtlinear sein kann. Man baut dabei ein nahezu beliebig komplexes Modell mit n Modellvariablen auf. Jede Variable besitzt aber in der Realität/im Test so gut wie nie den idealisierten Modell(mittel)wert, sondern weicht in der Regel davon ab in Form einer Wahrscheinlichkeitsverteilung um einen Mittelwert herum (zB für Blechdicke, Dummyposition, Crash-Geschwindigkeit); meist aber ist es eine Gaußverteilung. Eine Besonderheit sind Designvariablen, diese können zum Beispiel auch gleichverteilt sein in Designbereich. Dann macht man m Simulationen mit m Modellen, wobei man für jede der m Simulationen alle Variablen per Zufallsgenerator berechnet und einsetzt. Konkret wird für jede der n Variablen ein m-ter Wert per Zufallsgenerator so berechnet, dass die Wahrscheinlichkeitsverteilung für alle m Werte der Variable wieder deren definierter Wahrscheinlichkeitsverteilung entspricht (Beispiel für m=10, Stahldicke ist 10,0mm+-1,0mm --> Werte sind ähnlich 10,3; 10,8; 8,9; 10,1; 9,7; 9,2; 9,7;10,2; 11,0; 10,1 geschätzt, dies sollte grob eine Gaußverteilung ergeben;) Das macht man ähnlich für alle anderen der n Variablen. Man erhält so m realitätsnahe Modelle. Mit diesen m Modellen führt man die m Simulationen (mit Variation der n Variablen) durch und erhalt dann m Ergebnissätze mit p Ergebniswerten, (Ergebniswerte sind zB Kopfverletzungsschwere, Beschleunigung,..). Da m Simulationen durchgeführt wurden, erhält man m * p Ergebniswerte. Diese kann man grafisch auftragen, als Kurven, Ergebniswolken, Dichtefunktionen darstellen oder über Korrelationsanalysen (Input-Input, Input-Output, Output-Output) weiter untersuchen. Die Methode hat den Vorteil, dass der Rechenaufwand nicht exponentiell ansteigt mit der Parameterzahl! Eigentlich kann man fast beliebig komplexe Probleme damit lösen, auch wenn sie nichtlinear sind. Man muss nur die Eingangsvariablen und Designvariablen kennen oder schätzen und deren Verteilung in der Simulation berücksichtigen. Genial wird es, wenn man mit Hilfe von Designvariablen eine stochastische Optimierung durchführt. Diese kann ähnlich wie beim evolutionären Algorithmus in mehreren Schritten stattfinden. Besonders interessant sind auch die Robustheitsuntersuchungen mit dieser Methode, die Robustheit ist oft aus "Ergebniswolken" deutlich erkennbar. 

Ich bin überzeugt davon, dass man damit dieses komplexe oben beschriebene Problem lösen kann und Zustandswahrscheinlichkeiten für nahezu beliebige Szenarien berechnen kann.

Wir haben die Methode "Stochastic Optimization and Robustness Management"  vielfach erfolgreich im Bereich der Fahrzeugsicherheit verwendet. Arie Dubi im Logistik und Militärbereich. Man kann sie auch zur Bildung von virtuellen Testergebnissen als Training für KI einsetzen, zB für das autonome Fahren. Warum jetzt nicht auch im Energiebereich?

Eine Software dazu findet man unter Complexity Management: Link entfernt

Ich glaube, fähige Programmierer können das selbst entwickeln.

 


   
AntwortZitat
Carolus
(@carolus)
Famous Member Admin
Beigetreten: Vor 3 Jahren
Beiträge: 8397
 

Links, Programmcode, PN und Anhänge sowie der Zugang zum eigenen Profil sind wegen Spamabwehr für die ersten 3 Posts nicht freigeschaltet.

Lesenswert:

https://www.akkudoktor.net/forum/postid/206307/

Links und Code werden aus dem Beitrag automatisch entfernt, dabei gibt es gelegentlich ganz korrupte Fäden, deren Herstellung uns viel Arbeit macht und nicht ohne Verluste abgeht.

Also bitte  erst drei Posts!

Ich bin kein Amateur, aber ich lerne trotzdem noch.
Bürokratie schafft man nicht durch neue Regeln oder Gesetze ab.


   
AntwortZitat
drbacke
(@drbacke)
Mitglied Admin
Beigetreten: Vor 7 Jahren
Beiträge: 1145
 

@augomat EMHASS hat einen ganz anderen Ansatz. Ich hab jetzt wenig Lust die Gleichungen hinzuschreiben, aber ich bin mir relativ sicher, dass die NL sind. Das ist aber aktuell nicht wirklich das große Problem.

Stochastische OPtimierungsmethoden sind ja das was wir bei uns in der Forschung auch verwenden, das könnte auf Dauer sehr spannend werden. Aktuell benötigen wir das aber noch nicht. Wir nutzen einen EGO Algorithmus, ich finde den analytisch sehr gut nachvollziehbar. 

Aber das Verfahren hat hier wirklich eine eher untergeordnete Rolle, die Simulation des Systems ist wichtiger und auch die APIs usw. 

Viele Grüße
Andreas


   
JensDecker reacted
AntwortZitat
bofh
 bofh
(@bofh)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 3
 

Mit EMHASS versuche ich auch schon ein wenig herumzuspielen.

 

Ich habe aber schon mit meiner zu komplexen PV Anlage deren config Möglichkeiten gesprengt... und mein ungewöhnliches Lastprofil schmeckt dem ML forecaster auch nicht...

Da ich hier noch nicht genug Beiträge habe,  kann ich keinen Link zu dem Drama dort posten.

 

Also: wenn ihr noch einen etwas komplexen Testfall braucht, teste ich gerne. Aktiv entwickeln kann ich nicht, da bin ich zu lange raus. 

 

Anlage:
24,9 kWp auf 4 Dächern (Ost-West), 58 Module 430 Wp JA Solar bifacial
2x Deye SUN-10K-SG01HP3-EU-AM2 Hochvolt-Inverter
1x 15 kWh Enerlution GroundHV-2500
Steuerung über HomeAssistant per RS485-ETH (Sunsynk/Deye Addon / Solarman)
Github/HA Forum: bofh42


   
AntwortZitat
ThomasW69
(@thomasw69)
Vorsichtiger Stromfühler
Beigetreten: Vor 3 Jahren
Beiträge: 98
 

Wenn wir hier schon mal bei Algorithmen sind hätte ich eine Frage an Andreas.

Wie berechnest du die Prognose für deinen Stromverbrauch für die nächsten 24h? Nimmst du da Regressionsmodelle wie zum Beispiel ein ganz normales ARIMA oder steckt da mehr dahinter?

Ich hatte schon mal überlegt, ob man da nicht besser mit neuronalen Netzen bei denen man eventuell noch andere Einflussgrößen wie Temperatur, Niederschlag und Feiertage mit einbezieht, besser fährt. Ich hatte da so an VAR (vector autoregression) oder besser LSTM gedacht.    


   
AntwortZitat
drbacke
(@drbacke)
Mitglied Admin
Beigetreten: Vor 7 Jahren
Beiträge: 1145
 

@thomasw69 ist ein total billiges Stochastik Modell. 

Alles Basis eine Art tägliches SLP (selbst erzeugt) und das korrigiere ich mit historischen Daten. 

Ein lstm oder ähnliches mit zusätzlichen Inputs wäre denkbar. Wobei das einfache Modell auch Varianz zurückgibt und eigentlich gut funktioniert. Prio ist da eher niedrig

Viele Grüße
Andreas


   
AntwortZitat
Teilen: