python - 具有一些固定值的向量作为 scipy 最小化函数的变量
问题描述
有没有办法用 Scipy 最小化一个函数,该函数的变量是一个列表,其中一些特定值可能为 0?我试图使用约束来解决这个问题,但似乎最小化器也在迭代这 0 个元素,这导致了更多的计算开销。
解决方案
你总是可以包装你的函数。一个非常不优雅,简单的例子:
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])
推荐阅读
- vba - 如何将子程序中的参数传递给 VBA 中的函数?
- html - 检查输入时更改flexbox的顺序?
- hyperledger-sawtooth - 如何使用元掩码密钥签署超级账本锯齿交易?
- docker - 为什么 OpenJDK Docker 容器会忽略 Kubernetes 中的内存限制?
- html - 如何使图像在 div 中弹出
- javascript - 什么时候 for 循环会导致类型强制 javascript?
- spring - Spring JPA 跨不同模式查询同一张表
- javascript - Firebase 云功能更新记录并发送通知
- cgi - 使用 GET 参数在命令行上运行二进制 CGI 文件
- android - 在 Android 模拟器和物理设备中运行程序的区别?