|
|
Optimierung eines Smart-Home |
|
tporsi |

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 15.06.09
|
 |
|
 |
Wohnort: Berlin
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.06.2014, 13:36
Titel: Optimierung eines Smart-Home
|
 |
|
 |
|
Hallo an alle,
ich hab da mal ein etwas längeres Problem:
Ich habe ein Simulink-Modell eines kleinen Smart-Home. Darin sind die Elemente PV-Anlage, Elektroauto, Bezug aus dem Netz, ein Speicher und ein Mini-BHKW.
In dem Modell kann ich die Größe der PV-Anlage (installierte Leistung), die Größe des Speichers (Energie und Leistung) und die Größe des Mini-BHKWs (installierte Leistung) variieren.
Das Modell gibt mir folgende Dinge aus
1.) wurde mein Elektroauto vollständig geladen (true/false)
2.) Unterschied zwischen gewünschtem Bezug aus dem Netz (vorher von mir definiert) und tatsächlichem Bezug als Fehlerkurve/Vektor im Sekundentakt
3.) Unterschied zwischen theoretischer PV-Leistung und im Smart-Home genutzter PV-Leistung auch als Fehlerkurve/Vektor im Sekundentakt
Ich möchte nun die Elemente Speicher und Mini-BHKW so minimieren, dass 2.) immer 0 ist, also der Bezug aus dem Netz wie vorgegeben passiert und 3.) auch minimieren, sodass ich möglichst keine PV-Leistung abregele.
Meine Eingaben sind für das Modell folgende:
Und die Ausgaben:
Auto geladen (0 oder 1)
Fehler_Netzbezug (Kurve im Sekundentakt)
Fehler_PV (Kurve im Sekundentakt)
Meine Idee ist jetzt, jeweils die Summe der Quadrate der beiden Kurven zu minimieren und dabei die Randbedingung 'Auto_geladen = true' einzuhalten. Wobei das Ergebnis dann das Minimum für alpha1, alpha2 und alpha3 wäre.
Da ich keine Ahnung von Optimierung habe und das erst recht in Matlab nicht, wollte ich mal fragen, ob ich hier ein sehr kompliziertes Problem habe und ob ihr mir helfen könnt?
Vielen Dank
Tobias
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 06.06.2014, 13:51
Titel:
|
 |
Hallo,
schau dir mal fmincon an.
Am problematischsten würde ich sehen, dass du mit (nur) 3 veränderlichen Parametern eine Kurve in Einklang mit der Sollkurve bringen möchtest. Das kann eigentlich nur klappen, wenn sich im wesentlichen das Simulink-Modell "darum kümmert" und nur sicherzustellen ist, dass die Anlage das überhaupt erfüllen kann.
Grüße,
Harald
|
|
|
tporsi |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 15.06.09
|
 |
|
 |
Wohnort: Berlin
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.06.2014, 13:57
Titel:
|
 |
Durch fmincon werde ich mich direkt mal durcharbeiten.
Ein Beispiel zu dem Hinweis mit den Kurven. Wenn ich einen riesigen Speicher einsetze (z.B. mit 1000 kWh und 100 kW) dann kommt raus, dass ich keine Probleme habe, da die Kurven eingehalten werden. Wenn ich allerdings einen kleinen Speicher habe (10 kWh, 10 kW), dann wird Mittags die PV-Leistung eingesenkt und dafür am Abend der Netzbezug verändert. Das passiert aber alles im Simulink-Modell. Ich bekomm am Ende die Fehlerkurve angezeigt.
Aber wie gesagt, ich guck jetzt erst mal fmincon durch.
Danke
|
|
|
tporsi |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 15.06.09
|
 |
|
 |
Wohnort: Berlin
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.06.2014, 19:48
Titel:
|
 |
Also ich habe jetzt folgende Funktion als Vereinfachung erstellt:
wobei die Constanten nur multipliziert werden und dann der Absolutwert gebildet wird. Bei einer Minimierung muss also 0 0 rauskommen. Händisch klappt das auch wunderbar.
Wenn ich jetzt diese Funktion folgendermaßen aufrufe:
dann sagt er mir immer:
Ich finde auch nach längerem probieren meinen Fehler nicht. Ich denke, ich bin mit diesem Beispiel schon dicht an meinem eigentlichen Problem dran, sodass der Rest dann klappen könnte.
Danke
|
|
|
tporsi |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 15.06.09
|
 |
|
 |
Wohnort: Berlin
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.06.2014, 20:06
Titel:
|
 |
okay, nachdem ich die function leicht angepasst habe
läuft es durch. Auch, wenn ich [0;0] noch nicht als Ergebnis bekomme
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 06.06.2014, 20:13
Titel:
|
 |
Hallo,
um dir damit helfen zu können, wäre das Modell hilfreich.
Grüße,
Harald
|
|
|
tporsi |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 15.06.09
|
 |
|
 |
Wohnort: Berlin
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.06.2014, 20:15
Titel:
|
 |
wie gesagt, ein sehr einfaches Modell. Und ohne dieses Modell läuft es wunderbar. Also wenn ich die Gleichung in Matlab direkt programmiere. Nur hilft mir das ja leider nicht, da ich mein Modell ja in Simulink erstellt habe.
Ne Idee, wo der Fehler liegt?
Beschreibung: |
|
 Download |
Dateiname: |
Optim_Test.slx |
Dateigröße: |
12.1 KB |
Heruntergeladen: |
342 mal |
|
|
|
tporsi |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 15.06.09
|
 |
|
 |
Wohnort: Berlin
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.06.2014, 22:23
Titel:
|
 |
Der Fehler lag in den constants. Da hab ich bei der Übergabe noch irgendwie geschlafen. Läuft jetzt alles.
Vielen Dank für die Unterstützung
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|