You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查找并使用Scipy 1.9.0新增的vectorized优化参数?

Scipy 1.9.0中vectorized参数的定位与使用说明

参数的实际归属

你在发布说明里看到的vectorized参数,并没有添加到minimize或minimize_scalar函数中——这就是你查这两个函数文档找不到它的原因。它是为Scipy里的基于种群的优化器设计的,比如differential_evolution和shgo这类算法。

这类优化器每次迭代需要评估一批候选解,开启vectorized=True后,向量化的目标函数会一次性接收所有候选解的数组(形状为(n_points, n_dims)),并返回对应的目标值数组,不用再循环调用目标函数,能有效提升效率。

实际使用示例

以differential_evolution为例:

import numpy as np
from scipy.optimize import differential_evolution

# 向量化目标函数,接收多组输入
def vectorized_obj(x):
    return x[:, 0]**2 + x[:, 1]**2

# 启用vectorized参数
res = differential_evolution(vectorized_obj, bounds=[(-5,5), (-5,5)], vectorized=True)
print("最优解:", res.x)

为什么minimize/minimize_scalar没有该参数

minimize和minimize_scalar的大部分算法(比如BFGS、Nelder-Mead)都是单一点迭代模式,每次只需要评估一个点,不存在批量处理候选解的需求,因此不需要vectorized参数。

内容的提问来源于stack exchange,提问作者bilaljo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 12:05:13