【发布时间】:2021-11-11 21:15:02
【问题描述】:
我使用docplex.model.print_solution() 在控制台中获取解决方案。如何将所有解决方案导出到文件中?
谢谢
【问题讨论】:
我使用docplex.model.print_solution() 在控制台中获取解决方案。如何将所有解决方案导出到文件中?
谢谢
【问题讨论】:
您可以使用 python 文件。
让我使用zoo example。
from docplex.mp.model import Model
mdl = Model(name='buses')
nbbus40 = mdl.integer_var(name='nbBus40')
nbbus30 = mdl.integer_var(name='nbBus30')
mdl.add_constraint(nbbus40*40 + nbbus30*30 >= 300, 'kids')
mdl.minimize(nbbus40*500 + nbbus30*400)
mdl.solve(log_output=True,)
#display solution
for v in mdl.iter_integer_vars():
print(v," = ",v.solution_value)
#write solution to a file
f= open("c://temp//sol.txt", "w")
for v in mdl.iter_integer_vars():
f.write(str(v)+" = "+str(v.solution_value)+'\n')
f.close()
"""
which gives
nbBus40 = 6.0
nbBus30 = 2.0
in the display and in the file
"""
来自https://github.com/AlexFleischerParis/zoodocplex/blob/master/zoowritesolutioninafile.py
【讨论】:
导出方法会创建一个详细的json文件:
mdl.solution.export("solution.json")
如果您只想存储在docplex.model.print_solution() 中看到的结果,您可以使用:
with open("solution.txt", "w") as solfile:
solfile.write(mdl.solution.to_string())
【讨论】: