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

Weitere Nebenbedingung für fmincon

 

square
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 01.11.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.11.2016, 14:04     Titel: Weitere Nebenbedingung für fmincon
  Antworten mit Zitat      
Hallo,

ich möchte gern einen Flüssigkeitsspeicher mit angeschlossener Pumpe simulieren. Immer wenn Flüssigkeit aus dem Speicher Austritt ist die Pumpe an-> Verbraucht Strom-> Verursacht kosten.

Mittels Optimierung soll das günstigste Verhalten der Pumpe bestimmt werden. Es soll also ein Fahrplan für die Pumpe erstellt werden, der mit möglichst geringen Kosten verbunden ist.

Die Zustände im Speicher(Füllstand(Ein-/Austritt), Pumpenleistung(Austritt) und Preis Austritt (t)) habe ich mittels DAE implementiert. Eine Kostenfunktion löst das DAE mit ode15s und berechnet die Kosten. Nun sollen die Kosten bzw. Kostenfunktion durch die Optimierung des Ausflusses mit fmincon minimiert werden.

Dabei tritt das Problem auf, dass der Speicher sich einfach füllt und nichts heraus fleißt. Wie kann ich also solche indirekten Nebenbedingungen berücksichtigen?
Mit dem Functionsaufruf
Code:
%
[kosten, fp]= fmincon(@sumcost,fp,[],[],[],[],[],[],@conineq,opt)
 

ist es möglich Un-/Gleichungsnebenbedingunen auf zustellen. Diese beziehen sich jedoch stets auf die zu optimierende Variable. und nicht auf andere Nebenbedingungen. Wie ist es also Möglich weitere Nebenbedingungen wie min/max Speichervolumen einfließen zu lassen auch wenn diese nicht direkt von der zu optimierenden Variable abhängen.

Ich hoffe ich konnte mich verständlich ausdrücken. Danke schonmal für das Lesen.
MfG
Private Nachricht senden Benutzer-Profile anzeigen


square
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 01.11.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.11.2016, 11:06     Titel:
  Antworten mit Zitat      
Hallo,
nach langem suchen habe ich nun eine Lösung des Problems gefunden.
Das oben beschriebene Problem ist ein Mixed integer Problem. (gemischt ganzzahliges Gleichungssystem)

Dieses kann nicht von Fmincon gelöst werden.

Wie gesagt nach langer Suche bin ich auf die Matlab funktion
Code:
x = intlinprog(f,intcon,A,b,Aeq,beq,lb,ub,options)


gestoßen. Diese löst ein Gleichungssystem der Form A*x=b bzw. A*x<=b aber mehr dazu in der Doku der Funktion.

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