//////////////// POLICY: back from xray preferred /////////////// Simulating 1 days with detailed output: -- 07:00:00 -- Start of simulation. All doctors start waiting. -- 07:03:55 -- New patient: p1, add to examination-waiting-list Checking examination-waiting-list... Checking if doctor d1 can take a patient... waiting for examination: p1, preferred doctor: null... 1st examination start: p1, d1 Checking if doctor d2 can take a patient... -- 07:05:46 -- New patient: p2, add to examination-waiting-list Checking examination-waiting-list... Checking if doctor d2 can take a patient... waiting for examination: p2, preferred doctor: null... 1st examination start: p2, d2 -- 07:15:00 -- 1st examination end: p1, d1 Xray needed. Add p1 to xray-waiting-list Checking xray-waiting-list... Xray-shooting starts: p1 Checking examination-waiting-list... Checking if doctor d1 can take a patient... -- 07:21:15 -- 1st examination end: p2, d2 No xray needed. Can go home now: p2 Checking examination-waiting-list... Checking if doctor d1 can take a patient... Checking if doctor d2 can take a patient... -- 07:23:04 -- Xray-shooting end: p1 Add to back-from-xray-waiters: p1 Checking examination-waiting-list... Checking if doctor d2 can take a patient... Back from xray-shooting: p1, preferred doctor: d1... Checking if doctor d1 can take a patient... Back from xray-shooting: p1, preferred doctor: d1... 2nd examination start: p1, d1 Checking xray-waiting-list... -- 07:38:59 -- 2nd examination end: p1, d1 Can go home: p1 Checking examination-waiting-list... Checking if doctor d1 can take a patient... Checking if doctor d2 can take a patient... -- 07:59:49 -- New patient: p3, add to examination-waiting-list Checking examination-waiting-list... Checking if doctor d2 can take a patient... waiting for examination: p3, preferred doctor: null... 1st examination start: p3, d2 Checking if doctor d1 can take a patient... -- 08:14:49 -- 1st examination end: p3, d2 Xray needed. Add p3 to xray-waiting-list Checking xray-waiting-list... Xray-shooting starts: p3 Checking examination-waiting-list... Checking if doctor d2 can take a patient... Checking if doctor d1 can take a patient... -- 08:17:26 -- New patient: p4, add to examination-waiting-list Checking examination-waiting-list... Checking if doctor d1 can take a patient... waiting for examination: p4, preferred doctor: null... 1st examination start: p4, d1 Checking if doctor d2 can take a patient... -- 08:23:55 -- Xray-shooting end: p3 Add to back-from-xray-waiters: p3 Checking examination-waiting-list... Checking if doctor d2 can take a patient... Back from xray-shooting: p3, preferred doctor: d2... 2nd examination start: p3, d2 Checking xray-waiting-list... -- 08:34:31 -- 1st examination end: p4, d1 Xray needed. Add p4 to xray-waiting-list Checking xray-waiting-list... Xray-shooting starts: p4 Checking examination-waiting-list... Checking if doctor d1 can take a patient... -- 08:38:05 -- New patient: p5, add to examination-waiting-list Checking examination-waiting-list... Checking if doctor d1 can take a patient... waiting for examination: p5, preferred doctor: null... 1st examination start: p5, d1 -- 08:40:21 -- Xray-shooting end: p4 Add to back-from-xray-waiters: p4 Checking examination-waiting-list... Checking xray-waiting-list... -- 08:53:17 -- 2nd examination end: p3, d2 Can go home: p3 Checking examination-waiting-list... Checking if doctor d2 can take a patient... Back from xray-shooting: p4, preferred doctor: d1... -- 08:53:20 -- 1st examination end: p5, d1 Xray needed. Add p5 to xray-waiting-list Checking xray-waiting-list... Xray-shooting starts: p5 Checking examination-waiting-list... Checking if doctor d2 can take a patient... Back from xray-shooting: p4, preferred doctor: d1... Checking if doctor d1 can take a patient... Back from xray-shooting: p4, preferred doctor: d1... 2nd examination start: p4, d1 -- 08:56:21 -- New patient: p6, add to examination-waiting-list Checking examination-waiting-list... Checking if doctor d2 can take a patient... waiting for examination: p6, preferred doctor: null... 1st examination start: p6, d2 -- 08:59:01 -- Xray-shooting end: p5 Add to back-from-xray-waiters: p5 Checking examination-waiting-list... Checking xray-waiting-list... -- 09:03:21 -- 1st examination end: p6, d2 Xray needed. Add p6 to xray-waiting-list Checking xray-waiting-list... Xray-shooting starts: p6 Checking examination-waiting-list... Checking if doctor d2 can take a patient... Back from xray-shooting: p5, preferred doctor: d1... -- 09:06:21 -- 2nd examination end: p4, d1 Can go home: p4 Checking examination-waiting-list... Checking if doctor d1 can take a patient... Back from xray-shooting: p5, preferred doctor: d1... 2nd examination start: p5, d1 Checking if doctor d2 can take a patient... -- 09:09:54 -- Xray-shooting end: p6 Add to back-from-xray-waiters: p6 Checking examination-waiting-list... Checking if doctor d2 can take a patient... Back from xray-shooting: p6, preferred doctor: d2... 2nd examination start: p6, d2 Checking xray-waiting-list... -- 09:13:26 -- New patient: p7, add to examination-waiting-list Checking examination-waiting-list... -- 09:21:05 -- New patient: p8, add to examination-waiting-list Checking examination-waiting-list... -- 09:27:46 -- 2nd examination end: p6, d2 Can go home: p6 Checking examination-waiting-list... Checking if doctor d2 can take a patient... waiting for examination: p7, preferred doctor: null... 1st examination start: p7, d2 -- 09:33:58 -- 2nd examination end: p5, d1 Can go home: p5 Checking examination-waiting-list... Checking if doctor d1 can take a patient... waiting for examination: p8, preferred doctor: null... 1st examination start: p8, d1 -- 09:39:38 -- 1st examination end: p7, d2 Xray needed. Add p7 to xray-waiting-list Checking xray-waiting-list... Xray-shooting starts: p7 Checking examination-waiting-list... Checking if doctor d2 can take a patient... -- 09:46:10 -- Xray-shooting end: p7 Add to back-from-xray-waiters: p7 Checking examination-waiting-list... Checking if doctor d2 can take a patient... Back from xray-shooting: p7, preferred doctor: d2... 2nd examination start: p7, d2 Checking xray-waiting-list... -- 09:49:08 -- New patient: p9, add to examination-waiting-list Checking examination-waiting-list... -- 09:52:05 -- 1st examination end: p8, d1 Xray needed. Add p8 to xray-waiting-list Checking xray-waiting-list... Xray-shooting starts: p8 Checking examination-waiting-list... Checking if doctor d1 can take a patient... waiting for examination: p9, preferred doctor: null... 1st examination start: p9, d1 -- 09:57:57 -- 2nd examination end: p7, d2 Can go home: p7 Checking examination-waiting-list... Checking if doctor d2 can take a patient... -- 09:58:30 -- Xray-shooting end: p8 Add to back-from-xray-waiters: p8 Checking examination-waiting-list... Checking if doctor d2 can take a patient... Back from xray-shooting: p8, preferred doctor: d1... Checking xray-waiting-list... -- 10:00:07 -- 1st examination end: p9, d1 No xray needed. Can go home now: p9 Checking examination-waiting-list... Checking if doctor d2 can take a patient... Back from xray-shooting: p8, preferred doctor: d1... Checking if doctor d1 can take a patient... Back from xray-shooting: p8, preferred doctor: d1... 2nd examination start: p8, d1 -- 10:26:24 -- 2nd examination end: p8, d1 Can go home: p8 Checking examination-waiting-list... Checking if doctor d1 can take a patient... Checking if doctor d2 can take a patient... -- 11:00:00 -- All doctors stop waiting. End of simulation. Number of patients: 9 effective closing time: 11:00:00 maximum patient waiting time: 00:14:30 average patient waiting time: 00:05:47 doctor1 waiting time: 01:27:36 doctor2 waiting time: 02:11:38 xray doctor waiting time: 03:11:49 total doctors waiting time: 06:51:03 -------------------------------------------- Simulating 3 days without detailed output: Number of patients: 2 effective closing time: 11:00:00 maximum patient waiting time: 00:24:23 average patient waiting time: 00:12:11 doctor1 waiting time: 03:00:14 doctor2 waiting time: 04:00:00 xray doctor waiting time: 03:44:45 total doctors waiting time: 10:44:59 -------------------------------------------- Number of patients: 7 effective closing time: 11:00:00 maximum patient waiting time: 00:35:34 average patient waiting time: 00:17:27 doctor1 waiting time: 01:44:12 doctor2 waiting time: 02:30:56 xray doctor waiting time: 03:09:39 total doctors waiting time: 07:24:47 -------------------------------------------- Number of patients: 11 effective closing time: 11:40:30 maximum patient waiting time: 00:27:24 average patient waiting time: 00:06:25 doctor1 waiting time: 01:31:51 doctor2 waiting time: 02:29:24 xray doctor waiting time: 03:30:21 total doctors waiting time: 07:31:36 -------------------------------------------- Simulating 1000000 days and computing average statistics: Number of patients: 8,0 effective closing time: 11:22:34 maximum patient waiting time: 00:18:06 average patient waiting time: 00:05:47 doctor1 waiting time: 02:24:37 doctor2 waiting time: 02:24:34 xray doctor waiting time: 03:31:36 total doctors waiting time: 08:20:48 //////////////// POLICY: first come first serve /////////////// Simulating 1 days with detailed output: -- 07:00:00 -- Start of simulation. All doctors start waiting. -- 08:14:41 -- New patient: p1, add to examination-waiting-list Checking examination-waiting-list... Checking if doctor d1 can take a patient... waiting for examination: p1, preferred doctor: null... 1st examination start: p1, d1 Checking if doctor d2 can take a patient... -- 08:26:56 -- 1st examination end: p1, d1 Xray needed. Add p1 to xray-waiting-list Checking xray-waiting-list... Xray-shooting starts: p1 Checking examination-waiting-list... Checking if doctor d2 can take a patient... Checking if doctor d1 can take a patient... -- 08:32:32 -- Xray-shooting end: p1 Add to examination-waiting-list: p1 Checking examination-waiting-list... Checking if doctor d1 can take a patient... waiting for examination: p1, preferred doctor: d1... 2nd examination start: p1, d1 Checking if doctor d2 can take a patient... Checking xray-waiting-list... -- 08:43:10 -- New patient: p2, add to examination-waiting-list Checking examination-waiting-list... Checking if doctor d2 can take a patient... waiting for examination: p2, preferred doctor: null... 1st examination start: p2, d2 -- 08:48:42 -- 2nd examination end: p1, d1 Can go home: p1 Checking examination-waiting-list... Checking if doctor d1 can take a patient... -- 08:54:59 -- 1st examination end: p2, d2 Xray needed. Add p2 to xray-waiting-list Checking xray-waiting-list... Xray-shooting starts: p2 Checking examination-waiting-list... Checking if doctor d1 can take a patient... Checking if doctor d2 can take a patient... -- 09:00:40 -- Xray-shooting end: p2 Add to examination-waiting-list: p2 Checking examination-waiting-list... Checking if doctor d2 can take a patient... waiting for examination: p2, preferred doctor: d2... 2nd examination start: p2, d2 Checking if doctor d1 can take a patient... Checking xray-waiting-list... -- 09:10:40 -- 2nd examination end: p2, d2 Can go home: p2 Checking examination-waiting-list... Checking if doctor d1 can take a patient... Checking if doctor d2 can take a patient... -- 09:53:06 -- New patient: p3, add to examination-waiting-list Checking examination-waiting-list... Checking if doctor d2 can take a patient... waiting for examination: p3, preferred doctor: null... 1st examination start: p3, d2 Checking if doctor d1 can take a patient... -- 10:04:07 -- 1st examination end: p3, d2 Xray needed. Add p3 to xray-waiting-list Checking xray-waiting-list... Xray-shooting starts: p3 Checking examination-waiting-list... Checking if doctor d1 can take a patient... Checking if doctor d2 can take a patient... -- 10:11:00 -- Xray-shooting end: p3 Add to examination-waiting-list: p3 Checking examination-waiting-list... Checking if doctor d2 can take a patient... waiting for examination: p3, preferred doctor: d2... 2nd examination start: p3, d2 Checking if doctor d1 can take a patient... Checking xray-waiting-list... -- 10:20:18 -- New patient: p4, add to examination-waiting-list Checking examination-waiting-list... Checking if doctor d1 can take a patient... waiting for examination: p4, preferred doctor: null... 1st examination start: p4, d1 -- 10:28:28 -- 2nd examination end: p3, d2 Can go home: p3 Checking examination-waiting-list... Checking if doctor d2 can take a patient... -- 10:29:26 -- 1st examination end: p4, d1 Xray needed. Add p4 to xray-waiting-list Checking xray-waiting-list... Xray-shooting starts: p4 Checking examination-waiting-list... Checking if doctor d1 can take a patient... Checking if doctor d2 can take a patient... -- 10:34:30 -- New patient: p5, add to examination-waiting-list Checking examination-waiting-list... Checking if doctor d2 can take a patient... waiting for examination: p5, preferred doctor: null... 1st examination start: p5, d2 Checking if doctor d1 can take a patient... -- 10:36:11 -- New patient: p6, add to examination-waiting-list Checking examination-waiting-list... Checking if doctor d1 can take a patient... waiting for examination: p6, preferred doctor: null... 1st examination start: p6, d1 -- 10:36:17 -- Xray-shooting end: p4 Add to examination-waiting-list: p4 Checking examination-waiting-list... Checking xray-waiting-list... -- 10:41:49 -- 1st examination end: p6, d1 Xray needed. Add p6 to xray-waiting-list Checking xray-waiting-list... Xray-shooting starts: p6 Checking examination-waiting-list... Checking if doctor d1 can take a patient... waiting for examination: p4, preferred doctor: d1... 2nd examination start: p4, d1 -- 10:49:09 -- Xray-shooting end: p6 Add to examination-waiting-list: p6 Checking examination-waiting-list... Checking xray-waiting-list... -- 10:49:25 -- 1st examination end: p5, d2 Xray needed. Add p5 to xray-waiting-list Checking xray-waiting-list... Xray-shooting starts: p5 Checking examination-waiting-list... Checking if doctor d2 can take a patient... waiting for examination: p6, preferred doctor: d1... 2nd examination start: p6, d2 -- 10:58:03 -- Xray-shooting end: p5 Add to examination-waiting-list: p5 Checking examination-waiting-list... Checking xray-waiting-list... -- 11:03:41 -- 2nd examination end: p6, d2 Can go home: p6 Checking examination-waiting-list... Checking if doctor d2 can take a patient... waiting for examination: p5, preferred doctor: d2... 2nd examination start: p5, d2 -- 11:11:48 -- 2nd examination end: p4, d1 Can go home: p4 Checking examination-waiting-list... Checking if doctor d1 can take a patient... -- 11:29:44 -- 2nd examination end: p5, d2 Can go home: p5 Checking examination-waiting-list... Checking if doctor d1 can take a patient... Checking if doctor d2 can take a patient... -- 11:29:44 -- All doctors stop waiting. End of simulation. Number of patients: 6 effective closing time: 11:29:44 maximum patient waiting time: 00:05:38 average patient waiting time: 00:01:54 doctor1 waiting time: 03:16:34 doctor2 waiting time: 02:44:12 xray doctor waiting time: 03:48:45 total doctors waiting time: 09:49:31 -------------------------------------------- Simulating 3 days without detailed output: Number of patients: 12 effective closing time: 11:31:02 maximum patient waiting time: 00:19:43 average patient waiting time: 00:04:34 doctor1 waiting time: 02:03:14 doctor2 waiting time: 01:39:19 xray doctor waiting time: 03:37:32 total doctors waiting time: 07:20:05 -------------------------------------------- Number of patients: 12 effective closing time: 11:00:00 maximum patient waiting time: 00:05:27 average patient waiting time: 00:01:22 doctor1 waiting time: 01:41:45 doctor2 waiting time: 01:33:30 xray doctor waiting time: 03:05:01 total doctors waiting time: 06:20:16 -------------------------------------------- Number of patients: 8 effective closing time: 11:17:33 maximum patient waiting time: 00:22:32 average patient waiting time: 00:03:57 doctor1 waiting time: 02:34:50 doctor2 waiting time: 01:59:36 xray doctor waiting time: 03:23:22 total doctors waiting time: 07:57:48 -------------------------------------------- Simulating 1000000 days and computing average statistics: Number of patients: 8,0 effective closing time: 11:20:31 maximum patient waiting time: 00:13:10 average patient waiting time: 00:04:14 doctor1 waiting time: 02:22:35 doctor2 waiting time: 02:22:34 xray doctor waiting time: 03:29:34 total doctors waiting time: 08:14:44