Supongo que estás hablando de minimización sin restricciones. Su pregunta debe especificar si está considerando una estructura de problema específica. De lo contrario, la respuesta es no.
Primero debería disipar un mito. Ni siquiera se garantiza que el método clásico de descenso de gradiente (también llamado método de descenso más pronunciado ) encuentre un minimizador local. Se detiene cuando ha encontrado un punto crítico de primer orden, es decir, uno donde el gradiente se desvanece. Dependiendo de la función particular que se minimiza y del punto de partida, ¡puede terminar en un punto de apoyo o incluso en un maximizador global!
f(x,y)=x2−y2(x0,y0):=(1,0)−∇f(1,0)=(−2,0)(0,0)f(x,y)=x2−10−16y2(0,0)∇2f(x∗,y∗)−10−16+10−16
f(x)=⎧⎩⎨1cos(x)−1if x≤0if 0<x<πif x≥π.
x0=−2
Ahora, prácticamente todos los métodos de optimización basados en gradientes sufren de esto por diseño. Su pregunta es realmente sobre la optimización global . Una vez más, la respuesta es no, no hay recetas generales para modificar un método a fin de garantizar que se identifique un minimizador global. Simplemente pregúntese: si el algoritmo devuelve un valor y dice que es un minimizador global, ¿cómo comprobaría que es cierto?
Hay clases de métodos en la optimización global. Algunos introducen la aleatorización. Algunos usan estrategias de inicio múltiple. Algunos explotan la estructura del problema, pero esos son para casos especiales. Elija un libro sobre optimización global. Lo disfrutarás.