Newton-basierte Methoden zur Optimierung im Vergleich zur Lösung nichtlinearer Gleichungssysteme

12

Ich bat um Klärung über eine kürzlich gestellte Frage zu minpack und erhielt folgenden Kommentar:

Jedes Gleichungssystem entspricht einem Optimierungsproblem, weshalb Newton-basierte Methoden in der Optimierung Newton-basierten Methoden zum Lösen nichtlinearer Gleichungssysteme sehr ähnlich sehen.

Was mich an diesem Kommentar (und den damit verbundenen negativen Meinungen zu spezialisierten nichtlinearen Lösen kleinster Quadrate wie Minpack) verwirrt, lässt sich am besten am Beispiel der konjugierten Gradientenmethode erklären . Diese Methode ist auf Systeme mit einer symmetrischen positiven definitiven Matrix anwendbar . Es könnte auch verwendet werden, um das allgemeine Problem der kleinsten Quadrate für eine beliebige Matrix zu lösen , dies wird jedoch nicht empfohlen. Eine Erklärung, warum wir dies nicht tun sollten, ist, dass sich die Zustandszahl des Systems signifikant erhöhen würde.A min x | | A x - b | | 2 AAx=bAminx||Axb||2A

Aber wenn das Umwandeln eines Gleichungssystems in ein Optimierungsproblem selbst für den linearen Fall als problematisch angesehen wird, warum sollte es für den allgemeinen Fall weniger problematisch sein? Es scheint irgendwie mit der Verwendung eines Optimierungsalgorithmus nach dem neuesten Stand der Technik zu tun zu haben, anstatt einen nichtlinearen Least-Squares-Solver mit leichtem Alter zu verwenden. Sind die Probleme beim Wegwerfen von Informationen und Erhöhen der Zustandszahl des Systems nicht relativ unabhängig vom tatsächlich verwendeten Optimierungsalgorithmus?

Thomas Klimpel
quelle

Antworten:

10

Da eine meiner Antworten zitiert wurde, werde ich versuchen zu klären, warum ich vorgeschlagen habe, IPOPT anstelle von MINPACK zu verwenden.

Meine Einwände gegen die Verwendung von MINPACK haben nichts mit den von MINPACK verwendeten Algorithmen zu tun und auch nichts mit deren Implementierung. Mein hauptsächlicher Einwand ist, dass die Software aus dem Jahr 1980 stammt und zuletzt im Jahr 1999 aktualisiert wurde. Jorge Moré ist im Ruhestand. Ich bezweifle, dass er oder einer der anderen Autoren der Software den Überblick behalten und dass es kein Team von Leuten gibt, die ihn aktiv unterstützen. Die einzige Dokumentation, die ich in der Software finden kann, ist der ursprüngliche technische Argonne-Bericht von 1980, der von Jorge Moré und den anderen MINPACK-Autoren verfasst wurde. (Kapitel 1-3 finden Sie hier und Kapitel 4 finden Sie hier.) Nachdem ich den MINPACK-Quellcode durchsucht und die Dokumentation durchgesehen habe (die PDF-Dateien sind gescannte Bilder und können nicht durchsucht werden), werden keine Optionen zur Berücksichtigung von Einschränkungen angezeigt. Da das ursprüngliche Poster des nichtlinearen Problems der kleinsten Quadrate ein eingeschränktes nichtlineares Problem der kleinsten Quadrate lösen wollte, wird MINPACK dieses Problem nicht einmal lösen.

Wenn Sie sich die IPOPT-Mailingliste ansehen, geben einige Benutzer an, dass die Leistung des Pakets bei Problemen mit nichtlinearen kleinsten Quadraten (NLS) im Vergleich zu Levenberg-Marquardt-Algorithmen und spezielleren NLS-Algorithmen gemischt ist (siehe hier , hier und hier ). Die Leistung von IPOPT im Vergleich zu NLS-Algorithmen ist natürlich problemabhängig. Angesichts des Benutzer-Feedbacks scheint IPOPT eine vernünftige Empfehlung für NLS-Algorithmen zu sein.

Sie weisen jedoch darauf hin, dass NLS-Algorithmen untersucht werden sollten. Genau. Ich denke nur, dass ein Paket, das moderner als MINPACK ist, verwendet werden sollte, weil ich glaube, dass es eine bessere Leistung bringt, benutzerfreundlicher ist und unterstützt wird. Ceres scheint ein interessantes Kandidatenpaket zu sein, kann aber derzeit keine eingeschränkten Probleme bewältigen. TAOwürde auf Box-beschränkten Least-Squares-Problemen arbeiten, obwohl es nicht den klassischen Levenberg-Marquardt implementiert, sondern stattdessen einen ableitungsfreien Algorithmus implementiert. Ein ableitungsfreier Algorithmus würde wahrscheinlich für große Probleme gut funktionieren, aber ich würde ihn nicht für kleine Probleme verwenden. Ich konnte keine anderen Pakete finden, die großes Vertrauen in ihre Softwareentwicklung weckten. Zum Beispiel scheint GALAHAD auf den ersten Blick keine Versionskontrolle oder automatisierte Tests zu verwenden. MINPACK scheint diese Dinge auch nicht zu tun. Wenn Sie Erfahrung mit MINPACK haben oder Empfehlungen bezüglich besserer Software haben, bin ich ganz Ohr.

In Anbetracht dessen komme ich zurück zum Zitat meines Kommentars:

Jedes Gleichungssystem entspricht einem Optimierungsproblem, weshalb Newton-basierte Methoden in der Optimierung Newton-basierten Methoden zum Lösen nichtlinearer Gleichungssysteme sehr ähnlich sehen.

Ein besserer Kommentar hat wahrscheinlich folgende Auswirkungen:

Wenn wir ein System von Gleichungen mit n Unbekannten g ( x ) = 0 lösen wollen , können wir dies als Optimierungsproblem der kleinsten Quadrate formulieren. (Paraphrase des letzten Absatzes von S.102 der nichtlinearen Programmierung , 2. Auflage, von Dmitri Bertsekas.)nng(x)=0

Diese Aussage gilt auch für das Lösen von Gleichungssystemen unter Randbedingungen. Ich kenne keine Algorithmen, die als "Gleichungslöser" für den Fall gelten, dass die Variablen Einschränkungen unterliegen. Der mir bekannte Ansatz, der möglicherweise durch mehrere Semester Optimierungskurs und Forschung in einem Optimierungslabor beeinträchtigt wird, besteht darin, die Einschränkungen des Gleichungssystems in eine Optimierungsformulierung einzubeziehen. Wenn Sie versuchen würden, die Einschränkungen in einem Newton-Raphson-ähnlichen Schema zum Lösen von Gleichungen zu verwenden, hätten Sie wahrscheinlich eine projizierte Gradienten- oder eine projizierte Vertrauensbereichsmethode, ähnlich wie bei der eingeschränkten Optimierung.

Geoff Oxberry
quelle
Ich habe Erfahrung mit MINPACK. Als lokale Methode ist es gut genug. Ich finde es gut, dass das Beenden von Kriterien funktioniert, ohne etwas zu verändern. Ich weiß, dass die Sache mit den Einschränkungen ärgerlich sein kann, zumal es keine große Änderung am Algorithmus selbst wäre. Ich kenne sogar LM-Implementierungen, die Grenzen für Variablen und allgemeine lineare Einschränkungen bieten, aber diese Implementierungen sind nicht viel jünger als MINPACK selbst, und ich habe mich nicht darum gekümmert, sie auszuwerten.
Thomas Klimpel
1
Ein paar Minuspunkte: Ich habe genau die entgegengesetzte Perspektive auf derivatfreie Methoden. Derivate sind der einzige "schnelle" Weg, um einen hochdimensionalen Designraum zu erkunden. Wenn der Entwurfsbereich klein ist, ist es günstiger, Ableitungen zu überspringen, aber die Anzahl der Iterationen nimmt mit zunehmender Dimension zwangsläufig zu. Semismooth Newton, Active Set-Methoden und Monotone Multigrid können auch auf Variationsungleichungen angewendet werden, einschließlich unsymmetrischer VIs. Wenn Sie schließlich verwerfen und g ( x ) 2 minimieren , haben Sie kein lokales Maß mehr, anhand dessen Sie eine globale Lösung identifizieren können. G(x)=0G(x)2
Jed Brown
@JedBrown: Ich sollte die Sprache umstellen. Derivatfreie Optimierung (DFO) ist aus meiner Sicht nur dann vorzuziehen, wenn Funktionsauswertungen sehr teuer sind. Aus irgendeinem Grund kommt mir der entscheidende Fall in den Sinn, wenn es darum geht, eine PDE zu lösen. Deshalb habe ich "großräumig" gesagt (für mich bedeutet "großräumig PDE" in der Optimierung natürlich etwas anderes als "großräumig PDE") für Sie, die PDEs regelmäßig parallel lösen). Wenn ich an das "Lösen von Gleichungen mit Nebenbedingungen" denke, ist das Problem, an das ich denke, . (Fortsetzung)g(x)=0,xS,SRn,SRn
Geoff Oxberry
MindestxSG(x)2G(x)=0S
Geoff Oxberry
1
S
14

Wenn ein gegebenes nichtlineares System die Optimalitätsbedingung erster Ordnung für ein Optimierungsproblem ist, können wir unter Verwendung dieser Informationen häufig einen robusteren Algorithmus erzeugen. Betrachten Sie zum Beispiel die Gleichung

Plot des ursprünglichen Ziels

xf(x)=0

Gradient

Das hat eine einzigartige Lösung, aber viele Rootfinding-Methoden können am lokalen Minimum hängen bleiben.

xf(x)2

Bildbeschreibung hier eingeben

Zusammenfassend haben wir mit einem Optimierungsproblem begonnen, das eine einzigartige Lösung hatte, mit der wir garantieren konnten, dass eine Methode gefunden wird. Wir haben es als nichtlineares Root-Finding-Problem umformuliert, das eine eindeutige Lösung hatte, die wir lokal identifizieren konnten, aber eine Root-Finding-Methode (wie Newton) könnte stagnieren, bevor sie erreicht wird. Anschließend formulierten wir das Root-Finding-Problem neu als Optimierungsproblem mit mehreren lokalen Lösungen (es kann keine lokale Kennzahl verwendet werden, um zu identifizieren, dass wir nicht am globalen Minimum sind).

Im Allgemeinen werden die verfügbaren Methoden und die damit verbundenen Konvergenzgarantien jedes Mal schwächer, wenn wir ein Problem von der Optimierung auf Rootfinding oder umgekehrt konvertieren. Die tatsächlichen Mechanismen der Methoden sind oft sehr ähnlich, sodass es möglich ist, viel Code zwischen nichtlinearen Lösern und der Optimierung wiederzuverwenden.

Jed Brown
quelle
Jed, diese WA-Links stimmen nicht ganz mit dem überein, was Sie sagen. Die Klammern werden ignoriert oder in der URL falsch übergeben.
Bill Barth
Seltsam, die Links funktionieren für mich. Könnte es vom Webbrowser abhängen? Irgendwelche Vorschläge für einen alternativen Weg, dies zu präsentieren?
Jed Brown
Nicht sicher. Das Ausschneiden und Einfügen des neu formatierten Links von einem Tab zum nächsten führt dazu, dass WA geschraubt wird, um es von selbst wieder zu schrauben!
Bill Barth
Hat noch jemand Probleme mit den Links? Ich habe es in mehreren Browsern versucht und es funktioniert in jedem Fall.
Jed Brown
Das ist eine schöne Antwort. Ich habe mich jedoch dafür entschieden, Geoff Oxberrys Antwort zu akzeptieren, da ein Teil dessen, was ich zu verstehen versuchte, die "realen" Probleme im Zusammenhang mit der Frage sind. Dies schließt ein, dass Leute wie ich MINPACK verwenden und empfehlen, obwohl sie über seine Mängel Bescheid wissen, und dass andere Leute um Rat fragen, um "trivial kleine" nichtlineare Systeme zu lösen, aber es nicht schaffen, auch nur einen einzigen Löser über einen Zeitraum von drei Monaten zu testen Zeitrahmen.
Thomas Klimpel