Search code examples
anylogic

AnyLogic Release Resource after Delay in RackStore


Appreciate your kind assistance in sharing a solution for my model.

I'm currently trying to model warehouse operations where a pallet is stored in the RackStore for a period of time by using delay in the RackStore block. Whenever the pallet is stored, I want the resource (forklift) to be released for other tasks. Currently, the forklift will be together with the pallet until the delay finishes.

Looking forward to any advise on this matter.

Many thanks.


Solution

  • The delay in the RackStore block is not to do with the amount of time the agent spends in the rack; it is the loading delay (to actually get the pallet on the rack) and thus intrinsically the resource is occupied until that completes (if you specified "Use resources to move").

    The RackStore block (confusingly when you first see it) just puts agents into a pallet rack; from a process point-of-view the agent then just continues into the next block. So to retain the pallet/agent in the rack for a period you need to have something in your process flow which delays it as needed. This could be anything e.g.

    • A Delay block which leaves it in there for a pre-determined length of time.
    • A Wait block, from which the agent is released at the appropriate time (via code, typically driven from another process flow which represents, say, an order being assembled using the pallet).
    • A Batch block if something happens once N pallets are stored on the rack.

    You specify in the RackStore block what happens to the resources when they've finished loading the pallet. (The "After release resources" section.)

    This would normally always be followed by a RackPick block so that AnyLogic actually releases the pallet from the rack (potentially using resources); if you don't, the rack still contains the pallet/agent wherever it currently is in the process flow (and even if the agent is deleted via a Sink block).

    P.S. Also, these Process Modeling Library blocks are deprecated; you should ideally use the Store and Retrieve Material Handling Library blocks.