AnyLogic:前瞻性模拟

Posted

技术标签:

【中文标题】AnyLogic:前瞻性模拟【英文标题】:AnyLogic: Look ahead simulation 【发布时间】:2017-04-22 05:55:15 【问题描述】:

是否可以在 AnyLogic 中执行前瞻模拟? 具体来说:

    模拟到时间 T. 使用一个变量的 2 个值,并行模拟这两个值直到 T+t。 评估 T+t 时的系统状态,选择能带来更好性能的变量值。 使用选定的变量值从 T 继续模拟。

这是我试图实现的基本功能。变量值可以取自决策树,不会影响实现。

如果有人做过类似的事情,请告诉我。

【问题讨论】:

【参考方案1】:

是的,可以使用一些 Java 代码。你可以:

    暂停父实验,在时间 T 保存快照; 从父实验创建两个新实验; 在两个新实验中加载快照; 继续执行两个实验直到时间 T + t; 向父实验发送通知,比较结果,分配最佳值并继续模拟。

有些点可以通过 UI 控件或代码手动完成,有些——仅通过代码。

【讨论】:

我可以找到暂停、保存和加载快照的方法。能否请您指导我有关 runTillTime() 方法和两个实验之间的通信? “使用一个变量的 2 个值,同时模拟两个值直到 T+t”也意味着您需要担心设计模型,以便对这个中期运行的更改是“干净的” (可能使用 AnyLogic 参数的更改功能来“链接”更改该变量的任何影响)。根据您的模型功能,这可能没问题。 @SwapRenushe,运行到时间 T+t:getEngine().runFast(time() + constant);。实验通信:由于您是从另一个实验创建实验实例,因此只需将对新实验的引用保存在父实验中即可。您可以通过以下方式获取其***代理及其所有成员:((Main)getEngine().getRoot())

以上是关于AnyLogic:前瞻性模拟的主要内容,如果未能解决你的问题,请参考以下文章

视觉和前瞻性工程

css 关于链接的前瞻性基础

前瞻性规划启发式 - hmax、hadd、hff

具有前瞻性的 AWS WAF 正则表达式问题

向量化前瞻性函数 pandas 数据框

pandas 中的前瞻性滚动窗口 - 参差不齐的索引