вывести выбранный метод scipy.optimize.minimize - PullRequest
1 голос
/ 29 июня 2019

Это короткий вопрос, но Google каждый раз указывает мне на документацию, где я не могу найти ответ.

Я использую scipy.optimize.minimize.Работает довольно хорошо, все хорошо.Я могу определить метод для использования, но он работает, даже если я не указываю метод.

Есть ли способ получить вывод, какой метод использовался?Я знаю класс результата, но метод там не упоминается.

Вот пример:

solution = opt.minimize(functitionTOminimize,initialGuess, \
                      constraints=cons,options={'disp':True,'verbose':2})
print(solution)

Я мог бы установить для метода значения что-то вроде slsqp или cobyla, но я хочу посмотреть, что выбирает программа.Как я могу получить эту информацию?

1 Ответ

1 голос
/ 01 июля 2019

В соответствии с scipy-optimize-minimal-docs : Если метод не указан, по умолчанию будет выбран один из BFGS, L-BFGS-B, SLSQP, в зависимости от того, имеет ли проблема ограничения или границы. Чтобы получить более подробную информацию о порядке развертывания методов, вы должны взглянуть на scipy-optimize-minimal-source-code-line-480 . Из исходного кода порядок следующий:

if method is None:
    # Select automatically
    if constraints:
        method = 'SLSQP'
    elif bounds is not None:
        method = 'L-BFGS-B'
    else:
        method = 'BFGS'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...