【发布时间】:2015-10-12 12:02:24
【问题描述】:
我想最小化一个有多个输入但也有多个输出的函数。更具体地说,我调用 Excel 计算并希望约束函数的特定输入和输出。到目前为止,我只是设法最小化标量函数,这意味着多个输入但只有一个输出。如果 Python/Scipy 可以解决这样的问题,谁能指导我?我想选择 x 以使 smpkt 最小化并且 A 小于特定值。
例如一些代码sn-ps:
def f1(x,params):
y=F(x)
函数F(x)是一个外部Excel表格,有多个输入和输出,输出应该是y=[smpkt,A]。现在我想通过选择x 来最小化smpkt 并保持A 小于我的约束。
到目前为止,我设法通过以下调用将y=F(x) y=[smpkt] 最小化为标量:
res = optimize.minimize(f1, x0, args=params, method='COBYLA',options={'ftol': 0.1, 'maxiter': 5})
有什么想法吗?
【问题讨论】:
-
此评论更适合碰巧阅读此问题的其他人。我认为您要问的是“约束最小化”,它可用于 scipy.optimization.minimization 中的某些算法。约束可以是具有不等式边界的线性或非线性函数。您也可以自己绑定参数。关键是,并非所有的最小化器都支持两者或什至两者之一。
标签: python optimization multidimensional-array scipy minimize