Verfasst am: 01.11.2016, 14:04
Titel: Weitere Nebenbedingung für fmincon
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
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
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
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
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.