anylogicdiscrete

Is it possible to avoid the entries in an Assembler to behave as a quee?


I am trying to implement the real behavior of a warehouse in Anylogic.In the transportation section I used the assembler to transport three different products in one package.The quees before the hold box work as a storage with a limit capacity. The case is that there is a moment where the storage is full and the hold become unblocked in that moment all the components go to the entry of the assembler and the storage its empty. This behavior is not realistic and I would like to avoid the components to get stuck at the entry of the assembler and go 1 by 1. Is this possible?

Picture example


Solution

  • Sure, change your "Hold" block to release only 1 agent at a time: enter image description here You will need to ensure that more than 1 agent is freed by calling hold.unblock() regularly until the queue is empty, though.

    Alternatively, replace the Queue-Hold combination with a "Wait" block and free() only individual agents when you think it is the right time.