求解下面函数的最小值

f(x,y,z)=(x-2/3)/(x+y+z-2)
x,y,z>0
xyz=1

该函数的最小值为-1.5,当x=1/3, y=2/3, z=1.5时取得最小值。

from scipy.optimize import minimize

def f(xyz):
    x, y, z = xyz
    return (x - 2/3) / (x + y + z - 2)

def constraint(xyz):
    x, y, z = xyz
    return x*y*z - 1

bounds = [(0, None), (0, None), (0, None)]

res = minimize(f, x0=(1, 1, 1), bounds=bounds, constraints={'type': 'eq', 'fun': constraint})
print(res)
print("Minimum value: ", res.fun)


不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^