在 Anylogic 中与单个块内的两个代理进行通信

Posted

技术标签:

【中文标题】在 Anylogic 中与单个块内的两个代理进行通信【英文标题】:Communication with two agents within a single block in Anylogic 【发布时间】:2017-04-14 05:06:50 【问题描述】:

如下面的流程图所示,我正在尝试对发送到服务器的作业进行建模。在服务块中,我的资源池是服务器。

我当前的模型在源中创建了代理“工作”。然后将它们发送到队列和服务块,服务块将从资源池中获取服务器(服务器代理)。

我已经设置了我的模拟,以便随机删除服务器。

我的麻烦是:当当前正在处理作业的服务器被删除时(随机时间),如何将作业发送回队列。

我在让服务块/服务器池访问作业代理时遇到问题

【问题讨论】:

让我看看我是否理解。您随机删除服务器。如果这些服务器正在处理作业,您希望将进程发送到初始队列。是这样吗? 是的,没错。 下面的答案没有解决问题? 确实如此。谢谢! 请将问题标记为已回答,谢谢。 【参考方案1】:

我不确定您是如何删除服务器的,但如果您是通过减少资源池的容量来删除服务器,我的答案将如您所愿。

要让作业返回队列,首先需要对流程图进行一些更改。 (见图)

然后,在您的服务块中,更改您的设置以匹配我的:

瞧,就是这样。如果您使用不同类型的删除并且此方法不起作用,请告诉我。

干杯, 路易斯·佩雷拉

【讨论】:

以上是关于在 Anylogic 中与单个块内的两个代理进行通信的主要内容,如果未能解决你的问题,请参考以下文章

AnyLogic:具有不同优先级的两个客户类别

在 AnyLogic 中将预定数量的代理放置在折线中的随机位置

Anylogic问题:两个不同的代理有两个不同的服务时间

基于两个参数的 AnyLogic 优先级队列作为 Java 代码

Anylogic:如何根据代理的参数在 ResourcePool 中对设置时间(工具更换)进行建模?

在 anylogic 中为 50% 的代理分配优先级