Построение имитационной модели при произвольном распределении входного потока
Если распределение интервалов между заявками произвольно, т.е. СМО классифицируется как G/G/1/JPM, то за один такт моделирования может возникнуть I заявок, где I=0,1,2,…. Подпрограмма GEN может быть для данного случая построена различными способами исходя из задания распределений потока заявок. Рассмотрим вариант построения подпрограммы GEN при задании модели входного потока в виде распределений вероятностей появления заданного числа заявок (матрица-строка вероятностей) ½½Pi½½=½P1,P2,…, Pn½, где Pi – вероятность поступления i заявок за такт времени Δt→0. Если известны теоретические распределения, аппроксимирующие эмпирические распределения вероятностей появления числа заявок за время t, либо длин интервалов между заявками, то вероятности Pi определяются расчетным путем. Структурная схема алгоритма подпрограммы GEN для данного случая приведена на рис.2.1.
Рис.2.1 В схеме случайных событий осуществляется сравнение числа Х, генерируемого подпрограммой RAN, с упорядоченными на отрезке [0,1] вероятностями P1,P2,…, Pn (см. блоки 1 -4 на рис.2.1). Выходной параметр I подпрограммы RAN определяет, сколько заявок возникло за данный такт моделирования Т. В алгоритме имитационной модели СМО G/G/1/JPM по отношению к алгоритму имитационной модели СМО M/G/1/JPM (см. рис. 1.2) произойдут изменения. Рассмотрим эти изменения. Пусть подпрограмма GEN сформировала значение идентификатора I. Если I=0, то в алгоритме имитационной модели СМО G/G/1/JPM будет осуществлен переход от блока с проверкой условия I=1 к блоку проверки занятости прибора (блок 10 на рис.1.2), как это показано на рис. 1.2 алгоритма имитационной модели СМО М/G/1/JPM. Если в СМО возникло I>0 заявок за такт Т, то проверяя условие: число заявок в очереди JP в сумме с числом поступивших заявок меньше либо равно допустимому числу заявок JPМ в очереди.
Если условие JP+I£JPМ выполняется, то осуществляется переход к подпрограмме STАTP, как это показано на рис. 1.2 алгоритма имитационной модели СМО М/G/1/JPM. Если условие JP+I£JPМ не выполняется, то проверяется выполнение следующих условий: а) JP+I£JPМ+1, то есть сумма числа заявок в очереди JP и числа поступивших заявок I равна величине JPM+1; б) прибор свободен от обслуживания L=0. Если эти условия выполнены, то в данный такт одна заявка из очереди уйдет на обслуживание и число заявок в очереди будет в итоге JPM. Если условие а) выполнено, а условие б) не выполнено, то заявки теряются, причем число потерянных заявок равно JP+I–JPM. Если JP+I>JPM и L ≠ 0, то осуществляется переход к подпрограмме STAТT, а при JP+I=JPM+1 и L=0 – переход к подпрограмме STATP (см. рис. 1.2). На рис. 2.2 показаны изменения, которые будут осуществлены в начальной части алгоритма имитационной модели СМО G/G/1/JPM по отношению к алгоритму имитационной модели СМО M/G/1/JPM (см. блоки 4, 5, 6 на рис. 1.2). Очевидно, что иначе должны быть реализованы алгоритмы набора статистических данных STATP и STAТT. В этих алгоритмах должна быть учтена возможность появления более одной заявки в одном и том же такте моделирования. На рис. 2.3 приведена структурная схема алгоритма подпрограммы STATP – набора статистических данных входного потока заявок. Структурная схема алгоритма подпрограммы STATТ – набора статистических данных потока потерянных (не принятых к обслуживанию) заявок будет иметь аналогичный вид.
Рис.2.2
Рис.2.3
Возможность одновременного появления более одной заявки учитывается следующим образом. В блоках 1 – 3 (см. рис.2.3) определяются значения длительности интервала D, начала TH и конца TK интервала между соседними заявками. Затем в блоках 4 – 8 происходит сравнение найденного значения D с границами набора статистических данных D1[J], введенными с экрана дисплея, и запись данных в счетчика К1[J].
Если поступило более одной заявки за данный такт времени Т (I>1), то после уменьшения числа I на единицу (см. блок 9 на рис.2.3) проверяется условие (см. блок 10 на рис.2.3), стало ли значение I=0. Если I=0, то это свидетельствует, что все заявки обработаны в подпрограмме STATP. Если I³1, то в этом случае длительность интервала между заявками D=0, и осуществляется переход к блоку 4. Алгоритм подпрограммы STAТT отличается от алгоритма подпрограммы STATP только тем, что в блоке 9 величина I=JPM–JP-1. В подпрограмме постановки заявок в очередь OSTH необходимо учесть, что число поступивших в данном такте Т заявок может быть больше одной. На рис. 2.4 приведена структурная схема алгоритма подпрограммы OSTH для данного случая.
Рис.2.4
Работа блоков 1 – 4 аналогична работе подпрограммы OSTH для модели СМО M/G/1/JPM (см. рис.1.6). Если поступило более одной заявок, I>1, то после уменьшения числа I на единицу (см. блок 5 на рис.2.4) проверяется условие (см. блок 6 на рис.2.4), стало ли значение I=0. Если I=0, то это свидетельствует, что все заявки поставлены в очередь в подпрограмме OSTH. Если I³1, то в этом случае повторятся процесс постановки заявок в очереди, который был подробно описан выше для модели СМО M/G/1/JPM.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|