Anylogic:调用代理时参数不可读
Anylogic: Parameters not readable when an agent is called
使用此代码,我调用了一辆随机可用的卡车,然后将卡车 ID 附加到客户,稍后我将在模型中进行匹配。它被称为重复的问题实际上并不存在,也不是这个问题。除非变量是静态的,否则调用代理时看不到变量,这是我做不到的。如果变量是静态的,则读取它们。如果它们不是静态的,则代理 returns 无论变量的初始化值是什么。参数也是如此,因为它只有 returns 初始化值。
agent.Truck_ID = TruckCount;
TruckCount = TruckCount++;
agent.Available = 1;
Total_Trucks_In_System = Total_Trucks_In_System++;
Trucks trucks = randomWhere(Truck, t->t.Available == 1);
if (trucks!=null){
agent.ID = trucks.Truck_ID;
}
因此,在我按照建议将人口调整为空后,我最终发现我还需要在高级部分的源中添加到 select 自定义人口,从添加代理到和select 我的卡车数量。就现在能够在整个模型中看到变量和参数而言,这是可行的。我确定是新手错误。希望这可以节省其他人一些时间,并感谢您的所有帮助。 Picture of This
使用此代码,我调用了一辆随机可用的卡车,然后将卡车 ID 附加到客户,稍后我将在模型中进行匹配。它被称为重复的问题实际上并不存在,也不是这个问题。除非变量是静态的,否则调用代理时看不到变量,这是我做不到的。如果变量是静态的,则读取它们。如果它们不是静态的,则代理 returns 无论变量的初始化值是什么。参数也是如此,因为它只有 returns 初始化值。
agent.Truck_ID = TruckCount;
TruckCount = TruckCount++;
agent.Available = 1;
Total_Trucks_In_System = Total_Trucks_In_System++;
Trucks trucks = randomWhere(Truck, t->t.Available == 1);
if (trucks!=null){
agent.ID = trucks.Truck_ID;
}
因此,在我按照建议将人口调整为空后,我最终发现我还需要在高级部分的源中添加到 select 自定义人口,从添加代理到和select 我的卡车数量。就现在能够在整个模型中看到变量和参数而言,这是可行的。我确定是新手错误。希望这可以节省其他人一些时间,并感谢您的所有帮助。 Picture of This