Мне нужно оптимизировать функцию. Для этого я использую функцию scipy.optimize.basinhopping.Оптимизатор функции python для оптимизации
Я закодирована функция, которая будет оптимизирована и функция вносить изменения и я вызвать функцию basinhopping следующим образом:
result = basinhopping(func_to_be_optimized, x0,
take_step=take_step,
niter=10, niter_success=10,
disp=True)
х0 является начальным решением угадали.
Моя проблема заключается в том, что функция func_to_be_optimized вызывается много раз, а затем вызывается функция take_step. Но обычно он должен быть: один вызов take_step и один вызов func_to_be_optimized и т.д.
Кроме того, func_to_be_optimized функция имеет параметр X и изменяется при каждом вызове, но не моя функция take_step.
Почему у меня эта проблема?
«это должно быть: один вызов take_step и один вызов func_to_be_optimized и т. Д.» - Зачем? Это фактическое ограничение, которое у вас есть? Это было бы очень странно. Поведение, которое вы наблюдаете, совершенно нормально для прыжка в бассейне. – user2357112
Спасибо за ваш ответ! Фактически, поэтому я использовал другой оптимизатор, потому что basinhopping не был присвоен для моей проблемы – Melimelo