Search code examples
simulationanylogicevent-simulation

Anylogic Problem: two operators with different operation time in one machine


I am struggling to resolve a simulation problem in Anylogic.

Problem: 1. I want to make 2 operators which work in the same machine to have different operation time (for example, when a part arriving at the machine, worker1 spend 3 minutes but worker2 spend 5 minutes.) I have tried the resource pool but the 2 workers that are seized always spend the same time at the machine.

How can I modelize this problem by using flowchart blocks?


Solution

  • Just use a Seize ---Service---Delay---Release structure (assuming worker1 spends the 3 mins at the start of the processing).

    The Seize/Release blocks seize and release worker2. The Service block represents worker1 working for 3 mins. The Delay block covers the remaining 2 mins for already-seized worker2.

    You do it like this (rather than with 2 Service blocks, the first using worker1 and worker2 for 3 mins, the second using worker2 for another 2 mins) because you want to ensure worker2 doesn't get seized by another request when the first Service block ends. (In some models this eventuality won't be a problem so you can use two Service blocks instead but I wouldn't because the way here makes explicit that the same worker2 worker is held for the whole 5 mins.

    You can also put all this in a custom block (check the AnyLogic help) so it's a reusable single block.