我正在运行一批具有不同条件的pyomo求解器,我想让求解器保持沉默。
opt = SolverFactory('glpk')
instance = model.create_instance(dat_file)
results = opt.solve(instance, tee=True, timelimit=300)
换句话说,运行最后一行时,我不希望在标准输出上打印任何内容。有可能吗?
我使用的解决方案是重定向标准输出:
from contextlib import redirect_stdout
opt = SolverFactory('glpk')
instance = model.create_instance(dat_file)
with open("log.txt", mode='w', encoding='utf-8') as fp:
with redirect_stdout(fp):
results = opt.solve(instance, tee=True, timelimit=300)
但是我想知道是否有“更清洁”的解决方案?
我相信您在求解模型时可以简单地设置选项tee=False
,以抑制所有求解器输出。