Reanudando una optimización en scipy.optimize?

scipy.optimize presenta muchos métodos diferentes para la optimización local y global de sistemas multivariados. Sin embargo, necesito una ejecución de optimización muy larga que puede interrumpirse (y en algunos casos es posible que desee interrumpirla deliberadamente). ¿Hay alguna forma de reiniciar ... bueno, alguno de ellos? Quiero decir, claramente uno puede proporcionar el último conjunto de parámetros más optimizado que se encuentra como la suposición inicial, pero ese no es el único parámetro en juego; por ejemplo, también hay gradientes (jacobianos, por ejemplo), poblaciones en evolución diferencial, etc. Obviamente no quiero que esto tenga que comenzar de nuevo también.

Veo pocas formas de demostrar que son descuidadas, ni de salvar su estado. Para las funciones que toman un jacobian, por ejemplo, hay un argumento jacobian ("jac"), pero es booleano (lo que indica que su función de evaluación devuelve un jacobian, que el mío no), o una función invocable (solo lo haría tener el único resultado de la última ejecución para proporcionar). Nada toma solo una serie de los últimos jacobianos disponibles. Y con la evolución diferencial, la pérdida de la población sería horrible para el rendimiento y la convergencia.

¿Hay alguna solución para esto? ¿Alguna forma de reanudar las optimizaciones?

Respuestas a la pregunta(2)

Su respuesta a la pregunta