【问题标题】:Vector with some fixed values as a variable of scipy minimization fucntion具有一些固定值的向量作为 scipy 最小化函数的变量
【发布时间】:2018-11-28 21:58:37
【问题描述】:

有什么方法可以最小化 Scipy 的函数,该函数的变量是一个列表,其中一些特定值可能为 0?我尝试使用约束来解决这个问题,但似乎最小化器也在迭代这 0 个元素,这导致了更多的计算开销。

【问题讨论】:

  • 你能添加一些数据/代码吗?
  • 对于这么小的问题,代码过于复杂,所以我总结一下:假设我想最小化一个函数 f(w) where w=[1,2,3,4,5, 6,7,8]。出于某种原因,我需要在最小化过程中将 w 的某些值设为 0。除了使用约束参数之外,还有什么方法可以将此信息传递给 scipy oder?

标签: python list scipy minimize


【解决方案1】:

你总是可以包装你的函数。一个非常不雅、简单的例子:

from scipy.optimize import minimize

def f(x):
    a, b, c, d = x
    return a**2 + b**2 + c**2 + d**2

def f_with_zeros(z):
    a, d = z
    b = c = 0
    return f([a, b, c, d])

res = minimize(f_with_zeros, [0, 0])

【讨论】:

    猜你喜欢
    • 2013-07-25
    • 1970-01-01
    • 1970-01-01
    • 2020-11-25
    • 1970-01-01
    • 1970-01-01
    • 2012-05-29
    • 2012-10-18
    • 1970-01-01
    相关资源
    最近更新 更多