Ich nehme an, Sie sprechen von einer uneingeschränkten Minimierung. In Ihrer Frage sollte angegeben werden, ob Sie eine bestimmte Problemstruktur in Betracht ziehen. Ansonsten lautet die Antwort nein.
Zuerst sollte ich einen Mythos zerstreuen. Bei der klassischen Gradientenabstiegsmethode (auch als steilste Abstiegsmethode bezeichnet) wird nicht einmal garantiert, dass ein lokaler Minimierer gefunden wird. Es stoppt, wenn es einen kritischen Punkt erster Ordnung gefunden hat, dh einen, an dem der Gradient verschwindet. Abhängig von der zu minimierenden Funktion und dem Startpunkt können Sie sehr gut an einem Sattelpunkt oder sogar an einem globalen Maximierer landen!
Betrachten Sie zum Beispiel und den Anfangspunkt ( x 0 , y 0 ) : = ( 1 , 0 ) . Die steilste Abstiegsrichtung ist - ∇ f ( 1 , 0 ) = ( - 2 , 0 ) . Ein Schritt der Methode mit exakter Zeilensuche lässt Sie bei ( 0 , 0 )f( x , y) = x2- y2( x0, y0) : = ( 1 , 0 )- ∇ f( 1 , 0 ) = ( - 2 , 0 )( 0 , 0 )wo der Gradient verschwindet. Leider ist es ein Sattelpunkt. Sie würden es realisieren, indem Sie die Optimalitätsbedingungen zweiter Ordnung untersuchen. Stellen Sie sich nun vor, die Funktion ist . Hier ist ( 0 , 0 ) immer noch ein Sattelpunkt, aber numerisch können die Bedingungen zweiter Ordnung es Ihnen nicht sagen. Nehmen wir im Allgemeinen an, Sie stellen fest, dass das Hessische ∇ 2 f ( x ∗ , y ∗ ) einen Eigenwert von - 10 - hat.f( x , y) = x2- 10- 16y2( 0 , 0 )∇2f( x∗, y∗) . Wie liest du es? Ist es eine negative Krümmung oder ein numerischer Fehler? Wie wäre es mit+ 10 - 16 ?- 10- 16+10−16
Betrachten Sie nun eine Funktion wie
f(x)=⎧⎩⎨1cos(x)−1if x≤0if 0<x<πif x≥π.
x0=−2
Nahezu alle gradientenbasierten Optimierungsmethoden leiden nun konstruktionsbedingt darunter. Ihre Frage betrifft wirklich die globale Optimierung . Auch hier lautet die Antwort "Nein". Es gibt keine allgemeinen Rezepte zum Ändern einer Methode, um sicherzustellen, dass ein globaler Minimierer identifiziert wird. Fragen Sie sich einfach: Wenn der Algorithmus einen Wert zurückgibt und angibt, dass es sich um einen globalen Minimierer handelt, wie würden Sie überprüfen, ob er wahr ist?
Bei der globalen Optimierung gibt es Methodenklassen. Einige führen Randomisierung ein. Einige verwenden Multi-Start-Strategien. Einige nutzen die Struktur des Problems aus, aber diese sind für Sonderfälle. Holen Sie sich ein Buch über globale Optimierung. Sie werden es genießen.