Есть ли способ завершить простую симуляцию с помощью такой команды, как env.exit()? Я не понимаю, как поместить событие в env.run(until=event)
. Я хочу завершить симуляцию, когда в моем определенном Simpy Stores
не останется никаких объектов. Как я могу это сделать?
Как завершить симуляцию в SimPy 4
Ответы (1)
В simpy все является событием, даже сама среда. Таким образом, вы можете завершить маркировку симуляции после основного события.
# Save the event somewhere
end_event = env.event()
# Later, when you want to terminate the simulation, run
end_event.succeed()
Чтобы проверить, пусто ли хранилище, просто проверьте, равно ли его items
len нулю.
Если вы соберете все вместе, вы можете сделать что-то подобное, чтобы решить вашу проблему:
store = simpy.FilterStore(env, capacity=10)
if len(store.items) == 0:
end_event.succeed()
person
Andrea
schedule
22.02.2021
Большое тебе спасибо. Это очень полезно!
- person Emin; 24.02.2021
Добро пожаловать @kerim, я рад, что помог вам
- person Andrea; 24.02.2021