pr3 = ActorProbe(dl2) pr3.name = 'Baker Probe' dl2.actorprobe = pr3 g1 = AutomaticGenerator(q1, Entity, None, INTERVAL_RATE.next, 200) g1.logs = True sim = Simulation() sim.logs = True sim.addactor(d1) sim.addactor(q1) sim.addactor(dl1) sim.addactor(dl2) sim.addactor(g1) sim.addprobe(pr1) sim.addprobe(pr2) sim.addprobe(pr3) sim.start() drawProbs(pr1.calculatestatistics()[1], sim.tick, 'queue') drawProbs(pr2.calculatestatistics()[1], sim.tick, 'able') drawProbs(pr3.calculatestatistics()[1], sim.tick, 'baker') print("Queue Utilization:", pr1.calculatestatistics()[0]) print("Able Utilization:", pr2.calculatestatistics()[0]) print("Baker Utilization:", pr3.calculatestatistics()[0])
pr3.name = 'Baker Probe' dl2.actorprobe = pr3 g1 = AutomaticGenerator(q1, Entity, None, INTERVAL_RATE.next, 200) g1.logs = True sim = Simulation() sim.logs = True sim.addactor(d1) sim.addactor(q1) sim.addactor(dl1) sim.addactor(dl2) sim.addactor(g1) sim.addprobe(pr1) sim.addprobe(pr2) sim.addprobe(pr3) sim.start() drawProbs(pr1.calculatestatistics()[1], sim.tick, 'queue') drawProbs(pr2.calculatestatistics()[1], sim.tick, 'able') drawProbs(pr3.calculatestatistics()[1], sim.tick, 'baker') print("Queue Utilization:", pr1.calculatestatistics()[0]) print("Able Utilization:", pr2.calculatestatistics()[0]) print("Baker Utilization:", pr3.calculatestatistics()[0])
pr1.name = 'Queue Probe' q1.actorprobe = pr1 pr2 = ActorProbe(dl1) pr2.name = 'Delay Probe' dl1.actorprobe = pr2 g1 = AutomaticGenerator(q1, Entity, None, INTERVAL_RATE.next, 200) g1.logs = True sim = Simulation() sim.logs = True sim.addactor(d1) sim.addactor(q1) sim.addactor(dl1) sim.addactor(g1) sim.addprobe(pr1) sim.addprobe(pr2) sim.start() drawProbs(pr1.calculatestatistics()[1], sim.tick, 'queue') drawProbs(pr2.calculatestatistics()[1], sim.tick, 'delay') print("Queue Utilization:", pr1.calculatestatistics()[0]) print("Delay Utilization:", pr2.calculatestatistics()[0])
sim.addactor(q3) sim.addactor(dl3) sim.addactor(q4) sim.addactor(dl4) sim.addprobe(pr1) sim.addprobe(pr2) sim.addprobe(pr3) sim.addprobe(pr4) sim.addprobe(pr5) sim.addprobe(pr6) sim.addprobe(pr7) sim.start() drawProbs(pr1.calculatestatistics()[1], sim.tick, "Customer Service Queue") ####drawProbs(pr3.calculatestatistics()[1], sim.tick, 'queue 3') drawLeaveEnter(pr4.enters, "Self Service Enters") drawProbs(pr4.calculatestatistics()[1], sim.tick, "Self Service Timeline") drawProbs(pr5.calculatestatistics()[1], sim.tick, "End Queue Timeline") ne = pr2.calculatestatistics()[1] # print(ne) numz = 0 for i in range(1, len(ne)): if ne[i - 1][1] < 5: numz += (ne[i][0] - ne[i - 1][0]) * (1 - ne[i][1] / 5) if ne[len(ne) - 1][1] < 5: numz += (sim.tick - ne[len(ne) - 1][0]) * (1 - ne[len(ne) - 1][1] / 5) utilization = 1 - (numz / sim.tick)