1.2.2.1.2. Удаление транзактов из модели и завершение моделирования
Транзакты удаляются из модели, попадая в блок TERMINATE (завершить). Блоки TERMINATE всегда позволяют войти всем транзактам, которые пытаются это сделать. В модели может быть любое число блоков TERMINATE. Блок имеет следующий формат записи:
TERMINATE [A]
Значением операнда А является число единиц, на которое блок TERMINATE уменьшает содержимое счетчика завершения, определяющего момент окончания моделирования. Операнд А может быть именем, положительным целым числом, выражением в скобках, СЧА или СЧА*<параметр>. По умолчанию значение операнда А равно нулю. В этом случае транзакт уничтожается, а значение счетчика завершения не меняется.
Счетчик завершения представляет собой ячейку памяти с именем TG1, которая хранит положительное целое число. Это число записывается в ячейку TG1 командой START в начале процесса моделирования.
В процессе моделирования транзакты попадают в блок TERMINATE и в соответствии со значением операнда А вычитают определенное число из счетчика завершения. При достижении содержимым счетчика нуля моделирование завершается. В модели может быть много блоков TERMINATE, но счетчик завершения только один.
Когда пользователь подготавливает модель, он задает время моделирования, указывая в операторе START значение счетчика завершения. Поскольку пути прохождения транзактов в модели имеют различный физический смысл, каждый блок TERMINATE может либо уменьшать, либо не уменьшать содержимое счетчика завершения.
Рассмотрим пример, в котором блок TERMINATE и команда START используются для управления временем моделирования. Предположим, что разработчик выбрал в качестве единицы времени 1 мин. Он хочет промоделировать поведение системы в течение 10 часов, затем моделирование должно быть закончено. За единицу модельного времени возьмем 1 мин, тогда время моделирования равно 10*60=600 единицам.
Любая модель на GPSS состоит из одного или нескольких сегментов. Для управления временем моделирования разработчик (см. блок-диаграмму):
1. включает в модель сегмент из блоков GENERATE и TERMINATE;
2. в блоке TERMINATE в качестве операнда А использует 1;
3. во всех прочих блоках TERMINATE модели использует операнд А по умолчанию (однако возможны и другие варианты, т. е. и в других блоках TERMINATE операнд А может быть 1).
В процессе моделирования транзакты, которые двигаются в других сегментах модели, время от времени выводятся из модели в других блоках TERMINATE, но они не оказывают воздействия на счетчик завершения. В момент модельного времени 600 транзакт в приведенном выше сегменте попадает в блок GENERATE и сразу же переходит в следующий блок TERMINATE.
Поскольку операнд А блока содержит 1, то из счетчика завершения вычитается 1. Предположим, что в команде START было указано число 10, т. е. десять прогонов модели, и в счетчик завершений записано число 10: TG1 = 10. После первого вычитания содержимое ячейки TG1 = 9, т. е. не равно нулю. Поэтому моделирование продолжается. После десяти прогонов, т. е. вычитания десяти единиц, TG1 = 0. Планировщик прекращает моделирование.
Команда START используется для запуска процесса моделирования. Она имеет следующий формат записи:
START A,[B],C,[D]
Операнд А задает значение счетчика завершения, определяющего момент окончания прогона модели. Может быть только целым положительным числом. Операнд B - операнд вывода статистики. Он может быть NP ("нет вывода данных") либо опущен. При задании NP стандартный отчет не выводится. По умолчанию выводится стандартный отчет. Операнд С не используется и сохранен для совместимости с описаниями ранних версий GPSS. Операнд D определяет необходимость вывода содержимого списков событий. Если операнд D указать любым положительным целым числом, например, 1, то списки текущих и будущих событий включаются в стандартный отчет и выводятся. Если операнд D опущен, то по умолчанию списки в стандартном отчете не выводятся.
Команду START можно сразу указывать в конце программы модели при ее подготовке и в таком виде записывать на магнитный носитель. Тогда после трансляции модели, т. е. создания объекта "процесс моделирования", сразу начинается моделирование. Этот же оператор можно вводить в программу модели в интерактивном режиме.
Однако может возникнуть необходимость завершить моделирование не по истечении какого-то времени, а после обработки определенного количества транзактов, имитирующих, например, изготовленные детали, переданные по каналу связи сообщения и т. д. В этом случае сегмент задания времени моделирования не нужен. Для организации такого способа завершения моделирования необходимо сделать следующее. В блоках TERMINATE, которые выводят из модели транзакты, имеющие смысл тех же изготовленных деталей или переданных сообщений, указать число, на которое уменьшается счетчик завершения моделирования. В команде START также указать число, деление которого на указанное в блоке TERMINATE число даст требуемое количество изготовленных деталей или переданных сообщений. Например, требуется завершить моделирование после изготовления 100 деталей. В модели это может быть так:
. . .
TERMINATE 1
. . .
TERMINATE 1
. . .
TERMINATE
START 100
Блоков TERMINATE, которые выводят из модели транзакты, соответствующие изготовленным деталям, может быть несколько. Все эти блоки должны иметь 1 в качестве операнда А. У остальных блоков TERMINATE, если они есть в модели, операнд А должен быть опущен.
ГЛАВА 2
МОДЕЛИРОВАНИЕ СИСТЕМЫ УПРАВЛЕНИЯ ЗАПАСАМИ С НЕУДОВЛЕТВОРИТЕЛЬНЫМ СПРОСОМ
2.1 Постановка задачи
Необходимо промоделировать работу склада материалов на предприятии. Вместимость склада составляет 5000 единиц материала. Возможна поставка на склад с периодичностью 5 дней в размере 1500 единиц материала. Начальный запас материалов на складе составляет 1000 единиц. Ежедневный спрос материала варьирует в пределах от 35 до 55 единиц с равной вероятностью. Если текущий запас равен или больше 1200, то никакой поставки материалов на склад в течение недели не производят. Требуется смоделировать работу склада материалов в течение 100 дней.
... -текущих планов мероприятий – до исполнения. -перспективных планов мероприятий – 5 лет. Выводы по разделу 1. В первом разделе были рассмотрены теоретические основы управления качеством, являющимися базовыми при разработке системы управления качеством. Был затронут международный опыт данной деятельности. При работе над первым разделом была рассмотрена и представлена в разделе, процедура получения ...
... угля на складе на каждый день. Данный алгоритм представлен на рисунке 2.11 Рисунок 2.11 — Блок-схема алгоритма расчета оптимального запаса угля на складе Расчет оптимального запаса угля на складе Змиевской ТЭС начинается с ввода исходных данных о потреблении угля по дням в течение всего года. А также ...
... цикла наибольшую сложность составляет определение t мо. Значение остальных составляюших определяется сравнительно легко. Литература: Козловский В.А. и др. Производственный и операционный менеджмент. Учебник – СПб: «Специальная Литература», 1998. с. 276 6. Управление проектами Планирование, расписание и контроллинг проектов Управление большими проектами включает три фазы: 1) ...
... Сданные в бухгалтерию инвентаризационные описи должны тщательно проверяться и затем после проверки выводится результат инвентаризации. 4. Применение методов управления запасами в целях повышения экономической эффективности системы материально-технического снабжения предприятия 4.1 Регулирование параметров логистической концепции «точно в срок» на основе методов оценки надежности процесса ...
0 комментариев