|
716 | 716 | "source": [
|
717 | 717 | "def single_run(\n",
|
718 | 718 | " experiment, \n",
|
| 719 | + " rep=0,\n", |
719 | 720 | " wu_period=WARM_UP_PERIOD, \n",
|
720 | 721 | " rc_period=RESULTS_COLLECTION_PERIOD\n",
|
721 | 722 | "):\n",
|
|
728 | 729 | " experiment: Experiment\n",
|
729 | 730 | " The experiment/paramaters to use with model\n",
|
730 | 731 | "\n",
|
| 732 | + " rep: int\n", |
| 733 | + " The replication number.\n", |
| 734 | + "\n", |
731 | 735 | " wu_period: float, optional (default=WARM_UP_PERIOD)\n",
|
732 | 736 | " The initial transient period of the simulation\n",
|
733 | 737 | " Results from this period are removed from final computations.\n",
|
|
743 | 747 | " # reset all results variables to zero and empty\n",
|
744 | 748 | " experiment.init_results_variables()\n",
|
745 | 749 | "\n",
|
| 750 | + " # set random number set to the replication no.\n", |
| 751 | + " # this controls sampling for the run.\n", |
| 752 | + " experiment.set_random_no_set(rep)\n", |
| 753 | + "\n", |
746 | 754 | " # environment is (re)created inside single run\n",
|
747 | 755 | " env = simpy.Environment()\n",
|
748 | 756 | "\n",
|
|
832 | 840 | "\n",
|
833 | 841 | " # loop over single run to generate results dicts in a python list.\n",
|
834 | 842 | " results = [\n",
|
835 |
| - " single_run(experiment, wu_period, rc_period) for rep in range(n_reps)\n", |
| 843 | + " single_run(experiment, rep, wu_period, rc_period) \n", |
| 844 | + " for rep in range(n_reps)\n", |
836 | 845 | " ]\n",
|
837 | 846 | "\n",
|
838 | 847 | " # format and return results in a dataframe\n",
|
|
883 | 892 | " <tr>\n",
|
884 | 893 | " <th>01_mean_waiting_time</th>\n",
|
885 | 894 | " <td>5.0</td>\n",
|
886 |
| - " <td>4.1</td>\n", |
887 |
| - " <td>1.7</td>\n", |
888 |
| - " <td>2.2</td>\n", |
889 |
| - " <td>3.3</td>\n", |
| 895 | + " <td>3.2</td>\n", |
| 896 | + " <td>0.8</td>\n", |
| 897 | + " <td>1.9</td>\n", |
| 898 | + " <td>3.0</td>\n", |
| 899 | + " <td>3.2</td>\n", |
890 | 900 | " <td>3.9</td>\n",
|
891 |
| - " <td>4.2</td>\n", |
892 |
| - " <td>6.8</td>\n", |
| 901 | + " <td>4.0</td>\n", |
893 | 902 | " </tr>\n",
|
894 | 903 | " <tr>\n",
|
895 | 904 | " <th>02_operator_util</th>\n",
|
896 | 905 | " <td>5.0</td>\n",
|
897 |
| - " <td>95.3</td>\n", |
898 |
| - " <td>1.7</td>\n", |
899 |
| - " <td>93.8</td>\n", |
| 906 | + " <td>94.2</td>\n", |
| 907 | + " <td>1.3</td>\n", |
| 908 | + " <td>92.1</td>\n", |
900 | 909 | " <td>94.1</td>\n",
|
901 |
| - " <td>94.6</td>\n", |
902 |
| - " <td>96.1</td>\n", |
903 |
| - " <td>98.0</td>\n", |
| 910 | + " <td>94.4</td>\n", |
| 911 | + " <td>94.5</td>\n", |
| 912 | + " <td>95.8</td>\n", |
904 | 913 | " </tr>\n",
|
905 | 914 | " <tr>\n",
|
906 | 915 | " <th>03_mean_nurse_waiting_time</th>\n",
|
907 | 916 | " <td>5.0</td>\n",
|
908 |
| - " <td>5.0</td>\n", |
909 |
| - " <td>1.8</td>\n", |
| 917 | + " <td>3.0</td>\n", |
| 918 | + " <td>1.7</td>\n", |
| 919 | + " <td>1.6</td>\n", |
| 920 | + " <td>1.7</td>\n", |
910 | 921 | " <td>2.0</td>\n",
|
| 922 | + " <td>4.7</td>\n", |
911 | 923 | " <td>5.0</td>\n",
|
912 |
| - " <td>5.7</td>\n", |
913 |
| - " <td>5.7</td>\n", |
914 |
| - " <td>6.6</td>\n", |
915 | 924 | " </tr>\n",
|
916 | 925 | " <tr>\n",
|
917 | 926 | " <th>04_nurse_util</th>\n",
|
918 | 927 | " <td>5.0</td>\n",
|
919 |
| - " <td>92.9</td>\n", |
920 |
| - " <td>1.8</td>\n", |
921 |
| - " <td>90.6</td>\n", |
922 |
| - " <td>91.4</td>\n", |
| 928 | + " <td>88.3</td>\n", |
| 929 | + " <td>3.6</td>\n", |
| 930 | + " <td>83.7</td>\n", |
| 931 | + " <td>86.9</td>\n", |
| 932 | + " <td>87.9</td>\n", |
| 933 | + " <td>89.5</td>\n", |
923 | 934 | " <td>93.6</td>\n",
|
924 |
| - " <td>93.9</td>\n", |
925 |
| - " <td>95.1</td>\n", |
926 | 935 | " </tr>\n",
|
927 | 936 | " </tbody>\n",
|
928 | 937 | "</table>\n",
|
929 | 938 | "</div>"
|
930 | 939 | ],
|
931 | 940 | "text/plain": [
|
932 | 941 | " count mean std min 25% 50% 75% max\n",
|
933 |
| - "01_mean_waiting_time 5.0 4.1 1.7 2.2 3.3 3.9 4.2 6.8\n", |
934 |
| - "02_operator_util 5.0 95.3 1.7 93.8 94.1 94.6 96.1 98.0\n", |
935 |
| - "03_mean_nurse_waiting_time 5.0 5.0 1.8 2.0 5.0 5.7 5.7 6.6\n", |
936 |
| - "04_nurse_util 5.0 92.9 1.8 90.6 91.4 93.6 93.9 95.1" |
| 942 | + "01_mean_waiting_time 5.0 3.2 0.8 1.9 3.0 3.2 3.9 4.0\n", |
| 943 | + "02_operator_util 5.0 94.2 1.3 92.1 94.1 94.4 94.5 95.8\n", |
| 944 | + "03_mean_nurse_waiting_time 5.0 3.0 1.7 1.6 1.7 2.0 4.7 5.0\n", |
| 945 | + "04_nurse_util 5.0 88.3 3.6 83.7 86.9 87.9 89.5 93.6" |
937 | 946 | ]
|
938 | 947 | },
|
939 | 948 | "execution_count": 15,
|
|
0 commit comments