gpt4 book ai didi

python - 如何使用 scipy.optimize.minimize

转载 作者:太空宇宙 更新时间:2023-11-04 01:06:24 25 4
gpt4 key购买 nike

我有一个目标函数,比如 obj(x, arg_1, arg_2)f() 中,我有 variable_3 = f(x, arg_1, arg_2)obj() 将返回 abs(x-variable_3)

我需要使用 scipy.optimize.minimize 最小化 obj() 的返回值

我想我需要这样做:

def obj(x, arg_1, arg_2)
v_3 = f(x, arg_1, arg_2)
return abs(x-v_3)
x0 = 1
result = minimize(obj, x0, args = (arg_1, arg_2))

这是正确的吗?为什么我总是出错?

或者,其实我可以这样做:

def obj(x, v_3)
return abs(x-v_3)
def myfun(arg_1, arg_2)
x0 = 1
v_3 = f(x0, arg_1, arg_2)
result = minimize(obj, x0, args = v_3)
return result

但显然,这就是我想要的。那么有人可以告诉我如何进行这种最小化吗?谢谢

最佳答案

对于 scipy.optimize.minimize,应该将多个参数打包到一个元组中,然后在数值优化期间由目标函数解包。

它应该看起来像这样:

def obj(arguments)
"""objective function, to be solved."""
x, arg_1, arg_2 = arguments[0], arguments[1], arguments[2]
v_3 = f(x, arg_1, arg_2)
return abs(x-v_3)

x0 = 1
initial_guess = [1,1,1] # initial guess can be anything
result = minimize(obj, initial_guess)
print result.x

关于python - 如何使用 scipy.optimize.minimize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30135587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com