我们想发布一个开源,用于将强化学习集成到Smartgrid优化中。我们使用OpenModelica作为图形用户界面,使用PyFMI来导入到Python和Gym。
几乎所有的东西都在运行,但在模拟过程中连接或断开附加负载的可能性缺失。目前我们所能做的就是改变现有负载的参数,这提供了一些灵活性,但比起开关负载的可能性要小得多。
在OpenModelica中使用已实现的开关并不是一个真正的选择。他们只是在这一点上放置一个电阻,给它一个非常低或非常高的电阻。首先,它并不是真正的解耦,其次,高电阻使ODE系统变得僵硬,这使得解决它非常困难(和昂贵)。在测试中,我们的LSODA求解器(在严格的情况下,基本上是BDF)经常运行在数值错误中,而不管雅可比是如何计算的(解析地通过方向导数或有限差分)。
有没有人知道我们如何实现真正的“切换效应”?
诚挚的问候,
亨里克
发布于 2020-04-21 15:41:39
在模拟过程中,理想的组件连接和断开需要结构可变性,而Modelica (目前)还不完全支持这一点。另请参阅此答案https://stackoverflow.com/a/30487641/8725275
该问题的一种解决方案是提前转换所有可能的模型结构,并在满足某些条件时切换仿真模型。由于涉及到一些开销,因此只有当模型不经常切换时,这种方法才有意义。
有一个python框架,它就是为支持这个过程而构建的:DySMo。该工具是由Alexandra Mehlhase编写的,他发表了许多关于结构可变性的有趣出版物,例如An example of beneficial use of variable-structure modeling to enhance an existing rocket model。
Moritz Stueber的论文Simulating a Variable-structure Model of an Electric Vehicle for Battery Life Estimation Using Modelica/Dymola and Python也值得一看。它包含了一个关于变结构系统和可用的解决方案的很好的介绍。
https://stackoverflow.com/questions/60928875
复制相似问题