Answered

Bizagi simulated process completion times appear not to be consistent with Queuing Theory

Firstly let congratulate Bizagi on their addition of simulation to Modeler 2.5. I teach Business Process Management in university. This will be a great asset to students.

I ran some tests on the new simulation feature, and I wanted to share the results. I chose the simplest process, one with a single task and single actor.

I assumed both job interarrival and services times are random (follow a (Negative) Exponential distribution), with just one actor. In Queuing Theory this is called an M/M/1 queue. I set the average interarrival time at 5 min and average service time at 4 min. Queuing Theory predicts the following:

  • Resource Utilization Factor = 80% ,
  • Average completion time = 20 min, and
  • Average waiting time = 16 min.

However the Bizagi simulation engine seems to produce different results. I ran the simulation for 100000 instances, which should be more than enough to reach a steady state. I obtained the

following results:

  • Resource Utilization Factor = 81.13%
  • Average completion time = 21.38 min, and
  • Average waiting time = 17.34 min.

IMHO, this is not close enough to the theoretical result, given the large number of iterations. I invite others to run the test to replicate the results. Is there something I have overlooked?

FYI, I have attached screen shots and model.

Files: One.zip
photo
0

Dear Peter,

Thank you for your congratulations and valuable feedback.

Indeed running the simulation for a large number of instances is oriented to reach that "steady state", however allow us to clarify that you should also be using a large number of replications so that simulation results converge really accurately to the theoretical results.

To define the number of replications that will be simulated (i.e, we recommend you to use in this model 30 or more replications), go to the scenario properties and define the Replications parameter:

9uox

For the replications to take place, keep in mind that you should run the What-If analysis which provides direct results (instead of using the graphical simulation with Real-time display at the Run option):

oudq

Notice that you may select only 1 scenario, and in this example we used 100 replications.

Results when exported to Excel will average similarly to this information:

  • Resource Utilization factor: 80.03 %
  • Average completion time (Throughput): 20.02 min
  • Average Waiting time: 16.02 min

Feel free to download this model with the replication parameter defined, and an Excel containing a thorough analysis provided by our technological ally (Lanner).

Best regards,

photo
0

Actually, queuing theory is based on a "steady state simulation" model, not a "terminating simulation". You shouldn't give a number of elements for it to complete, but instead a long enough time period for it be observed. Also, running multiple replications is wrong, since it's used only for "terminating simulations".

If you set the number of days of the simulation to 999 days, results will be much closer (79.95% resource usage) . I assure you that if BizAgi allowed for a 9999 days simulation, you will get even closer, actually what setting a hundred replications does in this case is just dealing with the 999 days limitation.I've been using Arena (Rockwell Software) for a long time, I gess I'll run some more complex tests...Best Regards.

photo
0

By following Daisuke's instructions above, using the Whatif Analysis, many more replications can be run very quickly. The simulation results then converge more closely to the theoretical values.

As you say, theoretical results should be predicted only for processes in steady state. Whatever initial state the Bizagi simulator assumes, it should take some time to reach the steady state. If the Bizagi simulator assumes an empty process to begin with, the average completion time and utilization factor should converge FROM BELOW. However the results I posted above, plus results obtained on many other simulation runs, all are GREATER than the theoretical results. What initial state therefore does the Bizagi simulator assume?