q1.logs = True pr1 = ActorProbe(q1) 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])
e2.name = "Day Cycle Event" def buyEvent(): global s1 global BUY_RATE s1.release(int(BUY_RATE.next())) e3 = EventGenerator(buyEvent, BUY_INTERVAL.next) e3.name = "Buy Event" sim = Simulation() sim.maxtick = 50000 sim.logs = True sim.addactor(d1) sim.addactor(d2) sim.addactor(b1) sim.addactor(s1) sim.addactor(g1) sim.addactor(e1) sim.addactor(e2) sim.addactor(e3) sim.addprobe(pr1) sim.addprobe(pr2) sim.addprobe(pr3) sim.start()
pr1 = ActorProbe(q2) pr1.name = "Probe Queue 2" q2.actorprobe = pr1 ######################################################## branchFunction = NumberGenerator(RANDINT, a=0, b=1) b1 = Branch([q3, q2], branchFunction.next) b1.actorenterprobe = pr7 g1 = AutomaticGenerator(b1, Entity, None, INTERVAL_RATE.next, MAX_ENTITIES) g1.logs = False sim = Simulation() sim.logs = False sim.addactor(g1) sim.addactor(b1) sim.addactor(d1) sim.addactor(q2) sim.addactor(dl2) sim.addactor(q3) sim.addactor(dl3) sim.addactor(q4) sim.addactor(dl4) sim.addprobe(pr1) sim.addprobe(pr2) sim.addprobe(pr3) sim.addprobe(pr4)