如何将代理关联到优先级范围 Anylogic
How to associate agents to a priority range Anylogic
我正在 Anylogic 上模拟一个模型,由 4 个块组成:source-queue-service-sink。
我有 3 个 类 优先级(低、中、高),我必须用它来组织 "priority-based" 队列。所以:
- 70% 的代理必须关联到 "high";
- 20%的代理给了"medium";
- 10% 的代理到 "low".
队列应该这样工作:首先是高点,然后是中点和低点。
我该怎么做?我应该使用数组吗?
首先你需要在你的代理中有一个名为优先级的变量...要随机关联优先级,该变量的默认值应该是:
uniform()<0.7 ? 3 : (uniform()<2/3 ? 2 : 1)
这意味着 70% 的代理的优先级为 3,20% 的代理的优先级为 2,10% 的代理的优先级为 1
在属性的队列模块中,在第一个高级部分中,您将队列更改为 "priority based" 和 select agent.priority 作为优先级,如下图所示:
然后队列会根据代理的优先级释放...优先级高的在前,优先级低的在后。
我正在 Anylogic 上模拟一个模型,由 4 个块组成:source-queue-service-sink。
我有 3 个 类 优先级(低、中、高),我必须用它来组织 "priority-based" 队列。所以:
- 70% 的代理必须关联到 "high";
- 20%的代理给了"medium";
- 10% 的代理到 "low".
队列应该这样工作:首先是高点,然后是中点和低点。
我该怎么做?我应该使用数组吗?
首先你需要在你的代理中有一个名为优先级的变量...要随机关联优先级,该变量的默认值应该是:
uniform()<0.7 ? 3 : (uniform()<2/3 ? 2 : 1)
这意味着 70% 的代理的优先级为 3,20% 的代理的优先级为 2,10% 的代理的优先级为 1
在属性的队列模块中,在第一个高级部分中,您将队列更改为 "priority based" 和 select agent.priority 作为优先级,如下图所示:
然后队列会根据代理的优先级释放...优先级高的在前,优先级低的在后。