Максимизируйте целевую функцию, используя scipy.optimize - PullRequest
0 голосов
/ 24 октября 2018

Модуль scipy.optimize имеет scipy.optimize.minimize, который позволяет найти значение, минимизирующее целевую функцию.Но нет никакого scipy.optimize.maximize.Зачем?Как решить проблему максимизации с помощью SciPy?

1 Ответ

0 голосов
/ 24 октября 2018

Чтобы максимизировать f, мы минимизируем -f.Мини-пример, максимизирующий f, который является синусоидальной функцией:

from scipy.optimize import minimize
import numpy as np
f = lambda x: np.sin(x)  # function to be MAXIMIZED
res = minimize(lambda x: -f(x), 0)
print('Maximum {} attained at {}'.format(-res.fun, res.x))

печатает «Максимум 1,0 достигнут при [1,57079632]».

...