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

升级or-tools至9.6后路由搜索参数构建报错,如何解决?

解决OR-Tools 9.6中路由搜索参数的BOOL_UNSPECIFIED错误

升级OR-Tools至9.6后,部分本地搜索邻域算子的参数不再允许默认的未指定状态,必须显式设置为BOOL_TRUE或BOOL_FALSE,你遇到的错误就是因为local_search_neighborhood_operator.use_shortest_path_swap_active参数未被正确赋值。

解决方法如下:

代码中显式设置参数

找到代码里配置RoutingSearchParameters的逻辑,添加对该参数的显式赋值:

// 获取默认搜索参数
RoutingSearchParameters params = DefaultRoutingSearchParameters();

// 根据业务需求设置为BOOL_TRUE或BOOL_FALSE
params.local_search_neighborhood_operator.use_shortest_path_swap_active = operations_research::BoolProto::BOOL_TRUE;
// 若不需要该特性,可设置为
// params.local_search_neighborhood_operator.use_shortest_path_swap_active = operations_research::BoolProto::BOOL_FALSE;

// 将参数传入求解器
solver.SolveWithParameters(params);

通过命令行flags设置参数

如果你的程序是通过命令行flags加载配置,启动时添加对应参数:

--local_search_neighborhood_operator.use_shortest_path_swap_active=true

或者如果使用flag配置文件,在文件中添加一行:

local_search_neighborhood_operator.use_shortest_path_swap_active: true

若不确定该参数的最优值,可先设置为BOOL_TRUE测试,这是OR-Tools新版本中该参数的常见默认推荐配置,若不影响业务逻辑也可设为BOOL_FALSE。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 18:42:38