微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Pyomo - Gurobi Persistent - 在求解之间更改参数值

如何解决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 举报,一经查实,本站将立刻删除。