Файл: Лекция Моделирование в системе имитационного моделирования gpss понятие имитационной модели смо.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 28.03.2024

Просмотров: 10

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Лекция 4. Моделирование в системе имитационного моделирования
GPSS
Понятие имитационной модели СМО
Система массового обслуживания - это система, состоящая из обслуживающего прибора, заявки, находящейся на обслуживании, и ожидающих обслуживания заявок.
Рассмотрим на процедурном уровне модель системы обслуживания с одним прибором и очередью.
Сначала обсудим способ функционирования этой системы и поставим цель разработать модель на ЭВМ, которая промоделировала бы данную систему. Далее рассмотрим основные вопросы, связанные с созданием такой модели. При моделировании таких систем предполагается, что существует генератор случайных чисел. Считают, что обращение к генератору происходит как к функции, которая выдает значения случайных чисел, равномерно распределенных в интервале от 0,000000 до 0,999999 включительно.
Так как поток заявок и время обслуживания случайные величины, значит, количество заявок, обслуженных в заданном интервале времени, – случайная величина (рис. 1).
Рис. 1. Временная диаграмма СМО
Имитационная
модель - это формальное описание логики функционирования исследуемой системы во времени, учитывающее наиболее существенные взаимодействия ее элементов и обеспечивающее возможность проведения статистических экспериментов.
Имитационная модель СМО – это модель, отражающая поведение системы и изменения ее состояния во времени при заданных потоках требований, поступающих на входы системы. Параметры входных потоков требований – внешние параметры СМО. Выходными параметрами являются
величины, характеризующие свойства системы
- качество ее функционирования, – например такие, как:

коэффициенты использования каналов обслуживания;

средняя длина очередей в системе;

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

транзакт входит в блок, функцией которого является задержка транзакта на некоторое определенно время;

транзакт входит в блок, функцией которого является удаление транзакта из модели;

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

подходит очередь, поступают на обслуживание. После завершения обслуживания транзакт покидает систему. При моделировании все события должны происходить на фоне модельного времени. Следовательно, интерпретатор GPSS должен автоматически обслуживать таймер модельного времени.
Когда начинается моделирование, в интерпретаторе планируется приход первого транзакта. После этого таймер модельного времени устанавливается в значение времени, соответствующее приходу первого транзакта. Этот транзакт (а также другие, если они приходят в тот же моменте времени) входит в модель. Далее он (или они, друг за другом) продвигается через все возможные блоки модели, которые ему встречаются.
Интерпретатор GPSS продвигает далее значение таймера до значения времени, когда происходит следующее (или следующие) событие, которое им запланировано. Эти события, возникающие как следствие продвижения транзактов через блоки, возникают в последующие моменты времени. Когда в этот второй отмеченный таймером момент времени не остается транзакта, который надо перемещать, таймер опять продвигается, и т.д.
Понятие события в процессе моделирования
При имитационном моделировании выделяют три представления времени: реальное, модельное (системное) и машинное время.
Реальное время – это время, в котором происходит функционирование моделируемой системы в реальной жизни, например час, смена, год.
Модельное (системное) время – это время, в котором происходит функционирование моделируемой системы при проведении имитационного моделирования на ЭВМ. В системном времени выполняются следующие действия:

осуществляется переход моделируемой системы из одного состояния в другое;

выполняется синхронизация работы всех компонент имитационной модели;

обеспечивается управление ходом имитационных экспериментов;

обеспечивается параллельная реализация событий в моделируемой системе.
Машинное время – это время, отражающее затраты времени ЭВМ на проведение имитационного моделирования.
Система моделирования GPSSW основана на переходе требований
(транзактов) от блока к блоку (от оператора к оператору) в определенные моменты времени, что называется событием.
В процессе моделирования системы, таймер модельного времени, безусловно, должен постоянно корректироваться в соответствии с теми основными событиями, которые возникают в реальной системе.


Событие – это нечто, меняющее статус связанных с ним состояний системы. События соответствуют конкретным изменениям в реальной системе: требование появилось, требование вошло в очередь, требование обслуживается и т.д. При этом прослеживается процесс моделирования с использованием как абсолютного времени (текущего), так и относительного
(с начала прогона модели, с момента последней модификации или последнего сброса и т.д.).
События характеризуются условиями (или законом) возникновения и типом, который определяет порядок их обработки (дисциплину обслуживания). Событие по существу представляет собой мгновенное изменение некоторого элемента системы или состояния системы в целом
Классификация средств имитационного моделирования
Программные средства имитационного моделирования, которые используются для разработки имитационных моделей, можно разделить на следующие четыре группы:
1.
Программирование компьютерной модели с помощью универсальных языков (например, C++, Delphi, Pascal). Динамику системы описывают уравнениями, которые кодируют в программу, затем проводят расчет уравнений и устанавливают связь выходных величин с входными.
2. Программирование компьютерной модели с применением специализированных языков моделирования (например, GPSS, AnyLogic), написанных на универсальных языках. Динамика системы отображается взаимодействием элементов модели во времени и пространстве.
Специализированные языки имитационного моделирования компактны и имеют широкий круг приложений, однако требуют специальной подготовки пользователя, который должен написать программу в терминах языка для конкретного объекта моделирования.
3. Построение компьютерных моделей и проведение имитационных экспериментов при помощи специализированных компьютерных сред
(например, Arena, AnyLogic, GPSS World, Pilgrim). Имитационные среды не требуют программирования в виде последовательности команд. Вместо написания программы пользователи составляют модель из библиотечных графических модулей, и/или заполняют специальные формы. Как правило, имитационная среда обеспечивает возможность визуализации процесса имитации, позволяет проводить сценарный анализ и поиск оптимальных решений.
4. Включение средств имитационного моделирования в стандартные математические компьютерные системы (например, пакет Simulink системы
Matlab, Mathcad, Mathematica). Это программные среды, предназначенные для выполнения разнообразных математических и технических расчетов, предоставляющие пользователю инструменты для работы с формулами, числами, графиками, текстом, включают в себя средства для управления

переменными, вводом и выводом данных, а также снабжены графическим интерфейсом.
Также в сфере имитационного моделирования можно выделить четыре основные парадигмы моделирования, применяемых в качестве каркаса при построении моделей: динамические системы, системная динамика, дискретно-событийное моделирование, мультиагентные системы. Сущест- вует целый ряд программных инструментов, ориентированных на эти подходы:
1. Динамические системы (Matlab).
2. Системная динамика (iThink, PowerSim).
3. Дискретно-событийное моделирование (Arena, GPSS World, Pilgrim).
4. Мультиагентные системы (AnyLogic).
Здесь следует отметить, что в настоящее время данная классификация во многом становится условной, поскольку современные интегрированные средства моделирования охватывают как динамические системы, так и системную динамику, дискретно-событийное моделирование и мультиагентные системы.
История создания языка GPSS
Одним из первых языков моделирования, облегчающих процесс написания имитационных программ, был язык GPSS, созданный в виде конечного продукта Джеффри Гордоном в фирме IBM в 1962 г. Этот язык в свое время входил в первую десятку лучших языков программирования, опережая транслятор c языка АЛГОЛ, и был реализован практически на всех типах ЭВМ. Изучение этого языка и создания моделей позволяет понять принципы разработки имитационных программ и научиться работать c имитационными моделями.
Появившийся впервые еще в 1962 году, он выдержал множество модификаций для самых различных операционных систем и компьютеров и в то же время сохранил почти неизменными внутреннюю организацию и основные блоки.
Основные понятия языка GPSS
Основными понятиями языка GPSS являются транзакт, блок, оператор.
Транзакт GPSS – это динамический объект, под которым может подразумеваться клиент, требование, вызов или заявка на обслуживание прибором обслуживания. То есть основное назначение GPSS - это моделирование систем массового обслуживания, хотя наличие дополнительных встроенных средств позволяет моделировать и некоторые другие системы (например, распределение ресурсов между потребителями).
Транзакты в GPSS могут создаваться (вводиться), уничтожаться
(выводиться), задерживаться, размножаться, сливаться, накапливаться и т. д.
Именно благодаря наличию транзакта GPSS обладает такой изящностью и

простотой. Другим фундаментальным понятием GPSS является понятие
«блок». Блок GPSS представляет собой некоторый самостоятельный элемент моделируемой системы. Каждый блок реализует одну или несколько операций над транзактом, группой транзактов или параметрами транзактов, а совокупность блоков составляет моделирующую программу. Таким образом,
GPSS имеет блочную структуру и легко может быть приспособлен и для структурно-функционального моделирования не очень сложных систем.
GPSS достаточно легок в освоении, а наличие в нем функций, переменных, стандартных атрибутов, графики и статистических блоков существенно расширяет его возможности.
Модель GPSS World записывается в виде последовательности операторов, которые делятся на три типа:
1. блоки;
2. операторы описания данных;
3. команды.
Команды GPSS World используются как для построения модели (то есть они могут содержаться в тексте модели), так и для интерактивного взаимодействия с моделью (например, команда START, речь о которой пойдет ниже).
Формат блоков в GPSS World состоит из частей, называемых полями.
Поле – это набор символов, отделенный пробелами или ограничителем. В общем случае оператор состоит из следующих полей:
[<Метка>] <Операция> <Операнды> [< Комментарии>]
Метка должна начинаться с буквы (все буквы в модели - латинские).
Чтобы название метки (устройства, очереди, функции, переменной и т.д.) не совпадало с названием операции, целесообразно использовать символ подчеркивания. Например, обслуживающее устройство - «кладовщик» может быть в модели названо «K_ladovsik».
Операция - это непосредственно команда, которая должна быть выполнена при входе транзакта в данный блок. Для написания каждой операции в GPSS World существует четко установленная грамматика.
Каждый из блоков характеризуется своим собственным предписанным ему глаголом.
Операнды задают информацию, специфичную для данного блока. Их не может быть больше семи: А, В, С, D, E, F, G. Число операндов каждого блока зависит от типа блока. Операнды отделяются запятыми. Если отдельный операнд опускается, то на его месте ставится пробел.
Комментарии отделяются от поля операндов символом «;» или «*».
Они могут быть написаны на русском языке и служат для удобства ориентирования в модели.
В системе GPSSW используют символы обозначения и специальные символы. Символы обозначения включают прописные буквы A-Z, строчные буквы a-z,, цифры 0-9 и символ _ (подчеркивание).
Специальные символы - это символы, используемые для обозначения операторов и пунктуации: # (решетка), * (звездочка), + (плюс), - (минус), /