Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции - Имитационное моделирование систем массового обслуживания.doc
Скачиваний:
254
Добавлен:
02.05.2014
Размер:
147.46 Кб
Скачать

4. Логическая схема имитационной модели.

Используя изложенные выше положения, разработаем обобщенную логическую схему имитационной модели простейшей СМО типа G/G/1, которую затем, зная стандартные процедурные языки программирования, можно реализовать на компьютере. Разработку схемы будем вести при следующих условиях.

  1. Заданы функции распределения A(t) иB(t) для интервалов поступления и длительностей обслуживания заявок, т.е. СМО полностью формализована.

  2. В системе соблюдается условие существования стационарного режима, т.е. условие, что загрузка =b/a< 0, гдеаиb– средние значения соответственно интервалов поступления и длительностей обслуживания.

  3. В начале моделирования система свободна.

  4. Задано время моделирования Ти в общем случае, когда моделирование завершается, система может быть не свободна.

  5. Дисциплиной обслуживания является дисциплина FIFO.

  6. В результате моделирования определяются следующие характеристики функционирования СМО:

а) загрузка системы ;

б) среднее время ожидания ;

в) средняя длина очереди l;

г) среднее время пребывания u;

д) среднее число заявок в системе m;

е) максимальная длина очереди Nqmax.

4.1. Планирование основных событий

Для рассматриваемой системы G/G/1, как отмечалось ранее, основными событиями являются события "прибытие заявки" и "окончание обслуживания", которые "связаны" соответственно с интервалом поступления и длительностью обслуживания заявки. Ранее также отмечалось, что основные события можно планировать заранее. Что означает это утверждение?

Суть этого утверждения состоит в том, что:

а) зная функцию распределения A(t)интервалов поступления, при имитационном моделировании в момент прихода очередной заявки можно определить момент поступления следующей заявки;

б) аналогично, зная функцию распределения В(t)длительностей обслуживания, при имитационном моделировании в момент начала обслуживания заявки можно определить момент его окончания.

Планирование основных событий производится в два этапа. Рассмотрим эти этапы в начале на примере планирования события "прибытие заявки". Пусть в некоторый момент модульного времени (напримерtM =410)в модель поступила очередная заявка (рис.4.1. а).

а) б)

Рис.4.1. Планирование прихода заявок.

Необходимо планировать приход следующей заявки. Для этого сначала нужно разыграть (первый этап) случайную величину в соответствии с функцией распределения A(t)интервалов поступления, используя метод обратной функции. Предположим, что выпало значениеа =100. Полученное значение принимается за интервал прихода следующей заявки. Тогда (второй этап) момент прихода следующей заявкиTinравны сумме текущего значения модельного времени и разыгранного интервала прихода:Tin=tM +а= 510 (рис.4.1, а).

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

Следует отметить, что планирование прихода следующей заявки необходимо провести именно в момент прихода текущей заявки, не откладывая на "потом". Если отложить планирование прихода заявки на некоторое время t0(рис.4.1, б), а затем реализовать процедуру планирования, то фактическим интервалом прихода следующей заявки окажется величина, равнаяt0+a, а неа. Случайная величинаt0+ане распределена по законуA(t) и следовательно, такое отложенное планирование нарушает закон распределенияA(t) интервалов поступления заявок.

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

Очевидно, что в модели для системы G/G/1 в каждый момент времени будет присутствовать одно запланированное событие "прибытие заявки". Если моделируется СМО с неоднородной нагрузкой, когда в систему поступают заявкиНклассов, то, очевидно, что число запланированных в модели событий в каждый момент времени равно количеству классов заявок и моменты прихода заявок можно обозначить черезT1in, T2in,...,THin.

Рассмотрим теперь планирование основного события "окончание обслуживания", которое полностью аналогично планированию события "прибытие заявки". На первом этапе разыгрывается случайное значение длительности обслуживания в соответствии с функцией распределенияB(t). Пусть выпало значениев= 120 и это значение принимается за время обслуживания заявки. Если предположить, что заявка поступила на обслуживание, когда модельное времяtM= 790, то в качестве моментаToutокончания обслуживания этой заявки (второй этап) принимается сумма значенийtMив:

Tout =tM+в= 910 (рис.4.2).

Рис.4.2. Планирование окончания обслуживания.

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

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

Другим очевидным фактом является то, что в модели системы G/G/1 событие "окончание обслуживания", в отличие от события "прибытие заявки", будет присутствовать не всегда, а только тогда, когда прибор занят обслуживанием.

Если моделируется многоканальная СМО с Nобслуживающими приборами, то количество запланированных событий "окончание обслуживания" совпадает с количеством занятых обслуживанием приборов и моменты окончания обслуживания можно задать в общем случае переменнымиT1out, T2out,...,TN out