小编Pau*_*mas的帖子

Scipy.optimize.minimize 函数确定多个变量

我想找出最佳参数,如 bo、ho、t1 和 t2,以使误差函数 (f) 最小(即,为零或接近于零)。完整代码如下所示,

import numpy
import scipy.optimize as optimize

#OPTIMISATION USING SCIPY
def Obj_func(x):
    bo,ho,t1,t2=x
    f=-321226.4817 + (10400000*bo*ho**3 - 10400000*(bo - 2*t2)*(ho - 2*t1)**3)/(125 + (10400000*bo*ho**3 - 10400000*(bo - 2*t2)*(ho - 2*t1)**3)/(1563920*t1*(bo - 2*t2)))
    return f

initial_guess=[2,2,0.2,0.2]
cons = ({'type': 'eq', 'fun': lambda bo,ho,t1,t2: (bo*ho - (bo - 2*t2)*(ho - 2*t1)-7.55)})
bnds = ((0, None), (0, None),(0, None), (0, None)) #all four variables are positive and greater than zero
#Always t1 and t2 should always be lesser …
Run Code Online (Sandbox Code Playgroud)

python optimization lambda numpy scipy

2
推荐指数
1
解决办法
6784
查看次数

标签 统计

lambda ×1

numpy ×1

optimization ×1

python ×1

scipy ×1