AnyLogic - 使用引用 DES 代理变量的函数

AnyLogic - using Functions refering to DES agents variables

我正在为 DES 进程建模,我需要在许多块的“On Enter”处有一个重复的代码。所以代码看起来像这样:

if(agent.batchSize > 1999)
agent.priority = 100;

else if(agent.batchSize > 999)
agent.priority = 80;

因为这是重复的,所以我想更改一次而不是在每个块中更改。所以我想我可以使用一个函数。但是函数不会理解“代理”。语法,因为它在 DES 块之外。

如何解决这个问题?

非常感谢,

埃米尔

使用您的代理实际类型的参数“代理”定义您的函数。如果您没有给他们指定特定的代理类型,只需将类型定义为 Agent,如下所示:

还请研究更多示例模型和帮助,因为这是 AnyLogic 和一般编程的核心功能:)