0

我正在使用 AnyLogic 的交通道路库,我知道可以在汽车源模块中定义汽车在停车场的初始位置。

我希望随机选择停车场空间。我知道有这个函数randomFreeSpaceIndex()可以返回随机选择的免费停车位的索引。

但我不知道如何在我的汽车资源上调用它或将它与 CarMoveTo 工具一起使用。到目前为止,这是我的模型。

任何帮助表示赞赏!

4

1 回答 1

0

我很确定您不能使用标准停车场,因此不幸的是,您必须创建许多带有 1 个停车位的停车场,如下图所示: 停车位

完成后,现在您可以选择一个随机停车位,其模型可能如下所示: 模型

在这个模型中,我创建了一个parkingLots 的集合......全部都有一个停车位: 收藏

在选择输出块中,您询问是否有可用空间:

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

这就是我的解决方案。

于 2018-03-20T22:43:18.310 回答