我有一个函数,我想找到它的最大值和最小值。我的职责是:
fuc = x * (4 - x * y)
我有一个x -1,1和y- 2,10的区间。我想找到一种方法,限制在这个区间内,来发现这个函数的最大值和最小值。
发布于 2022-04-28 20:46:00
from scipy.optimize import minimize
import numpy as np
func = lambda x: x[0] * (4 - x[0] * x[1])
x0 = np.array([0, 2])
bounds = [(-1, 1), (2, 10)]
min_val = minimize(func, x0, bounds=bounds).fun
max_val = minimize(lambda x: -func(x), x0, bounds=bounds).fun
print(min_val, max_val)
输出:
-14.0 -2.0
感谢@joni指出应该使用参数bounds
而不是简单的约束。
https://stackoverflow.com/questions/72052811
复制相似问题