【问题标题】:AnyLogic priority queue based on two parameters as Java code基于两个参数的 AnyLogic 优先级队列作为 Java 代码
【发布时间】:2020-04-15 13:23:52
【问题描述】:

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

在队列中,我想选择具有特定大小的代理,即 agent.size == 5 而不是其他代理。在尺寸领带中,我想选择高度最大的领带。我该如何建模?

我认为我应该在队列模块的基于优先级的部分中定义它。但是,我只能说agent.size,更大的尺寸将具有更高的优先级。如何调整它以提供层次结构(不是来自数据库输入,而是在运行期间更改参数)?

【问题讨论】:

    标签: queue simulation anylogic


    【解决方案1】:

    您应该将排队规则设置为“代理比较”。

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

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

    【讨论】:

    • 太好了。我认为它虽然丢失了。在这里,如果 agent1.size == 5 和 agent2.size == 6 那么这个块代码将选择代理 2,因为条件?不会保持,将选择具有较大尺寸的那个。我认为我需要将其扩展到另一个条件,我说:i)其中一个有 5 号,另一个有另一个尺寸,然后选择第一个; ii) 它们的大小都是 5,然后是你的代码
    猜你喜欢
    • 2021-07-28
    • 1970-01-01
    • 2021-01-24
    • 2018-05-06
    • 2021-10-05
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 2022-11-15
    相关资源
    最近更新 更多