如何停止或暂停和重新启动“服务延迟”或基于代理的图表中的“延迟”块?

问题描述

按照您的建议,我正在构建小型模型来学习如何使用 AnyLogic 并构建我的模拟。 我需要与基于代理交互的离散事件图,其中基于代理的将代表基于先前建议的“服务流程”,直接触发基于代理的活动,但我无法停止或暂停或延迟“延迟”块,我尝试使用“until stopDelay is called”函数,但我无法使其工作,我决定使用离散事件代理内部的循环事件进行测试,但这是不可能的。我在考虑可能我的方法不正确,我需要使用不同的策略来停止基于代理的进程运行时的离散事件进程,但是由于基于代理的尝试模拟一些人类行为,我很感兴趣在时间变化中,这可能导致离散事件过程。 所以我的问题是如何停止或暂停“服务延迟或延迟块并从基于代理的图表中重新启动它们?

解决方法

如果您只需要在代理进程完成之前将实体存储在某处,那么我建议使用“等待”块而不是“延迟”。延迟的全部意义在于有一个定时退出,因此暂停它与预期的用例不一致。您可以阅读有关“等待”块 here 的更多信息。

,

我找到了 Job Shop 模型示例,其中一些块使用 stopDelayForAll(),带有“if”代码块,所以我注意到它使用了一个参数,因此我做了一些更改,并对我正在使用的代码进行了更改工作是这样的:
如果(入队 >= queCap) delay.stopDelayForAll();
“Inqueue”是一个从延迟块中捕获数据的变量,queCap是一个告诉队列块容量的参数。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...