|
Marc! |

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 22.04.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.07.2016, 20:58
Titel: Optimierung mit fmincon
|
 |
|
 |
|
Hallo zusammen,
ich versuche momentan ein nichtlineares Optimierungsproblem unter Nebenbedingugnen zu lösen. Ich verwende den Solver fmincon mit dem SQP Algorithmus, der laut gefundener Literatur schon mehrfach erfolgreich auf mein Problem angewendet wurde.
Um die Robustheit zu testen erzeuge ich mir 100 Sätze von Startwerten innerhalb meiner Boundaries und lasse den Solver dann laufen. Für das Problem kenne ich die Lösung. Der Solver liefert in ungefähr 40 % der Fälle das korrekte Ergebnis. In den anderen Fällen weichen die Ergebnisse um maximal 2 % vom Sollwert ab.
Für die eigentlichen korrekten Werte wirft fmincon jedoch zwei verschiedene ExitFlags aus:
Der Fall 1, welche eine konvergierte Lösung andeutet ist nicht dabei. Fall 2 und Fall -2 treten beide sowohl bei guten Ergebnissen auf, als auch bei Ergebnissen, die stärker von der Lösung abweichen. Mit "guten" Ergebnissen meine ich hier einen Wert für meine Objective Function, mit deren Genauigkeit ich sehr gut leben kann und weiterrechnen möchte. (im Angehängtem Bild ist eindeutig das Optimum bei ca. 18,21 zu sehen) Jedoch ist die Constraint Boundary von 1e-08 oftmals überschritten. Wenn ich diese lockere kann ich keine signifikante Verbesserung feststellen. Aber in einigen Fällen wird jetzt die ExitFlag=1 ausgegeben. Die Ergebnisse weichen logischer Weise stärker vom Optimum ab.
Ein großes Problem scheint mit zu sein, dass die Stepsize Tolerance immer unterschritten und die Berechnung abgebrochen wird. Gibt es Ansätze, die hier weiterhelfen? Ich habe schon viel mit den Tolerances rumgespielt und und die Boundaries und Startwerte schon recht nah zur Lösung gewählt. Ich möchte den Solver jetzt so tunen, dass ich zuverlässig die richtige Lösung finde ohne fehlerhafte ExitFlags zu bekommen.
Ich bin für jeden Tipp sehr dankbar!
Beschreibung: |
|
 Download |
Dateiname: |
123.png |
Dateigröße: |
12.7 KB |
Heruntergeladen: |
316 mal |
|
|
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| 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.
|
|