- •Язык имитационного моделирования gpssWorld
- •Базовые понятия системы имитационного моделирования gpssWorld.
- •Системные числовые атрибуты
- •Логические и условные операторы
- •Формат записи операторов языка gpss
- •Операторы, имитирующие работу динамической категории объектов.
- •Операторы, имитирующие работу аппаратной категории объектов.
- •Операторы, имитирующие работу статистической категории объектов
- •Операторы операционной категории
- •Блок выбора объекта из однородной совокупности объектов по заданному условию
- •Блоки, изменяющие маршрут движения транзактов.
- •Размножение транзактов.
- •Операторы вычислительной категории
- •Операторы, имитирующие работу группирующей категории
- •Операторы, имитирующие работу запоминающей категории
- •Примеры построения модели на языке gpssWorld
- •Пример №1
- •Пример №2
- •Пример №3
- •Пример №4
- •Пример №5
- •Пример №6
- •Редактор форм
- •Введение
- •Создание формы и указание модели
- •Ввод информации о модели
- •Настройка динамического мониторинга
- •Добавление пользовательского объекта мониторинга
- •Построение формы ввода одного эксперимента
- •Корневая панель
- •Команда «Надпись»
- •Команда «Группа»
- •Команда «Элемент управления вкладками»
- •Команда «Скрывающаяся панель»
- •Команда «Изображение»
- •Команда «Секция ввода»
- •Привязка к операнду
- •Связывание элемента диалога и элемента «надпись»
- •Добавление/удаление факторов
- •Команда «Выпадающий список»
- •Команда «Галка»
- •Команда «Кнопка»
- •Форма планирования экспериментов
- •Принципы планирования
- •Добавление факторов
- •Добавление показателей
- •Выбор серии экспериментов
- •Ручной план эксперимента
- •Автоматическое построение плана с использованием шага
- •Работа с exe-модулем
- •Ошибки во время моделирования
- •Анализ результатов
- •Открытие результатов
- •Анализ результатов моделирования одиночного эксперимента
- •Стандартный отчет
- •План полного факторного эксперимента.
- •План дробного факторного эксперимента
- •Планы второго порядка
- •Ортогональный центральный композиционный план
- •Ротатабельный центральный композиционный план
- •Планы Коно
- •Планы Кифера
- •Использование пакета Statistica10 для статистической обработки экспериментальных данных
- •Вычисление основных статистических характеристик
- •Оценка нормальности распределения
- •Необходимость проверки нормальности распределения анализируемых данных
- •Проверка на нормальность распределения анализируемых данных
- •Тесты Колмогорова – Смирнова и Шапиро – Уилка
- •График нормальных вероятностей
- •Корреляционный анализ
- •Коэффициент корреляции Пирсона
- •Коэффициент корреляции Спирмена
- •Факторный анализ
- •Выбор числа факторов
- •Кластерный анализ
- •Стандартизация данных
- •Кластерный анализ
- •Регрессионный анализ
- •Оптимизация
- •Пример моделирования предметной области и анализ результатов
- •Модель процесса сборки пк
- •Разработка модели процесса сборки пк
- •Моделирование процесса сборки пк
- •Настройки модели
- •Корреляционный анализ
- •Регрессионный анализ
- •Задание
- •Задание на лабораторную работу №1
- •Задания на лабораторную работу №2
- •Задание на лабораторную работу №3
- •Варианты заданий
- •Варианты первых заданий
- •Варианты вторых заданий
- •Варианты третьих заданий
Операторы, имитирующие работу статистической категории объектов
В статистическую категорию входят очереди и таблицы. Очереди используются аналогично памяти, но требуется учитывать, что память это в первую очередь аппаратура, а очередь в принципе может быть «живой», то есть представлять собой совокупность людей. Для изменения состояния очереди используются блоки (см. Таблица 1 .9).
Таблица 1.9 Операторы, изменяющие состояние очереди
№ |
Блок |
Описание |
1 |
QUEUE A,B |
Занятие очереди |
2 |
DEPART A,B |
Освобождение очереди |
В операнде А указывается идентификатор очереди, а в операнд В можно указать количество занимаемых (блок QUEUE) или освобождаемых (блокDEPART) мест. По умолчанию принимается один транзакт.
Для работы с таблицами используются операторы (см. Таблица 1 .10).
Таблица 1.10 Операторы, изменяющие состояние таблицы
№ |
Команда |
Описание |
1 |
NAME TABLE A,B,C,D |
Объявление таблицы |
2 |
NAME QTABLE A,B,C,D |
Табуляция времени ожидания в очереди |
№ |
Блок |
Описание |
1 |
TABULATEA |
Изменение состояния таблицы |
В операнде А блока TABULATEуказывается идентификатор таблицы, в которую производится запись указанного значения. Идентификатор таблицы должен быть указан и в поле метки команды. В качестве идентификатора используется имя, которое должно начинаться с буквы латинского алфавита. В операнде А командыTABLEуказывается аргумент таблицы, значение которого требуется в ней зарегистрировать; в операнде В указывается левый предел аргумента таблицы. В операнде С указывается вес одного интервала таблицы, в операндеD– количество интервалов таблицы.
В стандартном отчете указывается количество попаданий аргумента в каждый интервал таблицы и системные числовые аргументы таблицы (см. Таблица 1 .11).
Таблица 1.11 СЧА таблицы
№ |
СЧА |
Описание |
1 |
TB |
Среднее значение аргумента |
2 |
TD |
Стандартное отклонение аргумента |
3 |
TC |
Количество транзактов, входивших в блок TABULATE |
В поле метки команды QTABLEуказывается идентификатор таблицы, который должен начинаться с латинской буквы. В операнде А указывается идентификатор очереди, время ожидания в которой табулируется. В операнде В указывается левый предел аргумента таблицы. В операнде С указывается вес одного интервала таблицы, в операндеD– количество интервалов таблицы.
Операторы операционной категории
Блок выбора объекта из однородной совокупности объектов по заданному условию
Для выбора объекта из заданной совокупности объектов используется блок SELECTOA,B,C,D,E,F.
В поле операции блока с пробелом в одну позицию после идентификатора операции записывается условный или логический оператор. В операнде А указывается идентификатор параметра, в который записывается номер выбранного объекта. В операнде В указывается левый предел совокупности выбираемого объекта, а в операнде С – правый. Операнд Dзаполняется только в том случае, если оператор О – условный. В операнде Е указывается СЧА выбираемых объектов. В операндеFможет быть указана метка, к которой направляется транзакт в случае, если ему не удалось найти ни одного объекта по заданному условию. В случае успешного поиска транзакт поступает к следующему блоку. В случае если поиск оказался неуспешным, а операндFпустой, то транзакт также переходит к следующему блоку. Отметим, что идентификаторы объектов могут быть заданы только цифрами. Если они заданы буквенными именами, то производят переход к номерам с помощью командыNAMEEQUА. В поле метки команды указывается имя объекта, а в операнде А присваиваемый объекту номер.
Блок SELECTможно использовать и для выбора памяти из однородной совокупности. В этом случае нужно учесть, что описание памятей можно производить только по их именам, а выбирать из них блокомSELECTможно только по номерам. Поэтому перед описанием памяти требуется обязательно установить соответствие между именами и номерами памяти.
Примеры использования описанных выше блоков приведены в таблице 1 .12.
Таблица 1.12 Примеры использования операторов операционной категории
Пример использования оператора |
Комментарии |
SELECTMINVIBOR,1,8,,FR |
Выбор устройства по наименьшему коэффициенту использования. В этом случае не может быть отказа. |
STORAGE_1 EQU 1 STORAGE_2 EQU 2 STORAGE_3 EQU 3
STORAGE_1 STORAGE 10 STORAGE_2 STORAGE 10 STORAGE_3 STORAGE 10
SELECT SNF 3, STORAGE_1,STORAGE_3,,,METKA_EXIT |
Выбор незаполненной памяти. Если все памяти заполнены, то транзакт перейдет на метку METKA_EXIT |