Anylogic 如何创建新代理并分配属性?
Anylogic how create new agent and assign properties?
Anylogic:这应该很简单,但我在帮助文件中找不到它..
在创建一个新的代理实例时,我们知道有四个参数以及它们是什么,但不知道它们的定义顺序。假设参数是“type_of_car”(字符串)、“number_of_pax”(整数)、“自动”(布尔值)、“fuel_capacity”(双精度)。现在调用时:new myagenttype("ford", 5, false, 55)
代理被创建为一辆福特,55 人,手动和 5 升燃料容量 - 这是完全错误的。 (代理定义中参数的定义顺序好像不一样)
我们如何在调用 new agenttype()
时包含参数名称(或定义)来避免此问题,确保将正确的值分配给正确的参数?
问题的起因是Anylogic在触发函数时的逻辑存在错误。我们有一个 Split,它创建一个新代理并在“退出副本”事件上分配代理属性,但是 Anylogic 所做的是创建代理,将其转发到下一个逻辑块(决策节点),然后执行决策代码 - 现在所有错误的代理属性都未定义 - 然后才执行分配代理属性的“退出复制”事件。很郁闷。
这实际上不是错误,这是在模拟实验属性中定义的,在随机性部分,具有“同时事件的选择模式”属性。默认是后进先出,但如果你想要相反的行为,你应该使用先进先出……我也总是使用后进先出,在这些情况下,有时我可能会在拆分和下一个块之间使用 1 毫秒的辅助延迟,以便顺序手动控制订单......如果你这样做,你实际上会解决你的问题......只需在拆分后使用 0.001 毫秒的延迟
现在根据您的代理类型问题,class 构造函数的参数应该按顺序编写,知道正确顺序的唯一方法是在编写 new agenttype() 时使用自动完成功能...自动完成功能会告诉您编写构造函数参数的顺序。
Anylogic:这应该很简单,但我在帮助文件中找不到它..
在创建一个新的代理实例时,我们知道有四个参数以及它们是什么,但不知道它们的定义顺序。假设参数是“type_of_car”(字符串)、“number_of_pax”(整数)、“自动”(布尔值)、“fuel_capacity”(双精度)。现在调用时:new myagenttype("ford", 5, false, 55)
代理被创建为一辆福特,55 人,手动和 5 升燃料容量 - 这是完全错误的。 (代理定义中参数的定义顺序好像不一样)
我们如何在调用 new agenttype()
时包含参数名称(或定义)来避免此问题,确保将正确的值分配给正确的参数?
问题的起因是Anylogic在触发函数时的逻辑存在错误。我们有一个 Split,它创建一个新代理并在“退出副本”事件上分配代理属性,但是 Anylogic 所做的是创建代理,将其转发到下一个逻辑块(决策节点),然后执行决策代码 - 现在所有错误的代理属性都未定义 - 然后才执行分配代理属性的“退出复制”事件。很郁闷。
这实际上不是错误,这是在模拟实验属性中定义的,在随机性部分,具有“同时事件的选择模式”属性。默认是后进先出,但如果你想要相反的行为,你应该使用先进先出……我也总是使用后进先出,在这些情况下,有时我可能会在拆分和下一个块之间使用 1 毫秒的辅助延迟,以便顺序手动控制订单......如果你这样做,你实际上会解决你的问题......只需在拆分后使用 0.001 毫秒的延迟
现在根据您的代理类型问题,class 构造函数的参数应该按顺序编写,知道正确顺序的唯一方法是在编写 new agenttype() 时使用自动完成功能...自动完成功能会告诉您编写构造函数参数的顺序。