微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

解决方法

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

,

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。