英文:
Priority-based queueing in AnyLogic
问题
我是AnyLogic的新手,正在为一个真实的急诊科制作模型。我已经几乎完成了所需的一切,但是在优先级排队方面遇到了问题。在我们的模型中,患者有两种不同的优先级(红色和黄色),其中红色在排队时具有更高的优先级。例如,如果一个黄色优先级患者和一个红色优先级患者都在排队等待进行X光检查,应该先选择红色优先级患者(基于优先级的排队,而非后进先出)。
我看到了很多解释如何实现这一点的帖子,但是它们对我都没有起作用。我尝试在“患者”代理中创建一个名为“priority”的参数,并在SelectOutput的退出处使用“agent.priority=1;”来指定优先级,然后在Queue中选择“基于优先级”的选项,但似乎并没有起作用,我收到以下错误:
我还尝试将“patient.priority=2;”替换为“agent.priority=2;”,还尝试使用变量而不是参数,还尝试使用以下公式初始化变量的值:uniform() < 0.7 = 1 : 3。但都没有起作用。
有谁知道如何使用基于优先级的排队,或者我可以使用的某种解决方法吗?这是我成为工程师的最终项目!
我使用的版本是AnyLogic Professional 7.0.2
非常感谢您的时间!
英文:
I'm new in AnyLogic and I'm developing a model for a real Emergency Department. I have developed almost everything I need, however I'm having trouble with priority queueing. In our model we have 2 different priorities for patients (red and yellow), where red has a higher priority in queueing. For example, if a yellow-priority patient and a red-priority patient are both in queue for going to the X-ray, the red should be picked first (Priority-based queueing NOT LIFO).
I saw a lot of posts that explained how to do this but none of them worked for me. I tried making a parameter called "priority" within the "Patient" agent and using "agent.priority=1;" for assigning priorities on the exit of a SelectOutput and then selecting the "Priority-based" option in the Queue but that doesn't seem to work as I get the following error:
I also tried typing "patient.priority=2;" instead of "agent.priority=2;", also using a variable instead of a parameter, and also initializing the variable's value with the following formula: uniform() < 0.7 = 1 : 3. But this didn't worked.
Does anyone know how to use priority-based queueing or some sort of walkaround I could use? It's for my final project for becoming an engineer!
The version I'm using is AnyLogic Professional 7.0.2
Thank you very much for your time!
答案1
得分: 1
你正在使用一个非常旧的AnyLogic版本,该版本仍然使用旧的过程建模库,其中实体并不是真正的代理。你可以尝试使用entity
代替agent
。
在导致错误的字段(您输入了agent
的地方),当光标位于字段中时,是否有一个小的“灯泡”?如果有的话,它允许您编写哪些关键字?请参阅这篇文章以了解我在谈论什么。
强烈建议您尽快升级
英文:
You are using a very old AnyLogic version that still applies the old process-modelling library where entities are NOT actual agents. Instead of agent
you could try entity
.
In the fields causing the errors (where you typed agent
), is there a small "lightbulb" when you have the cursor in the field? If so, what keywords does it allow you to write? Please see this article to understand what I am talking about
Strongly suggest you upgrade asap
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论