Системы массового обслуживания

Предисловие

В настоящее время имитационное моделирование стало эффективным средством решения задач автоматизации исследований технологических процессов в машиностроении. Добиться значительного упрощения и ускорения процесса разработки имитационных моделей возможно за счет использования специализированных языков и систем компьютерной имитации и анимации (Arena, Extend, GPSS, SIMAN, SLAM, SIMULA, GASP, Proof Animation и др.), позволяющих отображать динамику работы оборудования на мнемосхеме технологического процесса в ходе имитационного моделирования.

Дисциплина «Компьютерная имитация и анимация» основана на лицензионном программном обеспечении – специализированных языках компьютерной имитации GPSS/H и анимации Proof Animation (ф. Wolverine Software Corp., USA). В настоящее время комплекс этих языков является одним из наиболее эффективных и распространенных программных средства моделирования сложных дискретных систем на ЭВМ. Он успешно используется для моделирования систем, формализуемых в виде схем массового обслуживания, с помощью которых описываются многие объекты, рассматриваемые при подготовке студентов специальности 220301 «Автоматизация технологических процессов (в машиностроении)».

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

По окончании обучения специалисты смогут разрабатывать модели технологических процессов, используя специализированный язык компьютерной имитации GPSS/H, создавать в соответствии с имитационной моделью движущееся отображение технологического процесса на экране компьютера, используя язык Proof Animation, проводить имитационные эксперименты с моделями технологических процессов, оценивать длительность производственного цикла и коэффициенты использования оборудования, принимать решения по сокращению времени простоя оборудования, сравнивать варианты организации технологического процесса и выбирать наиболее оптимальный вариант, прогнозировать поведение системы в ускоренном времени.

Разработанный учебный курс апробирован в течение пяти лет при обучении студентов 3-4 курса специальностей «Автоматизация технологических процессов (в машиностроении)» и «Информационные системы и технологии» механико-машиностроительного факультета Кузбасского государственного технического университета.

Данное учебное пособие предлагается как основное приложение к дисциплине «Компьютерная имитация и анимация» и знакомит студентов с практическими возможностями использования современных методов имитационного моделирования при проектировании и анализе технологических систем, в качестве формальных моделей которых используют системы массового обслуживания.

ВВЕДЕНИЕ

Если технологическая система не поддается физическому эксперименту, прибегают к математическому моделированию, т.е. отражению некоторых свойств системы совокупностью математических объектов (чисел, переменных, матриц, множеств, точек, отрезков прямых и т.д.) и отношений между ними.Математическое моделирование систем делят на аналитическое и имитационное. Аналитическое моделирование представляет собой функциональные соотношения (алгебраические, интегро-дифференциальные, конечно-разностные) или логические усло­вия. Во многих случаях невозможно получить аналитические зависимости, отображающие поведение и взаимосвязь элементов технологической системы. Особенно трудно учесть действие случайных факторов и динамику функционирования объекта. Поэтому используют имитационное моделирование. Имитационное моделирование похоже на физические эксперименты, но эти эксперименты проводятся не на физическом объекте, а на его компьютерной модели. Сущность имитационного моделирования состоит в том, что над моделью проводят эксперименты типа «Что, если…?». Изменяя исходные показатели в модели, анализируют результаты экспериментов. Имитационная модель реализуется на ЭВМ при помощи языков программирования. Очень часто имитационные модели сложных технологических систем разрабатывают с использованием универсальных языков, таких как Паскаль, С++, Delphi. Функционирование системы описывают последовательностью уравнений. Затем кодируют их на языке программирования и вводят программу в компьютер. Потом производят расчеты, изменяя некоторые коэффициенты. Разработка таких программ требует нескольких человеко-месяцев труда специалистов по технологии, математике и программированию. Модель получается достаточно громоздкой, в результате затрудняется ее исправление и дополнение. Зачастую разработка модели отстает от развития производства, и моделирование теряет смысл.

Альтернативой является использование методов, основанных на специализированных языках и системах имитационного моделирования ARENA, GPSS, SIMAN, SLAM, SIMSCRIPT, SIMULA, GASP и др. Специализированные языки содержат, как правило, написанные на универсальном языке блоки – отдельные динамические модели. Поведение системы имитируется как смена ее состояний. Процесс отображается не системой уравнений, а взаимодействием отдельных динамических моделей во времени и пространстве. Поведение системы описывается от события к событию, означающих начало или окончание технологической операции.

Одним из наиболее распространенных специализированных языков имитационного моделирования является GPSS, предложенный фирмой IBM в 1962 г. Он развивался во многих версиях. В настоящем учебном пособии рассмотрена предпоследняя версия языка – GPSS/Н.

Недостатком имитационного моделирования является то, что необходимо интерпретировать результаты моделирования. Сам процесс имитации скрыт от экспериментатора. Поэтому специализированные языки имитационного моделирования соединяются с программами компьютерной анимации (CIMAN – CINEMA, GPSS/H – Proof Animation), позволяющими отображать динамику процесса на экране компьютера в соответствии с работой имитационной модели и выводить результаты на монитор.

Классификация моделей

Модель – описание системы. Во многих изданиях, посвященных моделированию, приводится классификация методов моделирования. Одна из наиболее полных классификаций приведена в учебнике [1]. Мы рассмотрим упрощенную, но позволяющую понять, какой области моделирования посвящена дисциплина «Компьютерная имитация и анимация», классификацию. При этом остановимся на некоторых основных понятиях теории моделирования.

Все моделирование технологических систем можно разделить на три вида: реальное, физическое и математическое (рис. 1).

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

Системы массового обслуживания - student2.ru

       
  Системы массового обслуживания - student2.ru   Системы массового обслуживания - student2.ru

Рис. 1. Классификация видов моделирования

технологических систем

С позиции математического моделирования технологический процесс можно описать либо при помощи системы уравнений, либо с помощью кружочков, точек, стрелок, либо закодировать при помощи команд какого-либо языка программирования, например Паскаль, С, Delphi. Несмотря на это разнообразие способов описания, результатом любого из них будет математическая модель. Следовательно, математическая модель – совокупность математических объектов (чисел, переменных, матриц, множеств, точек, отрезков прямых и т.д.) и отношений между ними, отражающая некоторые свойства моделируемого физического объекта, интересующие инженера-исследователя.Методы математического моделирования делят на аналитические и имитационные. Аналитические методы описывают объект в целом и сводятся к поиску оптимальных характеристик объекта. Аналитическая модель – математическая модель, представляющая собой совокупность аналитических выражений и зависимостей, позволяющих оценить определенные свойства моделируемого объекта.Во многих случаях невозможно получить аналитические зависимости, отображающие поведение и взаимосвязь элементов системы. Особенно трудно учесть действие случайных факторов и динамику функционирования объекта, поэтому используют имитационное моделирование технологических процессов. Имитационная модель – математическая модель, отражающая поведение моделируемого объекта при заданных меняющихся во времени внешних воздействиях. Сущность имитационного моделирования состоит в искусственном воспроизведении в компьютере технологической системы с помощью специально построенной математической модели, хранящейся в памяти ЭВМ (рис. 2).

Системы массового обслуживания - student2.ru

Рис. 2. Принцип имитационного моделирования

Над моделью проводят множество экспериментов типа «Что, если…?». Изменяя исходные показатели в модели, выбирают и реализуют на практике лучший вариант организации технологического процесса.

Имитационное моделирование применяют, если [2]:

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

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

- реальный процесс еще не создан;

- надо проверить варианты разрабатываемого процесса;

- неясно поведение системы за очень короткий или очень длинный период времени.

Имитационное моделирование может быть непрерывным, дискретным и дискретно-непрерывным (смешанным или комбинированным). Дискретное моделирование характеризуется конечным числом значений переменных системы. Функционирование дискретной модели можно представить как последовательную смену ее состояний в дискретные моменты времени, между которыми характеристики модели не изменяются. Например, при моделировании обработки детали в модели возникают события начала обработки и ее окончания. Все, что происходит между этими событиями, не учитывается. Непрерывное моделированиехарактеризуется бесконечным множеством значений переменных. Например, при моделировании движения жидкости по трубопроводу с течением времени через его сечение проходит какое-то количество жидкости, следовательно, в модели за любой самый малый отрезок времени значения переменных изменяются. Чтобы отобразить влияние переменных друг на друга, используют дифференциальные уравнения. Дискретно-непрерывное моделированиехарактеризуется наличием как диск­ретных, так и непрерывных значений переменных системы.Дискретно-непрерывные системы характеризуются тем, что в промежутках между дискретными состояниями система ведет себя как непрерывная. Например, при моделировании работы бензоколонки дискретное моделирование можно применить для отображения прихода бензовозов, которые пополняют емкости с горючим. А для того, чтобы исследовать динамику заполнения емкости с бензином, можно использовать непрерывное моделирование. Большинство технологических процессов сводится к дискретным с конечным числом состояний: начало и окончание обработки, погрузка и разгрузка груза, движение транспорта между пунктами погрузки и разгрузки. Поэтому остановимся на дискретном моделировании.

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

Системы массового обслуживания - student2.ru

Рис. 3. Имитация техпроцессов с помощью универсальных языков программирования

В имитационных экспериментах изменяют исходные данные при случайных коэффициентах в уравнениях и получают технологические показатели производства. Такой подход требует аналитического описания процессов с последующим переводом полученной системы уравнений в программу для ЭВМ. Поэтому разработка таких программ занимает несколько человеко-месяцев труда специалистов по технологии, программированию и математике. Модель содержит сотни блоков, трудно поддается доработке (как правило, исправить или дополнить моделирующую программу может только тот, кто ее разрабатывал). Часто время разработки модели отстает от развития производства и модель становится ненужной. Альтернативой является использование методов, основанных на специализированных языках и системах имитационного моделирования, таких как GPSS, SIMAN, SLAM, SIMSCRIPT, SIMULA, GASP и др. (рис. 4).

Системы массового обслуживания - student2.ru

Рис. 4. Имитация техпроцессов

с помощью специализированных языков

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

Выделим основные преимущества использования специализированных языков компьютерной имитации:

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

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

- возможность конструирования сложных имитационных моделей пользователями, не являющимися профессиональными программистами. Программы имитационных моделей на специализированных языках моделирования близки к описаниям моделируемых систем на естественном языке. Например, последовательность технологических операций включить станок – обработать заготовку – выключить станок на специализированном языке будет выглядеть примерно так: занять прибор (команда SEIZE), задержать на время обслуживания (команда ADVANCE), освободить прибор (команда RELEASE);

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

Как альтернатива специализированным языкам развиваются проблемно-ориентированные имитаторы (сети Петри, МАР/1, SIMDIS, MAST). В проблемно-ориентированных имитаторах предусмотрены стандартные формы для ввода структуры и параметров объекта моделирования. После заполнения форм имитатор отображает процесс по шагам модельного времени. После этого анализируют поведение объекта во времени.

Недостатком имитационного моделирования является сложность технологической интерпретации результатов имитационных экспериментов. Например, в языке GPSS/H формируется стандартный файл отчета моделирования, информация в котором представлена в специфическом формате, и для оценки результатов ее необходимо интерпретировать. В имитаторе сетей Петри выводится матрица текущей разметки, которую необходимо расшифровывать. Так же если модель достаточно сложна, то разработчику трудно выявлять в ней ошибки. Поэтому к языкам имитации добавляют анимацию, которая позволяет отображать динамику техпроцесса на мониторе. Соединяя языки компьютерной имитации с анимационными программами, создают программные комплексы – системы имитационного моделирования. Например, к GPSS и SLAM добавляют Proof Animation; CIMAN, соединенный с CINEMA, образует комплекс, называемый ARENA. При помощи анимации технолог, не владеющий программированием, может вводить характеристики оборудования, менять масштаб участков изображения, выводить на экран статистические показатели, быстро перемещаться во времени с целью анализа и прогноза ситуаций.

Техническое

И программное обеспечение

В качестве программного обеспечения используется лицензионный комплекс языков компьютерной имитации GPSS/H и анимации Proof Animation, созданный фирмой Wolverine Software Corporation (США) в 1996 г. Комплекс имеет студенческую (Student GPSS/H – Student Proof Animation) и профессиональную (GPSS/H Professional – Proof Professional) версии.

Студенческая версия GPSS/H имеет некоторые ограничения:

- GPSS/H-модель не может содержать более 125 блоков;

- общее количество строк в программе не может превышать 250;

- объем динамической области памяти (COMMON) не может превышать 32 720 байта.

Если GPSS/H-программа написана так, что превышает любое из этих ограничений, то на экране после запуска программы появится сообщение об ошибках, указывающее, какие из трех ограничений были превышены. Например, если программа содержит более чем 125 блоков, на экране появится следующее сообщение:

ERROR: STUDENT-VERSION IS LIMITED TO 125 BLOCKS

LIMITS OF STUDENT-VERSION EXCEEDED - RUN TERMINATED

(ОШИБКА: СТУДЕНЧЕСКАЯ-ВЕРСИЯ ОГРАНИЧЕНА 125 БЛОКАМИ)

(ОГРАНИЧЕНИЕ СТУДЕНЧЕСКОЙ-ВЕРСИИ ПРЕВЫШАЕТ - ЗАВЕРШЕНИЕ)

Если вся область памяти (COMMON) будет занята, то на экране появится сообщение об ошибке 411:

ERROR NUMBER 411 - Out of COMMON: Add/change REALLOCATE Stmt? See release notes

(ОШИБКА 411 - «Превышение COMMON» - Добавить/изменить REALLOCATЕ?)

Студенческая версия Proof Animation также имеет некоторые ограничения:

· обработка специального файла, предназначенного для управления анимацией (.atf-файл), заканчивается после прочтения 1250 строк;

· файл, содержащий все нарисованные объекты, не может превышать 1250 байт;

· выполнение анимации прекращается через 120 секунд.

Для моделирования с использованием комплекса языков GPSS/H и Proof Animation требуется IBM – совместимый персональный компьютер класса 486 и выше, имеющий не менее 2 МБ свободной памяти на жестком диске и 4 МБ оперативной памяти, видеопамяти не менее 512 кБ. Может использоваться компьютер класса 386, снабженный математическим сопроцессором. Для работы с Proof Animation требуется Microsoft совместимая мышь. Комплекс может работать в операционной среде DOS, Windows 3.1 и выше, Windows NT, Windows 95 и выше.

Моделирование

Общие сведения

Специализированный язык имитационного моделирования GPSS/Н (General Purpose Simulation System) предназначен для отображения дискретных сложных систем различной физической природы. Язык основан на теории массового обслуживания – концепции движения объектов через приборы с некоторым временем обслуживания. Закон движения объектов и время обслуживания могут изменяться по различным законам распределения случайных величин.

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

Системы массового обслуживания - student2.ru

Рис. 9. Блок-схема GPSS/H-модели

Информация, представленная в блок-схеме, может относиться к трем различным категориям:

1. Местоположение. Каждый блок занимает определенное место в блок-схеме. Это место может быть определено нумерацией, которую интерпретатор осуществляет автоматически. Часто нужно знать, какое место занимает тот или иной блок в модели. Это может оказаться необходимым для реализации ссылки из одного или более блоков на указанный блок. Для этих целей в GPSS/H используются символические имена, которые должны состоять не более чем из семи алфавитно-цифровых символов, причем первый символ должен быть алфавитным (русские буквы не допускаются).

2. Операции (ADVANCE, RELEASE и т.д.) – команды, описывающие основное функциональное назначение блоков.

3. Операнды (A,B,C,D,E...) – информация, специфичная для действия блока.

Исходная программа на языке GPSS/Н, как и программа на любом языке программирования, представляет собой последовательность командных строк, которые вводятся в ЭВМ в следующем формате (рис. 10):

Системы массового обслуживания - student2.ru

Рис. 10. Формат GPSS/H-программы

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

Командные строки записываются, начиная с первой позиции, в свободном формате, т.е. отдельные поля разделяются произвольным количеством пробелов. Программу пишут в любом текстовом редакторе, создающем неформатируемый текст в формате ASCII (NC, VC, Far, Блокнот, WordPad и т.п.). Она должна иметь имя из латинских букв и расширение .gps (например, primer1.gps). Все буквы, кроме комментариев, должны быть заглавными.

GPSS/H-модель состоит из различных объектов. Для упрощения разделим эти объекты на три типа: транзакты, блоки и операторы.

Транзакты – динамические элементы GPSS/H-модели, представляют собой аналоги заявок в СМО. Они могут описывать, например, заготовки, транспортные средства, рабочих, требования на выполнение какой-либо операции и т.п. Блоки задают логику функционирования модели системы и определяют пути движения транзактов по модели. Блоки – аналоги приборов в СМО, которые отображают, например, участки цеха, станки, транспортные средства. Перемещаясь от блока к блоку, транзакты имитируют процессы, происходящие в системе: обработка заготовки, перемещение транспортного средства, восстановление вышедшего из строя станка и т.д. Блоки функционируют только тогда, когда в них находятся транзакты.

Операторы предназначены для управления процессом моделирования (прогоном модели), задания функций и последовательностей псевдослучайных чисел генераторов GPSS/H. Операторы напрямую не взаимодействуют с транзактами.

В процессе моделирования интерпретатор GPSS/H автоматически регистрирует и корректирует некоторую информацию, касающуюся различных элементов, используемых в моделях. Кроме информации, которая выдается по окончании моделирования, существует и такая информация, которая доступна в процессе моделирования. Эту информацию можно использовать с помощью атрибутов модели. Атрибутами являются: состояние прибора (занят, не занят), счетчик циклов занятий прибора, коэффициент использования прибора, среднее время задержки на одно занятие, величина параметра транзакта, время пребывания транзакта в модели, генераторы случайных чисел. В процессе моделирования системы транзакты взаимодействуют с блоками, в результате чего происходят изменения их атрибутов, а также преобразования арифметических или логических значений. Такие преобразования называются событиями.

Закону распределения

Если закон распределения случайной переменной заранее известен, нет необходимости задавать функцию вручную, определяя значения случайной переменной и соответствующие значения суммарной частоты. Для моделирования случайных событий с известным законом распределения GPSS/H имеет встроенные функции, которые генерируют произвольные случайные переменные из 26 популярных распределений. В табл. 5 приведены определения двух наиболее применяемых законов распределения, поддерживаемых студенческой версией GPSS/H.

Таблица 5

Встроенные функции

Распределение Формат функции
Нормальное Экспоненциальное RVNORM(RN1, мат. ожидание, дисперсия) RVEXPO(RN1, параметр l)

Например, необходимо смоделировать поступление заготовок в робототехнический комплекс. Интервалы между поступлением заготовок распределены согласно экспоненциальному закону с параметром l = 7. Для имитации поступления заготовок используем блок GENERATE. Тогда в соответствии с этим условием и табл. 5, запишем:

GENERATE RVEXPO(1,7)

Пример имитационного моделирования

Процедуру имитационного моделирования покажем на примере изготовления деталей разными типами станков.

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

Интервалы поступления заготовок на группу станков типа А распределены согласно экспоненциальному закону с параметром l = 28 минут. Продолжительность обработки заготовки станком типа А составляет 63±9 минут (распределение равномерное), а станком типа В – 55±5 минут (распределение равномерное). Время транспортировки заготовки до группы станков типа А составляет 32±10 минут, а полуфабрикатов до станка типа В – 12±5 минут (распределение нормальное). Предполагается, что между двумя станциями существует неограниченная очередь.

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

Метод построения модели

Построим блок-схему модели технологического процесса (рис.123).

Системы массового обслуживания - student2.ru

Рис. 23. Блок-схема имитационной модели

технологического процесса изготовления деталей

Пусть транзакт представляет собой заготовку, которая по мере продвижения по модели преобразуется в готовую деталь. Поступление заготовок в соответствии с заданным распределением имитируем блоком GENERATE. Группу станков типа А моделируем многоканальным устройством STA1, т.е. двумя блоками ENTER и LEAVE, между которыми ставим блок ADVANCE для имитации обработки заготовки. Так как станок второй группы всего один, имитируем его прибором обслуживания STA2, т.е. двумя блоками SEIZE и RELEASE. Для сбора статистики об очередях перед станками типов А и В вводим два регистратора очереди посредством блоков QUEUE и DEPART. Транспортировку заготовки до станков типа А и станка типа В моделируем блоками ADVANCE. Блок TERMINATE вводим для имитации поступления готовой детали в накопитель.

Подготовка модели к запуску

Для ввода в ЭВМ в соответствии с блок-схемой пишем GPSS/H-программу, используя любой текстовый редактор, создающий неформатируемый текст (формат ASCII). Прежде чем запускать модель (осуществлять прогон), к GPSS/H-программе необходимо добавить два оператора SIMULATE и END.

Оператор SIMULATE – указывает интерпретатору, что должен быть осуществлен прогон модели (начальная команда в GPSS/H-программе). Если этот оператор отсутствует, то интерпретатор проверяет правильность записи модели на языке GPSS/Н, но прогона модели не выполняет.

Оператор END– завершает работу интерпретатора.

Следовательно, для начала моделирования используем оператор SIMULATE. Для задания емкости многоканального устройства, имитирующего станки группы А, вводим оператор STORAGE. Оператор START вписываем для задания значения счетчика завершения, которое соответствует количеству требуемых деталей. Оператор END вводим для окончания моделирования. После перевода блок-схемы модели и добавления необходимых операторов GPSS/H-программа, подготовленная к запуску, будет выглядеть следующим образом:

SIMULATE Начало моделирования

STORAGE S(STA1),2 Задание станков в группе А

GENERATE RVEXPO(1,28) Поступление заготовок

ADVANCE RVNORM(3,32,10) Транспортировка заготовки

QUEUE LINE1 Занятие очереди перед станками

группы А

ENTER STA1 Занятие станка из группы А

DEPART LINE1 Освобождение очереди перед

станками группы А

ADVANCE 63,9 Обработка на станке группы А

LEAVE STA1 Освобождение станка группы А

ADVANCE RVNORM(5,12,5) Транспортировка детали

QUEUE LINE2 Занятие очереди перед станком

типа В

SEIZE STA2 Занятие станка типа В

DEPART LINE2 Освобождение очереди перед

станком типа В

ADVANCE 55,5 Обработка на станке типа В

RELEASE STA2 Освобождение станка типа В

TERMINATE 1 Поступление деталей в накопи-

тель

START 50 Программа выпуска

END Окончание моделирования

После написания программы сохраним файл с расширением .gps (например, primer1.gps).

LINE1 7 2.454 90 11 12.2 78.192

LINE2 36 16.693 86 1 1.2 556.591

Раздел времени содержит информацию:

RELATIVE CLOCK – относительное время моделирования;

ABSOLUTE CLOCK – абсолютное время моделирования.

Раздел блоков содержит информацию:

BLOCK – имя и номер блока;

CURRENT – число транзактов, находящихся в блоке в момент окончания моделирования;

TOTAL – общее число транзактов, вошедших в блок за период моделирования.

Для прибора обслуживания (Facility) выводится информация:

Facility – имя или номер прибора;

TOTAL TIME – доля времени, в течение которого был занят прибор;

ENTRIES – общее количество транзактов, которые занимали прибор;

AVERAGE TIME/XACT – среднее время обслуживания транзакта прибором;

SEIZING XACT – номер транзакта, который в настоящее время обслуживается прибором;

PREEMPTING XACT – номер транзакта с приоритетным прерыванием.

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

Storage – имя или номер многоканального устройства;

TOTAL TIME – коэффициент использования многоканального устройства;

ENTRIES – общее количество транзактов, которые занимали многоканальное устройство;

AVERAGE TIME/XACT – среднее время обслуживания транзакта каналами многоканального устройства;

SEIZING XACT – номер транзакта, который в настоящее время обслуживается многоканальным устройством;

PREEMPTING XACT – номер транзакта с приоритетным прерыванием.

Столбцы отчета об очереди (QUEUE) в СФО включают:

QUEUE – имя или номер очереди;

MAXIMUM CONTENTS – самый большой размер очереди, которая была в ходе моделирования;

AVERAGE CONTENTS – средний размер очереди;

TOTAL ENTRIES – общее число модулей, которые занимали очередь;

ZERO ENTRIES – число модулей, которые сразу попали на обслуживание;

PERCENT ZEROS – процент модулей, сразу попавших на обслуживание;

AVERAGE TIME/UNIT – среднее время нахождения модуля в очереди, включая модули, которые сразу попали на обслуживание;

$AVERAGE TIME/UNIT – среднее время нахождения модуля в очереди, исключая модули, которые сразу попали на обслуживание;

CURRENT CONTENTS – число модулей, находящихся в очереди в момент окончания моделирования.

На основе информации, приведенной в СФО, можно анализировать результаты моделирования системы.

В соответствии с нашим заданием находим нужные нам результаты:

- продолжительность изготовления 50 деталей (RELATIVE CLOCK = ABSOLUTE CLOCK);

- степень использования группы станков типа А (для STORAGЕ столбец TOTAL TIME) и типа В (для FACILITY STA2 столбец TOTAL TIME);

- средние значения длин очередей перед станками типа А (QUEUE LINE1) и станком типа В (QUEUE LINE2).

Таким образом, продолжительность изготовления 50 деталей – 2868 мин; степень использования группы станков типа А – 95,1 % , а типа В – 96,1 %; средние значения длин очередей перед станками типа А – 2,5 и станком типа В – 16,7.

STORAGE S(STA1),2 Задание станков в группе А

GENERATE RVEXPO(1,28) Поступление заготовок

ADVANCE RVNORM(3,32,10) Транспортировка заготовки

QUEUE LINE1 Занятие очереди перед станками

группы А

ENTER STA1 Занятие станка из группы А

DEPART LINE1 Освобождение очереди перед станками

группы А

ADVANCE 63,9 Обработка на станке группы А

LEAVE STA1 Освобождение станка группы А

ADVANCE RVNORM(5,12,5) Транспортировка детали

QUEUE LINE2 Занятие очереди перед станком типа Б

SEIZE STA2 Занятие станка типа Б

DEPART LINE2 Освобождение очереди перед станком

типа Б

ADVANCE 55,5 Обработка на станке типа Б

RELEASE STA2 Освобождение станка типа Б

TERMINATE 1 Поступление деталей в накопитель

START 100 Прогон модели

RESET Сброс статистики

START 50 Повторный прогон

END Окончание моделирования

В модели длина начальной реализации задается первым оператором START, после обслуживания 50 транзактов произойдет сброс накопленных статистик. В СФО нас будут интересовать результаты обработки измерений коэффициента загрузки приборов многоканального устройства с именем STA1 и прибора STA2 и времени занятия этого прибора транзактами, полученными при пропуске 100 транзактов через модель, что задает второй оператор START, входящий в состав модели. СФО может быть получен после прогона модели способом, описанным выше.

Вопросы выбора длины реализации статистической модели в настоящем учебном пособии не рассматриваются, они достаточно полно отражены в изданиях [1, 2].

При запуске приведенной выше GPSS/H-программы на экране появится сообщение об ошибке:

ERROR NUMBER 411 – Out of COMMON: Add/change REALLOCATE Stmt? See release notes

(ОШИБКА 411 – «Превышение COMMON» – Добавить/изменить REALLOCATЕ?).

Эта ошибка возникает потому, что при прогоне модели используется так называемая динамическая область памяти – COMMON. По умолчанию студенческая версия GPSS/H обращается к 10 000 байтам памяти COMMON. Некоторым программам для успешного прогона необходимо больше чем 10 000 байт области памяти COMMON. Если такая необходимость существует, вы можете использовать специальную опцию MAXCOM (максимизировать COMMON) или команду REALLOCATE (перераспределить). Использование MAXCOM или REALLOCATЕ зависит только от вас. Если совместно используются MAXCOM и REALLOCATE, то MAXCOM отменяет REALLOCATE.

Опция MAXCOM используется в командной строке, при запуске GPSS/H-программы. Например,

GPSSH PRIMER МАХСОМ

MAXCOM заставит GPSS/H максимально зарезервировать область памяти COMMON, до 32 720 байтов для студенческой версии. Фактическое значение области памяти COMMON, которое MAXCOM будет способен зарезервировать, зависит только от сложности вашей программы. Это не зависит от конфигурации ЭВМ или программного обеспечения.

Команда REALLOCATЕ используется непосредственно в программе, чтобы увеличить область памяти COMMON. REALLOCATЕ требует определения точного объема памяти. Синтаксис REALLOCATE :

REALLOCATE COM, bytes

«СОМ» – это A-операнд, который является для GPSS/H кодом области памяти COMMON. B-операнд определяет число байтов памяти, которые необходимо добавить в область памяти COMMON.

REALLOСАТE удобнее размещать в начале GPSS/H-программы. Если при помощи REALLOСATE задано меньшее значение области памяти COMMON, которое необходимо для прогона программы, то появится сообщение с информацией о том, какого размера должна быть область памяти COMMON. Это позволяет быстро исправить ошибку.

Например,

REALLOСATE COM,20000

Значение области памяти COMMON удвоится по сравнению со значением, установленным по умолчанию. Вообще, если GPSS/H-программа не выполняется при 10 000 байтов области памяти COMMON, то она должна заработать при значении в два раза большем. Следовательно, чтобы осуществить успешный прогон рассмотренного в этом параграфе примера моделирования, к модели необходимо добавить команду REALLOCATE:

STORAGE S(STA1),2 Задание станков в группе А

REALLOCATE COM,20000 Увеличение размера динамиче

ско

Наши рекомендации