Estoy lidiando con un problema de optimización que tiene una gran cantidad de variables para optimizar, por ejemplo, llamemos a estas variables , y y deseo minimizar la función . El método de optimización que estoy usando no puede manejar la optimización de todas las variables a la vez. En cambio, estoy simplificando el problema optimizando sobre una sola variable a la vez mientras mantengo las otras variables fijas.y z f ( x , y , z )
Es decir, arreglo , y y luego optimizo la función solo sobre . Esta optimización 1D produce un valor óptimo . Luego arreglo , , luego optimizo sobre . Me doy cuenta de que esto no necesariamente me proporciona una solución óptima a nivel mundial, pero debería producir un mínimo local. z = z 0 x x ∗ x = x ∗ z = z 0 y
Me pregunto cuál es el nombre de este método y dónde puedo encontrar información al respecto. Además, si hay una comunidad más apropiada para preguntar, hágamelo saber. Gracias
Editar: la optimización se realiza sobre , luego , luego , luego , y así sucesivamente hasta que la solución converja.y z x
fuente
Respuestas:
Este es el descenso coordinado . Creo que se usa en problemas a gran escala cuando otros métodos como el descenso de gradiente pueden ser demasiado lentos (por ejemplo, http://epubs.siam.org/doi/abs/10.1137/100802001 ). Debería converger a un mínimo local, pero también requeriría más pasos que algo como el descenso de gradiente o los métodos de tipo Newton.
fuente
No se garantiza que el enfoque que describió originalmente (solo una optimización de iteración en cada una de las tres variables x, y, z) converja a la solución óptima a menos que F (x, yz) sea variable separable en funciones univariadas. Por lo tanto, lo que describe no es técnicamente un "método" de optimización, sino una "heurística" de optimización, similar a un método de división de operador o métodos implícitos de dirección alterna (ADI).
fuente