courses:system_analysis_modeling_and_optimization:task2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
courses:system_analysis_modeling_and_optimization:task2 [2019/06/29 13:36]
andrey.suchkov
courses:system_analysis_modeling_and_optimization:task2 [2019/09/16 10:27]
andrey.suchkov
Line 2: Line 2:
 ===== Цель работы ===== ===== Цель работы =====
 Изучение модели обслуживания заявок с неограниченной очередью. Изучение модели обслуживания заявок с неограниченной очередью.
 +===== Основные теоретические положения =====
 +Дана следующая модель системы обслуживания,​ представленная на рис. 1.
 +{{ :​courses:​system_analysis_modeling_and_optimization:​task2.png?​nolink |Рисунок 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>​
courses/system_analysis_modeling_and_optimization/task2.txt · Last modified: 2022/12/10 09:08 (external edit)