Parking randomly in Anylogic

谁说胖子不能爱 提交于 2019-12-13 03:36:42

问题


I am using AnyLogic's Traffic Road Library and I know it's possible in the car Source module to define the initial position of the car in a parking lot.

I want the parking lot space to be randomly chosen. I know there is this function randomFreeSpaceIndex() that returns the index of randomly chosen free parking space.

But I do not know how to call it on my car source or use it with the CarMoveTo tool. Here is my model so far.

Any help is appreciated!


回答1:


I'm pretty sure that you can't with the standard parking lot, so you have to unfortunately create many parkinglots with 1 parking space as you can see in the following image:

With that being done, now you can select a random parking space with a model that could look for example like this:

In this model I created a collection of parkingLots... all with 1 parking space:

In the select output block you ask if there is space available:

for(ParkingLot p : parkingSpaces){
    if(p.nFree()>0)
        return true;
} 
return false;

And in the carMoveTo you call the function selectRandomParkingSpace():

selectRandomParkingSpace uses the following code:

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

That is my solution.



来源:https://stackoverflow.com/questions/49390935/parking-randomly-in-anylogic

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!