Scipy.optimize 中的多个变量最小化

问题描述

我的问题与之前提出的 this question 有关。我正在努力遵循答案。

def simulator(X,Y,Z):
    return X+Y+Z

def f(params):
   X,Z = params 
   A = simulator(params)
   return A

bound = [(10,30),(10,30)]
x0 = (10,10,10)
result = minimize(f,x0,bounds=bound)

我收到错误

simulator() missing 2 required positional arguments: 'Y' and 'Z'. 

实际上,模拟器 fx 要复杂得多,但我面临与此简化代码相同的问题。

解决方法

如评论中所述,

A = simulator(X,Y,Z)