Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

mmvu_lab_mag

.pdf
Скачиваний:
33
Добавлен:
24.03.2016
Размер:
1.43 Mб
Скачать

31

Рис. 2.4. Библиотека блоков

Перед запуском модели необходимо проверить настройки выво# да результатов, которые находятся в меню (Edit – Settings). В этом окне находятся основные настройки программы (в том числе и но# мера генераторов случайных чисел на закладке Random Numbers). Закладку Reports необходимо настроить так, как это показано на рис. 2.5.

Рис. 2.5. Окно настройки программы

32

После необходимых настроек можно запускать модель. Для за# пуска модели необходимо зайти в меню (Command – Create Simulation). Если нет ошибок, то появится окно JOURNAL, кото# рое отражает, что модель готова для моделирования и моделирова# ние завершено, и самое важное окно REPORT (рис. 2.6), в котором выведены результаты моделирования.

Рис. 2.6. Окно REPORT. Результаты моделирования

К этому окну мы вернемся позже, а сейчас рассмотрим возмож# ность пошагового моделирования в программе. Это может приго# диться для отладки сложных моделей и просмотра на каждом этапе того, что происходит в модели. Для пошагового моделирования сле# дует закомментировать команду START 1 в модели и подготовить модель к выполнению через меню Command – Create Simulation. В окне JOURNAL должна появиться надпись:

Model Translation Begun.

Ready.

После этого необходимо зайти в меню Window – Simulation Window – Blocks Window и в открывшемся окне, нажимая кнопку Step, по шагам просмотреть процесс имитации (рис. 2.7).

33

Рис. 2.7. Окно пошаговой имитации модели

Вернемся в окно отчета результатов моделирования REPORT. В начале отчета (рис. 2.8) после указания текущей даты и времени выводится модальное время начала моделирования (START TIME), модальное время окончания моделирования (END TIME), количество блоков в модели (BLOCKS), количество устройств в модели (FACILITIES) и количество накопителей (STORAGES).

 

 

 

 

 

START TIME

END TIME

BLOCKS

FACILITIES

STORAGES

0.000

480.000

9

1

0

 

 

 

 

 

Рис. 2.8. Часть окна отчета результатов

моделирования REPORT

В нашем случае начальное время равно нулю, конечное время – 480 единиц модального времени, количество блоков в модели – 9 (обратите внимание, что команда START 1 в модели не учитывает# ся в количестве блоков), количество устройств – 1, накопителей нет (используются для многоканальных устройств).

Далее указаны имена и значения объектов модели (рис. 2.9).

34

 

 

NAME

VALUE

QUEUE_CUST

10000.000

SALES

10001.000

Рис. 2.9. Часть окна отчета результатов

моделирования REPORT с именами объектов

Значение объектов (в данном случае 10 000 и 10 001) программа назначает сама, и для анализа результатов эта информация мало# интересна.

Ниже перечислены блоки модели (BLOCK TYPE) и указано количество транзактов (ENTRY COUNT), прошедших через каж# дый блок (рис. 2.10).

 

 

 

 

LABEL

LOC

BLOCK TYPE

ENTRY COUNT CURRENT COUNT RETRY

 

1

GENERATE

67

0

0

 

2

QUEUE

67

0

0

 

3

SEIZE

67

0

0

 

4

DEPART

67

0

0

 

5

ADVANCE

67

0

0

 

6

RELEASE

67

0

0

 

7

TERMINATE

67

0

0

 

8

GENERATE

1

0

0

 

9

TERMINATE

1

0

0

Рис. 2.10. Часть окна отчета результатов моделирования REPORT

сименами блоков модели

Внашей моделируемой системе за 480 единиц модального вре# мени через все блоки первой части модели прошло 67 транзактов, то есть 67 покупателей было обслужено за один день.

Далее указана информация об устройствах и очередях. Для уст# ройств программа выводит следующие значения (рис. 2.11):

FACILITY – номер или имя устройства; ENTRIES – количество вошедших транзактов; UTIL. – коэффициент использования;

AVE. TIME – среднее время пребывания транзакта в устрой# стве;

AVAIL – состояние готовности;

35

OWNER – номер последнего транзакта, занявшего устройство; PEND – количество прерванных в устройстве транзактов; INTER – количество прерывающих устройство транзактов; RETRY – количество транзактов, ожидающих специальных ус#

ловий;

DELAY – количество транзактов, ожидающих занятия устрой# ства.

 

 

 

 

 

 

FACILITY

ENTRIES

UTIL.

AVE. TIME AVAIL. OWNER

PEND

INTER RETRY DELAY

SALES

67

0.897

6.426

1

0

0

0

0

0

 

 

 

 

 

 

 

 

 

 

Рис. 2.11. Часть окна отчета результатов моделирования REPORT

со статической информацией об устройствах модели

Для оценки результатов моделирования нас интересуют первые три значения:

1)количество вошедших транзактов – 67;

2)коэффициент использования – 0,897;

3)среднее время пребывания транзакта в устройстве – 6,426. Для очереди доступны следующие значения (рис. 2.12): QUEUE – номер или имя очереди;

MAX – максимальная длина очереди; CONT. – текущая длина очереди; ENTRY – общее количество входов;

ENTRY (0) – количество «нулевых» входов; AVE. CONT. – средняя длина очереди;

AVE. TIME – среднее время пребывания транзактов в очереди; AVE.(– 0) – среднее время пребывания в очереди без учета «ну#

левых» входов;

RETRY – количество транзактов, ожидающих специальных ус# ловий.

 

 

 

 

 

 

QUEUE

MAX

CONT. ENTRY

ENTRY(0) AVE.CONT. AVE.TIME

AVE.(-0)

RETRY

QUEUE_CUST

14

0

67

14

3.637

26.057

32.940

0

 

 

 

 

 

 

 

 

 

Рис. 2.12. Часть окна отчета результатов моделирования REPORT

со статической информацией об очередях модели

36

Для оценки результатов моделирования нам потребуются такие значения, как:

1)максимальная длина очереди – 14;

2)средняя длина очереди – 3,637;

3)среднее время пребывания транзактов в очереди – 26,057.

В результате моделирования работы магазина получены следу# ющие значения:

1)коэффициент загрузки продавца – 0,897;

2)среднее время обслуживания – 6,426 мин;

3)среднее время ожидания в очереди – 26,057 мин.

То есть в указанном магазине покупатели в среднем стоят в оче# реди 26 мин, а обслуживаются 6 мин.

При необходимости можно сохранить модель и результаты мо# делирования обычным способом сохранения в операционной систе# ме Windows.

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

,

где λ – интенсивность поступления заявок; μ – интенсивность обслуживания заявок.

Получим аналитические значения для нашей системы.

 

1

 

 

 

 

7,5

 

6

0,8.

7,5

 

1

 

 

 

6

 

 

 

 

Среднее число заявок в системе:

L

 

 

 

0,8

4.

1–

 

сист

 

 

1–0,8

37

Среднее число заявок в очереди:

2 0,82

Lоч 1 1 0,8 3,2.

Среднее время пребывания заявок в системе:

Tсист

 

 

 

0,8

30.

 

 

 

(1 )

1

(1 0,8)

 

 

7,5

 

Среднее время пребывания заявок в очереди:

T

 

2

 

 

0,82

24.

(1 )

1

 

оч

 

 

(1 0,8)

 

 

 

 

 

7,5

 

Две последние формулы называются формулами Литтла. Дан# ные формулы получены из предположения, что в предельном ста# ционарном режиме среднее число заявок, прибывающих в систему, равно среднему числу заявок, покидающих ее. То есть формулы справедливы для большого числа заявок, прошедших через систему.

Сравним данные, полученные аналитически и в процессе моде# лирования, причем среднее время нахождения заявки в системе най# дем сложением среднего времени обслуживания заявки и среднего времени пребывания в очереди. Данные сведем в табл. 2.1.

Таблица 2.1

 

 

 

Показатель

Теоретические данные

Данные моделирования

 

0,8

0,897

 

 

 

 

 

Lоч

3,2

3,637

 

 

 

 

 

Тсист

30

26,057 + 6,426

= 32,483

 

 

 

 

Точ

24

26,057

 

 

 

 

 

Как видно, есть расхождения в бо´льшую сторону в данных, по# лученных моделированием. Это объясняется малым количеством заявок, прошедших через систему (всего 67).

Попробуем увеличить количество заявок (транзактов). Для это# го необходимо несколько изменить модель. Уберем (закомментиру#

38

ем) седьмой и восьмой блоки TERMINATE и GENERATE 480, а в команде START поставим число 1000, то есть GPSS World закон# чит моделирование при прохождении через модель 1000 транзактов.

Можно сделать по#другому – закомментировать команду START, после готовности модели (выбрать меню Command – Create Simulation) зайти в меню Command, выбрать START и в открывшемся окне указать количество транзактов для модели.

Проведем несколько запусков модели при числе транзактов, равном 1000, 10 000, 100 000 и 1 000 000. Данные результатов моде# лирования занесем в табл. 2.2.

Таблица 2.2

 

 

 

 

 

 

 

 

 

Теоретиче-

 

Данные моделирования

 

Показатель

 

 

при числе транзактов

 

 

ские данные

 

 

 

 

 

 

 

1000

 

10 000

100 000

 

1 000 000

 

 

 

 

 

0,8

0,865

 

0,803

0,801

 

0,801

 

 

 

 

 

 

 

 

Lоч

3,2

2,948

 

2,939

3,226

 

3,239

 

 

 

 

 

 

 

 

Тсист

30

27,640

 

28,377

30,326

 

30,306

 

 

 

 

 

 

 

 

Точ

24

21,363

 

22,289

24,294

 

24,298

Из табл. 2.2 видно, что при увеличении числа испытаний ре# зультаты моделирования сходятся к теоретическим, а количество испытаний в 100 000 и 1 000 000 не дает существенной разницы в ре# зультатах. Таким образом, проведена проверка адекватности модели.

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

Введем в модель новое устройство «касса» и обозначим его как CASH, а новую очередь – как QUEUE_CASH.

Новая модель примет вид:

GENERATE (exponential(1, 0, 7.5))

;приход покупателей

QUEUE QUEUE_CASH

;покупатели встают в очередь в кассу

SEIZE CASH

;покупатель подходит к кассе

 

39

DEPART QUEUE_CASH

;покупатель выходит из очереди в кассу

ADVANCE 2, 1

;время обслуживания покупателя

RELEASE CASH

;окончание обслуживания в кассе

QUEUE QUEUE_CUST

;покупатели встают в очередь к продавцу

SEIZE SALES

;покупатель подходит к продавцу

DEPART QUEUE_CUST

;покупатель выходит из очереди

ADVANCE (exponential(1,0,6))

;время обслуживания покупателя

RELEASE SALES

;окончание обслуживания

TERMINATE

;выход покупателя из магазина

GENERATE 480

 

TERMINATE 1

 

START 1

 

Результаты моделирования представлены на рис. 2.13.

Из результата видно, что коэффициент загрузки кассира низ# кий (0,268), очереди к кассе нет (средняя длина очереди – 0,054). Вместе с тем средняя длина очереди и среднее время пребывания в очереди у продавца увеличились (4,157 и 31,673 соответственно). И немного уменьшилось количество обслуживаемых клиентов (61). Данная задача аналитического решения не имеет, результат можно получить только имитационным моделированием.

 

 

 

 

 

LABEL

LOC

BLOCK TYPE

ENTRY COUNT CURRENT COUNT RETRY

 

 

1

GENERATE

 

63

 

0

 

0

 

 

2

QUEUE

 

 

63

 

0

 

0

 

 

3

SEIZE

 

 

63

 

0

 

0

 

 

4

DEPART

 

 

63

 

0

 

0

 

 

5

ADVANCE

 

 

63

 

0

 

0

 

 

6

RELEASE

 

 

63

 

0

 

0

 

 

7

QUEUE

 

 

63

 

1

 

0

 

 

8

SEIZE

 

 

62

 

0

 

0

 

 

9

DEPART

 

 

62

 

0

 

0

 

 

10

ADVANCE

 

 

62

 

1

 

0

 

 

11

RELEASE

 

 

61

 

0

 

0

 

 

12

TERMINATE

 

61

 

0

 

0

 

 

13

GENERATE

 

1

 

0

 

0

 

 

14

TERMINATE

 

1

 

0

 

0

 

FACILITY

ENTRIES

UTIL.

 

AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

CASH

63

0.268

 

2.045

1

0

0

0

0

0

SALES

62

0.869

 

6.726

1

63

0

0

0

1

QUEUE

MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME

AVE.(-0) RETRY

QUEUE_CASH

2

0

63

46

0.054

 

0.409

 

1.515

0

QUEUE_CUST

12

1

63

10

4.157

 

31.673

 

37.649

0

Рис. 2.13. Окно отчета результатов моделирования REPORT

двухфазной системы массового обслуживания

40

Рассмотрим многоканальные системы массового обслуживания. Для моделирования многоканальной системы необходимо предва# рительно (перед блоком GENERATE) задать количество каналов. Это реализуется с помощью оператора STORAGE, который имеет следующий формат:

имя STORAGE A,

где имя – уникальное имя многоканальной системы, используемое для его однозначной идентификации, а также ссылок на него.

Операнд A задает емкость системы в виде целой положитель# ной константы, число каналов теоретически не ограничено.

Для занятия и освобождения каналов обслуживания использу# ется пара взаимодополняющих блоков ENTER и LEAVE, имеющих следующий формат:

ENTER A, B,

LEAVE A, B.

Вполе A в обоих блоках обязательно указывается имя многока# нальной системы, которое должно совпадать с именем, присвоен# ным в операторе STORAGE.

Операнд В задает число каналов системы, занимаемых одним транзактом при его входе в блок ENTER и освобождаемых, когда он входит в блок LEAVE. Обычно операнд B не задается и по умолча# нию его значение равно единице.

Блоки ENTER и LEAVE в процессе моделирования собирают статистику для определения характеристик функционирования многоканальной системы. Данные блоки можно использовать при построении многоканальной системы массового обслуживания, для которой пропускная способность всех каналов одинакова, и соот# ветственно блоки SEIZE и RELEASE не используются.

Рассмотрим на примере создание модели двухканальной одно# фазной системы с одинаковой пропускной способностью каналов.

Воперационном зале банка для обслуживания физических лиц одновременно работают два окна, к которым организована общая очередь. Интенсивность потока посетителей определяется экспо# ненциальным законом со средним значением 12 чел./ч. Интенсив# ность обслуживания клиентов для каждого окна одинакова и подчи#

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]