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: Wertebereich einschränken

 

Matthe99

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2015, 10:15     Titel: Optimierung: Wertebereich einschränken
  Antworten mit Zitat      
Hallo,

ich versuche den Betrieb von mehreren KWK-Anlagen mithilfe von Matlab zu optimieren. Momentan verwende ich dafür die Funktion linprog. Mehrere KWK-Anlagen sollen den Wärmebedarf ihres eigenen Gebäudes decken und gemeinsam möglichst einen gewissen Stromverbrauch über den Tag hinweg decken.

Ich scheitere an folgender Problematik: Eine Anlage soll entweder "aus" sein oder Leistung in einem gewissen Bereich produzieren (z.B. zwischen 1 und 2 kW). Ich würde als gerne als untere Grenze 0 haben, als obere Grenze 2, jedoch die Werte zwischen 0 und 1 ausschließen.

Kann mir hierbei jemand helfen? Muss ich eine andere Funktion verwenden?

Vielen Dank schonmal im voraus!

Viele Grüße,
Matthias


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 15.09.2015, 11:15     Titel:
  Antworten mit Zitat      
Hallo,

wieviele Dimensionen hat der zu optimierende Vektor denn? Wenn die Dimensionen überschaubar sind (sagen wir < 10), dann wird es am einfachsten sein, alle an/aus - Kombinationen in einer for-Schleife durchzuprobieren und jeweils die an-Parameter zu optimieren.
Kann denn zwischen 1 und 2 wirklich kontinuierlich variiert werden? Falls nicht, wäre das ein Fall für intlinprog .

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2015, 12:23     Titel:
  Antworten mit Zitat      
Danke für die schnelle Antwort.

Es sind deutlich mehr als 10 Variablen.

Grundsätzlich ist es möglich kontinuierlich zu variieren, aber eine Annäherung mit intlinprog wäre schon denkbar. Das Problem ist, dass es auch Anlagen gibt die z.B. zwischen 1,5 und 4,7 kW variieren können. Dann müsste ich die Werte vor 1,5 (oder dann eben 15 mit intlinprog) wieder irgendwie ausklammern...

Viele Grüße,
Matthias
 
Harald
Forum-Meister

Forum-Meister


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

dann bleibt an sich nur genetischer Algorithmus für an/aus, und als Fitnessfunktion nochmal ein linprog für die eingeschalteten.

Denkbar sind auch Mischstrategien, also z.B. dass man für die an/aus-Kombinationen erst mal nur minimale und maximale Leistung testet und dann nur für die beste an/aus-Kombination nochmal eine "richtige" Optimierung durchführt.

Je mehr du über das genaue Problem und die Zielfunktion sagen kannst, desto besser. Denkbar wäre ja z.B. auch, dass man nicht an/aus an sich optimiert, sondern eine wie auch immer geartete Bedingung (x > x0 --> an, x < x0 --> aus, und das x0 wird optimiert).

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.09.2015, 10:22     Titel:
  Antworten mit Zitat      
Hallo Harald,

sorry für die späte Antwort, ich habe jetzt ein bisschen rumprobiert und eine für mich passende Lösung gefunden. Danke für deine Hinweise, ich habe es jetzt mit intlinprog gelöst.

Und zwar so, dass es jetzt für eine Anlage die z.B. eine elektrische Leistung zwischen 1,5 und 2 kWel hat je eine Variable für die Stufe 1,5 und eine Variable für die Stufe 2kW gibt. Beide können nur "an" (1) oder "aus" (0) sein, über die Nebenbedingungen wird die erste Stufe dann mit 1,5, die zweite Stufe mit 2 multipliziert und sichergestellt, dass nicht beide Stufen zur gleichen Zeit "an" sind. Die Stufenschritte kann man dann beliebig klein machen, muss man halt dann davon abhängig machen wie lange die Optimierung dauern soll.

Viele Grüße,
Matthias
 
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 - 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.