AnyLogic - 为啥我的基于条件的转换不起作用?

Posted

技术标签:

【中文标题】AnyLogic - 为啥我的基于条件的转换不起作用?【英文标题】:AnyLogic - Why does my condition based transition not work?AnyLogic - 为什么我的基于条件的转换不起作用? 【发布时间】:2018-06-01 23:46:38 【问题描述】:

我有一个与状态图中的转换有关的问题(见上图)。我有一个名为palletInUse 的变量,它是一个布尔类型,在真假之间变化。对于状态图中的一个转换,我希望它在变量 PalletInUse 的值为 true 时发生变化。例如,我已经尝试过:

palletInUse == true;

还尝试了不同的代码,例如 equals 和 contentEquals 等,但似乎没有任何效果。对于这个看似简单的问题,您有解决方案吗?

提前致谢

【问题讨论】:

【参考方案1】:

仅当代理中的某些内容发生更改时,不会持续监控该条件。当您使用常见的“=”Java 运算符为变量分配新值时,AnyLogic 引擎不会捕获它。之后您需要调用 onChange() 函数。然后,应该执行转换。 还有其他方法可以在没有显式 onChange() 调用的情况下触发条件检查。你可以找到他们in AnyLogic Help article。 顺便说一句,您可以只指定布尔变量作为条件,不需要与truefalse 进行比较:

palletInUse

【讨论】:

【参考方案2】:

如果没有发生任何事情,则不会评估条件,因此您必须不断发生某些事情才能评估您的条件。一种典型的做法如下图所示:

【讨论】:

以上是关于AnyLogic - 为啥我的基于条件的转换不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

Anylogic - 由条件触发的代理位置

为啥外部链接在构建后在 phonegap 应用程序上不起作用

多维动态数组,为啥不起作用?

为啥我的 while 循环中的条件在 python 中不起作用?

为啥转换在我的情况下不起作用

为啥我的 JavaScript RGB Hex 转换器不起作用?