This shows you the differences between two versions of the page.
courses:system_analysis_modeling_and_optimization:task2 [2019/07/09 13:00] andrey.suchkov [Тексты программы] |
courses:system_analysis_modeling_and_optimization:task2 [2022/12/10 09:08] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Практическая работа №2: Моделирование центра массового обслуживания ====== | ||
- | ===== Цель работы ===== | ||
- | Изучение модели обслуживания заявок с неограниченной очередью. | ||
- | ===== Основные теоретические положения ===== | ||
- | Дана следующая модель системы обслуживания, представленная на рис. 1. | ||
- | {{ :courses:system_analysis_modeling_and_optimization:task2.png |Рисунок 1 – Модель системы обслуживания}} | ||
- | Назовём потоком заявок (обслуживания) такой процесс, который генерирует (обслуживает) заявки в случайный момент времени. Соответственно, интенсивностью потока назовём среднее количество событий потока, происходящих в единицу времени. | ||
- | Пусть поток заявок имеет интенсивность, равную $\lambda$, а поток обслуживания -- $\mu$, причём, $\mu > \lambda$. Приведённой интенсивностью $\rho$ назовём отношение интенсивностей потоков и заявок обслуживания: | ||
- | $$ | ||
- | \rho = \frac{\lambda}{\mu}. | ||
- | $$ | ||
- | Время нахождения заявки в системе складывается из времени ожидания в очереди и среднего времени обслуживания. | ||
- | Среднее время обслуживания одной заявки очевидно выражается через интенсивность потока обслуживания, а также через математическое ожидание случайной величины -- времени, когда заявка в системе будет обработана: | ||
- | $$ | ||
- | \bar t_{об} = \frac1{\mu} = \int\limits_{\mathbb R}t \cdot f(t)\,dt, | ||
- | $$ | ||
- | где $f(t)$ -- плотность закона распределения случайной величины в потоке обслуживания. | ||
- | |||
- | Отношение корня дисперсии времени обслуживания к его среднему называется коэффициентом вариации времени обслуживания: | ||
- | $$ | ||
- | \vartheta = \frac{\sigma_{t_{об}}}{\bar t_{об}} = \frac1{\bar t_{об}}\sqrt{\int_{\mathbb R}t^2 f(t)\,dt - \bar t_{об}^2}. | ||
- | $$ | ||
- | С помощью этого коэффициента вариации можно теоретически рассчитать среднее число заявок в очереди и среднее время ожидания в очереди: | ||
- | $$ | ||
- | \bar r = \frac{\rho^2(1 + \vartheta^2)}{2(1 - \rho)}, | ||
- | $$ | ||
- | $$ | ||
- | \bar t_{ож} = \frac{\rho^2(1 + \vartheta^2)}{2\lambda(1 - \rho)} | ||
- | $$ | ||
- | Очевидно, что среднее время ожидания в очереди может быть вычислено с помощью деления среднего числа заявок в очереди на среднюю скорость обработки (интенсивность потока заявок $\lambda$). | ||
- | ===== Постановка задачи ===== | ||
- | Необходимо смоделировать систему обслуживания заявок с неограниченной очередью с пуассоновским потоком заявок (время отправки сообщения -- случайная величина, распределенная по экспоненциальному закону) и тремя различными потоками обслуживания (время обслуживания – случайная величина, распределенная по равномерному, показательному или треугольному закону). Провести эксперимент и выяснить практические характеристики модели. Провести теоретический расчет этих параметров. Оценить результаты. | ||
- | ===== Порядок выполнения работы ===== | ||
- | - Используя пакет GPSS составить программу и провести моделирование центра массового обслуживания (ЦМО). | ||
- | - Провести исследования для экспоненциального закона следования заявок на входе и трех законов распределения интервалов обслуживания (равномерного, экспоненциального и треугольного). Для каждой пары законов распределения (заявок и обслуживания) провести исследование для двух значений приведенной интенсивности $\rho_1$, $\rho_2$, ($0 < \rho_i < 1$), а также для двух значений количества заявок $N$, проходящих через систему. | ||
- | - Получить в результате моделирования основные характеристики ЦМО и оформить их в виде таблиц: | ||
- | * максимальную длину очереди, QM; | ||
- | * среднюю длину очереди, QA; | ||
- | * число заявок, поступивших на обслуживание без очереди, QZ; | ||
- | * среднее время пребывания заявки в очереди, включая нулевые входы, QT; | ||
- | * среднее время пребывания заявки в очереди (без нулевых входов), QX. | ||
- | - Получить в результате моделирования характеристики по устройству: | ||
- | * коэффициент загрузки, FR; | ||
- | * среднее время обслуживания заявки, FT. | ||
- | - Получить таблицу значений количества заявок в зависимости от времени пребывания в очереди. | ||
- | - Рассчитать теоретические значения основных характеристик ЦМО (среднее время пребывания заявки в очереди, среднее время обслуживания заявки). | ||
- | - Оценить время переходного процесса по полученным теоретическим и практическим значениям среднего времени пребывания заявки в очереди (для этого провести больше опытов при разных $N$). | ||
- | - Провести 10 экспериментов (на одном наборе данных) для экспоненциальных законов следования заявок на входе и обслуживания, рассчитать среднее время ожидания заявки в очереди и СКО. | ||
- | - Сравнить теоретические и практические результаты (объяснить и обосновать), рассчитав доверительные интервалы для исследуемых характеристик СМО. | ||
- | ==== Варианты заданий ==== | ||
- | ^ № варианта ^ Значение $\rho_i$ ^^ Значение $N_i$ ^^ | ||
- | | 1 | 0.50 | 0.70 | 1000 | 50000 | | ||
- | | 2 | 0.55 | 0.90 | 1500 | 40000 | | ||
- | | 3 | 0.45 | 0.80 | 2000 | 55000 | | ||
- | | 4 | 0.40 | 0.75 | 1500 | 45000 | | ||
- | | 5 | 0.45 | 0.85 | 1750 | 47500 | | ||
- | | 6 | 0.40 | 0.70 | 1000 | 55000 | | ||
- | | 7 | 0.50 | 0.65 | 2000 | 50000 | | ||
- | | 8 | 0.60 | 0.80 | 1000 | 55000 | | ||
- | | 9 | 0.60 | 0.85 | 1500 | 47500 | | ||
- | | 10 | 0.55 | 0.75 | 1000 | 47500 | | ||
- | |||
- | ===== Содержание отчёта ===== | ||
- | * Цель работы. | ||
- | * Краткое изложение основных теоретических понятий. | ||
- | * Постановка задачи с кратким описанием порядка выполнения работы. | ||
- | * Результаты моделирования с использованием программы. | ||
- | * Необходимые рисунки и таблицы с краткими выводами. | ||
- | * Общий вывод по проделанной работе. | ||
- | * Код программы. | ||
- | ===== Тексты программ ===== | ||
- | <file text TASK2.GPS> | ||
- | 10 SIMULATE | ||
- | 15 RMULT 10 | ||
- | 20 VAR1 FVARIABLE -10#LOG((RN1+1)/1000) | ||
- | 25 VAR2 FVARIABLE -8#LOG((RN1+1)/1000) | ||
- | 30 GENERATE V$VAR1 | ||
- | 42 STR1 STORAGE 3 | ||
- | 45 GATE SNF STR1,L1 | ||
- | 50 ENTER STR1,1 | ||
- | 60 SEIZE 1 | ||
- | 75 ADVANCE V$VAR2 | ||
- | 80 LEAVE STR1,1 | ||
- | 90 RELEASE 1 | ||
- | 95 TRANSFER ,L2 | ||
- | 100 L1 SAVEVALUE 1+,1 | ||
- | 120 L2 TERMINATE 1 | ||
- | 125 START 10 | ||
- | 140 SHOW X1 | ||
- | 143 SHOW FT1 | ||
- | 147 SHOW FR1 | ||
- | 150 SHOW SM$STR1 | ||
- | 160 SHOW SA$STR1 | ||
- | 165 SHOW SC$STR1 | ||
- | 170 SHOW ST$STR1 | ||
- | 175 SHOW SR$STR1 | ||
- | </file> |