在 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);

这就是我的解决方案。