Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Углев В. А. Учебное пособие_ИМ_30.05.2011.doc
Скачиваний:
30
Добавлен:
02.09.2019
Размер:
1.59 Mб
Скачать

3.5.4. Примеры

Пример 3.4

Моделируемая ситуация: В сервисном центре осуществляется ремонт оргтехники двумя мастерами. Требуется промоделировать работу центра в течение рабочей смены – 8 часов.

Постановка задачи: Известны следующие параметры: поток заказов, поступающих от клиентов, подчиняется экспоненциальному распределению вероятностей с параметром 6,5; время ремонта у первого мастера составляет (10  2,5) мин, а у второго – (13  4) мин; заказ поступает к мастеру, который не занят ремонтом другого устройства.

Решение:

Данная модель состоит из одной фазы и двух каналов. Время моделирования выбираем в минутах. Схематично данную задачу можно представить как однофазную двухканальную СМО (рис. 33).

Рис. 33. Схема структуры модели СМО

Составим модель в программе GPSS World:

GENERATE (Exponential(1,0,6.5))

QUEUE Master

QUEUE Total_time

TRANSFER Both,Mas1,Mas2

Mas1 SEIZE Master1

DEPART Master

ADVANCE 10,2.5

DEPART Total_time

RELEASE Master1

TRANSFER ,Next

Mas2 SEIZE Master2

DEPART Master

ADVANCE 13,4

RELEASE Master2

Next SAVEVALUE Ave_Queue,QT$Master

TERMINATE

GENERATE 480

TERMINATE 1

START 1

В настройках модели установим следующие параметры (рис. 34): отображать блоки, очереди, каналы обслуживания и накопители. Точность вычисления укажем повышенную (Scientific).

Рис. 34. Окно настройки содержимого отчёта

После запуска модели на выполнение появится отчёт следующего содержания (start = 1):

GPSS World Simulation Report

START TIME END TIME BLOCKS

0.000 480.000 19

LABEL LOC BLOCK TYPE ENTRY COUNT

1 GENERATE 83

2 QUEUE 83

3 QUEUE 83

4 TRANSFER 83

MAS1 5 SEIZE 45

6 DEPART 45

7 ADVANCE 45

8 DEPART 44

9 RELEASE 44

10 TRANSFER 44

MAS2 11 SEIZE 33

12 DEPART 33

13 ADVANCE 33

14 DEPART 32

15 RELEASE 32

NEXT 16 SAVEVALUE 76

17 TERMINATE 76

18 GENERATE 1

19 TERMINATE 1

FACILITY ENTRIES UTIL. AVE. TIME AVAIL.

MASTER1 45 0.901 9.608 1

MASTER2 33 0.875 12.734 1

QUEUE MAX CONT. AVE.CONT. AVE.TIME AVE.

Master 10 5 83 20.209 23.962

Total_Time 12 7 83 30.481 30.481

Таким образом, можно выделить следующие параметры накопителя:

• время окончания моделирования – 480 минут;

• число блоков – 19.

Для каналов обслуживания Master1 и Master 2:

• число входов – 45 и 33;

• коэффициент использования – 0.901 и 0.875;

• среднее время обслуживания – 9.608 и 12.734.

Параметры очередей Master и Total_Time:

• максимальное содержание – 10 и 12;

• число входов – 83;

• среднее число входов – 3.494 и 5.271.

Для создания графика заполним поля окна Edit Plot Window (рис. 35).

В результате просчёта будет выведено окно (рис. 36).

Рис. 35. Окно настройки параметров вывода графика

Рис. 36. График динамики длины очереди транзактов

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

Пример 3.5

Моделируемая ситуация:

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

Постановка задачи:

Известны следующие параметры:

– частота потока заказов, поступающих в отдел, подчиняется экспоненциальному закону распределению с параметром 12,8 минут;

– время выполнения одного заказа на этапе набора текста равно (10 ± 2.5) мин, (13 ± 2) мин и (15 ± 1) мин для первого, второго и третьего работника соответственно.

– время на вёрстку макета составляет (17 ± 3.8) и (12 ± 2.11) мин соответственно.

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

Решение: Данная модель состоит из двух фаз и трёх каналов. Время моделирования удобно выбрать в минутах. Схематично данную задачу можно представить так двухфазную трёхканальную СМО (рис. 37).

Рис. 37. Схема структуры модели СМО

Составим модель в программе GPSS World. Для диспетчеризации многоканального обслуживания воспользуемся режимом All команды TRANSFER. Он имеет следующие параметры:

первый канал (значение 1);

последний канал (значение 3);

число действий (команд) при описании одного канала (по 6 строк кода).

При описании накопителя (NABOR) нужно осуществить ввод в него транзакта (команда ENTER), а после обслуживания – его вывод (команда LEAVE). Обратите внимание – явно описываются только первый и последний каналы. Листинг модели приведён ниже.

NABOR STORAGE 4

TAB2 QTABLE Verstka,0,3,12

QALL TABLE M1,5,2,10

GENERATE (Exponential(1,0,12.8))

QUEUE TextNabor

QUEUE Total_time

ENTER NABOR

TRANSFER ALL,Rab1,Rab3,6

Rab1 SEIZE TextNabor1

ASSIGN 1,TextNabor1

DEPART TextNabor

ADVANCE 10,2.5

RELEASE TextNabor1

TRANSFER ,Next

SEIZE TextNabor2

ASSIGN 1,TextNabor2

DEPART TextNabor

ADVANCE 13,2

RELEASE TextNabor2

TRANSFER ,Next

Rab3 SEIZE TextNabor3

ASSIGN 1,TextNabor3

DEPART TextNabor

ADVANCE 15,1

RELEASE TextNabor3

Next LEAVE NABOR

TABULATE QALL

SAVEVALUE Ave_Queue,QT$TextNabor

QUEUE Verstka

TRANSFER Both,Ver1,Ver2

Ver1 SEIZE Verstka1

DEPART Verstka

ADVANCE 17,3.8

RELEASE Verstka1

TRANSFER ,FinSh

Ver2 SEIZE Verstka2

DEPART Verstka

ADVANCE 12,2.11

RELEASE Verstka2

TRANSFER ,FinSh

FinSh SAVEVALUE Ave_Queue,QT$Verstka

DEPART Total_time

TERMINATE 1

START 1

В настройках модели установим следующие параметры: не отображать блоки, отображать очереди, каналы обслуживания и накопители. Укажем повышенную точность вычисления (режим Scientific).

Для отображения табличных данных используются объекты QTABLE (TAB2) и TABLE (QALL). Объект QTABLE на этапе вёрстки осуществляет сбор статистических данных, которые будут помещены в таблицу, в соответствии со следующими параметрами:

– названием блока (очередь на вёрстку);

– минимальным значением для отсчёта (0);

– шагом (3 минуты);

– числом интервалов (12 шагов, начиная от минимального значения).

Если нужно измерить значение произвольного объекта, то можно воспользоваться конструкцией TABLE со следующими параметрами:

– М1 (системный параметр);

– минимальным значением для отсчёта (5);

– шагом (2 минуты);

– числом интервалов (10 шагов).

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

После запуска модели на выполнение появится отчёт следующего содержания (start = 540):

START TIME END TIME BLOCKS

0.000 6992.399 40

FACILITY ENTRIES UTIL. AVE. TIME AVAIL.

TEXTNABOR1 318 0.457 10.045 1

TEXTNABOR2 165 0.305 12.936 1

VERSTKA1 282 0.685 16.978 1

VERSTKA2 260 0.445 11.981 1

TEXTNABOR3 60 0.129 15.010 1

QUEUE MAX CONT. AVE.CONT. AVE.TIME AVE.

VERSTKA 5 0 542 2.148 6.159

TEXTNABOR 3 0 543 0.128 3.019

TOTAL_TIME 8 2 543 28.298 28.298

STORAGE CAP. REM. MIN. MAX. ENTRIES

NABOR 4 3 0 4 543 1

SAVEVALUE RETRY VALUE

AVE_QUEUE 0 2.148

Для подкрепления выводов нужно отобразить часть информации графически. Для создания графика заполним поля окна Edit Plot Window (рис. 38 и 39).

Из графика видно, что нагрузка распределяется во времени неравномерно. Поэтому воспользуемся графическим отображением табличных данных (Table Window). На рис. 40, а представлена гистограмма распределения времени обслуживания транзактов для этапа набора, а на рис. 40, б – для этапа вёрстки.

Таким образом, можно выделить следующие параметры накопителя:

Время окончания моделирования – 540 минут.

Для каналов обслуживания TEXTNABOR1, TEXTNABOR2 и TEXTNABOR3:

• число входов – 318, 165 и 60;

• коэффициент загрузки – 0.45, 0.3 и 0.12;

• среднее время обслуживания – 10, 13 и 15 минут.

Рис. 38. Окно настройки графика

Рис. 9. График длины очереди транзактов на обслуживание

а

б

Рис. 40. Гистограммы длин очередей для первой (а) и второй (б) фазы

Для каналов обслуживания VERSTKA1 и VERSTKA2:

• число входов – 282 и 260;

• коэффициент загрузки – 0.685 и 0.445;

• среднее время обслуживания – 17 и 12 минут.

Параметры очередей VERSTKA, TEXTNABOR и TOTAL_TIME:

• максимальная длина очереди – 5, 3 и 8 заказов;

• число входов – 543 (все заявки обслужены);

• среднее время пребывания в очереди – 6.1, 3 и 28.3 минут соответственно.

Общая загрузка канала обслуживания на первой фазе составляет 23 %. Из диаграммы для времени обслуживания на первой фазе (QALL) видно, что она тяготеет к нормальному распределению и имеет среднюю длительность в 13 минут на один заказ. Согласно диаграмме TAB2, очередь на верстку в большинстве случаев имеет нулевую длину. Следовательно, система нуждается в балансировке.

Оптимизация. Осуществим изъятие из первой фазы одного (третьего) работника. Тогда загрузка первого составит 0.5, а второго – 3.55. При этом длина очереди как на набор, так и на вёрстку сохранится малой (максимально 3 и 4 заказа соответственно).

Продолжим моделирование. Уберём второго работника из первой фазы. Тогда загрузка оставшегося составит 0.75 (вполне приемлемое значение). При этом длина очередей в системе останется малой.

Обратимся ко второй фазе. Загрузка работников равна 0.685 и 0.445 соответственно. Это говорит о том, что нагрузка на них явно мала. Посмотрим, как будет себя вести модель, если убрать второго работника со второй фазы обработки транзакта. Загрузка работника составит 0.995 – человек не справляется, а это недопустимо. Кроме того, максимальная длина очереди заказов составит 152 заявки! Следовательно, работника убирать с этой фазы нельзя.

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

Предлагается убрать из отдела для первой фазы (этап набора текста) работников 2 и 3, так как их скорость работы меньше, чем у первого. При этом загрузка первого работника составит всего 0.75, что вполне допустимо.

Если убрать одного человека со второй фазы (дизайн и вёрстка), то оставшийся сотрудник справляться не будет. Но если сохранить обоих сотрудников, то второй будет недогружен. Предлагается нанять второго работника на полставки либо предусмотреть для него дополнительную нагрузку за пределами отдела.