实际上,我正在尝试在持久化模式下使用Gurobi和Pyomo。我已经(使用pyomo块)模拟了一个带有电池的能源系统,并在每个时间步求解能量/功率平衡,在每次求解之前更新电池SOC_INIT。当我在非持久模式下使用gurobi时,它工作得很好。
使用gurobi-persistent,我更新了SOC_INIT参数并解析。不发生任何事情,求解器不执行任何操作,并保留上一次求解中的所有变量值。
粗略地说,我所拥有的:
SOC_INIT参数是可变的
SOC = SOC_INIT +时间步长期间的能量交换(SOC是一个变量)
我已经在SOC变量上尝试了solver.addvar/solver.update_ Var,将SOC_INIT从参数更改为Var。
我错过了什么?关于这方面的文档不是很有帮助...
有没有人会分享一种合适的方法来做这件事,即,在解决方案之间更新一些参数/变量?代码片段会更好:)
谢谢你的帮助。麦克斯。
发布于 2021-04-18 16:24:10
首先获取解决方案的数量
n_of_solutions = m.SolCount
然后循环遍历每个解决方案。
for solution in range(0, n_of_solutions):
m.setParam(GRB.Param.SolutionNumber, solution)
# do something
https://stackoverflow.com/questions/66966571
复制相似问题