Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ
Посмотреть оригинал

ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ В СИСТЕМЕ GPSS WORLD

Введение в систему имитационного моделирования GPSS World

GPSS (general purpose simulation system) — система имитационного моделирования общего назначения, представляет собой язык моделирования, используемый для имитационного моделирования различных систем, в частности систем массового обслуживания.

Система GPSS была разработана сотрудником фирмы IBM Джефри Гордоном в 1961 г. Были созданы различные версии языка: GPSS (1961), GPSS II (1963), GPSS III (1965), GPSS/360 (1967) и GPSS V (1971). Система GPSS World была создана в 1993 г. В настоящее время демонстрационная версия системы доступна на сайте www.minutemansoftware.com/simulation.htm.

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

В отличие от Powersim и AnyLogic, система GPSS World не поддерживает графическую реализацию математической модели, т.е. не содержит встроенных архетипов, с помощью которых можно было бы визуализировать связи между переменными модели. Также из-за отсутствия соответствующих средств визуализации отладка моделей в GPSS World более трудоемка в сравнении с системами имитационного моделирования класса Powersim и AnyLogic.

Тем не менее система GPSS World включает так называемую среду моделирования (GPSS World Simulation Environment), в рамках которой возможна программная реализация имитационной модели с последующей визуализацией результатов моделирования.

Данная среда моделирования имеет следующие функциональные характеристики:

  • • объектно-ориентированный пользовательский интерфейс с моделью, моделированием, отчетом и текстовыми объектами;
  • • высокопроизводительный транслятор модели;
  • • программируемые эксперименты с автоматическим анализом данных;
  • • многозадачность объектов моделирования;
  • • возможность сохранения и восстановления моделей;
  • • пользовательский и программный ввод и вывод данных;
  • • более чем 20 встроенных распределений вероятности;
  • • интегрированный язык программирования (PLUS™);
  • • библиотека процедуры PLUS™',
  • • 13 различных графических типов представлений (графиков) результатов моделирования;
  • • новые блоки GPSS: ADOPT, DISPLA СЕ, PL US, INTEGRA TION OPEN/CLOSE/READ/WRITE/SEEK, блоки, поддерживающие ввод/вывод данных имитационной модели;
  • • автоматическое интегрирование обыкновенных дифференциальных уравнений;
  • • горячие клавиши для быстрых взаимодействий;
  • • отладчик кода с широкими возможностями;
  • • полная совместимость с языками программирования GPSS/ /PC™;
  • • автоматические генераторы эксперимента;
  • • поддержка стандартных процедур типа Open, Close, Read, Write, Seek PLUS',
  • • пакетный режим с управляемым выходом;
  • • блокируемые диалоговые окна;
  • • возможность динамического вызова внешних функций.

Подробное описание функциональных возможностей GPSS

World имеется в работах [5, 10, 18].

Далее кратко опишем основные шаги, связанные с созданием модели в системе GPSS World. При установке системы исполняемый модуль (файл GPSS World.exe) обычно расположен в папке C:Program FilesMinuteman SoftwareGPSS World. При запуске исполняемого модуля возникает основное окно системы (рис. 10.1).

Основное окно системы GPSS World

Рис. 10.1. Основное окно системы GPSS World

Следует отметить, что при установке системы на компьютер также инсталлируются файлы примеров (как правило, они находятся в папке C:Program FilesMinuteman SoftwareGPSS World Samples). Файлы примеров имеют расширения *.gps. Соответственно, используя меню «Файл» можно открыть пример Sample]., gps (рис. 10.2).

Файл примера Sample 1

Рис. 10.2. Файл примера Sample 1

Анализ данного примера показывает, что здесь моделируется очередь посетителей (покупателей) парикмахерской {barber shop simulation).

Важной особенностью имитационной модели GPSS World является использование специального моделирующего алгоритма (процедура GENERATE) для реализации модельного времени и связанного с ним потока так называемых транзактов — абстрактных дискретных объектов, которые перемещаются между статическими элементами (такими как источники транзактов, устройства, очереди и др.), воспроизводя различные события реального моделируемого объекта.

Процедура GENERATE может иметь несколько входных параметров. В данном примере программа используется для генерации покупателей, при этом ее входные параметры принимают значения 300 и 100. Вызов GENERATE 300, 100 обеспечит формирование некоторого количества покупателей в диапазоне модельного времени от [300 - 100] до [300 + 100].

Общий синтаксис вызова процедуры генерации транзактов следующий:

GENERATE [А], [В], [С], [D], [Е]

Квадратные скобки [ ] указывают, что данный параметр не является обязательным. При этом запятая не является обязательным параметром в том случае, если нет пропущенных параметров, передаваемых в процедуру GENERATE.

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

Параметр В задает модификатор, который изменяет значения интервала генерации транзактов по сравнению с интервалом, указанным операндом А. Есть два типа модификаторов: модификатор- интервал и модификатор-функция.

Параметр С — это смещение интервалов (первоначальная задержка), момент времени, в который в блоке GENERATE должен появиться первый транзакт. После этого первого прихода все остальные генерации транзактов возникают в соответствии с распределением интервалов времени, задаваемых операндами A w В. Параметр С можно использовать как для ускорения, гак и для замедления прихода первого транзакта или для указания прихода в нужный момент времени. Начальная задержка может быть меньше, равна или больше среднего времени, заданного операндом А. Если параметр С не используется, интервалы генерирования транзактов определяются параметрами А и В.

Параметр D задает граничное значение общего числа транзактов, которые могут войти в модель через данный блок GENERATE в течение времени моделирования. Когда это число достигнуто, данный блок GENERATE перестает быть активным. Если не определено граничное значение (операнд D не используется), блок GENERATE остается активным в течение всего времени моделирования, т.е. по умолчанию ограничения на количество создаваемых траизактов нет.

Параметр Е устанавливает класс приоритета каждого из тран- зактов, входящих в модель через данный блок GENERATE. Для задания приоритетов с целью повышения эффективности работы GPSS World рекомендуется использовать последовательность целых чисел 0, 1,2,.... Чем выше число, тем выше приоритет. Если параметр Е не используется, по умолчанию приоритет генерируемых данным блоком GENERATE траизактов равен нулю.

Блоки QUEUE (стать в очередь) и DEPART (покинуть очередь) являются взаимодополняющими и представляют собой регистратор очереди. Регистраторы очередей различают заданием имен (в примере на рис. 10.2 имя очереди — Barber).

Общий синтаксис вызова процедуры QUEUE следующий:

QUEUE А [, В]

Блок QUEUE увеличивает длину очереди. Параметр А задает номер или имя очереди, к длине которой добавляются единицы траизактов.

Параметр В определяет число единиц, на которое увеличивается текущая длина очереди. Если параметр В не задан, то прибавляется одна единица.

Соответственно, блок DEPART уменьшает длину очереди на единицу.

Общий синтаксис вызова процедуры DEPART следующий:

DEPART А [, В]

Параметр А задает номер или имя очереди, длину которой надо уменьшить. Параметр В определяет число единиц, на которое уменьшается длина очереди. Эго число не должно превышать текущую длину очереди. Если операнд В не используется, то по умолчанию длина очереди уменьшается на 1.

Блок SEIZE А (занято) расположен между блоками QUEUE и DEPART и имитирует занятие транзактом (из очереди А) так называемого одноканального устройства, являющегося по сути ресурсом в системе массового обслуживания. Одноканалыюе устройство имеет следующие свойства:

  • • если ресурс уже используется, транзакт не может войти в блок и должен ждать в очереди;
  • • если ресурс не используются, транзакт входит в блок и статус ресурса меняется на «занято».

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

Синтаксис вызова процедуры ADVANCE следующий:

ADVANCE А [, В]

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

Например, вызов ADVANCE 400, 200 (в примере на рис. 10.2) обеспечивает задержку транзакта у ресурса на время, равномерно распределенное на интервале от [400 - 200] до [400 + 200], что имитирует приблизительное время стрижки одного клиента.

После обслуживания вход того же транзакта в другой блок RELEASE ( освободить) приводит к освобождение ресурса. В результате состояние ранее занятого ресурса меняется с «занято» на «не занято».

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

TERMINATE [А]

Параметр А определяет число единиц, на которое блок TERMINATE уменьшает содержимое счетчика завершения, задающего момент остановки модели. Параметр А может быть именем, положительным целым числом и др. По умолчанию значение параметра А равно нулю. В результате транзакт уничтожается, а значение счетчика завершения не меняется. Следует отметить, что блоков TERMINATE, которые выводят из модели транзакты, может быть несколько.

Для запуска модели GPSS World можно использовать меню системы «Команды — Создать моделирование», а затем «Команды — Start». В результате на экран будет выведен отчет о выполнении модели (рис. 10.3).

Следует отметить, что отчет содержит достаточно полезной информации отражающей эффективность моделируемой системы, в частности такие характеристики, как:

  • • время начала и завершения модели (0 и 920 с, 870 с на рис. 10.3);
  • • коэффициент использования канала (0,600 на рис. 10.3);
  • • среднее время нахождения в канале (276 с, 198 с на рис. 10.3);
  • • другие параметры симуляции.
Отчет о выполнении модели для примера Sample1

Рис. 103. Отчет о выполнении модели для примера Sample1

Также имеется возможность графической интерпретации результатов моделирования. Например, перед запуском модели можно сформировать график с помощью команды меню «Окно — Окно моделирования — Окно редактора участка» (рис. 10.4).

Далее после ввода параметров, как показано на рис. 10.3, и нажатия на кнопку «Участок» будет сформирован график, на котором отображается динамика формирования транзактов и попадания их в очередь (рис. 10.5).

Помимо графического представления результатов имитационного моделирования также поддерживается возможность анализа использования ресурсов с помощью команды меню «Окно — Окно моделирования — Окно услуг» (рис. 10.6).

Окно редактора участка (графика)

Рис. 10.4. Окно редактора участка (графика)

Визуализация результатов моделирования

Рис. 10.5. Визуализация результатов моделирования

в GPSS World

Анализ использования ресурсов в GPSS World

Рис. 10.6. Анализ использования ресурсов в GPSS World

На рис. 10.6 указано, что ресурс BARBER был занят на 60% времени и что в момент завершения процесса моделирования парикмахер был свободен, так как ресурс был не занят.

 
Посмотреть оригинал
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Предыдущая   СОДЕРЖАНИЕ   Следующая >
 

Популярные страницы