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

PuLP代码编译耗时过长,寻求高效改写优化方案

PuLP约束构建性能优化求助

我发现以下PuLP代码块的约束编译时间极长,有没有更高效的改写方式?

for item in supplylist:
    cn_coal_problem += (supplyitembynode[item]+
                        lpSum([massflowtype[(i,j,ct)] for (i,j,ct) in flowslist if (j,ct) == item]) >=
                        lpSum([massflowtype[(i,j,ct)] for (i,j,ct) in flowslist if (i,ct) == item]))

这段代码编译耗时长达9小时,完全无法满足需求。我还有多个类似代码块,急需找到性能更优的改写方法。变量规模如下:

massflowtot length:  41631
massflowtype length:  499572
supplyitembynode length:  149988

编辑补充:我已经做了一些修改,但速度仍不理想:

counter = len(supplylist)
for item in supplylist:
    counter-=1
    if counter%100 == 0:
      print(counter, datetime.now()-start_build)
    cn_coal_problem += supplyitembynode[item]+lpSum(massflowtype[(i,j,ct)] for (i,j,ct) in flowslist if (j,ct) == item) >=lpSum(massflowtype[(i,j,ct)] for (i,j,ct) in flowslist if (i,ct) == item)

对应的输出日志:

Started building at  12:40:20
149900 0:00:19.364037
149800 0:00:35.527059
149700 0:00:51.487889
149600 0:01:06.100106
149500 0:01:21.067001
149400 0:01:36.128091
149300 0:01:50.552957
149200 0:02:04.867231
149100 0:02:19.259758
149000 0:02:33.862139

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 00:21:18