0

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.

Zoe
  • 27,060
  • 21
  • 118
  • 148
Thomas J
  • 35
  • 9
  • Even if you have a look at AnyLogic demo models, they are like this, unfortunately. I think you can use x-y coordinates to fix each transporter's location. But this will require some manual work. – Yashar Ahmadov Mar 14 '22 at 06:56

1 Answers1

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

Jaco-Ben Vosloo
  • 3,770
  • 2
  • 16
  • 33
  • 1
    Thank you so much! I am really impressed with your detailed answer and insights. I have resolved the problem with your suggestion #1. Also, based on your second suggestion, I could solve the problem by adding a queue before GoToStage module. Again, I really appreciate your help! – Thomas J Mar 17 '22 at 09:38