Continuando uma otimização em scipy.optimize?
O scipy.optimize apresenta muitos métodos diferentes para otimização local e global de sistemas multivariados. No entanto, tenho uma execução de otimização muito longa necessária que pode ser interrompida (e, em alguns casos, posso querer interrompê-la deliberadamente). Existe alguma maneira de reiniciar ... bem, algum deles? Quero dizer, claramente é possível fornecer o último conjunto de parâmetros mais otimizado encontrado como palpite inicial, mas esse não é o único parâmetro em jogo - por exemplo, também existem gradientes (jacobianos, por exemplo), populações em evolução diferencial etc. Obviamente, eu não quero que eles também tenham que começar de novo.
Vejo poucas maneiras de provar isso a scipy, nem de salvar seu estado. Para funções que usam um jacobiano, por exemplo, há um argumento jacobiano ("jac"), mas é um booleano (indicando que sua função de avaliação retorna um jacobiano, que o meu não), ou uma função que pode ser chamada (eu apenas ter o único resultado da última execução a fornecer). Nada leva apenas uma série dos últimos jacobianos disponíveis. E com a evolução diferencial, a perda da população seria horrível por desempenho e convergência.
Existem soluções para isso? Alguma maneira de retomar as otimizações?