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

如何通过scipy.optimize.linprog禁用highs-ipm求解器的crossover迭代?

回答

是的,你可以通过scipy.optimize.linprog的options参数传递原生HiGHS求解器的配置来禁用crossover,即使scipy官方文档没有明确列出这个参数。

具体来说,linprog允许通过嵌套的highs_options字典传递HiGHS原生参数,这些参数会直接被底层的HiGHS库解析处理。对应独立版HiGHS的--run_crossover参数,你可以在highs_options中设置run_crossover为'off'(或0)来禁用crossover。

代码示例

from scipy.optimize import linprog

# 定义简单线性规划问题
c = [-1, -2]
A_ub = [[1, 2], [3, 1]]
b_ub = [4, 6]

# 配置禁用crossover
solver_options = {
    'highs_options': {
        'run_crossover': 'off'
    }
}

# 调用求解器
result = linprog(c, A_ub=A_ub, b_ub=b_ub, method='highs-ipm', options=solver_options)

补充说明

  • run_crossover的可选取值和独立版HiGHS一致:'auto'(默认)、'on'(或1)、'off'(或0),还支持'force'等更细粒度的控制。
  • 如果需要验证crossover是否被禁用,可以查看求解结果的message字段,或者开启HiGHS的日志输出(通过添加'log_to_console': True到highs_options),观察日志中是否有crossover相关的执行记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 19:44:59