Sut i Osod Hedyn

I sicrhau ailgynhyrchioldeb canlyniadau gall defnyddwyr gosod hedyn ar gyfer holl lifoedd haprif mae Ciw yn defnyddio. Gallwch wneud hwn gan ddefnyddio’r ffwythiant ciw.seed:

>>> import ciw
>>> ciw.seed(5)

Nodwch oherwydd samplo wrth ymgychwyn, mae angen gosod yr hedyn cyn creu'r gwrthrych ciw.Simulation.

Fel enghraifft, cymerwch y rhwydwaith canlynol:

>>> N = ciw.create_network(
...     arrival_distributions=[ciw.dists.Exponential(5)],
...     service_distributions=[ciw.dists.Exponential(10)],
...     number_of_servers=[1]
... )

Rhedwch y system am 20 uned amser, yn defnyddio hedyn o 1, a ffeindiwch yr amser aros cymedrig:

>>> ciw.seed(1)
>>> Q = ciw.Simulation(N)
>>> Q.simulate_until_max_time(20)
>>> waits = [r.waiting_time for r in Q.get_all_records()]
>>> sum(waits)/len(waits)
0.0824058654563...

Yn defnyddio'r un hedyn eto, mae'r union un amser aros cymedrig yn achosi’r union un canlyniad:

>>> ciw.seed(1)
>>> Q = ciw.Simulation(N)
>>> Q.simulate_until_max_time(20)
>>> waits = [r.waiting_time for r in Q.get_all_records()]
>>> sum(waits)/len(waits)
0.0824058654563...

Nawr, yn defnyddio hedyn gwahanol, fe geir canlyniad gwahanol:

>>> ciw.seed(2)
>>> Q = ciw.Simulation(N)
>>> Q.simulate_until_max_time(20)
>>> waits = [r.waiting_time for r in Q.get_all_records()]
>>> sum(waits)/len(waits)
0.1691349404558...