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

AnyLogic priority queue based on two parameters as Java code

在 AnyLogic 中,我的代理有整数参数 agent.size 和 agent.height

在队列中,我想 select 具有特定大小的代理,即 agent.size == 5 超过其他代理。在尺码领带中,我想要 select 身高最大的那个。我该如何建模?

我想我应该在队列模块的基于优先级的部分定义它。但是,我只能说 agent.size 并且较大的尺寸将具有更高的优先级。我如何调整它才能给出层次结构(不是来自数据库输入,而是参数在 运行 期间发生变化)?

您应该将排队规则设置为"Agent comparison"。

你必须或多或少像这样写一个条件:

agent1.size == 5  && agent1.size == agent2.size ? 
    agent1.height > agent2.height : agent1.size == 5 ?
        true : agent1.size > agent2.size