
- •Воронежский государственный технический университет
- •Утверждено Редакционно-издательским советом университета в качестве учебного пособия
- •Введение
- •2. Классификация видов моделирования систем
- •3. Основные математические методы моделирования информационных процессов и систем
- •3.1. Виды математических моделей
- •3.2. Структурные математические модели
- •3.3. Функциональные математические модели
- •3.3.1. Непрерывно-детерминированные модели
- •3.3.2. Непрерывно-стохастические модели
- •3.3.2.1. Анализ работы разомкнутых смо
- •3.3.2.2. Замкнутые смо
- •3.4. Моделирование дискретных систем
- •3.4.1. Конечные автоматы
- •3.4.2. Дискретно-детерминированные модели
- •3.4.3. Вероятностные автоматы
- •3.5. Сетевые модели. Сети Петри (n-схемы)
- •4. Имитационное моделирование информационных процессов
- •4.1. Организация статистического моделирования
- •4.2Моделирование случайной величины с заданным законом распределения
- •4.3 Моделирование равномерно распределенных на отрезке [a,b] случайных чисел
- •4.4. Моделирование показательно распределенных св
- •4.5. Моделирование нормально распределенных случайных чисел
- •4.6. Проверка качества случайных чисел по критерию
- •4.7. Точность статистических оценок
- •4.8. Аппроксимация результатов моделирования
- •5. Формализация и алгоритмизация процессов функционирования систем
- •5.1. Методика разработки и машинной реализации моделей систем
- •5.2. Построение концептуальных моделей систем и их формализация
- •5.3. Алгоритмизация моделей систем и их машинная реализация
- •6. Планирование имитационных моделй с экспериментами
- •6.1. Полный факторный эксперимент
- •6.2. Дробные реплики
- •6.3. Общая схема планирования эксперимента
- •6.3.1. "Крутое восхождение"
- •6.3.2. Этапы планирования эксперимента
- •6.4. Стратегическое планирование
- •6.5. Тактическое планирование
- •7. Оценка точности и достоверности результатов моделирования
- •7.1. Общие положения
- •7.2. Регрессионный анализ
- •7.3. Корреляционный анализ
- •7.4. Экспертные оценки
- •8. Инструментальные средства моделирования систем
- •8.1. Архитектура языков имитационного моделирования
- •8.2. Задание времени в машинной модели
- •8.3. Сравнительный анализ языков моделирования
- •8.4. Примеры прикладных пакетов моделирования и языков моделирования
- •9. Правила построения моделирующих алгоритмов и способы реализации моделей
- •10. Сетевые модели вычислительных систем
- •10.1. Определение: Сеть Петри
- •Объекты, образующие сеть Петри
- •2Расширенная входная Расширенная выходная
- •10.2. Маркировка сети Петри.
- •10.3. Пространство состояний сети Петри
- •10.4. Моделирование параллельных процессов.
- •10.5. Моделирование процессора с конвейерной обработкой
- •10.6. Кратные функциональные блоки компьютера
- •10.7. Сети Петри и программирование
- •10.8. Взаимно исключающие параллельные процессы
- •10.9. Анализ сетей Петри
- •10.10. Дерево достижимости сети Петри
- •В позицию может входить и выходить только одна дуга
- •11. Система имитационного моделирования gpss/pc
- •11.1. Назначение и основные возможности системы
- •11. 2. Состав системы моделирования gpss/pc
- •11.3. Структура операторов языка gpss/pc
- •11.4. Команды среды gpss/pc
- •11.5. Основные операторы языка gpss/pc
- •11.5.1. Начало gpss-модели
- •11.5.2. Комментарии в gpss/pc
- •11.5.3. Имитация потоков событий. Транзакты
- •11.5.4. Имитация типовых узлов смо
- •11.6. Информация о ходе моделирования
- •11.6.1. Окно данных
- •11.6.2. Окно блоков
- •11.6.3. Окно устройств
- •11.6.4. Окно многоканальных устройств
- •11.7. Информация о результатах моделирования
- •11.7.1. Файл результатов моделирования
- •11.7.2. Содержание результатов моделирования
- •11.9. Управление движением транзактов
- •11.10. Дополнительные средства сбора информации о модели
- •11.11. Стандартные числовые атрибуты
- •11.12. Выбор направления движения транзактов с использованием сча
- •11.13. Датчики случайных чисел в gpss/pc
- •11.14. Функции в gpss/pc
- •11.14.1. Дискретные функции
- •11.14.2. Непрерывные функции
- •11.15. Переменные в gpss/pc
- •11.16. Организация циклов
- •11.17. Логические переключатели
- •11.18. Управление движением транзактов в зависимости от состояния элементов модели
- •11.19. Моделирование согласованных процессов на gpss-pc
- •11.19.1. Создание ансамблей транзактов
- •11.19.2. Накопление нескольких транзактов для последующей обработки
- •11.19.3. Объединение нескольких транзактов в один
- •11.19.4. Синхронизация движения транзактов в модели
- •11.20. Время пребывания транзакта в модели
- •11.21. Сбор данных о распределении значений характеристик модели. Таблицы
- •11.22. Изменение имени файла результатов моделирования
- •11.23. Приведение модели к исходному состоянию
- •11.24. Многократное выполнение моделирования
- •11.25. Моделирование нескольких вариантов системы в одной gpss-модели
- •11.26. Время моделирования
- •3 94026 Воронеж, Московский просп., 14
11.21. Сбор данных о распределении значений характеристик модели. Таблицы
В системе моделирования GPSS/PC имеется возможность сбора данных о распределении значений различных числовых величин модели (времени пребывания транзактов в модели, длин очередей и т.д.) по диапазонам. Эти данные выводятся в файл результатов моделирования в табличной форме: указывается количество случаев за время моделирования, когда заданная характеристика модели принимала значения из диапазонов [B,B+C], [B+C,B+2C], [B+2C,B+3C] и т.д., где B и C - конкретные числа (границы и размеры диапазонов), задаваемые при объявлении таблицы. Более подробно структура таблицы рассматривается ниже.
Каждая таблица распределения значений характеристик модели по диапазонам (далее - просто таблица) объявляется в начале текста GPSS-модели (до первого оператора GENERATE) следующим оператором:
метка TABLE A,B,C,D
где метка - имя таблицы (обычно - символьное); оно может быть любым;
A - имя СЧА, распределение которого по диапазонам требуется показать в таблице (этот СЧА называется также аргументом таблицы или табулируемой величиной);
B - верхняя граница первого диапазона аргумента таблицы;
C - шаг таблицы (разность между верхней и нижней границей каждого диапазона);
D - количество диапазонов.
В качестве операнда A во многих случаях указывается имя М1 (так как часто требуется получить данные о времени пребывания транзактов в модели). Операнды B, C, D - целые числа. Значение операнда B следует выбирать близким к минимально возможному значению аргумента таблицы, а значение операнда D - близким к максимально возможному значению аргумента таблицы (как правило, эти величины в точности неизвестны). Значения операнда C выбирается в зависимости от того, с какой точностью требуется получить данные о распределении значений аргумента таблицы.
Регистрация значения СЧА, заданного в операнде А при объявлении таблицы, производится при прохождении транзакта через следующий опе-ратор:
TABULATE A
где А - имя таблицы.
Оператор TABULATE указывается в тексте GPSS-модели в том месте, где требуется получить данные о значении заданного СЧА.
Пример. Выполняется моделирование работы ВЦ. Требуется получить данные о времени выполнения заявок на решение задач (время выполнения заявки включает ожидание и непосредственно решение задачи на ЭВМ). Пусть требуется получить данные о том, для какого количества заявок время выполнения оказывается следующим: менее двух часов, от 2 до 3 часов, от 3 до 4,..., от 9 до 10, более 10 часов.
10 SIMULATE
20 XPDIS FUNCTION RN1,C24
... таблица соответствия для экспоненциального распределения ...
30 COMP STORAGE 2
40 VREMRESH TABLE M1,120,60,10
50 GENERATE 120,FN$XPDIS
60 QUEUE 1
70 ENTER COMP
80 DEPART 1
90 ADVANCE 180,60
100 LEAVE COMP
110 TABULATE VREMRESH
120 TERMINATE
130 GENERATE 60000
140 TERMINATE 1
Для сбора данных о времени выполнения заявок в модель введена таблица VREMRESH. Она объявлена в операторе 40. Смысл операндов следующий: М1 - величина, распределение которой по диапазонам отражается в таблице (М1 - время пребывания транзакта в модели, т.е. время вы-полнения заявки); 120 - верхняя граница первого диапазона (2 часа); 60 - ширина диапазона (1 час); 10 - количество диапазонов. Регистрация значения М1 в таблице выполняется при прохождении транзакта через оператор TABULATE (т.е. по окончании имитации решения задачи на ЭВМ).
Содержание таблицы в выходных данных модели следующее .
TABLE - имя таблицы.
MEAN - среднее значение аргумента таблицы (т.е. среднее за время моде- лирования значение величины, указанной в операнде А при объявлении таблицы).
STD.DEV. -среднеквадратическое отклонение аргумента таблицы (величи- на, характеризующая отклонения отдельных значений аргумен- та таблицы от среднего значения, указанного в колонке MEAN).
RETRY - количество транзактов, ожидающих каких-либо условий, завися- щих от состояния данной таблицы.
RANGE - диапазон значений аргумента таблицы (всего указывается D таких диапазонов, где D - операнд в объявлении таблицы).
FREQUENCY -количество попаданий аргумента таблицы в соответствующий диапазон (количество случаев за время моделирования, когда аргумент таблицы принимал значение из данного диапазона).
CUM.% - частота (в процентах) попаданий аргумента таблицы в данный диапазон и во все предыдущие диапазоны.
Для модели из примера таблица имеет следующий вид.
TABLE MEAN STD.DEV. RETRY RANGE FREQUENCY CUM.%
VREMRESH 317.19 151.11 0
- 120 2 0.39
120 - 180 98 19.57
180 - 240 121 43.25
240 - 300 55 54.01
300 - 360 68 67.32
360 - 420 43 75.73
420 - 480 38 83.17
480 - 540 27 88.45
540 - 600 32 94.72
600 - 27 100.00
Как видно, в среднем выполнение одной заявки занимало 317,19 минуты. Менее чем за два часа было выполнено две заявки, или 0,39% от их общего количества; за время от 2 до 3 часов- 98 заявок, или 19,18% (19,18 = 19,57-0,39), и т.д.
Примечание. Величины, указываемые в качестве аргументов таблиц, практически всегда являются случайными. Таблица содержит оценки веро-ятностных характеристик этих величин: математического ожидания (MEAN) и среднеквадратического отклонения (STD.DEV.). Кроме того, используя колонки RANGE и FREQUENCY, можно построить гистограмму распределения данной случайной величины, а по колонкам RANGE и CUM.% - ее функцию распределения.
Каждая таблица имеет стандартные числовые атрибуты.
TB - среднее значение аргумента таблицы.
TD - среднеквадратическое отклонение аргумента таблицы.
TC - количество зарегистрированных значений аргумента таблицы (количество транзактов, входивших в оператор TABULATE).
На СЧА таблиц можно ссылаться в операторах GPSS-модели, как и на любые другие СЧА. Например, если бы потребовалось записать среднее время обслуживания заявки в сохраняемую величину (например, с именем SRED_VREM), то для этого использовался бы следующий оператор: SAVEVALUE SRED_VREM,TB$VREMRESH.
В любой момент во время моделирования, а также по окончании моделирования имеется возможность вызвать на экран окно таблиц. Для этого требуется нажать клавиши Alt-T. В нем отображается содержимое таблицы в виде гистограммы: по оси абсцисс откладываются диапазоны значений аргумента таблицы, и на каждом диапазоне строится столбик, высота которого соответствует частоте попаданий аргумента таблицы в этот диапазон. Указывается также среднее значение (Mean) и среднеквадратическое отклонение (S.D.) аргумента таблицы. По окончании моделирования можно вывести окно таблиц на принтер (нажатием клавиши "Печать экрана"); таким образом будет получено графическое (в виде гистограммы) представление значений аргумента таблицы. Возврат из окна таблиц в окно данных выполняется, как и для других окон, нажатием клавиш Alt-D.