AnyLogic:具有不同优先级的两个客户类别
Posted
技术标签:
【中文标题】AnyLogic:具有不同优先级的两个客户类别【英文标题】:AnyLogic: two customer classes having different priorities 【发布时间】:2021-12-16 14:43:27 【问题描述】:我了解 AnyLogic/Process Modeling Library 的基础知识,并且即将教授使用 AnyLogic 模拟基本队列,从我使用多年的 Simul8 过渡。
我有两种类型的代理,1 和 2,分别发送到队列 1 和 2,然后它们提供单个“服务”点,因此类型 1 具有更高的优先级(即,只要服务准备好拉工作,如果队列 1 非空,则无论队列 2 的大小如何,它都会从队列 1 中拉出。如何尽可能简单地捕捉到这一点?
看过 Queue 对象的参考页面后,我的初步(未实现的)想法是使用单个队列,并通过 Queue.QUEUING_PRIORITY-基于优先级的选项控制代理优先级。
为了比较,Simul8 软件中的一个解决方案是:将“服务”路由输入规则设置为“优先级”;并为两个队列分配不同的优先级。
【问题讨论】:
你做对了...不需要2个队列 【参考方案1】:是的,您是对的,您不能使用两个队列,因为从队列中拉出将以循环方式完成。请看下面来自 AnyLogic 培训教科书的屏幕截图
您应该在单个队列中使用排队,并且可以有一个或两个参数化源。
见下例
我有 2 个来源,在每个来源中,我将优先级设置为代理内部的一个局部变量。 Agents from source 1 的变量设置为 1,from source 设置为 0。
然后在队列中,我设置了优先级,以便源 1 的代理始终在前面。
【讨论】:
以上是关于AnyLogic:具有不同优先级的两个客户类别的主要内容,如果未能解决你的问题,请参考以下文章