3
.docxГУАП
КАФЕДРА № 41
ОТЧЕТ
ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
ассистент |
|
|
|
М.Н. Шелест |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №3 |
Моделирование входного потока запросов |
по курсу: ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ |
|
|
РАБОТУ ВЫПОЛНИЛА
СТУДЕНТКА ГР. |
4716 |
|
|
|
С.А. Янышева |
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург
2020
Лабораторная работа №3
Моделирование входного потока запросов
Цель работы
Исследование основных характеристик входных потоков заявок, а также базовых принципов моделирования СМО по событиям.
Вариант № 20
№ варианта |
Порядок эрланговского потока |
Параметр |
20 |
4 |
20 |
Ход выполнения работы
Расчет теоретических значений
Значение интенсивности :
= = = 5
Значение вариации vu:
vu = = = 0,5
Описание разработанной программы
Листинг 1
import numpy as np from matplotlib import pyplot as plt #Функия для преобразования равномерного распределения в экспонениальное: f_exp = lambda lmb: -(1/lmb)*np.log(np.random.random()) #Функия для преобразования экспоненциального распределения в гамма: f_gamma = lambda k, lmb: sum([f_exp(lmb) for _ in range(k)]) k, lmb = 4, 20 #Теор. значения интенсивности потока и коэф. вариации: t_lmb = 1/(k/lmb) t_v = 1/k**0.5 print("Теор. значения интенсивности потока и коэф. вариации") print("lmd = ", t_lmb, "v = ", t_v) #Объём выборки n = 2 #Старые и новые значения для интенсивности потока и коэф. вариации lmb_old, v_old = 10*100, 10*100 lmb_new, v_new = [], [] while 1: #Выборка sample = [f_gamma(k, lmb) for _ in range(n)] #Среднее значение по выборке s_mean = np.mean(sample) lmb_new.append(1 / s_mean) v_new.append(np.std(sample) / s_mean) if (abs((lmb_new[-1] - lmb_old) / lmb_old) > 0.01 or\ abs((v_new[-1] - v_old) / v_old) > 0.01): n = n*2 lmb_old = lmb_new[-1] v_old = v_new[-1] else: break plt.plot([2,2**(len(lmb_new))], [t_lmb]*2, label = 'Интенсивность потока') plt.plot([2**(i+1) for i in range(len(lmb_new))], lmb_new, label = 'Оценка интенсивности потока') plt.xscale('log', basex = 2) plt.title('График зависимотси интенсивности потока от объёма выборки') plt.legend() plt.show() plt.plot([2,2**(len(v_new))], [t_v]*2, label = 'Коэф. вариации') plt.plot([2**(i+1) for i in range(len(v_new))], v_new, label = 'Оценка коэф. вариации') plt.xscale('log', basex = 2) plt.title('График зависимотси коэф. вариации от объёма выборки') plt.legend() plt.show()
|
Результат работы программы
Рисунок 1 – График зависимости оценки интенсивности входного потока от объема выборки
Рисунок 2 – График зависимости оценки коэффициента вариации от объема
Выводы
В ходе выполнения лабораторной работы были изучены базовые принципы моделирования СМО по событиям и было проведено исследование основных характеристик входных потоков заявок. Была написана программа, выполняющая поставленную задачу, а именно – моделирование входного потока заявок с заданными параметрами и оценка по данному потоку основных характеристик. В результате моделирования получилось, что теоретические результаты совпали с оценочными.