Presumo che tu stia parlando di minimizzazione senza limiti. La tua domanda dovrebbe specificare se stai prendendo in considerazione una struttura specifica del problema. Altrimenti, la risposta è no.
Per prima cosa dovrei sfatare un mito. Il classico metodo di discesa a gradiente (chiamato anche metodo di discesa più ripido ) non è nemmeno garantito per trovare un minimizzatore locale. Si ferma quando ha trovato un punto critico del primo ordine, cioè uno in cui il gradiente svanisce. A seconda della funzione particolare che viene minimizzata e del punto di partenza, potresti benissimo finire in un punto di sella o anche in un massimizzatore globale!
Consideriamo ad esempio e il punto iniziale ( x 0 , y 0 ) : = ( 1 , 0 ) . La direzione di discesa più ripida è - ∇ f ( 1 , 0 ) = ( - 2 , 0 ) . Un passaggio del metodo con la ricerca esatta della riga ti lascia a ( 0 , 0 )f(x,y)=x2−y2(x0,y0):=(1,0)−∇f(1,0)=(−2,0)(0,0)dove svanisce il gradiente. Ahimè, è un punto di sella. Lo capiresti esaminando le condizioni di ottimalità del secondo ordine. Ma ora immagina che la funzione sia . Qui, ( 0 , 0 ) è ancora un punto di sella, ma numericamente, le condizioni del secondo ordine potrebbero non dirti. In generale, supponiamo che si determini che l'Assia ∇ 2 f ( x ∗ , y ∗ ) ha un autovalore pari a - 10 -f(x,y)=x2−10−16y2(0,0)∇2f(x∗,y∗) . Come lo leggi? È una curvatura negativa o un errore numerico? Che ne dici di+ 10 - 16 ?−10−16+10−16
Considera ora una funzione come
f(x)=⎧⎩⎨1cos(x)−1if x≤0if 0<x<πif x≥π.
x0=−2
Ora praticamente tutti i metodi di ottimizzazione basati sul gradiente ne soffrono a causa della progettazione. La tua domanda riguarda davvero l'ottimizzazione globale . Ancora una volta, la risposta è no, non ci sono ricette generali per modificare un metodo in modo da garantire che venga identificato un minimizer globale. Chiediti: se l'algoritmo restituisce un valore e dice che è un minimizer globale, come verifichi che sia vero?
Esistono classi di metodi nell'ottimizzazione globale. Alcuni introducono randomizzazione. Alcuni usano strategie multi-start. Alcuni sfruttano la struttura del problema, ma quelli sono per casi speciali. Raccogli un libro sull'ottimizzazione globale. Ti piacerà.