Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ю.М. Елизарова, Н.А. Тихонова. Создание имитаци...doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
3 Мб
Скачать
☆

Введение

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

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

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

Целью настоящего учебного пособия является изложение в доступной для студентов форме технологии дискретного моделирования на примере пакета имитационного моделирования GPSS World Student.

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

В результате выполнения заданий студенты должны изучить систему GPSS World, научиться самостоятельно решать отдельные прикладные задачи исследования систем на базе машинной имитации, проводить анализ таких систем, оформлять результаты в соответствии с требованиями.

Глава 1. Основы моделирования в gpss World

GPSS (General Purpose Simulation System) – это общецелевая система моделирования, значительно облегчающая процесс создания и исследования имитационных моделей. GPSS представляет собой совокупность языка и интерпретатора. Как любой язык, GPSS содержит словарь и грамматику, с помощью которых легко могут быть разработаны модели систем определенного типа. Компьютерная программа (интерпретатор GPSS) интерпретирует модель, написанную на языке GPSS, предоставляя тем самым пользователю возмож­ность проведения экспериментов с этой моделью на ЭВМ [5].

Язык GPSS разработан в начале 60-х годов ХХ века сотрудником фирмы IBM Джеффри Гордоном. Следствием исторического развития моделирующих систем является существование ряда версий GPSS. GPSS World – это прямое развитие языка моделирования GPSS/PC, одной из первых реализаций GPSS для персональных компьютеров. В настоящее время версия GPSS World для ОС Windows имеет расширенные воз­можности. В пособии рассматривается студенческая версия системы GPSS World, которую можно бесплатно скачать с сайта фирмы Minuteman Software по адресу: www.minutemansoftware/download.

1.1. Объекты gpss, ввод транзактов в модель и вывод их из модели Объекты gpss

GPSS основан на допущении, что любую сложную систему можно представить как совокупность элементарных абстрактных понятий, называемых объектами. Объекты GPSS – это абстрактные объекты, функциони­рующие в процессе моделирования. Совокупность всех объектов GPSS называется имитационной моделью.

Объекты системы имеют различное назначение. Модель может содержать множество различных объектов любого типа. В зависимости от характеристик моделируемой системы осуществляется выбор объектов для реализации конкретной модели. Каждый объект характеризуется некоторым числом свойств, называемых в GPSS стандартными числовыми атрибутами (CЧA). Часть СЧА доступна пользователю только для чтения, а на значение других он может влиять. Для эффективного моделиро­вания необходимо понимать свойства каждого из объектов GPSS и способы применения бло­ков GPSS, это позволит обеспечить требуемое взаимодействие между объектами.

Блоки и транзакты. Основные типы объектов – это транзакты и блоки, которые отображают соответственно динамические и статические элементы моделируемой системы, а моделирование заключается в продвижении множества транзактов от одного блока модели к другому. Последовательность блоков GPSS-модели показывает направления, в которых перемещаются транзакты.

Транзакт имитирует некоторое сообщение (заявку, требование на обслуживание и т. п.), которое поступает извне на вход системы и подлежит обработке [3, 5]. Транзакт – обязательный элемент каждой модели на GPSS. Транзакты генерируются и уничтожаются, воздействуя при этом на объекты модели.

C точки зрения программы транзакт – это структура данных, которая содержит следующие поля: имя или номер транзакта; время появления транзакта; текущее модельное время; номер блока, в котором находится транзакт; номер блока, в который транзакт продвигается; момент времени начала продвижения транзакта; приоритет транзакта; параметры транзакта (P1, P2, ...). Отличие одних транзактов от других состоит в назначаемом им наборе параметров. Параметры транзактов отображают свойства моделируемого динамического объекта [3, 4].

По мере появления в модели транзактов им присваиваются соответствующие номера. Каждый транзакт занимает некоторый объем памяти ЭВМ. Так как интерпретатору неизвестно, сколько транзактов одновременно будет находиться в модели, память под транзакты выделяется динамически. После того как транзакт закончит свое движение по блокам модели, его необходимо уничтожить для освобождения памяти.

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

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

Блоки системы GPSS имеют входы и выходы, с помощью которых осуществляется их связь в модели через транзакты. Блоки GENERATE и TERMINATE, предназначенные соответственно для ввода транзактов в модель и вывода их из модели, являются исключениями: блок GENERATE имеет только выход, блок TERMINATE имеет только вход.

Структура GPSS-модели имеет вид [3], представленный на рис. 1.1.

Рис. 1.1. Структурная схема GPSS-модели

Устройства. Аналогами обслуживающих устройств реальных систем в GPSS являются одноканальные, многоканальные устройства и логические ключи.

Одноканальное устройство, или прибор, представляет собой ресурс системы, который в любой момент времени может быть занят только одним транзактом. Интерпретатор автоматически вычисляет такие его СЧА, как общее время занятости устройства, число транзактов, которые занимали устройство, коэффициент использования устройства, среднее время занятости устройства одним транзактом и т. п. [4].

Многоканальные устройства (МКУ) (несколько параллельных одинаковых устройств) могут использоваться несколькими транзактами одновременно, они представляют собой ресурсы системы, предназначенные для параллельной обработки. В GPSS емкость каждого МКУ, используемого в модели, определяется пользователем. Интерпретатор автоматически подсчитывает число устройств, занятых в каждый момент времени, а также такие СЧА, как число транзактов, которые вошли в МКУ, среднее число каналов, занятых одним транзактом, среднее время нахождения транзакта в устройстве и др.

Логические ключи. Логические ключи служат для моделирования объектов с двумя логическими состояниями: «включено», «выключено». Управление ключами осуществляется транзактами, продвигающимися по модели. Транзакт может установить ключ в состояние «включено» или сбросить его, т. е. перевести в состояние «выключено» (инвертировать).

Переменные. Арифметические переменные позволяют вычислять арифметические выражения. В арифметических выражениях могут применяться функции (библиотечные или пользовательские) и некоторые арифметические операции (см. раздел 1.7).

Булевы переменные позволяют пользователю одновременно проверять несколько условий исходя из состояния объектов или значений СЧА.

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

Ячейки. Ячейки применяются для сохранения некоторой числовой информации. В системе GPSS выделяют ячейки сохраняемых величин и матрицы ячеек сохраняемых величин, запись в эти объекты выполняют транзакты. Объекты являются глобальными и доступны из любой части модели.

Очереди. В любой системе может возникать задержка в продвижении потока транзактов из-за недоступности ресурсов. В этом случае задержанные транзакты становятся в очередь. Учет очередей – одна из основных функций интерпретатора GPSS, который автоматически поддерживает дисциплину обслуживания очереди FIFO («первым пришел – первым обслужен»), соответственно получить стандартную статистическую информацию возможно только об этой очереди. Если возникает необходимость организовать очередь из транзактов с другой дисцип­линой обслуживания (например, LIFO), то для этого используются списки пользователей, которые также помогают осуществлять синхронизацию движения разных транзактов по модели.

Таблицы. Таблицы предназначены для сбора и регистрации различного рода статисти­ческой информации [3].