如何将代理关联到优先级范围 Anylogic

Posted

技术标签:

【中文标题】如何将代理关联到优先级范围 Anylogic【英文标题】:How to associate agents to a priority range Anylogic 【发布时间】:2018-08-08 10:39:32 【问题描述】:

我在 Anylogic 上模拟一个模型,由 4 个块组成:source-queue-service-sink。

我有 3 类优先级(低、中、高),我必须用它们来组织“基于优先级”的队列。所以:

70% 的代理必须关联到“高”; 20% 的代理到“媒介”; 10% 的代理为“低”。

队列应该是这样工作的:首先是高位,然后是中位,最后是低位。

我该怎么做?我应该使用数组吗?

【问题讨论】:

【参考方案1】:

首先,您的代理中需要有一个名为priority 的变量...要随机关联优先级,该变量的默认值应为:

uniform()<0.7 ? 3 : (uniform()<2/3 ? 2 : 1)

这意味着 70% 的代理将具有优先级 3,20% 将具有优先级=2,10% 将具有优先级=1

在属性的队列模块中,在第一个高级部分中,您将排队更改为“基于优先级”并选择 agent.priority 作为优先级,如下图所示:

然后队列会根据他们的优先级释放代理...高优先级先,低优先级最后。

【讨论】:

以上是关于如何将代理关联到优先级范围 Anylogic的主要内容,如果未能解决你的问题,请参考以下文章

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

如何将概率分布与代理相关联 - Anylogic

在 AnyLogic 中使用代理名称作为 selectOutput 的条件

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

日期参数随时间更新 Anylogic

Anylogic:如何批处理具有相似参数的代理?