'Trasporters are jammed at a specific location in AnyLogic

I hope you are having a great day.

Recently, I tried to build an AnyLogic model with free-space transporters, but I encountered an unexpected situation as shown below.

Jammed Transporters

I thought that there is no logical reason why all the transporters are jammed in a specific position. Is there any solution or possible reason for this situation? I have attached my model for your information.

Thank you for reading this question.



Solution 1:[1]

The problem with the traffic jam appears to be due to the fact that there are two few attractors available for the transporters to place the items and then they get stuck waiting for an attractor to become available...

When running your model as-is I get a jam in the stage one area

enter image description here

And in the logic blocks, I can see that the transports are stuck in the "Move By Transporter" block.

If I assume the attractors are set to 4 for a reason I would suggest the following logic - similar to what is described here

You create a list of all the attractors available. See the neat trick in AnyLogic where if you select a bunch of objects and then right-click on them you can automatically create a collection.

enter image description here

You can call it something like attractorsAvailabeStage1 enter image description here

And create a new map to store the WIP agents that will be occupying the attractors

enter image description here

And have a function that will provide the available attractors.

enter image description here

Change the move by transporter option to move to an attractor enter image description here

And also return the attractor as available once it gets moved from its location

enter image description here

Now you only need to prevent mew agents from entering the area if there is no more attractors left or agents on their way to the attractors

enter image description here

I tested it and it works great for stage 1 you need to do it for all the stages.

On second thought.... seeing that you do have resource pools and service blocks. You can achieve the same logic I described by having resources first size the locations, then go to the transport block, and then be delayed

You first seize the space in the stage, then you move to the space, then you delay it.... then you wait, then seize the space in stage 2, then move there, then release stage 1.

enter image description here

I would go for the latter option

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Jaco-Ben Vosloo