Anylogic,将代理拆分为多个不同的代理类型

Anylogic, split an agent in multiple different agent types

我对 anylogic 中的模拟有疑问。 我有一个必须由资源处理的项目(代理),这个服务块的结果是起始对象和两个不同的文档,它们在两个不同的办公室处理,并且在流程结束时必须链接到相关文章。 我找不到一种方法来将此划分为 3 个不同的代理,或者一般来说,对此流程进行建模。 谢谢指教

您可以使用 2 个拆分块生成 2 个独立的文档,并通过变量或 link 将它们连接到代理...也许每个原始代理都有一个 id,拆分块中的副本会有一些东西喜欢 agent.id=original.id; 然后,当处理文档时,您可以检查哪些具有相同的 id 以将它们合并到一篇文章中...

但如果你想变得更复杂,还有以下选项:

创建 2 个输入块(enter1 和 enter2),每个文档一个。我假设您的文档对应于 2 种不同的代理类型,称为 Document1 和 Document2

在每种代理类型上,您将向代理添加 link 以便能够将文档相互连接。如果您不知道那是什么,请阅读帮助文档中有关 link 代理的更多信息。

在服务块的末尾,在退出操作上,您可以执行以下操作:

Document1 doc1=add_Document1();
Document2 doc2=add_Document2();
doc1.linkToDoc2.connectTo(doc2);
enter1.take(doc1);
enter2.take(doc2);

我不知道你原来的代理是否必须连接,但你会遵循同样的原则去做。

稍后,您可以只检查连接的文档是否已完成,以便再次将它们加入文章中。