Основные концепции моделирования на gpss

Вид материалаДокументы
Основные методы использования блоков ЕNTER и LEAVE
ЕNТЕR и LEAVE
Аvеrаgе тiме/тrаns
ЕNТЕR и LEAVE
ТЕМА № 23 "Многоканальная система массового обслуживания с очередью"
Еnтеr - аdvance
ТЕМА № 24 "Пример моделирования 2Е. Задача об управлении производством"
Таблица определений. Единица времени: 1 ч. Таблица 24.1.
Таблица определений примера моделирования 2E
Нагрузка многоканального устройства как функция различных соотношений "число рабочих - число машин"
ТЕМА № 25 "Управляющие карты GPSS. Карта RESET (СБРОСИТЬ)"
Нагрузка многоканального устройства как функция различных соотношений "число рабочих - число машин"
ТЕМА № 26 "Печать в процессе моделирования"
Подобный материал:
1   2   3   4   5   6   7   8   9   10   11

Основные методы использования блоков ЕNTER и LEAVE


Использование многоканального устройства для моделирования одного из параллельно работающих приборов аналогично использованию одиночного прибора. Элементом, который занимает и использует устройство, является транзакт. При этом события происходят в следующем хронологическом порядке:
  1. транзакт ожидает своей очереди, если это необходимо;
  2. транзакт занимает устройство;
  3. устройство осчществляет обслуживание в течение некоторого интервала времени;
  4. транзакт освобождает устройство.

Как и в случае с прибором, разработчик использует многоканальные устройства в модели, применяя пары дополняющих друг друга блоков. Эти блоки моделируют выполнение описанных выше событий 2 и 4. Когда транзакт входит в первый из этих блоков, моделируется событие "занятие одного из группы параллельно работающих приборов". Подобным же образом, когда транзакт входит во второй из этих блоков, моделируется выполнение события "освобождения параллельно работающего прибора". Блоками, соответствующими состояниям "занято" и "освобождено", являются ЕNТЕR (ВОЙТИ) и LEAVE (ВЫЙТИ). Эти два блока вместе с операндом А изображены на рис. 22.1.


Рис.22.1. Блоки ENTER(ВОЙТИ ) и LEAVE(ВЫЙТИ)с операндом А :

Блоки ENTER (ВОЙТИ) и LEAVE (ВЫЙТИ) с операндом А:

Операнд

Значение

Значение или результат по умолчанию

А

Имя (символическое или числовое) многоканального устройства

Ошибка

Операнд А в блоках ЕNТЕR и LEAVE используется для указания имени соответствующего многоканального устройства. Когда транзакт входит в блок ЕNТЕR, интерпретатор выполняет следующие действия:
  1. "счетчик входов" многоканального устройства увеличивается на единицу;
  2. "текущее содержимое" многоканального устройства увеличивается на единицу;
  3. "доступная емкость" многоканального устройства уменьшается на единицу.

Подобным же образом, когда транзакт входит в блок LEAVE, интерпретатор выполняет следующие действия:
  1. "текущее содержимое" многоканального устройства уменьшается на единицу;
  2. "доступная емкость" многоканального устройства увеличивается на единицу.

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

Рассмотрим понятие "среднее время пребывания" более детально. Интерпретатор рассчитывает это значение с использованием полного числа единиц времени, в течение которого различные параллельно работающие приборы находятся в состоянии "занято". Существует только одно такое значение. Оно считается по всем приборам, моделируемым в этом многоканальном устройстве. Значение автоматически корректируется, когда это необходимо. Следовательно, в любое время интерпретатор может вычислить среднее время пребывания делением полного времени на "счетчик входов". Преимуществом такого подхода является учет всех приборов, в том числе и тех, которые еще находятся в занятом состоянии в момент выполнения расчета. Недостатком такого подхода является некоторое занижение статистики, поскольку часть приборов еще некоторое время должна быть занята, а это не учитывается при расчете.

Для каждого конкретного транзакта время нахождения в многоканальном устройстве (т. е. между моментами времени, когда он входит в блоки ЕNТЕR и LЕАVЕ) является интервалом, в течение которого одно из параллельно работающих устройств находится в занятом состоянии. Это означает, что среднее время пребывания идентично среднему времени нахождения транзакта в многоканальном устройстве. Вот почему эта статистика об использовании многоканального устройства распечатывается под названием АVЕRАGЕ ТIМЕ/ ТRАN (СРЕДНЕЕ ВРЕМЯ/ТРАН).

Очевидна аналогия между методом расчета интерпретатором статистики АVЕRАGЕ ТIМЕ/ТRАNS для очереди и АVERAGE ТIМЕ/ТRANS для многоканального устройства. Также должно быть ясно, почему интерпретатор не осуществляет привязку транзакта к имени многоканального устройства или к значению модельного времени при прохождении транзактом блока ЕNТЕR. Для многоканальных устройств расчет значения "нулевых входов" не представляет интереса. Это означает, что привязки не нужны, и, следовательно, не существует ограничений на то, сколько различных многоканальных устройств будет занято транзактом одновременно.

Блоки ЕNТЕR и LEAVE относятся к таким блокам, после обработки которых возобновляется просмотр цепи текущих событий от начала. Предположим, что перед тем, как остановиться в каком-либо блоке, транзакт прошел один из блоков ЕNТЕR и(или) LEAVE. В этом случае вместо того, чтобы перейти к обработке следующего по списку транзакта в цепи текущих событий, интерпретатор начинает заново просматривать цепь текущих событий.

ТЕМА № 23

"Многоканальная система массового обслуживания с очередью"


Типичный вариант использования многоканального устройства показан на рис. 23.1. Кроме блоков ЕNТЕR - АDVANCE - LEAVЕ (ВОЙТИ - ЗАДЕРЖАТЬСЯ - ВЫЙТИ), есть блоки QUЕUЕ - DEPART , которые собирают информацию об ожидании перед блоком ЕNТЕR (эта пара блоков необязательна). Необходимо рассмотреть два варианта обслуживания при моделировании системы, показанной на рис. 23.1. Первый - метод выбора прибора пользователем; второй - метод выбора пользователя прибором.

Рис.23.1. Типичный пример моделирования с использованием многоканального устройства.



Очень часто при параллельном обслуживании перед каждым прибором образуется очередь. Когда пользователь приходит на обслуживание, он оценивает ситуацию и принимает решение, Именно в этом, наиболее часто используемом случае, название элемента STORAGE, которое должно бы быть переведено как НАКОПИТЕЛЬ, не соответствует его назначению. Вот почему при переводе этот элемент назвали многоканальным устройством.

Рис. 23.2. Пример системы многоканального обслуживания с одной очередью.



Приборы, которые являются частью многоканального устройства, не имеют своей индивидуальности. Это означает, что нет возможности разделить очереди по каждому прибору. Следовательно, реализуется концепция: если подошла очередь какого-либо пользователя, то он идет на обслуживание к любому свободному прибору. Это эквивалентно наличию единственной очереди перед устройством с многоканальным обслуживанием. Приходящий пользователь просто становится в очередь. Когда под ходит его очередь, он идет на любой свободный прибор (рис. 23.2).

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

Приборы, которые моделируются многоканальным устройством, реализуют в GPSS такой выбор автоматически. Это происходит потому, что транзакты, ожидающие входа в блок ЕNТЕR (см. рис. 23.1), отсортированы в цепи текущих событий в порядке убывания их уровней приоритетов.

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

Рис.23.3. Многоканальная система массового обслуживания с одной очередью и приоритетами.



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

Многоканальная система массового обслуживания с одной очередью также часто используется и в случае, когда осуществляется обслуживание людей. Такими примерами являются банки, где реализуется система быстрой очереди.Человек, входя в банк, не выбирает себе окошко и не становится в очередь к нему, а становится в конец общей очереди, которая ведет ко всем окошкам. При таком подходе невозможно обогнать других клиентов, время обслуживания которых больше обычного (например, клиентов, открывающих новый счет или покупающих или выписывающих аккредитив).

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

ТЕМА № 24

"Пример моделирования 2Е. Задача об управлении производством"


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

В существующем замкнутом цикле движения машин легко выделить четыре фазы (рис.2Е.1).


Рис.2Е.1

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

Управляющий хочет знать, сколько рабочих следует нанять для работы в мастерской, сколько машин следует иметь в резерве, какую платить за это арендную плату, чтобы резервными машинами можно было подменить 50 собственных. Цель - минимизация стоимости производства.Оплата рабочих в мастерской 3,75 доллара в час. За машины, находящиеся в резерве, надо платить по 30 долларов в день. Почасовой убыток при использовании менее 50 машин в производстве оценивается примерно в 20 долларов на машину. Этот убыток возникает из-за снижения производства.

Опыт эксплуатации подсказывает, что на ремонт сломанной машины уходит примерно 7 ± 3 ч, распределение равномерное. Когда машину используют в производстве, время наработки до отказа распределено равномерно и составляет 157 ± 25 ч. Время, необходимое для перевозки машины из цеха в мастерскую и обратно, мало, и его не учитывают.

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

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

Метод построение модели. Как и в случае 2D, предполагается, что в первую очередь следует разобраться в том, какие ограничения существуют в системе, а затем определить, какие элементы GPSS следует использовать для удовлетворения этих ограничений. В нашей системе (см. рис. 2Е.1) существуют три ограничения:
  1. Число рабочих в мастерской.
  2. Максимальное число швейных машин, одновременно находящихся в производстве.
  3. Общее число машин, циркулирующих в системе.

Для моделирования двух первых ограничений удобно использовать многоканальные устройства, а третье ограничение моделировать транзактами. В результате такого выбора, грубо говоря, рабочие мастерской и машины, находящиеся в производстве, задаются некоторыми константами (см. рис.2Е.1) и занимают в системе определенное место. Сами швейные машины являются динамическими объектами, перемещаемыми из одного места в другое в процессе их циркулирования в системе.

Рассмотрим состояния определенной машины в процессе полного оборота в цикле системы на рис.2Е.1. Предположим, что машина в настоящий момент находится в резерве. Тогда многоканальное устройство NOWON ( nоwоn, т.е. в работе), используемое для моделирования находящихся в работе машин, заполнено, и резервные машины не могут войти в многоканальное устройство. Машина, находящаяся в состоянии резерва, может получить возможность войти в работу. Транзакт, моделирующий ее, может осуществить это после многократных попыток войти в многоканальное устройство NOWON, когда одна из них, наконец, будет успешной. Проходя через блок ENTER в блок ADVANCE, транзакт моделирует время работы этой машины до тех пор, пока последняя не сломается.

После того, как машина вышла из строя, транзакт покидает многоканальное устройство NOWON и тем самым открывает возможность другой резервной машине войти в работу. Теперь транзакт ожидает (если в этом есть необходимость) входа в многоканальное устройство MEN (рабочие мастерской). Войдя в это многоканальное устройство, транзакт играет роль ремонтируемой машины. Когда он уходит из этого многоканального устройства,тем самым освобождая рабочего, последний может приняться за ремонт следующей машины. Тем временем транзакт вновь возвращается в ту точку модели, в которой он снова начинает делать попытки войти в многоканальное устройство NOWON.

Общее число машин, циркулирующих в системе, равно 50 собственным машинам плюс некоторое число арендуемых для резерва. Это число следует задавать до начала прогона модели с использованием ограничителя блока GENERATE. Единственным недостающим элементом модели теперь является таймер.

Обратите внимание на то, что многоканальное устройство NOWON можно рассматривать как 50 операторов швейных машин. Эта точка зрения отвечает тому ограничению, что одновременно не могут работать более 50 швейных машин. Эта довольно сложная задача на GPSS может быть промоделирована очень просто. Модель этой же системы на языке FORTRAN значительно сложнее.

Таблица определений. Единица времени: 1 ч.
Таблица 24.1. Таблица определений примера моделирования 2Е.

Таблица определений примера моделирования 2E

Элементы GPSS

Интерпретация

Транзакты:

1-й сегмент модели

2-й сегмент модели




 

Швейные машины

Таймер




Многоканальные устройства:

MEN

NOWON

 




 

 

Рабочие мастерской

Накопитель емостью 50, т.е. максимальное число швейных машин, находящихся в работе одновременно




Рис.2Е.2. Блок-схема примера моделирования 2Е (три резервные машины).



Рис.2Е.3. Распечатка программы примера моделирования 2Е

BLOCK

NUMBER *LOC OPERATION A,B,C,D,E,F,G COMMENTS

SIMULATE

*

* STORAGE CAPACITY DEFINITION(S)

*

STORAGE S$MEN,3/S$NOWON,50 3 MEN; MAX OF 50 MATCH`S RUNNING

*

* MODEL SEGMENT 1

*

1 CNTRL GENERATE ,,,53 PROVIDE 53 MACHINES (50 OWNED; 3 RENTED)

2 BACK ENTER NOWON MACHINE GOES INTO PRODUCTION

3 ADVANCE 157,25 MACHINE IS RUNNING

4 LEAVE NOWON MACHNE FAULTS; COMES OUT OF PRODUCTION

5 ENTER MEN CAPTURE A REPAIR MAN

6 ADVANCE 7,3 MACHINE IS BEING REPAIRED

7 LEAVE MEN FREE THE REPAIRMAN

8 TRANSFER ,BACK

*

* MODEL SEGMENT 2

*

9 GENERATE 6240 TIMER COMES AFTER 3 YEARS (40-HOUR WEEKS)

10 TERMINATE 1 SHUT OFF THE RUN

*

* CONTROL CARDS, BLOCK OPERAND RE-DEFS, AND STG CAPACITY RE-DEFS

*

START 1 START THE 1ST RUN

1 CNTRL GENERATE ,,,54 SET RENTED MACHINES = 4 FOR 2ND RUN

MULTIPLE DEFINITION OF SYMBOL IN ABOVE CARD

CLEAR CLEAR FOR 2ND RUN

START 1 START THE 2ND RUN

1 CNTRL GENERATE ,,,55 SET RENTED MACHINES = 5 FOR 3RD RUN

MULTIPLE DEFINITION OF SYMBOL IN ABOVE CARD

CLEAR CLEAR FOR 3RD RUN

START 1 START THE 3RD RUN

STORAGE S$MEN,4 SET REPAIRMEN HIRED = 4 FOR 4TH RUN

1 CNTRL GENERATE ,,,53 SET RENTED MACHINES = 3 FOR 4TH RUN

MULTIPLE DEFINITION OF SYMBOL IN ABOVE CARD

CLEAR CLEAR FOR 4TH RUN

START 1 START THE 4TH RUN

1 CNTRL GENERATE ,,,54 SET RENTED MACHINES = 4 FOR 4TH RUN

MULTIPLE DEFINITION OF SYMBOL IN ABOVE CARD

CLEAR CLEAR FOR 5TH RUN

START 1 START THE 5TH RUN

1 CNTRL GENERATE ,,,55 SET RENTED MACHINES = 5 FOR 6TH RUN

MULTIPLE DEFINITION OF SYMBOL IN ABOVE CARD

CLEAR CLEAR FOR 6TH RUN

START 1 START THE 6TH RUN

STORAGE S$MEN,5 SET REPAIRMEN HIRED = 5 FOR 4TH RUN

1 CNTRL GENERATE ,,,53 SET RENTED MACHINES = 3 FOR 7TH RUN

MULTIPLE DEFINITION OF SYMBOL IN ABOVE CARD

CLEAR CLEAR FOR 7TH RUN

START 1 START THE 7TH RUN

1 CNTRL GENERATE ,,,54 SET RENTED MACHINES = 4 FOR 8TH RUN

MULTIPLE DEFINITION OF SYMBOL IN ABOVE CARD

CLEAR CLEAR FOR 8TH RUN

START 1 START THE 8TH RUN

1 CNTRL GENERATE ,,,55 SET RENTED MACHINES = 5 FOR 9TH RUN

MULTIPLE DEFINITION OF SYMBOL IN ABOVE CARD

CLEAR CLEAR FOR 9TH RUN

START 1 START THE 9TH RUN

END RETURN CONTROL TO OPERATING SYSTEM


Рис. 2E.4. Часть распечатки выходных данных примера моделирования 2E:

а - статистика по многоканальным устройствам для

соотношения "трое рабочих - три арендуемые машины";

б - статистика по многоканальным устройствам для

соотношения "трое рабочих - четыре арендуемые машины";

в - статистика по многоканальным устройствам для

соотношения "трое рабочих - пять арендуемых машин".

а)

STORAGE CAPASITY AVERAGE AVERAGE ENTRIES AVERAGE CURRENT MAXIMUM

CONTENTS UTILIZATION TIME/TRAN CONTENTS CONTENTS

MEN 3 2.185 .728 1924 7.087 3 3

NOWON 50 49.182 .983 1974 155.471 50 50

б)

STORAGE CAPASITY AVERAGE AVERAGE ENTRIES AVERAGE CURRENT MAXIMUM

CONTENTS UTILIZATION TIME/TRAN CONTENTS CONTENTS

MEN 3 2.180 .726 1934 7.036 3 3

NOWON 50 49.486 .989 1984 155.643 50 50

в)

STORAGE CAPASITY AVERAGE AVERAGE ENTRIES AVERAGE CURRENT MAXIMUM

CONTENTS UTILIZATION TIME/TRAN CONTENTS CONTENTS

MEN 3 .184 .728 1951 6.986 3 3

NOWON 50 49.629 .992 2003 154.611 49 50

Стратегия моделирования. Модель используется для оценки сочетания "нанимать/арендовать", которое минимизало бы средние дневные расходы на производство. На основании результатов моделирования можно будет сказать, какие затраты несет производство при различных сочетаниях "нанимать/арендовать". Для фиксированного числа нанятых рабочих мастерской средние дневные расходы будут меняться в зависимости от числа арендуемых машин (рис. 2E.5).

Рис.2Е.5 Зависимость дневных расходов от числа
арендуемых машин (число рабочих постоянно).



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

Подобным же образом, при заданном числе арендуемых машин влияние числа нанятых рабочих на дневные расходы выглядит так, как показано на рис. 2Е.6. При малом числе рабочих расходы высоки ввиду убытков из-за потери объема производства. При большом числе рабочих расходы также высоки ввиду высокой оплаты простаивающих рабочих.

Рис.2Е.6.Зависимость дневнх расходов от числа
рабочих (число арендуемых машин постоянно)



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

На рис. 2Е.7 представлено трехмерное пространство для описанной ситуации. Обратите внимание на то, что множество точек, получаемых пересечением линий решетки на плоскости, представляют собой область допустимых решений (т. е. целых значений) пар величин "число нанятых - число арендуемых".

Рис.2Е.7. Поверхность дневных расходов в трехмерном пространстве.



Третьим измерением являются дневные расходы, соответствующие каждой из этих точек пересечений (значения расходов не показаны). Множество всех значений расходов образует поверхность расходов в третьем измерении. (Не поверхность, а точки образуют множество дискретных значений. Тем не менее удобно использовать термин "поверхность".) Рис. 2Е.5 и рис. 2Е.6 являются сечениями этой поверхности.

Можно предположить, что эта поверхность имеет одну точку минимума. Поиск оптимального сочетания "число нанятых - число арендуемых" является, следовательно, поиском этой точки. Этот поиск можно осуществить различными методами. Рассмотрим два из них.
  1. Можно применить метод наискорейшего спуска. Этот метод заключается в выборе оптимального направления движения в области значений переменных по некоторому контуру до тех пор, пока не будут исчерпаны все возможные направления движения. Особенно удобно использовать этот метод либо при диалоговом режиме доступа к модели на ЭВМ через выносной пульт, либо если этот метод встроен в модель. В данной книге вторым методом мы пользоваться не будем.
  2. Модель может выполняться таким образом, что за каждый прогон определяется значение стоимости для одного соотношения значений "число нанятых - число арендуемых", и эти соотношения последовательно перебираются. Сначала можно исследовать довольно редкую решетку, так чтобы соотношения отстояли довольно далеко друг от друга. Рассмотрение результата обычно показывает, в какой области следует продолжать исследование. На следующем этапе моделирования исследуется ограниченная область с более близко расположенными значениями интересующего нас соотношения. Если необходимо, этот процесс можно продолжать, сужая область и делая решетку более частой. Так можно дойти до оптимального решения.

Для начала напомним, что дневная оплата рабочих, аренда машин и убытки из-за нехватки машин составляют 30, 30 и 160 долларов соответственно. Стоимость убытков от потери объема продукции непропорционально велика. Это означает, что оптимальное соотношение следует искать среди таких значений, которые вызывают потери из-за простоев машин.

Теперь рассмотрим условия, при которых ожидаются небольшие потери продукции. Мы видим из исходных данных, что среднее время работы машины равно 157 ч, а среднее время ее восстановления 7 ч. Рассмотрим некоторую гипотетическую "идеальную" систему, в которой нет очередей из машин. В такой идеальной системе вышедшая из строя машина никогда не простаивает перед тем, как рабочий начнет ремонт. Кроме того, она сразу после ремонта возвращается в работу. Тогда каждая машина имеет средний цикл времени, равный 164 ч. Использование машины в такой идеальной системе равно примерно 95% [157/164 = 0,95]. Если в работе все время должно быть 50 машин (чтобы исключить потери из-за снижения объема производства), то общее число машин, циркулирующих в системе, должно быть равно 52,6 [52,6 Х 0,95 = 50 ]. При 50 работающих машинах 2,6 машины должны быть в резерве. Это, в свою очередь, означает, что следует нанять 2,6 рабочих.

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

Использование модели. Для моделирования использовали модель, представленную на рис. 2Е.2. Было осуществлено девять реконфигураций модели за один этап моделирования. Подготовленная колода карт для этого выглядела так, как показано на рис. 2Е.З. Обратите внимание на то, что карта 5 определяет емкость многоканальных устройств MEN и NOWON значениями 3 и 50 соответственно. Это соответствует трем нанятым рабочим и 50 одновременно работающим машинам. Карта 9 определяет блок GENERATE, через который в модель входят транзакты-машины. Операнд D равен 53, что соответствует наличию трех резервных арендуемых машин (операнд D равен сумме собственных и арендуемых машин).

Блок GENERATE имеет символическое имя CNTRL (CoNTRoL, т.е. управление), поскольку этот блок должен переопределяться между картами START, когда необходимо отразить изменения в числе арендуемых машин. После первой карты START карты 26, 27 и 28 соответственно изменяют модель (отражают реконфигурацию) и определяют четыре арендуемые машины, очищают модель от транзактов и сбрасывают статистику после первого прогона модели.

Начинается моделирование при условиях "трое рабочих - четыре арендуемые машины". Карты 29, 30 и 31 повторяют эту процедуру и определяют соотношение "трое рабочих - пять арендуемых машин". Затем карта 32 переопределяет емкость многоканального устройства MEN на 4. Карта 33 модифицирует блок GENERATE с именем CNTRL, что снова определяет "три арендуемые машины". Далее модель очищается картой 34, а карта 35 начинает моделирование при соотношении "четверо рабочих - три арендуемые машины". Затем перебираются соотношения (4 - 4),(4 - 5),(5 - 3), (5 - 4), (5 - 5).

Результаты моделирования. (Полное время моделирования на ЭВМ IBM 360/67 равнялось 68,2 с.) На рис.2Е.4 представлены выходные данные по многоканальным устройствам для первых трех изучаемых конфигураций системы. Для каждого многоканального устройства выдается семь различных типов информации. Рассмотрим их значения для многоканального устройства MEN (рис. 2Е.4, а).
  1. Моделировать три параллельно работающих прибора этого многоканального устройства, CAPACITY (ЕМКОСТЬ) =3.
  2. В среднем 2,185 из этих устройств были в состоянии занятости, AVERAGE CONTENTS (СРЕДНЕЕ СОДЕРЖИМОЕ) = 2,185.
  3. В среднем эти три прибора были загружены на 72,8%, AVERAGE UTILIZATION (СРЕДНЯЯ НАГРУЗКА) = 0,782.
  4. Общее число занятий приборов было 1924, ENTRIES (ВХОДОВ) = 1924.
  5. Среднее время на одно занятие было 7,087 единиц, AVERAGE TIME/TRAN (СРЕДHEE ВРЕМЯ/ТРАН) = 7,087.
  6. Ни один из приборов не находился в занятом состоянии в момент остановки моделирования, CURRENT CONTENTS (ТЕКУЩЕЕ СОДЕРЖИМОЕ) = <пусто>.
  7. В процессе моделирования были моменты,когда все три прибора были в состоянии занятости одновременно, МАХIMUM CONTENTS (МАКСИМАЛЬНОЕ СОДЕРЖИМОЕ) = 3.

Просматривая рис. 2Е.4, можно отметить, что AVERAGE UTILIZATION (СРЕДНЯЯ НАГРУЗКА) многоканального устройства NOWON изменяется от 0,983 до 0,989 и далее до 0,992. Отметим также, что в момент выдачи результатов (рис. 2Е.4,а) фабрика работала с полной нагрузкой, т.е. CURRЕNT CONTENTS (ТЕКУЩЕЕ СОДЕРЖИМОЕ) многоканального устройства NOWON было равно 50 Сопоставьте эти значения с аналогичными значениями на рис. 2Е.4, б и в.

В табл.24.2(119) собраны величины нагрузки многоканального устройства NOWON как функции девяти различных значений соотношения "число рабочих - число арендуемых машин", определяемых моделью 2Е.3. Результаты соответствуют сделанным ранее предположениям. При заданном числе рабочих нагрузка растет при увеличении числа арендуемых машин. Аналогично этому при заданном числе арендуемых машин нагрузка растет при увеличении числа рабочих.

Таблица 24.2. Нагрузка многоканального устройства как функция
различных соотношений "число рабочих - число машин".

Нагрузка многоканального устройства как функция различных соотношений "число рабочих - число машин"

Число рабочих

Число арендуемых машин

3

4

5

3

0.983

0.989

0.992

4

0.989

0.993

0.997

5

0.991

0.993

0.997

В табл. 24.З собраны значения расходов для различных соотношений " число рабочих - число арендуемых машин". В табл. 24.3, а показаны фиксированные значения оплаты труда рабочих и арендной платы. за машины; в табл. 24.3, б - стоимость уменьшения выпуска продукции, которая легко рассчитывается по значению нагрузки устройства NOWON и платы за снижение объема производства; в табл. 24.3, в - сумма этих расходов. Сравнение результатов в табл. 24.3, в показывает, что на основании проведенного моделирования можно сделать вывод о том, что наиболее выгодным соотношением числа рабочих и числа арендуемых машин является "четыре - четыре".

Таблица 24.3. Дневные расходы (долларов в день) при
различных соотношениях "число рабочих - число машин".

а) Фиксированная плата

Число рабочих

Число арендуемых машин

3

4

5

3

180

210

240

4

210

240

270

5

240

270

300

б) Потери из-за снижения объема производства

Число рабочих

Число арендуемых машин

3

4

5

3

136

88

64

4

88

56

40

5

72

56

24

в) Общие расходы

Число рабочих

Число арендуемых машин

3

4

5

3

316

298

304

4

298

296

310

5

312

326

324

Следует, однако, помнить, что значения нагрузки в табл. 24.2, являются только оценками правильного решения, которое может быть получено лишь при длительном моделировании всех изучаемых соотношений. Это, в свою очередь, ведет к тому, что расходы в табл. 24.3, в также являются оценками. При более тщательном анализе эти результаты могут оказаться несколько иными. Например, может случиться так, что правильные расходы при соотношении "четверо рабочих - три арендуемые машины" окажутся ниже, чем при соотношении "четверо рабочих - четыре арендуемые машины". Этот вопрос будет рассмотрен в следующем параграфе.

ТЕМА № 25

"Управляющие карты GPSS. Карта RESET (СБРОСИТЬ)"


Начальные условия модели могут заметно отличаться от тех условий, которые имеют место при достижении системой устойчивого состояния. (Некоторые системы могут вовсе не до- стигать устойчивого состояния. Хорошим примером такой системы является работа банка. В период между открытием банка в 9 ч 30 мин утра и закрытием в 15 ч 00 мин дня условие его работы в значительной степени зависит от времени дня. Однако подобные системы не рассмотрены.)

Рассмотрим еще раз пример моделирования 2Е. При типичных условиях функционирования некоторые из находящихся в работе машин должны быть в конце времени наработки до отказа, другие должны только начинать работу и т. д. Следовательно, время, оставшееся до отказа работающих машин, будет распределено равномерно в интервале от нуля до некоторого максимального времени работы.

В начале моделирования состояние системы, приведенной на рис.25.1, таково, что все 50 машин, находящихся в работе, только что вошли в действие. Поскольку время наработки до отказа для каждой швейной машины распределено равномерно и равно 157 ± 25 ч, то ни одна из этих машин не может выйти из строя ранее значения модельного времени 132.

Рис. 25.1

Нагрузка многоканального устройства как функция различных соотношений "число рабочих - число машин"

Число рабочих

Число арендуемых машин

3

4

5

3

0.983

0.989

0.992

4

0.989

0.993

0.997

5

0.991

0.993

0.997

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

Теперь посмотрим, как же можно обеспечить возможность определения типичного значения или значений соответствующих статистических данных. Интересующей нас статистикой в примере моделирования 2Е является нагрузка многоканального устройства NOWON (как показано в предыдущем параграфе, стоимость падения выпуска продукции зависит именно от этой статистики; эта стоимость, в свою очередь, являетсй основой для выбора оптимальных условий функционирования). Для получения достоверной статистики существуют три подхода:
  1. Модель надо разработать так, чтобы условия функционирования были типичными с самого начала. Затем можно начать моделирование и сразу же снимать статистические данные.
  2. Можно моделировать систему так долго, что любые нетипичные статистические данные, собранные в самом начале процесса моделирования, "утонут" среди типичных данных, собранных в последующее время моделирования. Иными словами, надо сделать так, чтобы нетипичные данные составляли малый процент от полного объема данных и тем самым не имели сколько-нибудь заметного влияния.
  3. Можно поступать следующим образом:
    • моделировать до возникновения типичных условий работы системы;
    • отбросить собранную до этого времени статистику без изменения состояния модели;
    • продолжить моделирование, собирая статистику, на которую уже не влияют нетипичные ситуации.

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

В примере 2Е потребовалось больше времени для преодоления искажений статистических данных о нагрузке, возможных в начале моделирования. Конечно, использование карты RESET для устранения этого искажения является более предпочтительным, чем длительное моделирование без сброса. Результаты, получаются более просто, а время моделирования значительно меньше.

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

Более того, вопросы "сколько времени" зависят в общем случае от характера статистических данных, которые интересуют разработчика, и от конфигурации моделируемой системы. Пример моделирования 2Е оказался достаточно простым, поскольку только один параметр статистики представлял для нас интерес, а именно нагрузка многоканального устройства. Кроме того, мы неявно предполагали, что ответы на вопросы "сколько времени" при комбинации "четверо рабочих - четыре арендуемые машины" справедливы и при всех прочих изучаемых комбинациях. Хотя это предположение, по-видимому, вполне справедливо в нашем случае, в общем случае это может быть не так. Следовательно, ответы на вопросы "сколько времени" должны даваться неоднократно при изучении только одной задачи.

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

ТЕМА № 26

"Печать в процессе моделирования"


В качестве вспомогательного средства сбора информации можно использовать возможность распечатывания статистических данных модели в процессе моделирования для получения этих данных в конце прогона. Полный набор промежуточных статистических данных можно получить при использовании операнда С карты START. Выборочный набор статистических данных может быть получен при использовании блока РRINT (НАПЕЧАТАТЬ).

Использование снимков


Кроме счетчика завершений в GPSS существует счетчик снимков. Его исходное значение определяется операндом С карты START. При чтении интерпретатором этой карты заносится исходное значение в счетчик завершений и счетчик снимков в соответствии со значениями операндов А и С соответственно. В процессе моделирования каждый раз при вычитании из счетчика завершений некоторой величины такая же величина вычитается из счетчика снимков.