Автор работы: Пользователь скрыл имя, 13 Декабря 2012 в 12:59, дипломная работа
Имитационное моделирование, как известно, является эффективным
инструментом исследования сложных систем на различных этапах их
жизненного цикла, включая проектирование, разработку и эксплуатацию.
Новые направления в применении имитационного моделирования связаны с
их использованием для решения задач прогнозирования и принятия решений
в процессе управления сложными системами
ВВЕДЕНИЕ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
ВЫБОР ИНСТРУМЕНТАЛЬНЫХ СРЕДСТВ ПРОГРАММНОЙ РЕАЛИЗАЦИИ
ИМИТАЦИОННЫХ МОДЕЛЕЙ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ В СРЕДЕ GPSS WORL D . . . . . . . . . . . . . . . . . . . 1 1
ТЕМАТИКА ЛАБОРАТОРНЫХ РАБО Т . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 0
ЗАКЛЮЧЕНИЕ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 4
БИБЛИОГРАФИЧЕСКИЙ СПИСО К . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 6
моделирования. Но уникальные концепции моделирования и
алгоритмическая мощь, наряду с исключительной простотой освоения и
использования, позволяют GPSS
успешно конкурировать с
системами.
Как показано в работе [3], в России и СНГ для моделирования
используется много и других языков и систем. Данные системы
действительно обладают рядом уникальных возможностей и используют
новейшие алгоритмические разработки. Но большинство из известных
авторам крупных проектов
использования имитационного
практике успешно реализуется именно на языке GPSS. Например, нам
неизвестно ни одного случая
в области дискретно-
моделирования, когда можно было бы сказать, что данная модель не может
быть реализована на языке GPSS. А перечисленные выше недостатки языка
GPSS сейчас успешно преодолеваются возможностями гибкого
использования в создаваемых имитационных моделях программ, написанных
на других языках. Еще
большая возможность
GPSS появляется при реализации
концепции комплексной
имитационных исследований, объединении в рамках единой
интегрированной программной системы как можно большего числа этапов
классического имитационного исследования [4], [6], [8]. В этом случае с
использованием GPSS создается модель и реализуются заданные
пользователем эксперименты, а все остальные действия в процессе
имитационных исследований выполняются с помощью других программ,
существующих или специально разработанных.
Особую роль в процессе нашего выбора сыграло то обстоятельство, что
существует бесплатная студенческая версия системы GPSS World, которую
10
любой студент может использовать в домашних условиях для
самостоятельной работы и выполнения курсовой работы.
11
ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ В СРЕДЕ GPSS WORLD
Для студенов-менеджеров представляет особый интерес имитационное
моделирование систем массового обслуживания, поскольку разнообразные
социально-экономические системы могут быть представлены в виде систем
массового обслуживания. В данном разделе показано как моделирование
систем массового обслуживания может быть реализовано в среде системы
имитационного моделирования GPSS World.
Язык GPSS - это язык декларативного типа, построенный по принципу
объектно-ориентированного языка. Основными элементами этого языка
являются транзакты и блоки, которые отображают соответственно
динамические и статические объекты моделируемой системы.
Каждый объект GPSS-модели имеет некоторое число свойств,
названых в GPSS стандартными числовыми атрибутами (СЧА). Часть СЧА
доступна разработчику модели только для чтения, а на значения других он
может влиять, используя соответствующие блоки.
Любая GPSS-модель обязательно должна содержать такие объекты, как
блоки и транзакты. Последовательность блоков GPSS-модели показывает
направления, в которых перемешаются динамические элементы —
транзакты.
Блоки языка GPSS представляют собой подпрограммы, написанные на
макроассемблере или на языке Си, и содержат набор параметров (операндов)
для обращения к ним. Как и во всех языках моделирования в GPSS
существует внутренний механизм передачи управления, который реализуется
в модельном времени, что дает возможность отобразить динамические
процессы в реальных системах. Передача управления от блока к блоку в
GPSS-программах реализуется с помощью движения транзактов в модельном
времени. Обращение к подпрограммам блоков происходит через движение
12
транзактов, попадая в некоторый блок, транзакт инициирует обращение к
подпрограмме, соответствующей данному блоку.
Содержательное значение транзактов определяет разработчик модели.
Именно он устанавливает аналогию между транзактами и реальными
динамическими элементами моделируемой системы, например, при
моделировании магазина транзактами представляются покупатели, при
моделировании автозаправочной
станции естественно
представить автомобили, а при моделировании работы Web-сервера —
запросы, поступающие на сервер от удаленных клиентов. Такая аналогия
никогда не указывается транслятору GPSS, она остается в воображении
разработчика модели. С точки зрения программиста транзакт — это
структура данных, которая содержит такие поля, как имя или номер
транзакта; время входа транзакта в модель; текущее модельное время; номер
блока, в котором находится транзакт; номер блока, куда он продвигается;
момент времени начала продвижения; приоритет транзакта; параметры
транзакта: P1, P2, ...
В языке GPSS все транзакты нумеруются по мере их появления в
модели. Параметры транзактов отображают свойства моделируемого
динамического объекта. Например, если моделируется движение
автомобилей на участке дороги, то параметрами транзакта (автомобиля) в
зависимости от целей моделирования могут быть скорость, тормозной путь,
габариты и другие.
В начале моделирования в GPSS-модели не существует ни одного
транзакта. В процессе моделирования транзакты входят в модель в
определенные моменты времени, соответствующие логике
функционирования моделируемой системы. Пройдя определенную
разработчиком модели последовательность блоков транзакты покидают
модель. В общем случае в модели одновременно существует несколько
транзактов, но в каждый момент времени движется только один из них.
13
Если транзакт начал свое движение, он передвигается от блока к блоку
в соответствии с логикой работы модели. В тот момент, когда транзакт
входит в блок, вызывается соответствующая этому блоку подпрограмма.
Далее транзакт (в общем случае) пытается войти в следующий блок. Его
перемещение продолжается до тех пор, пока не выполнится одно из таких
возможных условий:
· транзакт входит в блок, функцией которого является задержка
транзакта на определенное время;
· транзакт входит в блок, функцией которого является удаление
транзакта из модели;
· в соответствии с логикой модели транзакт пытается войти в следующий
блок, но блок не принимает этот транзакт. В этом случае транзакт остается в
том блоке, в котором в данное время находится, но позже будет повторять
попытки войти в следующий блок. Когда условия в модели изменятся, одна
из таких попыток может быть успешной. После этого транзакт продолжит
свое перемещение по модели.
Если выполняется одно из указанных условий, транзакт остается на
месте и в модели делается попытка перемещения другого транзакта.
Аналогами обслуживающих устройств реальных систем в GPSS
являются объекты типа "ресурсы". К объектам этого типа относятся
устройства, многоканальные устройства и логические ключи.
Устройство (одноканальное устройство, прибор) представляет собой
ресурс, который в любой момент времени может быть занят только одним
транзактом. Интерпретатор автоматически вычисляет такие его СЧА, как
общее время занятости устройства, число транзактов, которые занимали
устройство, коэффициент использования устройства, среднее время
занятости устройства одним транзактом. Статистическая информация о
работе устройства при моделировании собирается автоматически.
Если в модели используются объекты типа "устройство", то в файле
14
стандартной статистики будет представлена следующая информация об
использованных устройствах:
· FACILITY — номер или имя устройства;
· ENTRIES — количество входов;
· UTIL — коэффициент использования устройства;
· AVE. TIME — среднее время пребывания транзакта в устройстве;
· AVAIL — состояние готовности;
· OWNER — номер последнего транзакта, занявшего устройство;
· PEND — количество прерванных в устройстве транзактов;
· INTER — количество прерывающих устройство транзактов;
· RETRY — количество транзактов, ожидающих специальных условий;
· DELAY — количество транзактов, ожидающих занятия устройства.
Многоканальные устройства (МКУ) (несколько работающих
параллельно одинаковых устройств) представляют собой объекты типа
"ресурсы" для параллельной
обработки. Они могут быть
несколькими транзактами одновременно. Пользователь определяет емкость
каждого МКУ, которое используется в модели, а GPSS ведет учет числа
устройств, занятых в каждый момент времени. Для МКУ также
автоматически определяются такие СЧА, как число транзактов, которые
вошли в МКУ; среднее число каналов, занятых транзактами; среднее время
нахождения транзакта в устройстве. Если в модели используются объекты
типа МКУ, то в файле стандартной статистики об этих объектах будет
представлена такая информация:
· STORAGE — имя или номер МКУ;
· CAP — емкость МКУ, заданную оператором STORAGE;
· REM — количество единиц свободной емкости МКУ в конце периода
моделирования;
· MIN — минимальное количество используемой емкости МКУ за период
15
моделирования;
· MAX — максимальное количество используемой емкости МКУ за
период моделирования;
· ENTRIES — количество входов в МКУ за период моделирования;
· AVL — состояние готовности МКУ в конце периода моделирования: 1
— МКУ готов, 0 — не готов;
· AVE.C — среднее значение занятой емкости за период моделирования;
· UTIL — средний коэффициент использования всех устройств МКУ;
· RETRY — количество транзактов, ожидающих специальных условий,
зависящих от состояния МКУ;
· DELAY — количество транзактов, ожидающих возможности входа в
блок ENTER.
Для реализации задержки транзакта во времени в GPSS используется
блок ADVANCE (ЗАДЕРЖАТЬ). В переводе с английского языка слово
ADVANCE означает продвигать, а не задерживать. Этот блок действительно
продвигает ЧАСЫ модельного времени на некоторое значение, но
фактически он осуществляет задержку продвижения транзакта в течение
некоторого интервала времени. Обычно этот интервал задается случайной
величиной.
В GPSS возможны следующие варианты распределения времени
обслуживания:
· детерминированное (постоянное);
· равномерное распределение;
· другие распределения.
Некоторые события в системе
могут заблокировать или
направление движения транзактов.
Для моделирования таких
введены логические ключи. Транзакт может устанавливать эти ключи в
положение "Включено" или "Выключено". Через некоторое время состояние
ключа может быть использовано другими транзактами для выбора одного из
16
двух возможных путей движения или ожидания момента изменения
состояния ключа. Состояние ключа может быть изменено любым транзактом.
Кроме блоков и транзактов, используемых в каждой GPSS-модели, в
моделях могут использоваться объекты других типов: очереди, переменные,
функции, ячейки и матрицы сохраняемых величин, таблицы.
В любой системе движение потока транзактов может быть задержано
из-за недоступности ресурсов (например, необходимые устройства или МКУ
уже заняты). В этом случае
задержанные транзакты
еще один тип объектов GPSS.
Пользователь может специально определить точки модели, в которых
необходимо собирать статистику об очередях, то есть установить
регистраторы очереди. Тогда GPSS будет автоматически собирать статистику
об очередях (длину очереди, среднее время нахождения транзактов в очереди
и тому подобное), вся эта информация является СЧА и доступна
пользователю в процессе моделирования. Статистическая информация об
ожидании выдается в следующем виде:
· QUEUE — номер или имя очереди;
· MAX — максимальная длина очереди;
· CONT — текущая длина очереди;
· ENTRY — общее количество входов;
· ENTRY(0) — количество "нулевых" входов;
· AVE.CONT — средняя длина очереди;
· AVE.TIME — среднее время пребывания транзактов в очереди;
· AVE.(-0) — среднее время пребывания в очереди без учета "нулевых"
входов;
· RETRY — количество транзактов, ожидающих специальных условий.
Интерпретатором автоматически поддерживается дисциплина
обслуживания очереди FIFO ("первым пришел — первым обслуживаешься"),
и пользователь может получить стандартную статистическую информацию
17
только об этих очередях. Если у пользователя возникает необходимость
организовать очередь из транзактов с другой дисциплиной обслуживания, то
для этого используются списки пользователей. Эти списки также помогают
осуществлять синхронизацию движения разных транзактов по модели.
Чтобы описать в модели логику сложных процессов, например,
направить в модели транзакт в блок, отличный от последующего, в GPSS
могут быть использованы различные средства в зависимости от логики
функционирования моделируемой системы. К этим средствам относятся:
блоки TRANSFER, DISPLACE, TEST, GATE, LOGIC, LOOP.
При построении модели иногда возникает необходимость задать
сложные математические или логические соотношения между атрибутами
объектов модели. Для этой цели используются переменные. В GPSS
используются три типа переменных: арифметические переменные,
арифметические переменные с "плавающей точкой" и булевы переменные.
Арифметические переменные
позволяют вычислять
Информация о работе Организация лабораторного практикума по имитационному моделированию