- •Лекции по дисциплине «имитационное моделирование» Введение Основные понятия имитационного моделирования
- •Условия существования моделей
- •Типовые задачи, решаемые средствами им при управлении экономическими объектами
- •Основные этапы машинного моделирования систем
- •Правила и способы реализации моделей на эвм
- •Обзор программных систем имитационного моделирования
- •Разработка имитационных моделей в среде gpss
- •Объекты
- •Часы модельного времени
- •Типы операторов
- •Блоки языка gpss
- •Управление продолжительностью процесса моделирования
- •Элементы, отображающие одноканальные обслуживающие устройства
- •Переход транзакта в блок, отличный от последующего
- •Моделирование многоканальных устройств
- •Примеры построения gpss-моделей
- •Переменные
- •Определение функции в gpss
- •Моделирование неравномерных случайных величин
- •Моделирование вероятностных функций распределения в gpss-World
- •Табулирование результатов экспериментов
- •Сча транзакты
- •Математические предпосылки создания имитационной модели Процессы массового обслуживания в экономических системах
- •Системы с одним устройством обслуживания
- •Многоканальные смо
- •Вероятностное моделирование Метод Монте-Карло
- •Способы необходимой сходимости метода Монте-Карло
- •Определение количеств реализаций при моделировании случайных величин
- •Сбор статистических данных для получения оценок характеристик случайных величин
- •Получение и преобразование случайных чисел. Датчики случайных чисел
- •Получение случайных чисел с заданным законом распределения
- •Метод Неймана (разыгрывания случайной величины)
- •Проверка гипотез по категориям типа событие – явление – поведение
- •Риски и прогнозы
- •Распределительные процессы
- •Процессы обслуживания клиентов
- •Процессы управления разработками проектов
- •Имитация информационных ресурсов
- •Денежные ресурсы
- •Перспективные направления моделирования бизнеса
- •Оценка качества имитационной модели
- •Оценка адекватности модели
- •Оценка устойчивости системы
- •Оценка чувствительности имитационной модели
- •Калибровка модели
Часы модельного времени
Реальные события происходят в течение некоторого периода времени, а в модели эти события происходят на фоне модельного времени. Интерпретатор автоматически обслуживает часы модельного времени.
В начале моделирования интерпретатор планирует появление первого транзакта. После этого часы модельного времени устанавливаются на значение времени, которое соответствует появлению первого транзакта в модели. Этот транзакт (или несколько транзактов, если они приходят в один и тот же момент времени) входит в модель. Далее он передвигается через все возможные блоки модели, которые ему встречаются. События, которые возникают вследствие перемещения транзакта через блоки, планируются на дальнейшие моменты времени, т.к. в отмеченный момент времени больше в системе ничего не происходит. Таким образом, смена модельного времени происходит от события к событию и т.д.
Особенности часов GPSS:
- Часы GPSS регистрируют целые значения. Для языка GPSS и С и могут регистрировать действительные значения для GPSS World.
- Единица модельного времени определятся разработчиком.
- Система GPSS является интерпретатором «следующего события», т.е. после того как модель скорректирована в данный момент дискретно изменяющегося времени, часы перемещаются к следующему моменту времени, на который запланированы следующие события.
Типы операторов
Операторы GPSS делятся на три типа:
блоки;
операторы описания данных;
3. команды GPSS.
В GPSS для ссылки на числа, блоки и объекты используются имена длиной до 250 символов, начинающихся с буквы.
Формат GPSS-блока:
[Номер строки] [<Метка>] <Операция> <Операнды>; <Комментарии>
Номер строки в GPSS World игнорируется.
Метка – последовательность символов, начинающихся с буквы. В некоторых операторах это поле обязательно.
Операция – название блока, т.е. глагол, отражающий его функциональное назначение.
Операнды – задают информацию специфичную для действия данного блока. В общем случае обозначаются символами: А, В, С, D, Е, F, G.
Блоки языка gpss
1. Внесение транзактов в модель. Формат блока:
generate [A], [B], [C], [D], [E]
А – среднее значение интеграла поступления числа СЧА (по умолчанию 0);
В – величина разброса возможных значений относительно среднего значения (СЧА по умолчанию 0);
С – смещение интегралов, т.е. момент времени, в который должен появиться первый транзакт;
D
– ограничитель транзактов (по умолчанию
)
указывает число транзактов, которые
могут войти в модель через данный блок;
Е – уровень приоритета каждого из транзактов (по умолчанию 0, возможные значения 0 – 127).
Пример. Задание равномерного закона распределения
generate 6, 4
А = 6, В = 4
Интервал времени поступления является случайным числом со средним 6 и полем допуска 8, т.е. он может принимать значения {1, 2, 3, 4, 5, 6…10}
generate , , , 1
А = В = С = 0 – по умолчанию;
D = 1 – в любой момент времени входит один транзакт.
2. Удаление транзактов из модели
terminate [А]
А - величина уменьшения специального счетчика, называемого счетчиком завершения.
А задает величину, которая вычитается из счетчика каждый раз, когда транзакт входит в terminate. По умолчанию А=0. При А = 0 уменьшение счетчика завершения не происходит. Начальное значение счетчика устанавливается в начале моделирования и равно значению операнда команды Satrt A.
Моделирование заканчивается, когда значение счетчика становится равным 0 или отрицательному числу.
В модели может быть много блоков terminate, но счетчик завершения один со значением, указанным в команде start.
! Не путать ограничитель транзактов в блоке generate и счетчик завершения. Ограничитель задает число транзактов, которые войдут в модель, а счетчик - число транзактов, которые выйдут из модели (по окончанию моделирования транзакты могут оставаться в модели).
