-1

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

4

2 回答 2

0

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

于 2021-04-19T09:33:02.070 回答
-1

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

于 2021-04-17T21:39:38.307 回答