ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ДИСКРЕТНЫХ ДИНАМИЧЕСКИХ СИСТЕМ

Get Started. It's Free
or sign up with your email address
Rocket clouds
ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ДИСКРЕТНЫХ ДИНАМИЧЕСКИХ СИСТЕМ by Mind Map: ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ДИСКРЕТНЫХ ДИНАМИЧЕСКИХ СИСТЕМ

1. Система имитационного моделирования GPSS

1.1. Категория Тип объектов Динамическая Транзакты Операционная Блоки Аппаратная Устройства Памяти (многоканальное устройство) Ключи Вычислительная Переменные: арифметическая, булевская Функции Статистическая Очереди Таблицы Запоминающая Матрицы ячеек Ячейки Группирующая Списки пользователя Группы

1.2. Операционные объекты, т. е. блоки, задают логику функционирования модели системы и определяют пути движения транзактов между объектами аппаратной категории.

1.3. Объекты аппаратной категории - это абстрактные элементы (устройства, памяти и логические ключи), на которые может быть разделено оборудование реальной системы. Воздействуя на эти объекты, транзакты могут изменять их состояние и влиять на движение других транзактов.

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

1.5. К статистическим объектам относятся очереди и таблицы, вводимые для оценки характеристик поведения системы

2. Программное обеспечение для моделирования дискретных динамических систем

2.1. Функционирование дискретной имитационной модели определяется:

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

2.2. Группы систем моделирования:

2.2.1. 1. При событийном подходе системы моделируются путем идентификации изменений, происходящих в моменты совершения событий. Для имитации необходимо воспроизвести хронологию (календарь) событий и причины, вызывающие их появление в соответствующие моменты имитационного времени. Календарь первоначально содержит отметку только о первом событии - «прибытие». В ходе моделирования возникновение других событий - «прибытие» и «конец обслуживания» - должно быть запланировано в календаре в соответствии с логикой функционирования системы. События выполняются в упорядоченной последовательности, при этом имитационное время продвигается от одного события к другому. Рассмотрим, например, парикмахерскую с одним парикмахером. Клиенты заходят в парикмахерскую, после возможного ожидания в очереди обслуживаются и уходят. Состояние системы определяется состоянием парикмахера и числом ожидающих обслуживания клиентов. Оно остается неизменным, за исключением моментов, когда клиент прибывает в систему или покидает ее. Событийная модель в данном случае состоит из описания действий, происходящих в момент прибытия и окончания обслуживания очередного клиента, т. е. события «прибытие» и «окончание обслуживания» полностью обеспечивают воспроизведение динамики функционирования системы. К языкам имитационного моделирования, реализующим событийный подход, относятся GASP, SEAL, СИМКОМ, СИМПАК, SIMSCRIPT и другие.

2.2.2. 2. Подход, ориентированный на действия. При использовании данного подхода, который называют также «сканированием активностей», описываются действия, в которых принимают участие элементы системы, и задаются условия, определяющие начало и окончание этих действий. События, которые начинают или завершают действие, инициируются по условиям, определенным для данного действия. Условия начала или окончания действия проверяются после очередного продвижения имитационного времени. Если заданные условия удовлетворяются, происходит соответствующее действие. Для того чтобы было выполнено каждое действие в модели, проверка (сканирование) условий производится для всего множества действий при каждом продвижении имитационного времени. Такой подход обеспечивает простую схему моделирования для решения целого ряда проблем. Он наиболее эффективен для ситуаций, в которых продолжительность действия определяется в зависимости от того, насколько состояние системы удовлетворяет заданным условиям. Примерами в этой группе могут служить системы FORSIM, CSL, ESP, AS, GSP и другие.

2.2.3. 3. Процессно-ориентированный подход. Многие имитационные модели содержат последовательности компонентов, которые возникают в них по определенной схеме, например, очередь, в которой клиенты ожидают обслуживания. Логика возникновения компонентов по требуемой схеме может быть задана в одном операторе. Имитационный язык затем транслирует такие операторы в соответствующую последовательность событий, происходящих с компонентами модели. Например, для описания процесса в модели банка может быть использован следующий набор операторов.

3. Основные сведения о блоках GPSS-моделей

3.1. Местоположение. Каждый блок занимает вполне определенное место в блок-схеме. Это место может быть определено нумерацией. Первый блок модели занимает место 1, второй блок – место 2 и т.д. Так же разработчику предоставляется возможность присвоить любому блоку символические имена. При использовании символических имен интерпретатор записывает абсолютные значения номеров вместо этих имен. Символические имена составляют из алфавитно-цифровых символов, первые три символа должны быть алфавитными.

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

3.3. Операнды. Блоки могут содержать различные связанные с ними операнды. Операнды блоков задают информацию, специфичную для действия данного блока. Под значениями операндов могут подразумеваться значения аргументов, используемых при обращениях к подпрограммам. Число операндов каждого блока зависит от типа блоков. Ни один из блоков не использует более семи операндов. Большинство из них используют один или два операнда. Операнды в общем случае обозначаются символами A, B, C, D, E, F и G. Одни операнды некоторых блоков должны быть специфицированы всегда, а другие могут задаваться или не задаваться. В некоторых случаях, когда операнды, задаваемые по выбору, в явном виде не заданы, интерпретатор предполагает значения этих операндов заданными по умолчанию.

4. Сбор статистики при ожидании.

4.1. В любых системах массового обслуживания число ресурсов ограничено. Это означает, что не всегда можно немедленно предоставить ресурс, при каждом требовании на его использование. В парикмахерской, например, таким ограниченным ресурсом является сам парикмахер. Если он занят в момент прихода клиента, то последний вынужден ждать своей очереди.

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

5.1. Для моделирования на GPSS необходимо определить: 1) условия работы моделируемой системы; 2) какие элементы GPSS надо использовать для удовлетворения условий модели. В данном случае есть два вида ограничивающих условий. Во-первых, имеется лишь одна печь. Во-вторых, существует некоторое фиксированное число сборщиков, работающих в системе. Естественно, для моделирования печи использовать понятие “прибор”. Также естественно отождествить сборщиков с транзактами. Тогда можно считать, что сборщики циркулируют в системе. Аналогично тому, как они периодически осуществляют сборку и обжиг, транзакты циркулируют в GPSS-модели системы. В реальной системе, после того как сборщик вынимает из печи обожженную деталь, он возвращается и начинает новый этап сборки. В модели, после того как транзакт завершает использование прибора, моделирующего печь, он должен быть возвращен назад посредством блока TRANSFER в блок следующей сборки. Для того чтобы ограничить общее число транзактов, циркулирующих в модели, необходимо использовать операнд D блока GENERATE, с помощью которого можно задать желаемое число транзактов.

6. Многоканальные устройства. Блоки ENTER (ВОЙТИ) и LEAVE (ВЫЙТИ).

6.1. Для моделирования нескольких параллельно работающих однородных обслуживающих устройств в GPSS введено понятие многоканального устройства (памяти). Примерами многоканальных устройств являются контролеры в театре, буксиры, вводящие и выводящие корабли в порту, места на автостоянке, бензоколонки на автозаправочной станции и т.п. Многоканальные устройства характеризуются определенной емкостью, т.е. числом каналов для параллельного обслуживания транзактов. Блоками, соответствующими состояниям «занято» и «освобождено», являются ENTER (войти) и LEAVE (выйти). Операнд А в этих блоках используется для указания имени соответствующего устройства.

7. Булевские переменные.

7.1. Булевской переменной является СЧА, определяемый пользователем. Обозначение булевской переменной имеет вид BV»имя числовое» или BV$»имя символьное». Значением булевской переменной является число 1, когда булевское выражение истинно и число 0 - в противном случае. Булевская переменная задается с помощью специальной команды, следующего формата. Поле имени Поле операции Поле операндов «имя» ВVARIABLE «булевское выражение» Булевское выражение составляется также как и арифметическое выражение, но вместо арифметических операций проверяются различные логические условия. Булевское выражение включает следующие типы операторов: логические операторы, операторы отношения, булевские операторы.

7.2. Логические операторы используются для определения состояния объектов аппаратной категории и рассматриваются при описании стандартных логических атрибутов приборов, многоканальных устройств и логических переключателей

7.3. Оператор отношения помещается между двумя числовыми величинами (константами или СЧА) и выражает условие, которое может существовать между ними: G - больше, L - меньше, E - равно, NE - не равно, LE - меньше или равно, GE - больше или равно. Если СЧА в логическом выражении не входит в отношение, то ему приписывается логическое значение (в этом случае СЧА должен быть заключен в скобки). Логическое значение “ложно” приписывается в случае, если численно СЧА равен нулю, во всех остальных случаях приписывается значение “истинно”.

7.4. Булевский оператор помещается между двумя логическими величинами и дает логический результат. В качестве булевских опреаторов используют знаки «*», соответствующий логическому «И» и «+», соответствующий логическому «ИЛИ». Операция умножения имеет приоритет по отношению к операции сложения.