Дискретно-событийное моделирование на Python
Diogo Costa (PhD, MSc)
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
Непрерывные модели
Выполняются с фиксированным шагом по времени
Время — вспомогательная переменная
Используют циклы for по времени
for t in range(time_range):
Дискретно-событийные модели
Выполняются с переменным шагом по времени
Время — переменная состояния
Часто используют циклы while
while (time < 365):
time += process_duration
Пример: модель таксомоторной компании
while (time < 10):
# Process 1
time_duration_1 = manage_requests()
time += time_duration_1
# Process 2
time_duration_2 = dispatch_taxi()
time += time_duration_2
Условие завершения
while (time < 10)
Пример: модель таксомоторной компании
while (time < 10):
# Process 1
time_duration_1 = manage_requests()
time += time_duration_1
# Process 2
time_duration_2 = dispatch_taxi()
time += time_duration_2
Часы
time += time_duration_1
time += time_duration_2
time отслеживает текущее время моделированияПример: модель таксомоторной компании
while (time < 10):
# Process 1
time_duration_1 = manage_requests()
time += time_duration_1
# Process 2
time_duration_2 = dispatch_taxi()
time += time_duration_2
Переменная состояния
time
Сокращение времени между вызовом такси и доставкой клиента
Переменные, характеризующие результаты и эффективность системы
Дискретно-событийное моделирование на Python