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

Klassifizierung Trust-Region und Line-Search-Verfahren

 

anna

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.02.2008, 18:49     Titel: Klassifizierung Trust-Region und Line-Search-Verfahren
  Antworten mit Zitat      
Hallo,

zwar bezieht sich meine Frage nicht direkt auf die Toolbox gehört aber in das Thema Optimierung. In der Hilfe von Matlab hab ich mich versucht, durch die verschiedenen Optimierungsverfahren zu kämpfen. Dabei bin ich ein wenig verwirrt worden durch die verschiedenen Möglichkeiten Optimierungsverfahren zu klassifizieren.

Zum Beispiel gibt es die Klassifizierung, ob das Verfahren den Gradienten benutzt:

gradientenfreie Verfahren: Simplex
gradientenbasierte Verfahren: Methode des steilsten Abstiegs, PCG-Verfahren, Quasi-Newton, Newton-Verfahren, SQP

Dann gibt es noch eine Klassifizierung, je nachdem, was für ein Optimierungsproblem es ist:

ohne Nebenbedingungen: Simplex, alle Abstiegsverfahren (Methode des steilsten Abstiegs, PCG,...) , Quasi-Newton, Newton

mit Nebenbedingungen: SQP

Bitte korrigiert mich, wenn ich die Einteilung falsch gemacht habe.

Jetzt meine Frage zur Einteilung in Line-Search-Verfahren und Trust-Region-Verfahren:

1. Was sind die Merkmale eines LS- und eines TR-Verfahrens?

2. Welche von den oben genannten Verfahren sind LS-Verfahren und welche TR-Verfahren bzw.

3. sind das etwa eigene Verfahren?

Ich hoffe, jemand nimmt sich meinem Problem an und kann mir kurz erläutern, was es mit LS- und TR-Verfahren auf sich hat.


Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 15.02.2008, 11:39     Titel:
  Antworten mit Zitat      
Hallo anna,

schöne Frage. Very Happy Hier meine Überlegungen dazu:

1. In einem Line-Search-Optimierungsverfahren wird zunächst eine
Suchrichtung und dann eine Schrittweite entlang dieser Richtung (line) bestimmt (search). Bei einer Trust-Region-Methode wird die Zielfunktion durch eine Modellfunktion approximiert. Innerhalb eines Gebietes (Region) vertraut (trust) man auf die Güte dieser Approximation und legt dadurch eine maximale Schrittweite fest. Dann erst bestimmt man die beste Suchrichtung. Lesetipp: www.mathematik.uni-regensburg.de/Ma.....rlesung/Sem0607/blank.pdf

2. Soweit ich weiß, kann man fast jedes Optimierungsverfahren entweder als Line-Search oder als Trust-Region-Methode gestalten (jedenfalls wenn eine Modellfunktion verwendet wird). Jedenfalls trifft das auf die Newton- und Quasi-Newton-Verfahren zu. Manchmal werden die Methoden auch kombiniert, um in Spezialfällen die besten Ergebnisse zu bekommen. Daher kann man nicht die Verfahren einteilen, sondern nur die Algorithmen.

3. Nein.

Was nun Matlab und die Optimization Toolbox angeht, kann man recht eindeutig sagen, wann Trust-Region-Algorithmen zum Einsatz kommen, nämlich bei den Large-Scale-Problemen (also solche mit vielen Variablen und/oder vielen Nebenbedingungen. Line Search wird für fast alle Medium-Scale-Probleme verwendet. Manchmal kann man selbst die Auswahl treffen. Lesetipp: Matlab-Hilfe "Medium- and Large-Scale Algorithms"

Ich hoffe, das hilft erst mal weiter. Herzliche Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
anna

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.02.2008, 02:06     Titel:
  Antworten mit Zitat      
Hallo Bijick,

das waren echt super Antworten auf meine Fragen. Du hast mir sehr weitergeholfen!!

Vielen Dank.
anna
 
anna

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.02.2008, 02:28     Titel:
  Antworten mit Zitat      
da fällt mir jetzt doch noch was ein, wo du gerad erläutert hast, was Large-Scale-Algorithmus und Medium-Scale-Algorithmus bedeutet. wenn ich fmincon bzw fminunc für mein optimierungsproblem benutze, kommen jeweils folgende Hinweise:

bei fminunc:
Warning: Gradient must be provided for trust-region method;
using line-search method instead.

->Kann ein Trust-Region-Verfahren also nicht mit numerischen Gradienten durchgeführt werden!? Warum?

bei fmincon:
Warning: Large-scale (trust region) method does not currently solve this type of problem, switching to medium-scale (line search).

-> Ist hier auch auf medium-scale gewechselt worden wegen des fehlenden Gradienten oder weil mein Optimierungsproblem zu wenig Variablen hat?
 
Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 18.02.2008, 12:10     Titel:
  Antworten mit Zitat      
Hallo anna,

bei deinen neuen Fragen verlasse ich etwas das sichere Terrain und spekuliere nur mal nach meinem Wissensstand.

1. Kann ein Trust-Region-Verfahren also nicht mit numerischen Gradienten durchgeführt werden!? Warum?

Ob ein Verfahren damit fertig wird, inexakte Werte zu verarbeiten, hängt am meisten vom Algorithmus und seiner Robustheit ab. Vermutlich ist der SQP-Algorithmus in Matlab besonders robust und verträgt numerische Gradienten. Ob man Trust-Region-Verfahren nie mit numerischen Gradienten machen kann, weiß ich schlicht nicht. Die Matlab-Programmierer glauben jedenfalls für ihren Algorithmus nicht an verwertbare Ergebnisse. Es könnte im Einzelfall natürlich trotzdem klappen, wenn deine Funktion gutmütig ist, aber das wissen die ja nicht.
Nachlesen in der Hilfe brachte noch folgende Überlegung: Innerhalb des Trust-Region-Algorithmus wird ein CG-Verfahren eingesetzt. Das könnte sensibler auf numerische Gradienten reagieren als SQP, weil ja hier außer dem Gradienten gar keine Informationen eingehen. Aber das ist nur Spekulation.

2. -> Ist hier auch auf medium-scale gewechselt worden wegen des fehlenden Gradienten oder weil mein Optimierungsproblem zu wenig Variablen hat?

Das Wechseln kann mehrere Gründe haben (siehe auch Hilfe zu fmincon): Das Large-Scale-Verfahren kommt für die Entwickler nur in Betracht, wenn
    1. der Gradient angegeben wird
    2. die Option 'GradObj' auf 'on' gesetzt ist (logisch)
    3. und die Trust-Region entweder durch untere und obere Schranken oder durch Gleichheitsrestriktionen (mehr Variable als Gleichungen) vorgegeben ist.

Interessanterweise gibt es keine Überprüfung, wieviele Variablen vorhanden sind. In der Hinsicht ist Large-Scale wohl Geschmackssache. Erwähnt wird noch, dass die Matrix Aeq bei Large-Scale-Problemen typischerweise dünnbesetzt ist. Die Bezeichnung ist jedenfalls erst ab 6x6 richtig sinnvoll. Abgebrochen würde aber anscheinend auch bei nur zwei Variablen nicht, wenn die anderen Kriterien erfüllt sind. Shocked

Hab ich also auch mal wieder was gelernt.
Herzliche Grüße
Bijick[/b]
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
anna

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.02.2008, 16:22     Titel:
  Antworten mit Zitat      
hallo bijick,

ich danke dir für deine stets umfangreichen, informativen antworten. dieses forum bringt einem wirklich was.

lg, anna
 
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 - 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.