将变化的潮汐时间整合到AnyLogic模型中的最佳方法是什么?我想利用这些时间来有效地阻塞和解除阻塞端口。我已经查看了计划选项,格式(开始:第一天,时间)似乎并不是最好的方法。
答案 0 :(得分:0)
您可以通过重新定时触发来模拟潮汐。 为此,AnyLogic提供了动态事件,该事件可以自行重新计划。
根据潮汐的时间数据(日期时间列表,固定时间段,数据库)的不同,您可以为每次重新安排动态事件重新获取该值。
我附上了一个简单示例模型的屏幕截图。在这里,我假设您已获得一个列表,其中列出了每个影响端口的潮汐时刻之间的间隔(以分钟为单位)(低潮/端口受阻-高潮/端口打开-低潮/端口受阻等等。。。)然后,动态事件将设置一个布尔变量portBlocked,但是根据您的需要,您还可以触发状态图转换,阻止流程图模块或触发函数。
动态事件的操作代码:
portBlocked=!portBlocked;
create_MyDynamicEvent(tideIntervalsInMinutes.get(tideCounter),MINUTE);
tideCounter++;
代码说明:
在模型的启动代码中,您必须首先触发一次动态事件,为此,只需使用与上面第2点相同的代码即可。