WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Optimierung eines Kraftwerks

 

moggy81
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 07.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.06.2012, 11:36     Titel: Optimierung eines Kraftwerks
  Antworten mit Zitat      
Hallo zusammen,

habe in Matlab ein Kraftwerk simuliert (Dauer: ca. 1 min), dass ich jetzt noch hinsichtlich unterschiedlicher Parameter (Anzahl 3) optimieren will. Zielfunktion sind die Kosten, in welche zusätzlich durch die Simulation ermittelten Werte eingehen.

Die Parameter der Optimierung sollten sich nur in bestimmten Schritten ändern, z.b 0.5, und auf einem Intervall beschränkt sein.

Hab, dass ganze mit fminsearch versucht.....ist aber eher unbefriedigend.

Hat jemand eine Idee, welches Tool man dafür benutzen kann.

Matlab bzw. Optimierung ist für mich eher Neuland Sad

Bin für jeden Hilfe/Rat dankbar

Gruss Marco
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.06.2012, 12:04     Titel:
  Antworten mit Zitat      
Hallo,

bitte als zusätzliche Infos angeben, welchen Wertebereich mit welchen Inkrementen die einzelnen Parameter annehmen dürfen.

Was genau war an dem Versuch mit fminsearch unbefriedigend?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
moggy81
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 07.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.06.2012, 13:26     Titel:
  Antworten mit Zitat      
Hi Harald,

danke für die schnelle Antwort.

Hoffe ich kanns einigermaßen verständlich formulieren

Also die Parameter sind Kapazitäten einzelner Komponenten (Speicher, Solarfeld, etc):

x1=[0 .... 50] Step 1
x2=[0.... Step 4
x3=[0.... Step 0.5

diese sollen variert werden. Bei jeder Variation wird die Performance des Kraftwerk ermittelt und die Kosten(LCOE) ermittelt, welche minimiert werden sollen.

Hab mal ein paar Möglichkeiten mit ner Schleife durchlaufen:

X1 X2 X3 Obj
10 144 6 0,174298509
10 144 6,5 0,170073298
10 144 7 0,169657254
10 144 7,5 0,164286554
10 144 8 0,165036857
10 144 8,5 0,161678407
10 144 9 0,15948307
10 144 9,5 0,162958997
20 144 11,5 0,161320028
20 144 12 0,16214011
20 144 6 0,17208675
20 144 6,5 0,126143851
20 144 7 0,163551227
20 144 7,5 0,160903311


Das Problem ist, dass es zuviele lokale Minima gibt und ich keinen guten Startwert habe. Bei FMINSEARCH springt er nur in kleinen Bereichen um den Startwert rum, zumal X2 mit Step <4 auf den Zielwert keine Auswirkung hat, da es in der Simulation dann gerundet werden muss, bzw. ein vielfaches von 4 gesetzt wird.

Geht das überhaupt?

Bin grad irgendwie ratlos.(eigentlich des öfteren Smile

Gruss
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.06.2012, 13:42     Titel:
  Antworten mit Zitat      
Hallo,

leider fehlen die Maximalwerte von x2 und x3. Ich vermute jedoch, dass sie zu groß sind, als dass man jede Kombination durchprobieren könnte.

Wenn du Release 11b oder 12a und Global Optimization Toolbox hast, würde ich GA mit Integer-Nebenbedingungen ausprobieren. Dabei musst du dann die Variablen so skalieren, dass sie in Integerschritten geändert werden können. Bei älteren Releases geht das theoretisch auch, du müsstest aber viel händisch programmieren.

Wenn jede Simulation eine Minute dauert, wirst du einiges an Zeit mitbringen müssen. Eine Möglichkeit ist natürlich zu sehen, ob man die Simulation effizienter gestalten kann.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
moggy81
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 07.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.06.2012, 11:04     Titel:
  Antworten mit Zitat      
Hallo,

würde das Problem mit ga mal versuchen, blos wie geh ich da vor?
Kenn den Algorithmus nicht. Also Simulation in eine Funktion schreiben, zuvor die Inputvariablen anpassen ist klar...... nur bei den ganzen Optionen blick ich nicht durch.....kannst du mir da ein paar tipps geben.

Kann man fmincon auch verwenden bzw. kann man die constraints so schreiben das die input variablen integer sein müssen (Mod oder so)?

Sorry, dass ich mich erst jetzt wieder melde. Bin für weitere Hilfe sehr dankbar.

Gruss
Marco
Private Nachricht senden Benutzer-Profile anzeigen
 
MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 14.06.2012, 12:14     Titel:
  Antworten mit Zitat      
Hallo,

die Frage ist doch, welche Problemklasse vorliegt. Kannst du das System mit stetigen Funktionen/Differentialgleichungen beschreiben, oder liegt ein kombinatorisches Problem (Reihenfolgeproblem/Matchingproblem) vor. Ist es gar ein Stoffstromproblem -> Stromnetze?

Ich habe jetzt nicht alle Beiträge gelesen. Das müsste allerdings zunächst geklärt werden. Wenn es ein Reihenfolgeproblem ist, empfehle ich GA kombiniert mit lokaler Suche oder einen Threshold Accepting/Simulated Annealing Algorithmus, wenn die Laufzeit gering gehalten werden soll.

Grüße, Marc
Private Nachricht senden Benutzer-Profile anzeigen
 
moggy81
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 07.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.06.2012, 13:41     Titel:
  Antworten mit Zitat      
Hi Marc,

danke für die Antwort.

Ehrlich gesagt, weiß ich nicht was für ein Problem vorliegt Sad Vllt versuch ich nochmal das ganze genauer zu beschreiben.

Ziel ist das optimale Design eines Kraftwerks bezüglich der Kosten. Das Kraftwerk wird auf Stundenbasis über ein Jahr simuliert, wobei es zu jeder Stunde einen gewissen Lastbedarf performen muss. Das Kraftwerk besteht aus einem PV (Photovoltaik) Block und einem CSP (Solarthermie) Block, welcher wieder aus einem Solarfeld, einem Speicher, Brenner und Turbine zusammensetzt. Der PV Block ist relativ simple, hier wird eine Feldgröße mit einem Leistungswert multipliziert. Der Rest der Nachfrage muss jetzt vom CSP-Teil kommen. Da wird das Zusammenspiel der einzelnen Komponenten simuliert. Die Simulation enthält unterschiedliche thermische Prozesse etc. und bestimmt bezüglich der Größen vom Speicher und des Solarfelds, wieviel Energie vom einem Brenner kommen muss, um den Lastgang zu gewährleisten. Eine Jahressimulation dauert ca 1 min. sind nach der Simulation alle Größen bestimmt, werden die Kosten berechnet. Nun will ich die Größe des PV-Block, des Speichers und des Solarfelds optimieren, dass die kleinsten Kosten entstehen.
Ab hier steh ich auf dem Schlauch. Kann das ganze mit Schleifen durchlaufen, dass dauert aber ziemlich lang.

Hoffe, dass ganze war einigermaßen verständlich. Probier das jetzt mal mit ga und integern werten.

Falls jemand noch eine Idee hat, danke im voraus.

Gruss
Marco
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 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.