|
512 | 512 | " non_trauma_treat_p=DEFAULT_NON_TRAUMA_TREAT_P,\n", |
513 | 513 | " prob_trauma=DEFAULT_PROB_TRAUMA):\n", |
514 | 514 | " '''\n", |
515 | | - " The init method sets up our defaults.\n", |
| 515 | + " Create a scenario to parameterise the simulation model\n", |
516 | 516 | " \n", |
517 | 517 | " Parameters:\n", |
518 | 518 | " -----------\n", |
|
537 | 537 | " \n", |
538 | 538 | " n_cubicles_2: int\n", |
539 | 539 | " The number of trauma treatment cubicles\n", |
| 540 | + " \n", |
| 541 | + " triage_mean: float\n", |
| 542 | + " Mean duration of the triage distribution (Exponential)\n", |
| 543 | + " \n", |
| 544 | + " reg_mean: float\n", |
| 545 | + " Mean duration of the registration distribution (Lognormal)\n", |
| 546 | + " \n", |
| 547 | + " reg_var: float\n", |
| 548 | + " Variance of the registration distribution (Lognormal)\n", |
| 549 | + " \n", |
| 550 | + " exam_mean: float\n", |
| 551 | + " Mean of the examination distribution (Normal)\n", |
| 552 | + " \n", |
| 553 | + " exam_var: float\n", |
| 554 | + " Variance of the examination distribution (Normal)\n", |
| 555 | + " \n", |
| 556 | + " trauma_mean: float\n", |
| 557 | + " Mean of the trauma stabilisation distribution (Exponential)\n", |
| 558 | + " \n", |
| 559 | + " trauma_treat_mean: float\n", |
| 560 | + " Mean of the trauma cubicle treatment distribution (Lognormal)\n", |
| 561 | + " \n", |
| 562 | + " trauma_treat_var: float\n", |
| 563 | + " Variance of the trauma cubicle treatment distribution (Lognormal)\n", |
540 | 564 | " \n", |
| 565 | + " non_trauma_treat_mean: float\n", |
| 566 | + " Mean of the non trauma treatment distribution\n", |
| 567 | + " \n", |
| 568 | + " non_trauma_treat_var: float\n", |
| 569 | + " Variance of the non trauma treatment distribution\n", |
| 570 | + " \n", |
| 571 | + " non_trauma_treat_p: float\n", |
| 572 | + " Probability non trauma patient requires treatment\n", |
| 573 | + " \n", |
| 574 | + " prob_trauma: float\n", |
| 575 | + " probability that a new arrival is a trauma patient.\n", |
541 | 576 | " '''\n", |
542 | 577 | " # sampling\n", |
543 | 578 | " self.random_number_set = random_number_set\n", |
|
618 | 653 | " random_seed=self.seeds[3])\n", |
619 | 654 | " \n", |
620 | 655 | " # Non-trauma treatment\n", |
621 | | - " self.nt_treat_dist = Lognormal(self.trauma_treat_mean, \n", |
622 | | - " np.sqrt(self.trauma_treat_var),\n", |
| 656 | + " self.nt_treat_dist = Lognormal(self.non_trauma_treat_mean, \n", |
| 657 | + " np.sqrt(self.non_trauma_treat_var),\n", |
623 | 658 | " random_seed=self.seeds[4])\n", |
624 | 659 | " \n", |
625 | 660 | " # treatment of trauma patients\n", |
626 | | - " self.treat_dist = Lognormal(self.non_trauma_treat_mean, \n", |
| 661 | + " self.treat_dist = Lognormal(self.trauma_treat_mean, \n", |
627 | 662 | " np.sqrt(self.non_trauma_treat_var),\n", |
628 | 663 | " random_seed=self.seeds[5])\n", |
629 | 664 | " \n", |
|
1488 | 1523 | " </tr>\n", |
1489 | 1524 | " <tr>\n", |
1490 | 1525 | " <th>04a_treatment_wait(non_trauma)</th>\n", |
1491 | | - " <td>285.228138</td>\n", |
| 1526 | + " <td>158.281113</td>\n", |
1492 | 1527 | " </tr>\n", |
1493 | 1528 | " <tr>\n", |
1494 | 1529 | " <th>04b_treatment_util(non_trauma)</th>\n", |
1495 | | - " <td>0.983346</td>\n", |
| 1530 | + " <td>0.898896</td>\n", |
1496 | 1531 | " </tr>\n", |
1497 | 1532 | " <tr>\n", |
1498 | 1533 | " <th>05_total_time(non-trauma)</th>\n", |
1499 | | - " <td>248.905957</td>\n", |
| 1534 | + " <td>244.927536</td>\n", |
1500 | 1535 | " </tr>\n", |
1501 | 1536 | " <tr>\n", |
1502 | 1537 | " <th>06a_trauma_wait</th>\n", |
|
1520 | 1555 | " </tr>\n", |
1521 | 1556 | " <tr>\n", |
1522 | 1557 | " <th>09_throughput</th>\n", |
1523 | | - " <td>123.000000</td>\n", |
| 1558 | + " <td>161.000000</td>\n", |
1524 | 1559 | " </tr>\n", |
1525 | 1560 | " </tbody>\n", |
1526 | 1561 | "</table>\n", |
|
1535 | 1570 | "02b_registration_util 0.870552\n", |
1536 | 1571 | "03a_examination_wait 27.735811\n", |
1537 | 1572 | "03b_examination_util 0.872689\n", |
1538 | | - "04a_treatment_wait(non_trauma) 285.228138\n", |
1539 | | - "04b_treatment_util(non_trauma) 0.983346\n", |
1540 | | - "05_total_time(non-trauma) 248.905957\n", |
| 1573 | + "04a_treatment_wait(non_trauma) 158.281113\n", |
| 1574 | + "04b_treatment_util(non_trauma) 0.898896\n", |
| 1575 | + "05_total_time(non-trauma) 244.927536\n", |
1541 | 1576 | "06a_trauma_wait 156.036116\n", |
1542 | 1577 | "06b_trauma_util 0.918339\n", |
1543 | 1578 | "07a_treatment_wait(trauma) 115.173959\n", |
1544 | 1579 | "07b_treatment_util(trauma) 0.904684\n", |
1545 | 1580 | "08_total_time(trauma) 379.594387\n", |
1546 | | - "09_throughput 123.000000" |
| 1581 | + "09_throughput 161.000000" |
1547 | 1582 | ] |
1548 | 1583 | }, |
1549 | 1584 | "execution_count": 17, |
|
1590 | 1625 | "text": [ |
1591 | 1626 | "Running multiple replications => done.\n", |
1592 | 1627 | "\n", |
1593 | | - "CPU times: user 1.85 s, sys: 17.4 ms, total: 1.87 s\n", |
1594 | | - "Wall time: 3.21 s\n" |
| 1628 | + "CPU times: user 2.09 s, sys: 12.9 ms, total: 2.11 s\n", |
| 1629 | + "Wall time: 3.46 s\n" |
1595 | 1630 | ] |
1596 | 1631 | }, |
1597 | 1632 | { |
|
1662 | 1697 | " <td>0.854615</td>\n", |
1663 | 1698 | " <td>28.478642</td>\n", |
1664 | 1699 | " <td>0.847430</td>\n", |
1665 | | - " <td>248.726939</td>\n", |
1666 | | - " <td>0.958961</td>\n", |
1667 | | - " <td>242.043358</td>\n", |
| 1700 | + " <td>145.414321</td>\n", |
| 1701 | + " <td>0.853189</td>\n", |
| 1702 | + " <td>247.872229</td>\n", |
1668 | 1703 | " <td>8.595360</td>\n", |
1669 | 1704 | " <td>0.368908</td>\n", |
1670 | 1705 | " <td>214.198331</td>\n", |
1671 | 1706 | " <td>0.976808</td>\n", |
1672 | 1707 | " <td>399.200311</td>\n", |
1673 | | - " <td>118.0</td>\n", |
| 1708 | + " <td>154.0</td>\n", |
1674 | 1709 | " </tr>\n", |
1675 | 1710 | " <tr>\n", |
1676 | 1711 | " <th>2</th>\n", |
|
1681 | 1716 | " <td>0.749027</td>\n", |
1682 | 1717 | " <td>16.328179</td>\n", |
1683 | 1718 | " <td>0.795921</td>\n", |
1684 | | - " <td>278.011538</td>\n", |
1685 | | - " <td>0.921861</td>\n", |
1686 | | - " <td>191.461429</td>\n", |
| 1719 | + " <td>134.202786</td>\n", |
| 1720 | + " <td>0.846795</td>\n", |
| 1721 | + " <td>178.799154</td>\n", |
1687 | 1722 | " <td>65.146932</td>\n", |
1688 | 1723 | " <td>0.838521</td>\n", |
1689 | 1724 | " <td>231.603567</td>\n", |
1690 | 1725 | " <td>0.778634</td>\n", |
1691 | 1726 | " <td>392.064964</td>\n", |
1692 | | - " <td>102.0</td>\n", |
| 1727 | + " <td>139.0</td>\n", |
1693 | 1728 | " </tr>\n", |
1694 | 1729 | " <tr>\n", |
1695 | 1730 | " <th>3</th>\n", |
|
1700 | 1735 | " <td>0.839994</td>\n", |
1701 | 1736 | " <td>18.400280</td>\n", |
1702 | 1737 | " <td>0.847310</td>\n", |
1703 | | - " <td>302.615660</td>\n", |
1704 | | - " <td>0.851852</td>\n", |
1705 | | - " <td>258.594057</td>\n", |
| 1738 | + " <td>169.503295</td>\n", |
| 1739 | + " <td>0.827088</td>\n", |
| 1740 | + " <td>260.804457</td>\n", |
1706 | 1741 | " <td>78.130137</td>\n", |
1707 | 1742 | " <td>0.816547</td>\n", |
1708 | 1743 | " <td>251.835736</td>\n", |
1709 | 1744 | " <td>1.188287</td>\n", |
1710 | 1745 | " <td>369.276920</td>\n", |
1711 | | - " <td>118.0</td>\n", |
| 1746 | + " <td>157.0</td>\n", |
1712 | 1747 | " </tr>\n", |
1713 | 1748 | " </tbody>\n", |
1714 | 1749 | "</table>\n", |
|
1729 | 1764 | "\n", |
1730 | 1765 | " 04a_treatment_wait(non_trauma) 04b_treatment_util(non_trauma) \\\n", |
1731 | 1766 | "rep \n", |
1732 | | - "1 248.726939 0.958961 \n", |
1733 | | - "2 278.011538 0.921861 \n", |
1734 | | - "3 302.615660 0.851852 \n", |
| 1767 | + "1 145.414321 0.853189 \n", |
| 1768 | + "2 134.202786 0.846795 \n", |
| 1769 | + "3 169.503295 0.827088 \n", |
1735 | 1770 | "\n", |
1736 | 1771 | " 05_total_time(non-trauma) 06a_trauma_wait 06b_trauma_util \\\n", |
1737 | 1772 | "rep \n", |
1738 | | - "1 242.043358 8.595360 0.368908 \n", |
1739 | | - "2 191.461429 65.146932 0.838521 \n", |
1740 | | - "3 258.594057 78.130137 0.816547 \n", |
| 1773 | + "1 247.872229 8.595360 0.368908 \n", |
| 1774 | + "2 178.799154 65.146932 0.838521 \n", |
| 1775 | + "3 260.804457 78.130137 0.816547 \n", |
1741 | 1776 | "\n", |
1742 | 1777 | " 07a_treatment_wait(trauma) 07b_treatment_util(trauma) \\\n", |
1743 | 1778 | "rep \n", |
|
1747 | 1782 | "\n", |
1748 | 1783 | " 08_total_time(trauma) 09_throughput \n", |
1749 | 1784 | "rep \n", |
1750 | | - "1 399.200311 118.0 \n", |
1751 | | - "2 392.064964 102.0 \n", |
1752 | | - "3 369.276920 118.0 " |
| 1785 | + "1 399.200311 154.0 \n", |
| 1786 | + "2 392.064964 139.0 \n", |
| 1787 | + "3 369.276920 157.0 " |
1753 | 1788 | ] |
1754 | 1789 | }, |
1755 | 1790 | "execution_count": 18, |
|
1785 | 1820 | "02b_registration_util 0.84\n", |
1786 | 1821 | "03a_examination_wait 24.79\n", |
1787 | 1822 | "03b_examination_util 0.85\n", |
1788 | | - "04a_treatment_wait(non_trauma) 285.32\n", |
1789 | | - "04b_treatment_util(non_trauma) 0.92\n", |
1790 | | - "05_total_time(non-trauma) 239.88\n", |
| 1823 | + "04a_treatment_wait(non_trauma) 131.76\n", |
| 1824 | + "04b_treatment_util(non_trauma) 0.87\n", |
| 1825 | + "05_total_time(non-trauma) 230.43\n", |
1791 | 1826 | "06a_trauma_wait 135.77\n", |
1792 | 1827 | "06b_trauma_util 0.81\n", |
1793 | 1828 | "07a_treatment_wait(trauma) 175.30\n", |
1794 | 1829 | "07b_treatment_util(trauma) 0.85\n", |
1795 | 1830 | "08_total_time(trauma) 399.90\n", |
1796 | | - "09_throughput 115.52\n", |
| 1831 | + "09_throughput 154.66\n", |
1797 | 1832 | "dtype: float64" |
1798 | 1833 | ] |
1799 | 1834 | }, |
|
2104 | 2139 | " </tr>\n", |
2105 | 2140 | " <tr>\n", |
2106 | 2141 | " <th>04a_treatment_wait(non_trauma)</th>\n", |
2107 | | - " <td>292.71</td>\n", |
2108 | | - " <td>295.57</td>\n", |
2109 | | - " <td>296.22</td>\n", |
2110 | | - " <td>162.00</td>\n", |
2111 | | - " <td>299.21</td>\n", |
| 2142 | + " <td>137.72</td>\n", |
| 2143 | + " <td>139.98</td>\n", |
| 2144 | + " <td>151.82</td>\n", |
| 2145 | + " <td>2.26</td>\n", |
| 2146 | + " <td>152.09</td>\n", |
2112 | 2147 | " </tr>\n", |
2113 | 2148 | " <tr>\n", |
2114 | 2149 | " <th>04b_treatment_util(non_trauma)</th>\n", |
2115 | | - " <td>0.91</td>\n", |
2116 | | - " <td>0.91</td>\n", |
2117 | | - " <td>0.91</td>\n", |
2118 | | - " <td>0.87</td>\n", |
2119 | | - " <td>0.91</td>\n", |
| 2150 | + " <td>0.86</td>\n", |
| 2151 | + " <td>0.86</td>\n", |
| 2152 | + " <td>0.86</td>\n", |
| 2153 | + " <td>0.63</td>\n", |
| 2154 | + " <td>0.86</td>\n", |
2120 | 2155 | " </tr>\n", |
2121 | 2156 | " <tr>\n", |
2122 | 2157 | " <th>05_total_time(non-trauma)</th>\n", |
2123 | | - " <td>245.61</td>\n", |
2124 | | - " <td>242.91</td>\n", |
2125 | | - " <td>230.45</td>\n", |
2126 | | - " <td>247.17</td>\n", |
2127 | | - " <td>229.58</td>\n", |
| 2158 | + " <td>236.01</td>\n", |
| 2159 | + " <td>233.77</td>\n", |
| 2160 | + " <td>225.60</td>\n", |
| 2161 | + " <td>196.38</td>\n", |
| 2162 | + " <td>223.33</td>\n", |
2128 | 2163 | " </tr>\n", |
2129 | 2164 | " <tr>\n", |
2130 | 2165 | " <th>06a_trauma_wait</th>\n", |
|
2168 | 2203 | " </tr>\n", |
2169 | 2204 | " <tr>\n", |
2170 | 2205 | " <th>09_throughput</th>\n", |
2171 | | - " <td>112.90</td>\n", |
2172 | | - " <td>112.50</td>\n", |
2173 | | - " <td>117.65</td>\n", |
2174 | | - " <td>142.85</td>\n", |
2175 | | - " <td>116.30</td>\n", |
| 2206 | + " <td>152.10</td>\n", |
| 2207 | + " <td>152.00</td>\n", |
| 2208 | + " <td>157.30</td>\n", |
| 2209 | + " <td>184.65</td>\n", |
| 2210 | + " <td>155.85</td>\n", |
2176 | 2211 | " </tr>\n", |
2177 | 2212 | " </tbody>\n", |
2178 | 2213 | "</table>\n", |
|
2187 | 2222 | "02b_registration_util 0.83 0.84 0.83 0.83 0.84\n", |
2188 | 2223 | "03a_examination_wait 24.57 24.15 0.13 23.03 0.15\n", |
2189 | 2224 | "03b_examination_util 0.85 0.85 0.67 0.84 0.67\n", |
2190 | | - "04a_treatment_wait(non_trauma) 292.71 295.57 296.22 162.00 299.21\n", |
2191 | | - "04b_treatment_util(non_trauma) 0.91 0.91 0.91 0.87 0.91\n", |
2192 | | - "05_total_time(non-trauma) 245.61 242.91 230.45 247.17 229.58\n", |
| 2225 | + "04a_treatment_wait(non_trauma) 137.72 139.98 151.82 2.26 152.09\n", |
| 2226 | + "04b_treatment_util(non_trauma) 0.86 0.86 0.86 0.63 0.86\n", |
| 2227 | + "05_total_time(non-trauma) 236.01 233.77 225.60 196.38 223.33\n", |
2193 | 2228 | "06a_trauma_wait 144.46 154.00 132.94 146.09 165.43\n", |
2194 | 2229 | "06b_trauma_util 0.80 0.83 0.82 0.82 0.80\n", |
2195 | 2230 | "07a_treatment_wait(trauma) 168.27 209.12 195.16 150.37 193.69\n", |
2196 | 2231 | "07b_treatment_util(trauma) 0.79 0.81 0.83 0.81 0.86\n", |
2197 | 2232 | "08_total_time(trauma) 390.68 402.95 422.40 403.82 400.37\n", |
2198 | | - "09_throughput 112.90 112.50 117.65 142.85 116.30" |
| 2233 | + "09_throughput 152.10 152.00 157.30 184.65 155.85" |
2199 | 2234 | ] |
2200 | 2235 | }, |
2201 | 2236 | "execution_count": 25, |
|
2284 | 2319 | " <tr>\n", |
2285 | 2320 | " <th>3</th>\n", |
2286 | 2321 | " <td>Non-trauma treatment</td>\n", |
2287 | | - " <td>292.71</td>\n", |
2288 | | - " <td>295.57</td>\n", |
2289 | | - " <td>296.22</td>\n", |
2290 | | - " <td>162.00</td>\n", |
2291 | | - " <td>299.21</td>\n", |
| 2322 | + " <td>137.72</td>\n", |
| 2323 | + " <td>139.98</td>\n", |
| 2324 | + " <td>151.82</td>\n", |
| 2325 | + " <td>2.26</td>\n", |
| 2326 | + " <td>152.09</td>\n", |
2292 | 2327 | " </tr>\n", |
2293 | 2328 | " <tr>\n", |
2294 | 2329 | " <th>4</th>\n", |
|
2317 | 2352 | "0 Triage 28.86 1.09 36.46 39.36 1.14\n", |
2318 | 2353 | "1 Registation 113.56 138.79 106.27 108.46 140.14\n", |
2319 | 2354 | "2 Examination 24.57 24.15 0.13 23.03 0.15\n", |
2320 | | - "3 Non-trauma treatment 292.71 295.57 296.22 162.00 299.21\n", |
| 2355 | + "3 Non-trauma treatment 137.72 139.98 151.82 2.26 152.09\n", |
2321 | 2356 | "4 Trauma stabilisation 144.46 154.00 132.94 146.09 165.43\n", |
2322 | 2357 | "5 Trauma treatment 168.27 209.12 195.16 150.37 193.69" |
2323 | 2358 | ] |
|
2367 | 2402 | " Triage & 28.86 & 1.09 & 36.46 & 39.36 & 1.14 \\\\\n", |
2368 | 2403 | " Registation & 113.56 & 138.79 & 106.27 & 108.46 & 140.14 \\\\\n", |
2369 | 2404 | " Examination & 24.57 & 24.15 & 0.13 & 23.03 & 0.15 \\\\\n", |
2370 | | - " Non-trauma treatment & 292.71 & 295.57 & 296.22 & 162.00 & 299.21 \\\\\n", |
| 2405 | + " Non-trauma treatment & 137.72 & 139.98 & 151.82 & 2.26 & 152.09 \\\\\n", |
2371 | 2406 | " Trauma stabilisation & 144.46 & 154.00 & 132.94 & 146.09 & 165.43 \\\\\n", |
2372 | 2407 | " Trauma treatment & 168.27 & 209.12 & 195.16 & 150.37 & 193.69 \\\\\n", |
2373 | 2408 | "\\bottomrule\n", |
|
0 commit comments