To obtain the distribution a key performance measure from
treat.sim
you should run multiple replications. This runs
the model n times each time
using different pseudo random numbers.
The first step is to create an experiment. When creating the
experiment we recommend setting log_level=0
. The mulitple
replication functionality of treat.sim
uses this parameter
to suppress log output.
Use logging within a single run of the model rather than mulitple replications.
default_experiment <- create_experiment(log_level=0)
print(default_experiment$n_triage_bays)
#> [1] 1
print(default_experiment$triage_mean)
#> [1] 3
Multiple replications of the model is achieved using the
multiple_replications
functions. A user must pass an
experiment and the number of replications.
envs <- multiple_replications(default_experiment, n_reps=5)
#> [1] "running replications..."
#> [1] "Complete."
The multiple replications function returns a list of simmer environments rather than a neat table of key performance measures.
We return the simmer environments as this allows you to do your own analysis of KPIs if desired.
To obtain a table of replications versus KPIs use the
replication_results_table
function.
Note
replication_results_table
assumes that you have used the default simulation run length in its calculation of resource utilisation. If you have run the model for a different run length from default please set theresults_collection_period
parameter.
rep_table <- replication_results_table(envs, default_experiment)
rep_table
#> replication 00_arrivals 01a_triage_wait 01b_triage_util 02a_registration_wait
#> 1 1 227 38.510472 0.6500712 55.63581
#> 2 2 217 39.962735 0.5764697 92.59627
#> 3 3 220 8.028919 0.5145182 125.19868
#> 4 4 207 32.157743 0.5447273 100.08161
#> 5 5 220 17.281597 0.5382466 95.79616
#> 02b_registration_util 03a_examination_wait 03b_examination_util
#> 1 0.8313868 33.71627 0.8440569
#> 2 0.8241213 24.76566 0.8355781
#> 3 0.8363566 22.93733 0.8317090
#> 4 0.7600335 22.39284 0.7850996
#> 5 0.8497077 29.89311 0.8479559
#> 04a_treatment_wait(non_trauma) 04b_treatment_util(non_trauma)
#> 1 161.3438 0.8528225
#> 2 120.8921 0.8715918
#> 3 151.4920 0.8235007
#> 4 104.7379 0.8154391
#> 5 124.9008 0.8803980
#> 05_total_time(non-trauma) 06a_stabilisation_wait 06b_stabilisation_util
#> 1 224.4021 322.3138 0.6826987
#> 2 232.8177 341.0050 0.7482643
#> 3 226.3541 175.9264 0.8472946
#> 4 227.6200 217.9818 0.8518988
#> 5 213.6180 163.9983 0.6404862
#> 07a_treatment_wait(trauma) 07b_treatment_util(trauma) 08_total_time(trauma)
#> 1 4.930242 0.2696664 448.4067
#> 2 20.730095 0.3229111 501.7710
#> 3 4.735720 0.4148506 273.4123
#> 4 11.741513 0.3679632 358.0275
#> 5 5.159307 0.1560905 347.3643
#> 09_throughput
#> 1 149
#> 2 167
#> 3 149
#> 4 153
#> 5 145
# create default experiment - turn off event logging
default_experiment <- create_experiment(log_level=0)
# run 5 replications of the model (return is list of simmer envs)
envs <- multiple_replications(default_experiment, n_reps=5)
#> [1] "running replications..."
#> [1] "Complete."
# convert envs into a data.table of KPIs by replication.
rep_table <- replication_results_table(envs, default_experiment)
rep_table
#> replication 00_arrivals 01a_triage_wait 01b_triage_util 02a_registration_wait
#> 1 1 227 38.510472 0.6500712 55.63581
#> 2 2 217 39.962735 0.5764697 92.59627
#> 3 3 220 8.028919 0.5145182 125.19868
#> 4 4 207 32.157743 0.5447273 100.08161
#> 5 5 220 17.281597 0.5382466 95.79616
#> 02b_registration_util 03a_examination_wait 03b_examination_util
#> 1 0.8313868 33.71627 0.8440569
#> 2 0.8241213 24.76566 0.8355781
#> 3 0.8363566 22.93733 0.8317090
#> 4 0.7600335 22.39284 0.7850996
#> 5 0.8497077 29.89311 0.8479559
#> 04a_treatment_wait(non_trauma) 04b_treatment_util(non_trauma)
#> 1 161.3438 0.8528225
#> 2 120.8921 0.8715918
#> 3 151.4920 0.8235007
#> 4 104.7379 0.8154391
#> 5 124.9008 0.8803980
#> 05_total_time(non-trauma) 06a_stabilisation_wait 06b_stabilisation_util
#> 1 224.4021 322.3138 0.6826987
#> 2 232.8177 341.0050 0.7482643
#> 3 226.3541 175.9264 0.8472946
#> 4 227.6200 217.9818 0.8518988
#> 5 213.6180 163.9983 0.6404862
#> 07a_treatment_wait(trauma) 07b_treatment_util(trauma) 08_total_time(trauma)
#> 1 4.930242 0.2696664 448.4067
#> 2 20.730095 0.3229111 501.7710
#> 3 4.735720 0.4148506 273.4123
#> 4 11.741513 0.3679632 358.0275
#> 5 5.159307 0.1560905 347.3643
#> 09_throughput
#> 1 149
#> 2 167
#> 3 149
#> 4 153
#> 5 145