예제 #1
0
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()

drawLeaveEnter(pr1.enters, 'Sold')
drawLeaveEnter(pr2.enters, 'Recycled')
#drawLeaveEnter(pr3.failures, 'Lost Opportunity')
#drawLeaveEnter(pr4.leaves, 'Newspapers Generated')
print("Sold:", len(pr1.enters))
print("Recycled:", len(pr2.enters))
print("Lost Opportunity:", len(pr3.failures))
print("Total Newspapers Generated:", len(pr4.leaves))
print(
    "Total Revenue:",
    str(SELL_PRICE * len(pr1.enters) + RECYCLE_PRICE * len(pr2.enters) -
        BUY_PRICE * len(pr4.leaves)))
print("Max Possible Revenue:",
      str((SELL_PRICE - BUY_PRICE) * (len(pr1.enters) + len(pr3.failures))))
예제 #2
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])