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

Python使用pulp库实现运输问题时报TypeError: must be real number, not str错误

pulp实现运输问题TypeError报错修复方案

报错根因

  • 核心问题是LpVariable.dicts方法的参数传递顺序错误:该方法第3个参数为lowBound(变量下界,要求为数值类型),第5个参数才是变量类型cat。原代码将LpInteger(本质是字符串常量)传递给了第3位的lowBound参数,导致求解器校验参数时抛出「必须为实数,不能是字符串」的类型错误。
  • 附带逻辑问题:运输问题的运输量不能为负数,需要显式设置lowBound=0,原代码未设置该约束也会导致求解结果不符合业务逻辑。

解决方法

修改route_variables变量的定义代码,两种写法二选一即可:

  1. 按参数顺序补全参数
route_variables = LpVariable.dicts("Route", (origin, destination), 0, None, LpInteger)
  1. 用关键字参数显式指定,可读性更强
route_variables = LpVariable.dicts("Route", (origin, destination), lowBound=0, cat=LpInteger)

修改完成后重新运行代码即可正常执行求解逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 10:54:04