3
Оглавление
Введение ............................................................................................... 5
1. Постановка задачи............................................................................. 7
Заключение ......................................................................................... 27
4
Введение
6
1. Постановка задачи
7
2. Методы моделирования случайных величин
𝑋 = ∑ 𝑌𝑖
𝑖=1
где 𝑌𝑖 ~𝑁(0,1)
2.2 Гамма-распределение.
Гамма-распределение с параметром k и θ – коэффициент
масштабирования. Его функция распределения:
𝑥
𝑌( , 𝑘)
𝐹𝑋 (𝑥) = θ
Γ(𝑘)
Случайная величина X, имеющая гамма-распределение с параметрами k и θ
может быть сгенерирована с помощью k независимых случайных величин,
1
распределённых по экспоненциальному закону с параметром
θ
𝑘
𝑋 = ∑ 𝑌𝑖
𝑖=1
8
1
где 𝑌𝑖 ~𝑒𝑥𝑝( ).
θ
2.3 Бета-распределение.
Бета-распределение с параметрами α и β. Его функция распределения
не выражается в элементарных функциях. Плотность вероятности:
1
𝑓𝑋 (𝑥 ) = 𝑥 α−1 (1 − 𝑥)β−1
𝐵(α, β)
где B(α,β) бета-функция.
Случайная величина X, имеющая бета-распределение с параметрами α
и β может быть сгенерирована из случайных величин, имеющих гамма-
распределение.
𝑌
𝑋=
𝑍+𝑌
где 𝑌~Γ(α, 1), 𝑍~Γ(β, 1).
9
3.1 Моделирование MMPP потока
Пусть задан некоторый случайный процесс k (t ) и множество
неотрицательных чисел k 0 .
Случайный поток однородных событий будем называть
модулированным пуассоновским (MP-потоком), управляемым случайным
процессом k (t ) , если выполнены условия
Pm(t t ) m 1 | m(t ) m, k (t ) k k t o(t ) ,
Pm(t t ) m 1 | m(t ) m, k (t ) k o( t ) .
Частным случаем MP-потоков является класс модулированных
пуассоновских потоков (MMPP-потоков).
Модулированный пуассоновский поток называется MMPP-потоком,
если управляющий процесс k(t) является цепью Маркова с непрерывным
временем [6].
MMPP-поток задается матрицей инфинитезимальных характеристик
цепи Маркова k(t) 𝑸 = ‖𝑞𝑖𝑗 ‖ и вектором 𝚲 = {𝛌𝟏 , … , 𝛌𝒏 }, содержащим
𝑛×𝑛
10
Рисунок 2 – Алгоритм моделирования MMPP-потока
11
3.2 Моделирование времени обслуживания заявок
Случайный поток называется рекуррентным, если выполняются
следующие условия [8]:
последовательность длин интервалов между моментами
наступления событий {𝜏𝑖 }𝑖≥2 – независимые случайные
величины;
𝐴𝑘 (𝑥 ) = 𝐴(𝑥 ), 𝑘 ≥ 2 где 𝐴𝑘 (𝑥 ) = 𝑃{𝜏𝑘 < 𝑥 }, 𝑘 ≥ 1. Это
означает, что в рекуррентном потоке все интервалы между
моментами наступления событий, кроме первого, должны быть
распределены по одному закону;
стационарность потока.
Для моделирования рекуррентного потока достаточно построить
необходимое число реализаций потока, то есть таких неслучайных
последовательностей 𝑡1, 𝑡2 , … моментов поступления заявок в систему,
интервалы между которыми 𝜏𝑖 = 𝑡𝑖 − 𝑡𝑖−1 являлись бы возможными
реализациями случайных величин 𝜏𝑖. Так как поток стационарный, можем
принять 𝑡0 = 0, тогда 𝜏1 = 𝑡1.
Процедура построения последовательности 𝑡1, 𝑡2 , … состоит в
следующем[9]. Если моделирование предполагает генерацию большого числа
событий потока (1 млн. и более), то этим свойством можно пренебречь, и
моделировать все интервалы, используя функцию распределения 𝐴(𝑥 ). Длина
промежутка 𝜏 генерируется как реализация случайной величины, имеющей
функцию распределения 𝐴(𝑥 ), каким-нибудь известным методом. Алгоритм
моделирования рекуррентного потока представлен на рисунке 3.
12
Рисунок 3 – Алгоритм моделирования рекуррентного потока
13
4. Имитационная модель
14
Алгоритм моделирования:
1. На основе введенных данных устанавливается время
моделирования.
2. Моделируются интервалы всех возможных на данный
момент типов событий системы; задаётся вектор состояния системы, в
котором содержится информация об абсолютном времени системы
(текущее время моделирования) (рис. 4); задается количество заявок на
орбите и состояние прибора.
3. Находится минимум полученных данных, если он больше
времени моделирования, то выводятся полученные данные, и работа
программы заканчивается. Иначе возможны пять вариантов:
3.1. Минимум соответствует моменту поступления заявки в
систему из потока, тогда к абсолютному времени системы
прибавляется найденный интервал:
3.1.1. Если прибор не занят, то заявка уходит на
обслуживание и генерируется интервал нахождения её на приборе.
3.1.2. Если прибор занят, то заявка уходит на орбиту и
генерируется время следующего запроса прибора с орбиты.
3.2. Минимум соответствует времени окончания обслуживания
заявки из потока или с орбиты, тогда к абсолютному времени системы
прибавляется найденный интервал, прибор освобождается, а
следующий момент наступления события обслуживания
устанавливается за пределами моделирования.
3.3. Минимум соответствует времени окончания обслуживания
запрошенной заявки, тогда к абсолютному времени системы
прибавляется найденный интервал, прибор освобождается, а
следующий момент наступления события обслуживания
устанавливается за пределами моделирования.
15
3.4. Минимум соответствует моменту запроса прибором заявки,
тогда к абсолютному времени системы прибавляется найденный
интервал:
3.4.1. Если прибор не занят, то заявка уходит на
обслуживание и генерируется интервал нахождения её на приборе.
3.4.2. Если прибор занят, то заявка теряется.
3.5. Минимум соответствует времени запроса прибора с
орбиты, тогда к абсолютному времени системы прибавляется
найденный интервал:
3.5.1. Если прибор свободен, то заявка с орбиты уходит на
обслуживание, генерируется интервал нахождения её на приборе и
количество заявок на орбите уменьшается на одну, при условии,
что заявка на орбите была не одна.
3.5.2. Если прибор занят, заявка остаётся на орбите.
16
Вектор моментов
Вектор состояний
наступления различных
системы
событий
• Поступление заявки из • Абсолютное время
потока системы
• Обслуживание заявки • Количество заявок
из потока или орбиты находящихся в данный
• Обслуживание момент на орбите
запрошенной заявки • Состояние прибора
• Запрос заявки
прибором
• Запрос прибора
заявкой с орбиты
Рисунок 4 – Структура данных имитационной модели
17
4.2 Блок-схема
18
4.3 Приложение к имитационной модели
Приложение позволяет выбрать одно из четырёх распределений для
времени каждого вида обслуживания:
Экспоненциальное распределение с параметром λ;
Распределение хи-квадрат с з заданными степенями свободы;
Гамма-распределение;
Бета-распределение.
Также есть возможность выбора входящего потока в систему:
Простейший с параметром λ;
MMPP.
19
4.4 Интерфейс
На рисунках 6-8 показан главное интерфейс приложения.
Пользователь имеет возможность задать входящий поток заявок,
распределение каждого типа обслуживания и параметры распределений для
всех типов событий в системе. Также на главной панели программы
находятся два блока для отображения графиков, полоска прогресса по
заполнению которой моделирование оканчивается, кнопки старт и очистить.
Результатом работы будет графики распределения процесса i(t) –
числа заявок в системе в момент времени t.
20
Рисунок 8 – Интерфейс программы
21
4.5 Пример результата функционирования программы
На рисунке 9 показан результат работы программы при простейшем
входящем потоке с параметром λ = 1, экспоненциально распределённым, с
параметром μ1 = 2 временем обслуживания заявок поступающих из потока и
орбиты, экспоненциально распределённым, с параметром μ2 = 2 временем
обслуживания вызываемых заявок, экспоненциально распределённым, с
параметром α = 1 временем запроса прибором заявки, экспоненциально
распределённым, с параметром σ = 2 временем запроса прибора заявками с
орбиты. Время моделирования T = 1000000. Представлены графики
распределения процесса i(t) – числа заявок в системе.
22
На рисунке 10 показан результат работы при входящем MMPP-потоке
с заданными параметрами интенсивности и матрицей инфинитезимальных
характеристик, хи-квадрат распределённым временем обслуживания заявок
поступающих из потока и орбиты, гамма-распределённым временем
обслуживания запрошенных заявок, экспоненциально распределённым, с
параметром α = 1 временем запроса прибором заявки, экспоненциально
распределённым, с параметром σ = 2 временем запроса прибора заявками с
орбиты. Время моделирования T = 1000000. Представлены графики
распределения процесса i(t) – числа заявок в системе.
23
4.6 Численные примеры
В дальнейшем предполагается исследование системы M|M|1|1
методом асимптотического анализа в различных предельных условиях (при
σ → 0, α → ∞ и μ2 → 0).
Рисунок 11 – λ = 1 μ1 = 2 μ2 = 2 α = 1 σ = 0,1
Рисунок 12 – λ = 1 μ1 = 2 μ2 = 2 α = 1 σ = 0,03
24
Рисунок 13 – λ = 1 μ1 = 2 μ2 = 2 α = 10 σ = 1
Рисунок 14 – λ = 1 μ1 = 2 μ2 = 2 α = 100 σ = 1
25
Рисунок 15 – λ = 1 μ1 = 2 μ2 = 0.1 α = 1 σ = 1
Рисунок 16 – λ = 1 μ1 = 2 μ2 = 0.03 α = 1 σ = 1
26
Заключение
27
Список литературы
28
10. Artalejo, J.R. and Tuan, P.D. 2012. Markovian retrial queueing
with two way communication. Journal of industrial and management
optimization, 8(4). 781-206
11. Вишневский, В.М Теоритические основы проектирования
компьютерных сетей. – Москва: Техносфера, 2003. –512 с.
12. Назаров, А.А. Метод асимптотического анализа в теории
массового обслуживания / Назаров А.А., Моисеева С.П. – Томск:
Издательство НТЛ, 2006. – 112 с.
13. Марголис, Н.Ю. Имитационное моделирование: учебное
пособие – Томск ТГУ, 2015 – 129 с.
29