|
|
fmincon optimalitätsbedingungen |
|
beck2play |
Forum-Newbie
|
|
Beiträge: 1
|
|
|
|
Anmeldedatum: 02.12.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.12.2015, 16:13
Titel: fmincon optimalitätsbedingungen
|
|
|
|
|
Hallo,
ich muss im Rahmen einer Arbeit einen modifizierten SQP-Algorithmus programmieren. Bei manchen Problemen funktioniert alles, bei manchen hänge ich mich in der while-Schleife auf, weil die Optimalitätsbedingung erster Ordnung (grad(f) + multiplikatoren * grad(nebenbedingungen)) nicht erfüllt ist. Witzigerweise stimmen meine Iterierten und Multiplikatoren (bis auf Nachkommastellen im Bereich 10^-6) mit der Lösung von fmincon überein.
Ich habe also die Lösung von fmincon (Genauigkeit im solver 10^-12) in meine Abbruchbedingung eingesetzt und bekomme annähernd den gleichen Vektor, dessen Norm (ca 2.4*10^-2) nicht besonders befriedigend ist (getestet mit symbolischen, sowie numerischen Funktionen). Da fmincon auch mit dividierten Differenzen arbeitet habe ich matlab mittels 'GradConstr','on' in den optimoptions gezwungen meine Jacobimatrizen zu benutzen. Es kommt wieder eine fast identische Lösung heraus und beim Test ist die Norm unverändert.
In der Matlabhilfe zu fmincon bzw. allgemein zu Optimalität erster Ordnung ist als Abbruchbedingung aber genau der Test angegeben, den ich benutzt habe (auch bekannt als KKT-Bedingungen).
Daher meine Frage: Was benutzt matlab in der fmincon Routine (bzw. allgemein, da mein manueller Test etwas anderes ausspuckt) als Abbruchbedingung?
Mein Code für die Lösung durch matlab, sowie der anschließende Test sind im Anhang.
Bin für jede Hilfe dankbar
Beschreibung: |
|
Download |
Dateiname: |
matlab_fmincon_h73.m |
Dateigröße: |
1.23 KB |
Heruntergeladen: |
507 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 - 2024
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.
|
|