Вы находитесь на странице: 1из 31

Титульный лист

1
Задание на курсовую работу

Генерация случайных чисел распределенных по экспоненциальному закону


распределения и их применение в задаче массового обслуживания.

В кооперативе по ловле рыбы имеется 7 катеров, для ремонта которых


используется два дока. Док может одновременно принять для ремонта только
один катер. В среднем на ремонт одного катера уходит 0,25 месяца. Каждый
функционирующий катер выходит из строя в среднем 3 раза в месяц.
Определить основные характеристики эффективности системы.

2
Содержание

1. Введение 4
1.1 Актуальность исследования 4
1.2 Проблема исследования 5
1.3 Объект исследования 6
1.4 Предмет исследования 6
2. Основная часть 7
2.1 Обоснование выбранного направления исследований 7
2.2 Теоретические и экспериментальные исследования 10
2.2.1 Возможные состояния исследуемой системы 10
2.2.2 Параметры замкнутой многоканальной СМО 11
2.2.3 Характеристики функционирования замкнутой многоканальной СМО 11
2.2.4 Аналитические расчеты показателей обслуживания и эффективности системы 11
2.2.5 Интерпретация результатов 13
2.2.6 Моделирование системы 14
2.2.6.1 Принцип 2t 14
2.2.6.2 Принцип особых состояний 17
2.2.6.3 Принцип последовательной проводки заявок 20
2.2.6.4 Принцип параллельной работы объектов (объектный принцип моделирования).
Имитационное моделирование системы в среде GPSS 21
2.2.7 Определение показателей эффективности функционирования системы
по результатам имитационного моделирования 25
3. Обобщение и оценка результатов исследований 26
4. Список использованных источников 27
5. Приложения 28

3
1. Введение
1.1 Актуальность исследования.
Исследование экспоненциального распределение и его применения в задаче массового
обслуживания является актуальным, так как это распределение описывает интервалы времени
между независимыми событиями, происходящими со средней интенсивностью , что
позволяет имитировать реальные события, которые возникают в случайные интервалы времени
со средней интенсивностью. Количество наступлений такого события за некоторый отрезок
времени описывается дискретным распределением Пуассона
За эталон потока в моделировании принято брать пуассоновский поток.
Поток событий — это последовательность однородных событий, наступающих одно за другим
в случайные промежутки времени. На оси времени эти события выглядят как показано на рис.1.

Рис.1. Поток случайных событий

τj — интервал между событиями (случайная величина);


tсi — момент совершения i-го события (отсчитывается от t=0); го события (отсчитывается от t=0);
Tн — время наблюдения.
Интенсивность потока λ — это среднее число событий в единицу времени. Интенсивность
потока можно рассчитать экспериментально по формуле: λ=N/Tн, где N — число событий,

произошедших за время наблюдения Tн.

4
Если интервал между событиями τj равен константе или определен какой-го события (отсчитывается от t=0); либо формулой в

виде: tj=(tj–1), то поток называется детерминированным. Иначе поток называется случайным.

Случайные потоки бывают:


 ординарные: вероятность одновременного появления двух и более событий равна нулю;
 стационарные: частота появления событий λ(t)=const(t);
 без последействия: вероятность появления случайного события не зависит от момента
совершения предыдущих событий.
Пуассоновский поток — это ординарный поток без последействия.
Как ранее было указано, вероятность того, что за интервал времени (t0,t0+τ) произойдет mτ) произойдет m
событий, определяется из закона Пуассона:

a m ⋅ e− a
P m= (1)
m!
t 0 +r

a= ∫ λ ( t ) ⋅dt(2)
t0

lt0 — lt0 -го события (отсчитывается от t=0); lr


где a — параметр Пуассона.
Если λ(t)=const(t), то это стационарный поток Пуассона (простейший). В этом случае a=λ·t.
Если λ=var(t), то это нестационарный поток Пуассона.
Для простейшего потока вероятность появления m событий за время τ равна:
( λ ⋅ τ )m ⋅ e− λ ⋅τ
P m= (3)
m!
Вероятность появления хотя бы одного события (PХБ1С) вычисляется так:

Pс =1 − P0 =1− e− λ ⋅τ (4)
так как Pс+τ) произойдет mP0=1 (либо появится хотя бы одно событие, либо не появится ни одного, — другого

не дано).
По смыслу P равно r, поэтому, выражая τ из формулы (4), окончательно для определения
интервалов между двумя случайными событиями имеем:
τ=–1/λ·Ln(r),
где r — равномерно распределенное от 0 до 1 случайное число, которое берут из ГСЧ
(генератор случайных чисел), τ — интервал между случайными событиями (случайная
величина τj).

5
1.2 Проблема исследования
В настоящей работе в процессе разработки имитационной модели изучаемой СМО необходимо
изучить и применить алгоритм генерации случайных величин для имитации моментов
появления заявок и времени их обслуживания в каналах.
1.3 Объект исследования
Объектом исследований является большой класс систем, которые сложно изучить
аналитическими способами, но которые хорошо изучаются методами статистического
моделирования, и который сводится к системам массового обслуживания (СМО).
Подход к изучению СМО един. Он состоит в том, что, во-го события (отсчитывается от t=0); первых, с помощью генератора
случайных чисел разыгрываются случайные числа, которые имитируют случайные моменты
появления заявок и время их обслуживания в каналах. Но в совокупности эти случайные числа,
конечно, подчинены статистическим закономерностям. Во-го события (отсчитывается от t=0); вторых, все модели СМО
собираются типовым образом из небольшого набора элементов (канал, источник заявок,
очередь, заявка, дисциплина обслуживания, стек, кольцо и так далее), что позволяет
имитировать эти задачи типовым образом. Для этого модель системы собирают из
конструктора таких элементов. Неважно, какая конкретно система изучается, важно, что схема
системы собирается из одних и тех же элементов. Разумеется, структура схемы будет всегда
различной.
1.4 Предмет исследования.
Предметом исследования является изучение и реализация алгоритма генерации случайных
чисел, распределенных по экспоненциальному закону распределения для его последующего
использования в процессе имитационного моделирования изучаемой системы.

6
2. Основная часть
2.1 Обоснование выбранного направления исследований.
В настоящей работе необходимо решить задачу для СМО, имеющей следующую структуру:
 Источники заявок представлены катерами, для которых задана средняя частота
поломок в месяц. Следовательно, при решении задачи мы можем предположить, что
распределение интервалов времени между поломками является экспоненциальным и
зависит лишь от среднего количества поломок каждого из катеров в месяц.Так как
экспоненциальное распределение связано с равномерным, его моделируют, используя
генератор случайных чисел, распределенных равномерно. Чтобы промоделировать
экспоненциальное распределение, у которого и среднее, и стандартное отклонение
равны, можно использовать следующее соотношение, полученное по методу обратных
функций:
1
y=− ⋅ ln ( x ),
λ
предполагая, что х имеет равномерное распределение на интервале (0,1).
Моделирование случайной величины с экспоненциальным распределением и заданным
параметром λ можно произвести, взяв за основу моделирование случайной величины с
экспоненциальным распределением и параметром, равным единице. В этом случае:
-го события (отсчитывается от t=0); генерируют значения случайной величины, распределенной по экспоненциальному
закону с параметром λ=1;
-го события (отсчитывается от t=0); находят произведение полученного значения и математического ожидания случайной
величины, у которой λ ≠ 1. Математическое ожидание экспоненциально распределенной
величины обратно пропорционально параметру λ.Языки высокого уровня, равно как и
языки, предназначенные для описания моделей в имитационном моделировании имеют
свои встроенные средства для генерации экспоненциально распределенных случайных
величин. Для моделирования системы в моих исследованиях я буду использовать язык
моделирования, используемый для имитационного моделирования различных систем, в
основном, систем массового обслуживания, GPSS. Вызов функции имеет следующий
вид: EXPONENTIAL (Stream,Locate,Scale), где Stream -го события (отсчитывается от t=0); номер генератора равномерно
распределенной случайной величины (от 1 до 8);

7
Locate -го события (отсчитывается от t=0); величина сдвига (константа, добавляемая к значению моделируемой величины;
Scale -го события (отсчитывается от t=0); параметр формы распределения (математическое ожидание СВ при Locate = 0).
Здесь необходимо также сказать, что количество источников требований(катеров)
остается постоянным, следовательно, среднее количество запросов на обслуживание так
же будет стремиться к постоянству. Каждый источник может находиться только в одном
из двух состояний -го события (отсчитывается от t=0); активном и пассивном. Все время пребывания поданной заявки в
системе( в очереди или под обслуживанием) источник находится в пассивном состоянии,
в котором он не может послать следующей заявки. Как только поданная источником
заявка будет обслужена, он переходит в активное состояние, в котором он может с
определенной вероятностью послать следующую заявку

 Очередь на обслуживание. При поломке катер направляется на ремонт. В случае, если


оба канала заняты, он становится в очередь. В данной задаче, катер будет обслужен в
любом случае. Меняется лишь длительность простоя и максимальное количество заявок
в очереди. Можно говорить об особом компромиссе, который должен достигаться: при
уменьшении длины очереди повышается вероятность того, что каналы обслуживания
будут простаивать, при увеличении длины очереди повышается длительность простоя в
очереди, и, как следствие, доля пассивных катеров, что ведет к снижению
работоспособности системы.

 Каналы обслуживания. Представлены двумя доками. Известна средняя длительность


обслуживания, что говорит о том, что в модели мы можем описать процесс
обслуживания так же как и генерацию требований с помощью экспоненциального
распределения. Так как каналов 2 и они выполняют одинаковый набор операций
параллельно, мы можем определить их в модели как многоканальное устройство, с
числом каналов 2.

 Выходящий поток требований (поток обслуженных заявок). Представлен заявками,


закончившими обслуживание. Источники этих заявок переходят в активное состояние.

8
Рис. 2. Концептуальная схема исследуемой системы

В задаче необходимо определить основные характеристики эффективности системы.


Для этого, в первую очередь, необходимо обозначить, с каким видом системы мы имеем дело,
так как характеристики эффективности зависят от вида системы и ее входных параметров.
Затем, имея расчетные формулы, специфичные данной системе, мы, опираясь на входные
параметры, можем судить о ее режиме функционирования.
Для получения характеристик моделируемого процесса, нужно построить имитационную
модель системы. Получаемая имитационная модель является функциональной, однако,
моделирующий алгоритм, как правило, имеет модульную структуру, аналогичную размещению
и связям элементов в моделируемом объекте. Имитационная модель дает численное решение
задачи, что не позволяет непосредственно усматривать функциональные связи между
параметрами процесса, как это демонстрируют аналитические модели. Однако, выполнив
серию экспериментов с моделью, направленно изменяя значения исследуемого фактора, и,
выполнив обработку результатов, можно построить искомую связь между показателем
эффективности системы и исследуемым фактором.
Имитационную модель, в отличие от аналитической модели, можно разработать с любой
детализацией процесса или явления.
Как правило, имитационные модели создают для исследования процессов, на течение которых
влияют различного рода случайности: отказы и сбои технических устройств, неточности
измерений, рассеивание попаданий относительно точек прицеливания, и многое другое.
Следовательно, результат такого процесса случаен. В имитационной модели случайные
факторы моделируются при помощи специально подобранных генераторов случайных величин,
которые входят в современные системы имитационного моделирования. Для получения
характеристик таких вероятностных операций имитационная модель многократно реализуется

9
на компьютере. Полученный при этом ряд значений исследуемого параметра подвергается
статистической обработке, в результате которой и определяются характеристики случайных
показателей процесса -го события (отсчитывается от t=0); матожидание, дисперсия, закон распределения и т. п. Такие
имитационные модели называют статистическими имитационными или статистическими.

2.2 Теоретические и экспериментальные исследования


Из условия задачи видно, что мы имеем дело с многоканальной СМО ( два канала
обслуживания, соответствующие докам) замкнутого типа, так как у нас есть фиксированное
число источников заявок (7 катеров которые ломаются в среднем 3 раза в месяц). Поток заявок
от каждого источника имеют одинаковую интенсивность. Изначально, общий поток заявок
больше потока от одного источника в m раз (в нашем случае m = 7) и равен m∗ λ.
Каждое поступление заявки снижает интенсивность общего потока на интенсивность потока от
одного источника.

2.2.1 Возможные состояния исследуемой системы


Можно определить возможные состояния системы:
S0 -го события (отсчитывается от t=0); оба дока свободны
S1 -го события (отсчитывается от t=0); один док занят
S2 -го события (отсчитывается от t=0); оба дока заняты, очереди нет
S3 -го события (отсчитывается от t=0); оба дока заняты, в очереди один катер
S4 -го события (отсчитывается от t=0); оба дока заняты, в очереди два катера
S5 -го события (отсчитывается от t=0); оба дока заняты, в очереди три катера
S6 -го события (отсчитывается от t=0); оба дока заняты, в очереди четыре катера
S7 -го события (отсчитывается от t=0); оба дока заняты, в очереди 5 катеров

Рис. 3. Граф СМО

10
2.2.2 Параметры замкнутой многоканальной СМО (см. Приложение, Таблица 1)
2.2.3 Характеристики функционирования замкнутой многоканальной СМО (см.
Приложение, Таблица 2)
2.2.4 Аналитические расчеты показателей обслуживания и эффективности системы
Из условия дано:
Средняя интенсивность потока заявок
λ=3 мес −1
Среднее время обслуживания заявки:
T об =0,25 мес
-го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0); -го события (отсчитывается от t=0);
m = 7, n = 2
Следовательно, можно рассчитать следующие показатели обслуживания:
1.Интенсивность потока обслуживания:
μ=4 мес − 1
2. Интенсивность потока заявок(интенсивность нагрузки) :
λ 3
ρ= = =0,75
μ 4
ρ 0.75
= =0,107<1, следовательно, очередь не будет расти до бесконечности и установится
n 7
стационарный режим функционирования системы.
3. Вероятность, что канал свободен (доля простоя канала)
Значение P0 определяет вероятность того, что все каналы обслуживания свободны (находятся в
состоянии простоя). Значение Pk определяет вероятность того, что в системе (в очереди и на
обслуживании) находятся k заявок. Если k не превышает числа каналов N, то все заявки
находятся на обслуживании и очередь отсутствует; в противном случае все каналы заняты и k-го события (отсчитывается от t=0);
N заявок находится в очереди. Вероятность P отк отказа в обслуживании определяется ситуацией
занятости всех N каналов всех m мест в очереди и равна PN+τ) произойдет mm.
Определяем вероятности состояний системы, вычисления произведены в среде Maple.

11
Вероятность простоя равна Pпростоя=P0 =0,67 %
4. Среднее число заявок под обслуживанием :
n−1
N¯об =n − ∑ ( n− k ) ∗ P k =2− 2∗ 0,006695566773 −0,03515172556=1,95
k=0

5. Коэффициент занятости каналов обслуживанием.


n з 1,95
K з= = =0,976
n 2
То есть 97,6 % времени каналы находятся в рабочем состоянии
6. Среднее число заявок в системе(в очереди и под обслуживанием)
7
N¯об 1,95
N¯сис =n− ∑ k ∗ Pk =m− =7 − =4,4
k=1 ρ 0,75
7. Среднее число заявок в очереди:
N¯оч = N¯сис − N¯об =4,4 − 1,95=2,45
8. Относительная пропускная способность:
Q = 1.
9. Абсолютная пропускная способность (Интенсивность выходящего потока обслуженных
заявок):
A=( m− N¯сис ) ∗ λ=( 7 − 4,4 ) ∗3=7,8 заявок/ мес
10. Средняя интенсивность среднего суммарного входящего потока заявок

12
ƛ= A=( m− N¯сис ) ∗ λ=( 7 −4,4 ) ∗3=7,8 заявок / мес
11. Коэффициент готовности — вероятность того, что произвольный источник находится
в активном состоянии
1 ¯ 1
Pact =1 − ⋅ N =1 − ⋅ 4,4=0,37
m сис 7
12. Вероятность того, что поступившая заявка будет тут же принята к обслуживанию
m ! ⋅P 0 1 ρk 7 ! ⋅0,006695566773
1
0,75 k
Pоб = ⋅∑ = ⋅∑ =0,09914589262=9,91%
m− N¯сис k=0 k ! ⋅ [ m− ( k+ 1 ) ] ! 7 −4,4 k=0 k ! ⋅ [ 7 − ( k +1 ) ] !

13. Вероятность что заявка встанет в очередь на обслуживание


m! ⋅ P0 1 ρk
Pоч =1− Pоб =1− ⋅∑ =1 −0,09914589262=0,900854107=90,09 %
m − N¯сис k=0 k ! ⋅ [ m − ( k +1 ) ] !
14. Среднее время ожидания заявки в очереди
1 − P act 1− 0,372
T¯оч= − T обсл= −0.25=0,313 мес
Pact ∗ λ 0,372 ⋅3
15. Среднее время пребывания заявки в системе
T сис =T оч +T об =0,313+ 0.25=0,563 мес
16. Средняя потеря производительности за счёт группы источников, находящихся в
пассивном состоянии
Pпас =m− N¯сис =7 − 4.4=2.6
16. Средняя производительность группы источников в активном состоянии
Pакт =m− P пас=7 − 2.6=4.4
17. Коэффициент простоя оборудования в очереди.
N¯оч 2,45
K l= = =0,35=35 %
m 7
Номинальная производительность СМО: 2:0.25 мес=8 заявки в месяц
Фактическая производительность СМО: 7.8 заявки/мес : 8 = 97,5% от номинальной
производительности.
2.2.5 Интерпретация результатов:
97,6% времени каналы находятся в рабочем состоянии, значит система загружена и процент
простоя очень незначителен -го события (отсчитывается от t=0); 0,67%, при этом, можно наблюдать, что мы имеем достаточно
высокий процент простоя оборудования в очереди на обслуживание и длительное пребывание
заявок в системе (0,563 мес) имеет место быть именно за счет времени стояния в очереди.
Налицо превышение требований относительно способности обслуживания. Систему
необходимо оптимизировать.

13
2.2.6. Моделирование системы
Основная проблема при составлении алгоритмов на машине с последовательной обработкой
процессов состоит в том, что при моделировании необходимо отслеживать множество
процессов, которые в реальном времени происходят параллельно. В связи с этим алгоритмы
моделирования имеют свои особенности:
 продвижение системы во времени, отслеживание временной координаты;
 обеспечение синхронной работы объектов, из которых состоит моделируемая система.
В настоящий момент известны четыре основных принципа регламентации событий.
1. Принцип 2t.
2. Принцип особых состояний.
3. Принцип последовательной проводки заявок.
4. Принцип параллельной работы объектов (объектный принцип моделирования).

2.2.6.1 Принцип Δtt


Принцип состоит в том, что алгоритмом моделирования имитируется движение, то есть
изменение состояния системы, в фиксированные моменты времени: t, t+τ) произойдет m2t, t+τ) произойдет m22t, t+τ) произойдет m32t, …
Для этого заводится счетчик времени (часы), который на каждом цикле увеличивает свое
значение t на величину шага во времени 2t, начиная с нуля (начало моделирования). Таким
образом, изменения системы отслеживаются такт за тактом в заданные моменты: t, t+τ) произойдет m2t, t+τ) произойдет m22t,
t+τ) произойдет m32t, …
Особенности реализации принципа Δtt
Это наиболее универсальный из рассматриваемых принципов, так как применяется для очень
широкого класса систем. Он же является наиболее простым в реализации, поскольку принцип
2t совпадает с пониманием человека о времени, как о последовательном явлении, текущем с
постоянным темпом.
Однако это самый неэкономичный принцип, поскольку вся система анализируется
моделирующим алгоритмом на каждом такте, даже если в ней не происходит никаких
изменений.
Другой недостаток состоит в том, что времена событий округляются до величины 2t, что ведет
к погрешностям в определении переменных, характеризующих систему.
Алгоритм принципа следующий:
В начале инициализируется программа, в частности вводятся значения Z i(t0), i=1,2,…k, которые
характеризуют состояние системы в k-го события (отсчитывается от t=0); мерном фазовом пространстве состояний в начальный

14
момент времени t0. Модельное время устанавливается t = t 0= 0. Основные операции по
имитации системы осуществляется в цикле. Функционирование системы отслеживается по
последовательной схеме состояний Zi(t). Для этого модельному времени даётся некоторое

приращение dt. Затем, по вектору текущих состояний определяются новые состояния Z i(t +τ) произойдет m dt),
которые становятся текущими. Для определения новых состояний по текущим в
формализованном описании системы должны существовать необходимые математические
зависимости. По ходу имитации измеряются, вычисляются, фиксируются необходимые
выходные характеристики. При моделировании стохастических систем вместо новых состояний
вычисляются распределения вероятностей для возможных состояний. Конкретные значения
вектора текущих состояний определяются по результатам случайных испытаний. В результате
проведения имитационного эксперимента получается одна из возможных реализаций
случайного многомерного процесса в заданном интервале времени (t0 , Tk).

Применим принцип 2t к нашей задаче (рис 4 а, б). Допустим, для простоты, мы хотим выяснить
процент вероятности появления простоя каналов (ни один канал не занят). Обозначим
количество таких случаев как S0 для данного момента времени T.
Для накопления надежной статистики эксперимент повторяется KK раз. За количеством
экспериментов следит счетчик экспериментов k. Каждый эксперимент длится от 0 до T k
момента времени. Счетчик времени t отсчитывает время от 0 до T k с дискретностью 2t. В
каждом эксперименте подсчитывается, сколько раз возникает ситуация простоя каналов.
Поскольку всего может быть рассмотрено N:=T k/2t тактов, то вероятность возникновения
простоя каналов может быть примерно оценена частностью возникновения этих событий как
Ps0=S0/N или, с учетом того, что счетчик S0 накапливался в течении KK экспериментов, то
Ps0=S0/N/KK. Окончательно, подставляя N: Ps0=S0·2t/Tk/KK .
Алгоритм представляет сбой цикл по времени от 0 до T k с шагом 2t — моделирование
производится во времени. В каждом цикле (на каждом такте времени) вычисляются интервалы
времени между приходом заявок (блок 10) и интервал времени обслуживания заявки (блок 23).
Необходимо проверить, если полученная случайная величина не больше 2t (блоки 11, 25, 28).
Если же она больше, необходимо узнать, сколько тактов времени необходимо не изменять
состояние очереди и каналов, имитируя нужный интервал. Для этого были введены переменные
p1 и p2 (блоки 22-го события (отсчитывается от t=0); p1, 27, 31-го события (отсчитывается от t=0); p2)

15
Рис. 4. а.

16
Рис. 4. б.
2.2.6.2 Принцип особых состояний
Назовем состояние, в котором обычно находится система, обычным состоянием. Такие
состояния интереса не представляют, хотя занимают большую часть времени.
Особые состояния — это такие состояния в изолированные моменты времени, в которых
характеристики системы изменяются скачкообразно. Для изменения состояния системы нужна
определенная причина, например, приход очередного входного сигнала. Ясно, что с точки
зрения моделирования интерес представляет именно изменение характеристик системы, то
есть, принцип требует от нас отслеживать моменты перехода системы из одного особого
состояния в другое(Рис 5 а, б).
Принцип работы алгоритма следующий:
1. определяется событие с минимальным временем — наиболее раннее событие;

17
2. модельному времени присваивается значение времени наступления наиболее раннего
события;
3. определяется тип события;
4. в зависимости от типа события предпринимаются действия, направленные на загрузку
устройств и продвижение заявок в соответствии с алгоритмом их обработки, и
вычисляются моменты наступления будущих событий; эти действия называют реакцией
модели на события;
5. перечисленные действия повторяются до истечения времени моделирования.

18
Рис. 5. а.

19
Рис. 5. б.

2.2.6.3 Принцип последовательной проводки заявок


Принцип состоит в том, что каждая заявка отслеживается от момента поступления ее в систему
до момента ее выхода из системы. И только потом рассматривается следующая заявка.
Применим в нашем примере принцип последовательной проводки заявок Для наглядности
построим временную диаграмму работы СМО, отражая на каждой линейке (ось времени t)

20
состояние отдельного элемента системы. Временных линеек проводится столько, сколько
имеется различных мест в СМО, потоков. В нашем примере их 9 (поток заявок, поток ожидания
на первом месте в очереди, поток ожидания на втором месте в очереди, поток ожидания на
третьем месте в очереди, поток ожидания на четвертом месте в очереди, поток ожидания на
пятом месте в очереди, поток обслуживания в канале 1, поток обслуживания в канале 2, поток
обслуженных системой заявок).

Для генерации времени прихода заявок используем формулу вычисления интервала между
моментами прихода двух случайных событий

1
t=− ⋅ln (r )
λ

В этой формуле величина потока λ должна быть задана (до этого она должна быть определена
экспериментально на объекте как статистическое среднее), r — случайное равномерно
распределенное число от 0 до 1 из ГСЧ или таблицы (приложение, таблица 3), в которой
случайные числа нужно брать подряд (не выбирая специально).

2.2.6.4 Принцип параллельной работы объектов (объектный принцип моделирования).


Имитационное моделирование системы в среде GPSS
В математических моделях (ММ) сложных объектов, представленных в виде систем массового
обслуживания (СМО), фигурируют средства обслуживания, называемые обслуживающими
аппаратами (ОА), и обслуживаемые заявки, называемые транзактами. Так, в модели заданной
системы ОА представлены доками, а транзакты -го события (отсчитывается от t=0); поступающие на ремонт катера.
Состояние СМО характеризуется состояниями ОА, транзактов и очередей к ОА. Состояние ОА
описывается двоичной переменной, которая может принимать значения "занят" или "свободен".
Переменная, характеризующая состояние транзакта, может иметь значения "обслуживания" или
"ожидания".
Состояние очереди характеризуется количеством находящихся в ней транзактов. Имитационная
модель СМО представляет собой алгоритм, отражающий поведение СМО, т.е. отражающий
изменения состояния СМО во времени при заданных потоках заявок, поступающих на входы
системы. Параметры входных потоков заявок -го события (отсчитывается от t=0); внешние параметры СМО. Выходными
параметрами являются величины, характеризующие свойства системы -го события (отсчитывается от t=0); качество ее
функционирования.
Примеры выходных параметров : производительность СМО -го события (отсчитывается от t=0); среднее число заявок,
обслуживаемых в единицу времени; коэффициенты загрузки оборудования-го события (отсчитывается от t=0); отношение времен

21
обслуживания к общему времени в каждом ОА; среднее время обслуживания одной заявки.
Основное свойство ОА, учитываемое в модели СМО, -го события (отсчитывается от t=0); это затраты времени на обслуживание,
поэтому внутренними параметрами в модели СМО являются величины, характеризующие это
свойство ОА. Обычно время обслуживания рассматривается как случайная величина и в
качестве внутренних параметров фигурируют параметры законов распределения этой
величины.
Имитационное моделирование позволяет исследовать СМО при различных типах входных
потоков и интенсивностях поступления заявок на входы, при вариациях параметров ОА, при
различных дисциплинах обслуживания заявок. Дисциплина обслуживания -го события (отсчитывается от t=0); правило, по
которому заявки поступают из очередей на обслуживание. Величина, характеризующее право
на первоочередное обслуживание, называется приоритетом. В моделях СМО заявки,
приходящие на вход занятого ОА, образуют очереди, отдельные для заявок каждого приоритета.
При освобождении ОА на обслуживание принимается заявка из непустой очереди с наиболее
высоким приоритетом. Основной тип ОА -го события (отсчитывается от t=0); устройства, именно в них происходит обработка
транзактов с затратами времени. К ОА относятся также накопители (памяти), отображающие
средства хранения обрабатываемых деталей в производственных линиях или обрабатываемых
данных в вычислительных системах. Накопители характеризуются не временами обслуживания
заявок, а емкостью -го события (отсчитывается от t=0); максимально возможным количеством одновременно находящихся в
накопителе заявок. К элементам имитационных моделей СМО кроме ОА относят также узлы и
источники заявок. Связи ОА между собой реализуют узлы, т.е. характеризуют правила, по
которым заявки направляются к тому или иному ОА. Для описания моделей СМО при их
исследовании на ЭВМ разработаны специальные языки имитационного моделирования.
Существуют общецелевые языки, ориентированные на описание широкого класса СМО в
различных предметных областях, и специализированные языки, предназначенные для анализа
систем определенного типа. Примером общецелевых языков служит широко распространенный
язык GPSS, примером специализированного языка -го события (отсчитывается от t=0); язык МПЛ/ВС моделирования
вычислительных систем.
Для описания имитационной модели на языке GPSS полезно представить ее в виде схемы, на
которой отображаются элементы СМО -го события (отсчитывается от t=0); устройства, накопители, узлы и источники. Описание
на языке GPSS есть совокупность операторов (блоков), характеризующих процессы обработки
заявок. Имеются операторы и для отображения возникновения заявок, задержки их в ОА,
занятия памяти, выхода из СМО, изменения параметров заявок (например, приоритетов),
вывода на печать накопленной информации, характеризующей загрузку устройств,
заполненность очередей и т.п. Каждый транзакт, присутствующий в модели, может иметь до 12

22
параметров. Существуют операторы, с помощью которых можно изменять значения любых
параметров транзактов, и операторы, характер исполнения которых зависит от значений того
или иного параметра обслуживаемого транзакта. Пути продвижения заявок между ОА
отображаются последовательностью операторов в описании модели на языке GPSS
специальными операторами передачи управления (перехода). Для моделирования используется
событийный метод. Соблюдение правильной временной последовательности имитации
событий в СМО обеспечивается интерпретатором GPSSPC -го события (отсчитывается от t=0); программной системой,
реализующий алгоритмы имитационного моделирования.
Необходимо построить модель закрытой многоканальной СМО. Так как количество источников
требований неизменно и равно 7, в модели я буду использовать блок GENERATE с параметром
D = 7, что определяет общее число генерируемых транзактов. Для возвращения источников в
активное состояние, после того, как требование на обслуживание покинуло систему, я
устанавливаю метку BAHT после блока генерации транзактов.
Для имитации экспоненциального распределения времени поступлений заявок на
обслуживание от каждого из катеров, я ввожу накопительное оборудование STORAGE KATER,
имеющее семь каналов. Блок ENTER KATER отвечает за захват оборудования транзактами.
Блок ADVANCE с параметром EXPONENTIAL(1,0,0.33) формирует экспоненциальное
распределение времени прохождения транзактов через накопитель с математическим
ожиданием 0.33 для λ=3. Блок LEAVE KATER высвобождает транзакты из канала накопителя,
что моделирует появление требований от одного из семи источников, интервалы времени
между их возникновением распределены экспоненциально. Заявки встают в очередь на
обслуживание QUE(блок QUEUE QUE) в случае, если оба канала обслуживания заняты. Если
хотя бы один из каналов накопителя свободен, заявка может быть обслужена, захватывает канал
(блок ENTER DOK) и покидает очередь(блок DEPART QUE).
Имитация экспоненциально распределенной длительности обслуживания производится с
помощью блока ADVANCE c параметром EXPONENTIAL и математическим ожиданием 0.25.

23
Рис. 6. Блок схема для программы в среде GPSS

Программа, разработанная для моделирования системы в среде GPSS


1. QUETB QTABLE QUE 0.1,0.05,10
2. KATER STORAGE 7
3. DOK STORAGE 2
4. GENERATE ,,,7
5. BAHT ENTER KATER

24
6. ADVANCE(EXPONENTIAL(1,0,0.33))
7. LEAVE KATER
8. QUEUE QUE
9. ENTER DOK
10. DEPART QUE
11. ADVANCE(EXPONENTIAL(1,0,0.25))
12. LEAVE DOK
13. TRANSFER ,BAHT
14. GENERATE 100000
15. TERMINATE 1
16. START 1

2.2.7 Определение показателей эффективности функционирования системы


по результатам имитационного моделирования
1. Среднее число заявок под обслуживанием :
N¯об = AVE. C . ( STORAGE DOK ) =1,95
2. Среднее число заявок в системе(в очереди и под обслуживанием)
N¯сис = AVE .C . ( STORAGE DOK ) + AVE . CONT . ( QUE )=1,95+2,474=4,424
3. Среднее число заявок в очереди:
N¯оч = AVE. CONT . (QUE )=2,474
4.Среднее время ожидания заявки в очереди, мес
T¯оч= AVE .TIME . ( QUE )=0,317
5. Среднее время пребывания требования в системе, мес
T¯сис =T¯оч +T обсл=0,317+ 0,25=0,567
6. Среднее использование одного источника требований
R=UTIL ( STORAGE DOK )=0,977
7. Коэффициент простоя при многоканальном обслуживании
( QUE ) 2,474
K пр= AVE .CONT . = =0,353428571=35,34 %
m 7

Вывод: основные коэффициенты, которые можно получить статистическим путем с


использованием имитационного моделирования практически не отличаются от одноименных
показателей посчитанных аналитическим путем.

25
3. Обобщение и оценка результатов исследований
В настоящей работе было необходимо выяснить, какое место занимает генерация случайных
величин распределенных по экспоненциальному закону распределения при решении задач
массового обслуживания. После теоретических исследований стало ясно, что это
распределение описывает интервалы времени между независимыми событиями,
происходящими со средней интенсивностью , что позволяет имитировать реальные события,
которые возникают в случайные интервалы времени со средней интенсивностью. Данный факт
говорит о том, что это распределение можно с успехом использовать для имитации случайного
возникновения заявок и времени их обслуживания в каналах при имитационном
моделировании систем массового обслуживания. Средняя интенсивность наступления событий
обычно берется из наблюдений моделируемого объекта, как число событий за единицу
времени.
В процессе решения задачи было составлено описание системы и ее рабочей нагрузки как
совокупности внешних воздействий, оказывающих влияние на эффективность системы. В этих
рамках было упомянуто об основном противоречии между клиентом и владельцем системы
(клиент заинтересован как можно меньше времени стоять в очереди и быстрее обслуживаться,
владелец, наоборот, заинтересован чтобы доля простоя каналов была минимальной). В этом
противоречии необходимо найти такой компромисс, при котором параметры
производительности системы будут самыми оптимальными. Была составлена концептуальная
модель системы, которая дает информацию об элементах системы, ее структуре, рабочей
нагрузке. Аналитические расчеты, произведенные по формулам с использованием параметров
системы, позволяют судить об показателях эффективности работы системы.
Была обозначена основная проблема при составлении алгоритмов на машине с
последовательной обработкой процессов. В связи с этим, алгоритмы моделирования имеют
свои особенности. Существуют четыре основных принципа регламентации событий, которые
были мной изучены. По каждому из них был составлен алгоритм и блок схема.
Имитационное моделирование было осуществлено используя модель запрограммированную и
отлаженную в среде GPSS. Статистические данные, полученные после прогона модели,
практически полностью совпадают с показателями, полученными в результате расчетов, что
говорит об адекватности модели. На основании как аналитических расчетов, так и результатов
имитационного моделирования был произведен анализ системы и интерпретация накопленных
данных. Было выяснено, что система нуждается в оптимизации, так как спрос на обслуживание
превышает способность обслуживания.

26
Использованная литература :

1.Основы моделирования дискретных систем . Учебное пособие. Т.И. Алиев.


2. Моделирование систем. О.И.Мухин.
3.Теория массового обслуживания (практикум по решению задач).H.B. Кошуняева, H.H.
Патронова
4. Теория массового обслуживания. Методические указания, учебная программа и задания для
контрольных работ No 1, 2 для студентов заочной формы обучения специальности 071900
“Информационные системы в технике и технологиях”. Лаврусь О.Е., Миронов Ф.С.
5. Intuit курс «Компьютерное моделирование»
https://www.intuit.ru/studies/courses/643/499/lecture/11349

27
Приложение

Таблица 1. Параметры замкнутой многоканальной СМО.


N Параметры Обозначения, значения
1 Число каналов обслуживания n≥1
2 Число источников заявок m>n
3 Интенсивность простейшего потока заявок, λ=const
порождаемого каждым источником. λ не зависит от времениt
4 Производительность каждого канала — интенсивность μ=const
простейшего потока обслуживаний. μ не зависит отвремени t
5 Производительность каждого источника при I
совершении им полезной работы в активном состоянии

Таблица 2. Характеристики функционирования замкнутой многоканальной СМО.


N Предельные характеристики Обозначения, формулы
1 Показатель нагрузки системы, λ
ρ=
μ
порождаемой каждым источником
заявок.
2. Показатель нагрузки системы, λ
m⋅ ρ=m ⋅
μ
порождаемой всеми источниками
заявок.
3. Вероятность того, что все n каналов 1
n
ρk nn
m
ρk
−1

свободны
P 0=
m!

( ∑ k ! ⋅ ( m−
k=0
+ ⋅ ∑ k
k ) ! n! k=n+1 n ⋅ ( m −k ) ! )
4. Вероятность состояний СМО m!
Pk = ⋅ ρk ⋅ P0 ,k =1. ..n
k ! ⋅ ( m −k ) !
m!
Pk = ( k −n )
⋅ ρk ⋅P 0 ,k =n+1. .. m
n ! ⋅n ⋅ ( m −k ) !

n−1
5. Среднее число заявок под
N¯об =n − ∑ ( n− k ) ∗ P k
обслуживанием — среднее число k=0

занятых каналов

28
7
6. Среднее число заявок в системе-го события (отсчитывается от t=0); N¯об
N¯сис =n− ∑ k ∗ Pk =m−
среднее число источников в k=1 ρ

пассивном состоянии
7. Среднее число заявок в очереди N¯оч = N¯сис − N¯об
8. Абсолютная пропускная A=( m− N¯сис ) ∗ λ
способность
9. Интенсивность выходящего потока v= A= ( m− N¯сис ) ∗ λ
обслуженных заявок
10 Относительная пропускная Q=1
способность
11 Средняя интенсивность среднего ƛ= A=( m− N¯сис ) ∗ λ
суммарного потока заявок
12 Коэффициент готовности — 1 ¯
Pact =1 − ⋅N
m сис
вероятность того, что
произвольный источник находится
в активном состоянии
13 Вероятность того, что поступившая m ! ⋅P 0 1 ρk
Pоб = ⋅∑
заявка тут же будет принята к m− N¯сис k=0 k ! ⋅ [ m− ( k+ 1 ) ] !

обслуживанию.
14 Вероятность что заявка встанет в m! ⋅ P0 1 ρk
Pоч =1− Pоб =1− ⋅∑
очередь на обслуживание m − N¯сис k=0 k ! ⋅ [ m − ( k +1 ) ] !

15 Среднее время ожидания заявки в 1 − P act


T¯оч= − T обсл
очереди Pact ∗ λ

16 Среднее время пребывания заявки T сис =T оч +T об


в системе

17 Средняя потеря Pпас =m− N¯сис


производительности за счёт группы
источников, находящихся в

29
пассивном состоянии

18 Средняя производительность Pакт =m− P пас


группы источников в активном
состоянии

19 Коэффициент простоя N¯оч


K l=
оборудования в очереди. m

Таблица 3. Равномерное распределение чисел от 0 до 1 и их соответствующие


натуральные логарифмы, используемые для вычисления экспоненциально
распределённых случайных величин.

rnd ln(rnd) rnd ln(rnd) rnd ln(rnd) rnd ln(rnd)


0.0333 –3.4022 0.2532 –1.3736 0.4086 –0.8950 0.4062 –0.9009
0.5370 –0.6218 0.6493 –0.4319 0.0543 –2.9132 0.4749 –0.7447
0.9499 –0.0514 0.0428 –3.1512 0.0016 –6.4378 0.3445 –1.0657
0.1090 –2.2164 0.6208 –0.4767 0.0739 –2.6050 0.1798 –1.7159
0.0415 –3.1821 0.2170 –1.5279 0.3551 –1.0354 0.1637 –1.8097
0.6855 –0.3776 0.5662 –0.5688 0.1971 –1.6240 0.6234 –0.4726
0.9595 –0.0413 0.0311 –3.4705 0.7581 –0.2769 0.2689 –1.3134
0.9526 –0.0486 0.8083 –0.2128 0.7360 –0.3065 0.3768 –0.9760
0.8109 –0.2096 0.7324 –0.3114 0.0353 –3.3439 0.2798 –1.2737
0.6617 –0.4129 0.1680 –1.7838 0.4840 –0.7257 0.2950 –1.2208
0.7200 –0.3285 0.3557 –1.0337 0.1146 –2.1663 0.2404 –1.4255
0.1214 –2.1087 0.1958 –1.6307 0.8863 –0.1207 0.4941 –0.7050
0.4911 –0.7111 0.2748 –1.2917 0.5535 –0.5915 0.4098 –0.8921
0.8687 –0.1408 0.6982 –0.3592 0.7711 –0.2599 0.2543 –1.3692
0.4231 –0.8601 0.1652 –1.8006 0.2360 –1.4439 0.4049 –0.9041
0.5383 –0.6193 0.7644 –0.2687 0.1328 –2.0189 0.2117 –1.5526
0.0031 –5.7764 0.2194 –1.5169 0.9487 –0.0527 0.8894 –0.1172

30
0.4611 –0.7741 0.8395 –0.1749 0.6291 –0.4635 0.4613 –0.7737
0.5811 –0.5428 0.4510 –0.7963 0.5520 –0.5942 0.1306 –2.0356
0.1706 –1.7684 0.5997 –0.5113 0.3324 –1.1014 0.5970 –0.5158
0.3339 –1.0969 0.1140 –2.1716 0.2172 –1.5269 0.7013 –0.3548
0.4140 –0.8819 0.6713 –0.3985 0.7003 –0.3562 0.8756 –0.1328
0.9837 –0.0164 0.5643 –0.5722 0.4443 –0.8113 0.5107 –0.6720
0.0697 –2.6636 0.2644 –1.3303 0.5643 –0.5722 0.2537 –1.3716
0.9747 –0.0256 0.6948 –0.3641 0.8155 –0.2040 0.3355 –1.0921
0.1971 –1.6240 0.6455 –0.4377 0.8276 –0.1892 0.6142 –0.4874
0.2490 –1.3903 0.7872 –0.2393 0.4268 –0.8514 0.2127 –1.5479
0.9054 –0.0994 0.3865 –0.9506 0.9232 –0.0799 0.7151 –0.3353
0.5316 –0.6319 0.6035 –0.5050 0.6048 –0.5029 0.5716 –0.5593
0.4580 –0.7809 0.8052 –0.2167 0.5492 –0.5993 0.8695 –0.1398

31

Вам также может понравиться