Дискретно-подієве моделювання в Python
Dr Diogo Costa
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
Зрозумійте динамічну систему
Визначте цілі моделі дискретних подій
Визначте процеси:
Визначте відповідні ресурси SimPy (resource, container, store)
Визначте архітектуру моделі:
Зрозумійте динамічну систему
Цілі моделі
Що саме ви хочете оптимізувати?
Змінні стану для моніторингу цих цілей
Спільні ресурси
simpy.Resource(env, capacity=4)
Приклади
Контейнери
simpy.Container(env, capacity,
init=initial_capacity)
Ресурс поводиться як резервуар чи кошик
Додавати й вилучати кількість:
.put() та .get()
Приклади
Сховище (Store)
simpy.Store(env, capacity=4)
Ресурс як крамниця з багатьма товарами
За замовчуванням місткість необмежена
Комірки для зберігання довільних обʼєктів
Додавати й вилучати елементи:
.put() та .get()
Приклади
SimPy використовує побітові оператори, щоб обʼєднувати дві події
Типи операторів у Python
Побітові оператори
a & b, a >> b, a ^ bУ SimPy
Доречні побітові оператори для SimPy
__and__() або &__or__() або |Дискретно-подієве моделювання в Python