ТЕМА (1086517), страница 22
Текст из файла (страница 22)
Рассмотрим состояния определенной машины в процессе полного оборота в цикле системы на рис.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 | Интерпретация | ||||||
| Транзакты:
|
| ||||||
| Многоканальные устройства:
|
| ||||||
Рис.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 являются сечениями этой поверхности.
Можно предположить, что эта поверхность имеет одну точку минимума. Поиск оптимального сочетания "число нанятых - число арендуемых" является, следовательно, поиском этой точки. Этот поиск можно осуществить различными методами. Рассмотрим два из них.
-
Можно применить метод наискорейшего спуска. Этот метод заключается в выборе оптимального направления движения в области значений переменных по некоторому контуру до тех пор, пока не будут исчерпаны все возможные направления движения. Особенно удобно использовать этот метод либо при диалоговом режиме доступа к модели на ЭВМ через выносной пульт, либо если этот метод встроен в модель. В данной книге вторым методом мы пользоваться не будем.
-
Модель может выполняться таким образом, что за каждый прогон определяется значение стоимости для одного соотношения значений "число нанятых - число арендуемых", и эти соотношения последовательно перебираются. Сначала можно исследовать довольно редкую решетку, так чтобы соотношения отстояли довольно далеко друг от друга. Рассмотрение результата обычно показывает, в какой области следует продолжать исследование. На следующем этапе моделирования исследуется ограниченная область с более близко расположенными значениями интересующего нас соотношения. Если необходимо, этот процесс можно продолжать, сужая область и делая решетку более частой. Так можно дойти до оптимального решения.
Для начала напомним, что дневная оплата рабочих, аренда машин и убытки из-за нехватки машин составляют 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 соответственно изменяют модель (отражают реконфигурацию) и определяют четыре арендуемые машины, очищают модель от транзактов и сбрасывают статистику после первого прогона модели.















