在 Anylogic 中随机停车
Parking randomly in Anylogic
我正在使用 AnyLogic 的 Traffic Road Library,我知道可以在汽车源模块中定义汽车在停车场的初始位置。
我要随机选择停车场space。我知道有这个函数 randomFreeSpaceIndex()
returns 随机选择的免费停车索引 space。
但我不知道如何在我的汽车源上调用它或将它与 CarMoveTo 工具一起使用。到目前为止,这是我的 model。
感谢任何帮助!
我很确定你不能使用标准停车场,所以不幸的是你不得不创建许多停车场,只有 1 个停车位 space,如下图所示:
完成后,现在您可以 select 随机停车 space 使用如下所示的模型:
在这个模型中,我创建了一个 parkingLots 的集合......全部都有 1 个停车位 space:
在 select 输出块中询问是否有 space 可用:
for(ParkingLot p : parkingSpaces){
if(p.nFree()>0)
return true;
}
return false;
并在 carMoveTo 中调用函数 selectRandomParkingSpace():
selectRandomParkingSpace 使用以下代码:
ArrayList <ParkingLot> freeSpaces=new ArrayList();
for(ParkingLot p : parkingSpaces){
if(p.nFree()>0){
freeSpaces.add(p);
}
}
int randomSpace=uniform_discr(0,freeSpaces.size()-1);
return freeSpaces.get(randomSpace);
这就是我的解决方案。
我正在使用 AnyLogic 的 Traffic Road Library,我知道可以在汽车源模块中定义汽车在停车场的初始位置。
我要随机选择停车场space。我知道有这个函数 randomFreeSpaceIndex()
returns 随机选择的免费停车索引 space。
但我不知道如何在我的汽车源上调用它或将它与 CarMoveTo 工具一起使用。到目前为止,这是我的 model。
感谢任何帮助!
我很确定你不能使用标准停车场,所以不幸的是你不得不创建许多停车场,只有 1 个停车位 space,如下图所示:
完成后,现在您可以 select 随机停车 space 使用如下所示的模型:
在这个模型中,我创建了一个 parkingLots 的集合......全部都有 1 个停车位 space:
在 select 输出块中询问是否有 space 可用:
for(ParkingLot p : parkingSpaces){
if(p.nFree()>0)
return true;
}
return false;
并在 carMoveTo 中调用函数 selectRandomParkingSpace():
selectRandomParkingSpace 使用以下代码:
ArrayList <ParkingLot> freeSpaces=new ArrayList();
for(ParkingLot p : parkingSpaces){
if(p.nFree()>0){
freeSpaces.add(p);
}
}
int randomSpace=uniform_discr(0,freeSpaces.size()-1);
return freeSpaces.get(randomSpace);
这就是我的解决方案。