Чтобы максимизировать 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]».