基于代理的 Anylogic,滑块和事件错误

Posted

技术标签:

【中文标题】基于代理的 Anylogic,滑块和事件错误【英文标题】:agent based Anylogic, error with slider and event 【发布时间】:2022-01-12 15:54:48 【问题描述】:

我已将滑块连接到主参数中,该参数是从代理(人员窗口)中的变量访问的。我面临的问题是该变量只采用第一个更新的值并且不会改变它。作为解决问题的尝试,我使用了一个更新代理变量的事件,但该事件在同一时间步内多次将其更新到同一个代理。

这是描述情况的图片

enter image description here

enter image description here

所以请您提供任何帮助...

【问题讨论】:

不要试图描述你的代码,你应该edit你的问题包含相关的代码。 你真正想要实现什么?如果你告诉我们你需要什么,可能会更容易解决这个问题:) 我们想要实现的基本上是能够使用主代理中的滑块从个人代理中更改变量。 请提供足够的代码,以便其他人更好地理解或重现问题。 【参考方案1】:

如果我正确理解您的问题,一种方法是根据您已经存在的模型执行以下操作:

在您的滑块中,在操作部分,您可以对 sliderMask 执行以下操作作为示例,您可以对所有其他操作执行相同操作:

for(Person person : people)
   person.maskOn=bernoulli(value); //value is what you chose on the slider

这将更改所有代理的变量

【讨论】:

以上是关于基于代理的 Anylogic,滑块和事件错误的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 AnyLogic 中的循环事件触发条件转换?

Anylogic:如何让代理在队列中等待直到它改变状态? (离散事件流程图)

如何在离散事件模拟中的 Anylogic 中绘制代理在图上行驶的距离?

在事件上使用代理的方法

在 Anylogic 中分配随机 GIS 位置

在 Anylogic 中添加/注入代理到队列