ТЕМА (1086517), страница 24
Текст из файла (страница 24)
В начале моделирования состояние системы, приведенной на рис.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 (как показано в предыдущем параграфе, стоимость падения выпуска продукции зависит именно от этой статистики; эта стоимость, в свою очередь, являетсй основой для выбора оптимальных условий функционирования). Для получения достоверной статистики существуют три подхода:
-
Модель надо разработать так, чтобы условия функционирования были типичными с самого начала. Затем можно начать моделирование и сразу же снимать статистические данные.
-
Можно моделировать систему так долго, что любые нетипичные статистические данные, собранные в самом начале процесса моделирования, "утонут" среди типичных данных, собранных в последующее время моделирования. Иными словами, надо сделать так, чтобы нетипичные данные составляли малый процент от полного объема данных и тем самым не имели сколько-нибудь заметного влияния.
-
Можно поступать следующим образом:
-
моделировать до возникновения типичных условий работы системы;
-
отбросить собранную до этого времени статистику без изменения состояния модели;
-
продолжить моделирование, собирая статистику, на которую уже не влияют нетипичные ситуации.
-
Первый подход требует от разработчика знания типичных условий работы и умения внести в модель эти условия. В моделях сложных систем первое требование вряд ли выполнимо. Даже если бы он мог это сделать, то удовлетворить второе требование весьма затруднительно.
В примере 2Е потребовалось больше времени для преодоления искажений статистических данных о нагрузке, возможных в начале моделирования. Конечно, использование карты RESET для устранения этого искажения является более предпочтительным, чем длительное моделирование без сброса. Результаты, получаются более просто, а время моделирования значительно меньше.
Дополнительно следует указать, что после того, как модель создана, работа исследователя только начинается. Его следующей задачей обычно является экспериментирование с моделью, для того чтобы выяснить:
-
сколько времени необходимо для выхода в стационарный режим и
-
сколько времени необходимо вести моделирование, полагая, что стационарный режим уже достигнут.
Более того, вопросы "сколько времени" зависят в общем случае от характера статистических данных, которые интересуют разработчика, и от конфигурации моделируемой системы. Пример моделирования 2Е оказался достаточно простым, поскольку только один параметр статистики представлял для нас интерес, а именно нагрузка многоканального устройства. Кроме того, мы неявно предполагали, что ответы на вопросы "сколько времени" при комбинации "четверо рабочих - четыре арендуемые машины" справедливы и при всех прочих изучаемых комбинациях. Хотя это предположение, по-видимому, вполне справедливо в нашем случае, в общем случае это может быть не так. Следовательно, ответы на вопросы "сколько времени" должны даваться неоднократно при изучении только одной задачи.
В задачу данного руководства не входит рассмотрение дальнейших деталей вопроса сбора статистики при моделировании. Мы не станем больше задерживаться и на разработке стратегий, которых следует придерживаться при исследовании моделей так же подробно, как и в последнем примере. Однако при тщательном моделировании эти два аспекта являются обязательными.
УПРАЖНЕНИЯ §25
"Управляющие карты GPSS. Карта RESET (СБРОСИТЬ) "
-
Сопоставьте возможности использования карт RESET (СБРОСИТЬ) и CLEAR (ОЧИ- СТИТЬ) при моделировании на GPSS.
При обсуждении этого вопроса по мере возможности используйте такие понятия, как:-
а) счетчики блоков;
-
б) значения таймеров абсолютного и относительного времени и в) "последователь- ность случайных чисел".
-
-
Как указано в параграфе 25, условия в начале моделирования примера 2Е заметно отличаются от условий, когда достигнут ста- ционарный режим функционирования.
Пока- жите, как можно модифицировать модель при- мера моделирования таким образом, чтобы эти условия в самом начале оказались типичными.
В частности, в начале моделирования время оставшейся работы 50 находящихся в произ- водстве машин должно быть распределено рав- номерно в интервале 0 - 182 ч.
Каждая из ма- шин, входящая в производство, должна иметь время наработки, распределенное равномерно с видом 157 25.
Рис.2.40. Блоки ENTER и LEAVE с операндами А и В:
| Блоки ENTER и LEAVE с операндами А и В: | ||
| Операнд | Значение | Значение или результат по умолчанию |
| А | Имя (символическое или числовое) многоканального устройства | Ошибка |
| В | Число занимаемых приборов | 1 |
-
В некоторой модели единицей времени является 1 мин. Через каждые 480 единиц времени счетчик завершений уменьшается на единицу.
Сопоставьте характер распечатывае- мых статистических данных для различных последовательностей управляющих карт: -
а) START 1 б) START 1 в) START 1
-
RESET СLЕАR START 1
-
START 1 START 1
§26 "Печать в процессе моделирования"
В качестве вспомогательного средства сбора информации можно использовать возможность распечатывания статистических данных модели в процессе моделирования для получения этих данных в конце прогона. Полный набор промежуточных статистических данных можно получить при использовании операнда С карты START. Выборочный набор статистических данных может быть получен при использовании блока РRINT (НАПЕЧАТАТЬ).
Использование снимков
Кроме счетчика завершений в GPSS существует счетчик снимков. Его исходное значение определяется операндом С карты START. При чтении интерпретатором этой карты заносится исходное значение в счетчик завершений и счетчик снимков в соответствии со значениями операндов А и С соответственно. В процессе моделирования каждый раз при вычитании из счетчика завершений некоторой величины такая же величина вычитается из счетчика снимков.
ПРИЛОЖЕНИЕ 1
"СПИСОК ОПЕРАТОРОВ GPSS, НЕ ЯВЛЯЮЩИХСЯ БЛОКАМИ"
Некоторые из рассмотренных в руководстве операторов не соответствуют непосредственно блокам в языке. Попадают в эту категорию неблочных операторов такие операторы , как BVARIABLE, CLEAR, RMULT и STORAGE. В руководстве было введено 19 таких операторов; 15 операторов из 19 включены в данное приложение.
Четыре оператора END (ЗАКОНЧИТЬ), JOB (ПРОДОЛЖИТЬ), RESET (СБРОСИТЬ) и SIMULATE (МОДЕЛИРОВАТЬ) не вошли в это приложение, потому что каждый из них состоит только из одного слова: или END, или JOB и т.д., помещаемого в поле операции в строке.В этих операторах не используется ни поле имени, ни поле операндов. (Как отмечалось ранее, существует еще избирательная карта RESET. В этой карте требуется использование поля операндов. Но, поскольку избирательная карта RESET не была рассмотрена в руководстве подробно, она не включена в данное приложение.)
Все 15 неблочных операторов приведены в алфавитном порядке в соответствии с их операцией. В столбцах приложения, соответствующих полям имени и операндов, содержится следующая информация:
-
Вкратце описывается роль поля.
-
Затем дается сводка возможностей, представляемых
программисту для ввода требуемой информации. Диапазоны доступных возможностей для ввода имен объектов и числовых данных обозначены в данном приложении следующими записями: k, имя, СЧАj и СЧА * j. Соответствующие определения смотрите в табл.P2.1 приложения 2.
Если информация обязана быть в данном месте, а программист имеет несколько возможностей для ее ввода, эти возможности перечислены в фигурных скобках.
Если какая-либо информация может быть введена по желанию программиста, то такая доступная программисту возможность (или возможности) указывается в квадратных скобках. Наконец, если информация должна присутствовать, и не имеется никаких иных форм ее записи, то ни фигурные, ни квадратные скобки не используют.
Примеры записей фигурных и квадратных скобок см. в приложении 2 на рис. P2.1 и P2.2. Однако в приложении 1 возникает необходимость в трех дополнительных типах записи. Эти случаи используют специфические формы общего обозначения СЧАj и СЧА $ имя. В частности, вместо любого применимого СЧА можно использовать только какой-либо один или несколько.
Ниже указаны эти возможности.
-
1. По отношению к карте CLEAR специфическими формами являются Xj, Х $ имя, XHj и ХН $ имя.
-
2. По отношению к карте INITAL специфическими формами являются LSj, LS$ имя, MXj, МХ $ имя, MXj, MH$ имя, Xj, X$ имя, XHj и XH$ имя.
-
3. Наконец в карте STORAGE, используемой для определения емкости нескольких многоканальных устройств, специфическими формами являются Sj и S$ имя.
Таким образом, для карт CLEAR, INITIAL и STORAGE в данном приложении использованы перечисленные специфические формы, а не обычные общие формы СЧАj и СЧА $ имя. В противоположность ситуации с операторами для GPSS-блоков, неблочные операторы не укладываются в единообразную схему общих свойств. За исключением общей идеи полей имени, операции и операндов, внутри категории неблочных операторов существуют значительные различия в их спецификации.
Таким образом, это приложение предназначено для того, чтобы собрать все эти операторы вместе в качестве справочной таблицы для пользователя, которому может потребоваться срочная консультация по поводу правила составления некоторого неблочного оператора.
| Поле имени | Поле операции | A | B | C | D | E | ||
| Имя булевской переменной { k, имя} | BVARIABLE (булевская переменная) | Комбинация определений числовых данных, операций отношения, логических атрибутов и булевских операторов. | ||||||
| Определения числовых данных {k,СЧА j, СЧА $имя, СЧА *j} | Операции отношения 'G' 'L' 'E' 'GE' 'LE' 'NE' | Логические атрибуты1 FU или F FNU FI FNI LS LR SE SNE SF SNF | Булевские операторы +(или), *(и) |
| ||||
|
| CLEAR (очистить) | Сохраяемая величина (сохраняемые величины) , не подлежащая обнулению [Xj, X$имя, XHj, XH$имя] |
|
|
|
| ||
| Символи ческое имя элемента | EQU (эквива лентность) | Числовой эквивалент символического имени k | Мнемони- ческое обозначение для типов элемента |
|
|
| ||
| Имя функции {k, имя } | FUNCTION (функция) | Аргумент функции {СЧАj, СЧА$имя, СЧА*j за исключением MX, MH} | Тип функции и число точек { C D E L M} k |
|
|
| ||
| Карта (карты), следующая за функцией X1, Y1/X2, Y2/X3, Y3/и т.д. (X1 должна начинаться в первом столбце; MX и MH не разрешены в качестве величин Y в функция E- или M- типа) | ||||||||
|
| INITIAL (инициа- лизировать) | Устанав ливаемые логические переключатели {LSj , LS$имя} | Разделитель в случае нескольких входов [/] |
|
|
| ||
| Матричные сохраняемые величины {MXj, MX$имя, MHj, MH$имя} | Начальное значение [-] k | Разделитель на случай нескольких входов [/] |
|
| ||||
| Сохраняемые величины {Xj, X$имя, XHj, XH$имя} | Начальное значение [-] k | Разделитель на случай нескольких входов [/] |
|
| ||||
| Имя матрицы {k, имя} | MATRIX (задать матрицу) | Тип матрицы {X, H} | Число строк, k | Число столбцов, k |
|
| ||
| 1 Формируются посредством добавления j, $имя, *j к перечисленным логическим операторам | ||||||||
| Имя таблицы {k, имя} | QTABLE (Q-таблица) | Имя очереди { имя, k} | Верхний предел левого частотного класса, k | Ширина промежутков между частотными классами, k | Число частотных классов, k |
| ||
|
| REALLOCATE (перераспре делитель) | Мнемоническое обозначение предопре- деляемого элемента | Общее число единиц этого элемента после предопре- деления, k | Разделитель в случае нескольких входов [,] |
|
| ||
|
| RMULT (установить значение генератора) | Положительная нечетная целая константа, которая может вводиться в один или несколько операндов от A до H для определения нестандартного начального множителя для датчиков случайных чисел соответственно с 1-го по 8-й. По умолчанию текущее значение множителя не изменяется. В случае нескольких входов разделителем является запятая. | ||||||
|
| START (начать) | Начальное значение счетчика числа завершений, k | Подавление печати, [NP] | Начальное значение счетчика промежу точной выдачи, [k] | Признак распечатка цепей, [l] |
| ||
| Имя многока нального устройства {k, имя} | STORAGE (многока нальное устройство) | Емкость многока нального устройства, k |
|
|
|
| ||
|
| STORAGE (многока нальное устройство) | Ссылка на многока нальное устройство, {Sj, S$имя} | Емкость многока нального устройства, k | Разделитель в случае нескольких входов, [/] |
|
| ||
| Имя таблицы, {k, имя} | TABLE (таблица) | Аргументы таблицы {k, СЧАj, СЧА $имя, СЧА*j} | Верхний предел левого частотного класса, k | Ширина промежутка между частотными классами, k | Кол-во частотных классов, [W] k | Времен ной интервал для RT-таблиц, k | ||
| Имя переменной, {k, имя} | VARIABLE; FVARIABLE (переменная; переменная с плавающей запятой) | Комбинации числовых данных и арифметических операндов |
| |||||
ПРИЛОЖЕНИЕ 2















