Имитационное моделирование. Учебное пособие
.pdf
цесс. Общий алгоритм моделирования таких потоков построить сложно. Рассмотрим лишь алгоритм моделирования дважды стохастического пуассоновского потока, интенсивность которого (t) – дискретный марковский случайный процесс с непрерывным временем, конечным множеством
состояний 1 ,..., k и |
известной |
матрицей инфинитези- |
||||||||||||||
мальных коэффициентов |
Q |
|
|
|
qij |
|
|
|
k k |
. До начала генерирова- |
||||||
|
|
|
|
|||||||||||||
ния моментов t i |
|
|
|
|
|
|
|
|
|
|
|
|
||||
необходимо вычислить финальные вероят- |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
qij |
|
|
ности i , i 1, k |
и переходные вероятности pij |
, i j |
||||||||||||||
qii |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
состояний случайного процесса (t) |
как при моделировании |
|||||||||||||||
марковской цепи с непрерывным временем в п.3.1. |
|
|
||||||||||||||
Алгоритм моделирования: |
|
|
|
|
|
|||||||||||
1) по финальному распределению i , i 1, k генерируем начальное состояние процесса (t0 ) ;
2) по формуле Ti ln , |
где – реализация случайной |
qii |
|
величины, равномерно распределенной в интервале (0,1), генерируется значение Ti случайного времени, в течение кото-
рого процесс останется в состоянии i , и вычисляется
91
момент |
ti перехода процесса (t) в следующее состояние: |
|||
ti ti 1 |
Ti , i 1,2,...; |
|
|
|
3) на временном интервале (ti 1 , ti ) |
длины Ti по формуле |
|||
|
t j ti 1 j , |
j |
ln j |
, |
|
i |
|||
|
|
|
|
|
где j |
– независимые реализации равномерного в интервале |
|||
(0,1) распределения, пока t j |
ti , генерируются моменты t j |
|||
наступления событий в потоке; |
|
|
||
4) по ряду распределения pim , m 1, k, m i генерирует-
ся следующее состояние m процесса (t) и т.д.
Шаги 2) – 4) повторяются в цикле, пока t j T , где Т –
общее время моделирования.
Задание для самостоятельной работы
1) Задать время моделирования T и выполнить на временном отрезке [0,T] моделирование дважды стохастического пуассоновского потока событий, интенсивностькоторого (t) –
марковский процесс с конечным числом состояний 1 ,..., k и матрицей инфинитезимальныхкоэффициентов Q 
qij 
k k .
2) Сформировать последовательность {(ti , i ), i 1,..., n} моментов наступления событий в потоке и значений интен-
сивности потока (t) , ti (0,T ), |
i { 1,..., k }. |
92
IV. МОДЕЛИРОВАНИЕ СИСТЕМ МАССОВОГО ОБСЛУЖИВАНИЯ
Работу любой системы массового обслуживания (СМО) можно представить как процесс ее перехода из одного состояния в другое в последовательные моменты времени t0 ,t1 ,...,ti ,..., когда в СМО происходят события, изменяющие состояние системы. Для определения совокупности событий, которые могут происходить в СМО, необходимо определить типы заявок, потоки поступления заявок в систему, потоки различных внешних воздействий, законы обслуживания заявок и дисциплину обслуживания. На основе этих данных и целей анализа СМО строится вектор состояний системы. В качестве компонент этого вектора выбираются переменные, которые в каждый момент времени работы системы однозначно определяют ее состояние. Например, часто элементом вектора состояний СМО является число заявок n(ti ) ,
находяшихся в системе в момент времени ti . Кроме этого создается вектор моментов наступления разных по типу событий, и в каждый момент времени в качестве номера m типа очередного события выбирается номер наименьшей по величине компоненты этого вектора. Наступление события
93
m -го типа в СМО требует изменения вектора состояния системы и генерирования следующего момента наступления события m -го типа, который становится новым значением m -ой компоненты вектора моментов наступления событий.
Начинается моделирование с ввода исходных данных: параметров СМО, целого числа, запускающего датчик случайных чисел, времени моделирования, исходных значений компонент вектора состояний системы. Далее выполняется основной цикл моделирования до тех пор, пока не закончится время моделирования. После этого делается необходимая обработка результатов моделирования.
4.1. Моделирование СМО GI | G | k |
Рассмотрим одну из моделей СМО GI | G | k | . Событиями, изменяющими состояние СМО, будем считать приход в систему новой заявки. Интервалы между поступлениями соседних заявок n tn tn 1, n 1,2,... независимы и одинаково распределены с функцией распределения A( ) . Каждая поступившая заявка обслуживается одним из k приборов. Длительности обслуживания всех заявок любым прибором независимы и одинаково распределены
94
с функцией распределения B(z) . Обозначим ln – количество незанятых приборов в момент tn поступления n -ой заявки.
Если ln 0 , поступившая заявка немедленно занимает пер-
вый по порядку свободный прибор. Если ln 0 , поступившая заявка становится в очередь неограниченной длины. Пусть заявки берутся из очереди на обслуживание в соответствии с дисциплиной FIFO.
Обозначим un – время ожидания n -ой заявкой начала об-
служивания, wn,i – интервал времени между началом и окон-
чанием обслуживания i -ым прибором заявок, поступивших
до |
момента tn и находящихся |
на |
обслуживании. Тогда |
|||
un |
min(wn,1 ,..., wn,k ) , |
tn un |
– |
момент начала, а |
||
tn un zn |
– момент окончания обслуживания n -ой заявки. |
|||||
Вектор wn |
(wn,1,..., wn,k ) , n 1,2,... |
представляет ситуацию |
||||
с обслуживанием в момент времени tn |
на всех k приборах, |
|||||
причем w1 (0,...,0) . |
|
|
|
|
||
На |
n ом шаге алгоритма в момент |
tn |
генерируются n 1 – |
|||
интервал времени до прихода следующей заявки, zn – время обслуживания поступившей n -ой заявки. Номером in при-
95
бора, который будет обслуживать n -ую заявку становится
номер наименьшей компоненты вектора wn , wn,in min (wn,1,..., wn,k ) , причем, если среди компонент век-
тора wn есть нули, in – номер первого слева направо нуля. После этого выполняются следующие действия:
un wn,in , wn,in wn,in zn , |
wn 1, j wn, j n 1, j |
1, k |
. При |
этом, если получается wn 1, j |
0 , берут wn 1, j 0 . |
||
Шаги алгоритма повторяются в цикле в течение заданного времени моделирования Т , т.е. пока tn T . В процессе работы алгоритма можно считать число заявок, покинувших систему после завершения обслуживания, текущую длину очереди, текущее число занятых приборов.
Данная модель позволяет оценить все средние характеристики системы. Например, несмещенная оценка среднего
времени ожидания заявкой обслуживания имеет вид N1 N ui ,
i 1
где N – число поступивших в СМО заявок с начала моделирования. Можно также найти оценки среднего числа занятых приборов, средней длины очереди, исследовать поток моментов окончания обслуживания.
96
4.2. Моделирование систем телетрафика
Примером СМО со сложной структурой, для которых имитационное моделирование является единственным методом исследования, служат системы телетрафика. Заявки в таких системах – вызовы, требующие занятия одной из линий связи на некоторое случайное время (время разговора или передачи данных). Очевидно, что полное перечисление всех состояний системы и тем более, запись матрицы переходных вероятностей состояний невозможны. При наиболее простой полнодоступной схеме коммутации каждому вызову предоставляется линия связи. При более распространенной неполнодоступной схеме коммутации возможны отказы в соединении.
Допустим, что потоки вызовов в такой системе пуассоновские, а длительность обслуживания (разговора или сеанса передачи данных) имеет экспоненциальное распределение. Пусть ij – интенсивность потока вызовов, поступающих на i -ый вход и запрашивающих j -го абонента. Тогда суммар-
ная интенсивность работы системы ij , где N –
i N j W
множество входов, W – множество абонентов. Обозначим
97
1 – среднее время обслуживания всех вызовов. В этих усло-
виях работу системы телетрафика можно описать марковским процессом с конечным числом состояний. Элементами пространства состояний этого процесса xt будут подмножества линий связи, занятых в момент времени t . Обозначим xt – количество занятых линий связи в момент времени t и
пусть tk – моменты перехода процесса из состояния xtk в со-
стояние xt |
, k 0,1,... . Этот переход моделируется следую- |
|||||||
|
k 1 |
|
|
|
|
|
|
|
щим образом: в момент tk с вероятностью |
|
|
|
посту- |
||||
|
|
xtk |
||||||
|
|
|
|
|
||||
пает вызов и с вероятностью |
ij |
требует линию, соединяю- |
||||||
|
||||||||
|
|
|
|
|
|
|
||
щую i -ый вход с j -ым абонентом. В соответствии с заданной дисциплиной поиска вызову либо предоставляется сво-
бодная линия, и тогда |
|
xt |
k 1 |
|
xt |
k |
1, либо вызов получает |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
отказ, и тогда xt |
xt |
|
. С вероятностью |
|
|
xt |
k |
|
одна из |
|||||||
|
|
|
|
|
|
|||||||||||
|
|
|
|
xtk |
||||||||||||
k 1 |
|
k |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
линий освобождается (эта линия равновероятно выбирается из занятых линий) и исключается из текущего состояния:
98
tk
0, x 1.
tk
Вкаждом из состояний xtk , k 1,2,... процесс остается слу-xtk 1 1, xtk 1,x
чайное время, распределенное экспоненциально с парамет-
ром xtk . С помощью такой модели можно оценить та-
кие характеристики коммутационной системы телетрафика как вероятность отказа в соединении, среднее число потерянных вызовов и др.
4.3. Моделирование работы автотранспортного предприятия
Рассмотрим задачу моделирования работы пассажирского автотранспортного предприятия, имеющего на балансе n автобусов, которые каждый день выезжают на маршруты и перевозят пассажиров, принося доход предприятию. Для ремонта поломавшихся автобусов на предприятии имеется l ремонтных линий. Поломавшийся автобус возвращается на базу и ставится на ремонт, если есть свободные ремонтные линии. Если все ремонтные линии заняты, автобус ждет ремонта в общей очереди.
99
Обозначим ti , i 1,2,... моменты времени наступления событий, меняющих число работающих автобусов (поломка автобуса, возвращение автобуса из ремонта), k(ti ) – число работающих автобусов сразу после момента ti , при этом n k(ti ) – число сломанных автобусов сразу после ti , Pi –
прибыль предприятия на промежутке времени [ti ,ti 1 ], i 0,1,... . Будем считать потоки моментов поломок и моментов окончаний ремонта пуассоновскими с известными пара-
метрами и |
соответственно. Если n k(ti ) l , то все |
|
сломавшиеся |
автобусы |
находятся в ремонте. Если |
n k(ti ) l , то |
n k(ti ) l |
автобусов ждут ремонта в очере- |
ди сразу после момента ti . Пусть следующая поломка после момента ti наступит через время 1 , интенсивность потока автомобилей, выходящих из ремонта после момента ti , равна
min(n k(ti ),l) , после момента ti очередной автобус вый-
дет из ремонта спустя время 2 . Вектор состояний системы
(ti , k(ti ), Рi ) , i 0,1,... . На i -м шаге алгоритма:
1) 1 |
ln 1 |
, 2 |
ln 2 |
, |
|
k(ti ) |
min(n k(ti ),l) |
||||
|
|
|
100
