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 einer Kostenfunktion

 

kaos
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 26.10.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.10.2014, 13:04     Titel: Optimierung einer Kostenfunktion
  Antworten mit Zitat      
Hallo liebes Forum,

für meine Arbeit benötige ich ein Modell, das mir die optimalen Zeiträume zum Aufladen eines Elektroautos zur Minimierung der Kosten ausgibt.

Meine Fragen:
    - Ist das Problem mit der Optimization Toolbox in Matlab lösbar?
    - Welchen Minimierungsalgorithmus muss ich nehmen?
    - Nach welchen Stichwörtern muss ich suchen, um selbst auf die Lösung zu kommen?


Das Modell ist in Minuten-Zeitslots aufgeteilt für den Beobachtungszeitraum einer Woche (Montag 0 Uhr = 0, Mittwoch 9 Uhr = 2*24*60 + 9*60 = 3420)
t = 1:1:10080 (7*24*60)

Gegeben sind Strompreise pro Minute:
p(t)
length (p) = 10080

Zu minimieren ist die Ladeintensität R zum Zeitpunkt t, damit die Kosten minimal sind. (z.B. für R(200)=2 bedeutet, dass in Minute 200 an der Ladesäule mit der Intensität von 2 [kWh] geladen werden soll zum Preis p(200)=0,19 [EUR]

SOC (t) (state of charge) ist der Ladezustand zum Zeitpunkt t, d (t) bezeichnet den Strombedarf (für das Fahren) zum Zeitpunkt t. z (t) bezeichnet, ob das Auto zum Zeitpunkt t parkt (z=0) oder fährt (z=1).

Folgende mathematische Formeln habe ich identifiziert (vereinfacht):


Zielfunktion


<br />
min \sum\limits_{t=1}^n R (t) p (t) 
<br />

Nebenbedingungen


<br />
0\leq R (t) \leq z(t) Rmax
<br />

<br />
0\leq SOC (t) \leq SOCmax
<br />

<br />
SOC (t) = SOC (t-1) - d (t) + R (t)
<br />


Ich habe es bisher nicht geschafft, das Problem in Matlab zu programmieren. Schwierigkeiten habe ich hauptsächlich aufgrund der vielen zu optimierenden Variablen (10080).

Die Matrizen als Dateninput (d,p,z) habe ich als Matrizen/Vektoren in Matlab vorliegen.

Ich wäre sehr dankbar über jede Art von Hilfe, da vor 2 Wochen das erste mal mit Matlab/Programmierung allgemein in Berührung gekommen bin und Schwierigkeiten habe, an den richtigen Stellen zu suchen. Ich erwarte natürlich keinen Programmcode oder derartiges, sondern nur Orientierung!

Vielen lieben Dank schonmal im voraus!

Mit besten Grüßen
Kaos
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.10.2014, 16:00     Titel:
  Antworten mit Zitat      
Hallo,

es gibt da eine schöne Tabelle:
http://www.mathworks.de/help/optim/.....l?refresh=true#brhkghv-19

Ich würde daraus erstmal folgern, dass für dein Problem linprog am besten geeignet ist.

Die SOC-Bedingung würde ich dann umsetzen als
A*x <= [d; zeros(10080,1)];
mit
Code:
A = [1 0 0...
  1 1 0...
  1 1 1...
   ...
-1 0 0...
  -1 -1 0...
  -1 -1 -1...
   ...];

"Kleines" Problem dabei: die Matrix wird rund 1,6 GB Speicher brauchen, d.h. du brauchst entsprechend viel RAM.

Man kann die Nebenbedingung natürlich auch als nichtlineare NB interpretieren. Dann muss man fmincon verwenden.

Grüße,
Harald

P.S.: ich würde es zunächst mal mit einem kleineren Problem versuchen, z.B. stundenweise oder zumindest 10-Minuten-weise konstante Ladezeit etc.
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 - 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.