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

通过HiGHS Solver与Linopy禁用Crossover后获取解决方案

问题:关闭HiGHS交叉步后Linopy无法识别最优解,如何获取结果?

我用Linopy实现线性规划模型,指定HiGHS Solver的内点法(IPM)求解。因业务需求不需要执行交叉步(Crossover),通过Linopy向HiGHS传递run_crossover='off'参数后,HiGHS确实跳过了交叉步,但Linopy判定模型未优化。请问这种情况怎么从Linopy里获取求解结果?

HiGHS日志信息

Ipx: IPM       optimal
WARNING: LP solver residuals: primal = 0.0710581; dual = 0.0473415 yield num/max/sum primal (391784/0.0710581/6.24267) and dual (463677/0.0473415/3.47325) corrections
WARNING: Unwelcome IPX status of Unknown: basis is not valid; solution is valid; run_crossover is "off"
Model name          : linopy-problem-m_vf1rkb
Model status        : Unknown
IPM       iterations: 48
Objective value     : -2.8809874134e+07
Relative P-D gap    :  7.5484672674e-01
HiGHS run time      :        141.71
Writing the solution to /private/var/folders/4p/qywpknvj5qx89qh1g6vy1qlc0000gn/T/linopy-solve-28b76k6g.sol

Linopy日志信息

Solution status unknown. Trying to parse solution.
Optimization failed: 
Status: unknown
Termination condition: unknown
Solution: 1786176 primals, 1456848 duals
Objective: -2.88e+07
Solver model: available
Solver message: unknown

解决方案

  • 直接解析HiGHS生成的临时解文件:从HiGHS日志里找到解文件路径(如示例中的/private/var/folders/4p/qywpknvj5qx89qh1g6vy1qlc0000gn/T/linopy-solve-28b76k6g.sol),直接读取这个文件提取变量值和目标函数。.sol文件是文本格式,结构清晰,可通过脚本快速解析。

  • 强制从Linopy模型提取解:尽管Linopy标记状态为未知,但实际解已存在于模型中,可尝试直接访问相关属性:

    # 获取变量解(假设变量名为x)
    x_solution = model.variables['x'].solution
    
    # 获取目标函数值
    objective = model.objective.value
    

    如果直接访问报错,可调用Linopy内部的解读取方法绕过状态检查:

    from linopy.solvers.highs import read_solution
    
    # 传入模型实例和解文件路径
    read_solution(model, '/private/var/folders/4p/qywpknvj5qx89qh1g6vy1qlc0000gn/T/linopy-solve-28b76k6g.sol')
    
    # 再次访问变量解
    x_solution = model.variables['x'].solution
    
  • 自定义状态映射逻辑:如果需要长期解决这个问题,可以修改Linopy对HiGHS状态的判断逻辑——当HiGHS输出“IPM optimal”且run_crossover='off'时,将状态标记为最优。可通过继承HiGHS求解器类,重写状态解析方法实现,适合有开发能力的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 02:09:59