|
|
Optimization TB: Keine analytische Zielfunktion |
|
Buhmann |

Forum-Anfänger
|
 |
Beiträge: 30
|
 |
|
 |
Anmeldedatum: 25.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 25.05.2011, 09:57
Titel: Optimization TB: Keine analytische Zielfunktion
|
 |
Hallo zusammen!
Ich möchte in Matlab eine Zielfunktion minimieren, von der ich keinen analytischen Ausdruck vorliegen habe. Ich habe ein externes Programm, dem ich Eingabewerte übergebe, zu denen mir das Programm dann einen Ausgabewert liefert, der minimiert werden soll.
In allen Beispielen, Anwendungen usw. wird aber immer vorausgesetzt, dass ich die Hessematrix oder die Ableitungen i.a. berechnen und dem Algorithmus zur Verfügung stellen kann.
Kann mir jemand sagen, wie ich die Optimization TB zur Lösung meines Problems einsetzen kann?
Vll. kann mir auch jemand sagen, um was für ein(e) Problem(klasse) es sich dabei handelt, vielleicht hab ich bisher einfach nur nach den falschen Stichwörtern gegooglet?
Gruß
Chris
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.495
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 25.05.2011, 10:08
Titel:
|
 |
Hallo,
Zitat: |
In allen Beispielen, Anwendungen usw. wird aber immer vorausgesetzt, dass ich die Hessematrix oder die Ableitungen i.a. berechnen und dem Algorithmus zur Verfügung stellen kann. |
Das ist bei den Algorithmen optional - sprich: es ist gut, wenn du das zur Verfügung stellen kannst, aber nicht erforderlich.
Eine Übersicht über die Solver findest du hier:
http://www.mathworks.com/help/relea...../optim/ug/brhkghv-18.html
Wenn es sich, wie ich einfach mal vermuten würde, um eine allgemeine nichtlineare Zielfunktion handelt, empfiehlt sich einer der folgenden:
fminunc - wenn du keine Nebenbedingungen hast
fmincon - wenn du Nebenbedingungen hast
fminsearch - wenn es nicht sinnvoll ist, eine Ableitung anzunähern
Grüße,
Harald
|
|
|
Buhmann |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 30
|
 |
|
 |
Anmeldedatum: 25.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 25.05.2011, 14:24
Titel:
|
 |
Danke schon mal für die schnelle Antwort!
Ja, fminsearch habe ich bereits ausprobiert und das funktioniert auch einwandfrei. Ich soll allerdings verschiedene Algorithmen auf meine Zielfunktion anwenden und diese benchmarken. Ob ich den genetischen Algorithmus und das Simulated Annealing aus der TB benutze, oder das selber programmiere werde ich noch sehen.
Meine Funktion ist übrigens hochgradig mehrdimensional und stetig.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.495
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 25.05.2011, 14:45
Titel:
|
 |
Hallo,
wenn sie stetig ist und auch nicht zu "zackig" (Sprünge in den Gradienten), dann sollte auch fminunc gute Ergebnisse liefern.
Bei den von mir genannten Algorithmen ist das größte Problem, dass sie einen ausreichend guten Startwert (d.h. dass der Algorithmus zum globalen Min. konvergiert) brauchen.
Wenn du keine ausreichend guten Startwerte hast, würde ich (in dieser Reihenfolge) folgendes ausprobieren:
Bei den beiden letzteren würde ich als Hybrid Function fminunc oder fminsearch verwenden, da die Konvergenz dort schlecht ist (liegt in der Natur dieser Algorithmen).
Alle drei Algorithmen werden höchstwahrscheinlich deutlich länger als fminsearch brauchen, um das Minimum zu finden.
Grüße,
Harald
|
|
|
Buhmann |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 30
|
 |
|
 |
Anmeldedatum: 25.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 16.07.2011, 12:24
Titel:
|
 |
Hallo nochmal!
Ich hab noch eine Frage zu patternsearch. Der Algorithmus führt zwar nicht wirklich zu einem Minima, das ich mit den fminsearch, fminunc und einem anderen, selbst geschriebenen Algorithmus finde, aber das ist erstmal Nebensache, da ich mich auch noch nicht mit den Options auseinandergesetzt habe.
Mein Problem ist, dass ich patternsearch keine options übergeben kann. Der Funktionsaufruf
funktioniert, folgendes funktioniert allerdings nicht:
Dann bekomme ich immer die Fehlermeldung:
Da patternsearch laut Hilfe mit options-Argument nur so:
aufgerufen werden kann, nehme ich an, dass es daran liegt, dass ich A, b, Aeq, beq, LB, UB und nonIcon nicht übergebe. Allerdings habe ich keine Ahnung, welche Werte ich da einsetzen soll...
Kann mir dabei jemand helfen?
Zuletzt bearbeitet von Buhmann am 16.07.2011, 12:42, insgesamt einmal bearbeitet
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.495
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 16.07.2011, 12:28
Titel:
|
 |
Hallo,
für nicht benötigte Argumente sollte [] übergeben werden.
Das ist auch in der Dokumentation so nachzulesen.
Grüße,
Harald
|
|
|
|
|
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.
|
|