如何解决Pyomo - Gurobi Persistent - 在求解之间更改参数值
我实际上是在尝试通过 Pyomo 在持久模式下使用 Gurobi。 我已经建模(使用 pyomo 块)一个带有电池的能源系统,并在每个时间步求解能量/功率平衡,在每次求解之前更新电池 SOC_INIT。 当我在非持久模式下使用 gurobi 时,它工作正常。
使用 gurobi-persistent,我更新 SOC_INIT 参数并解决。什么也没发生,求解器什么也不做,并保留上次求解的所有变量值。
粗略地说,我所拥有的:
SOC_INIT 参数是可变的
SOC = SOC_INIT + 时间步长期间的能量交换(SOC 是 Var)
我在 SOC 变量上尝试了 solver.add_var/solver.update_var,将 SOC_INIT 从 Param 更改为 Var。
我错过了什么?关于此的文档不是很有帮助...
有人会分享一种正确的方法来做到这一点,即在解决之间更新一些参数/变量吗?代码片段会很好:)
感谢您的帮助。 最大
解决方法
先得到解的个数
n_of_solutions = m.SolCount
然后使用循环遍历每个解决方案
for solution in range(0,n_of_solutions):
m.setParam(GRB.Param.SolutionNumber,solution)
# do something
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。