- •Воронежский государственный технический университет
- •Утверждено Редакционно-издательским советом университета в качестве учебного пособия
- •Введение
- •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.14.2. Непрерывные функции
Значение непрерывной функции определяется системой GPSS/PC следующим образом:
- определяется значение аргумента функции (операнд A в операторе FUNCTION, объявляющим данную функцию);
- находится величина аргумента функции xi, такая, что выполняется условие: xi-1 A xi;
- значение функции находится из диапазона [yi-1, yi] методом линейной интерполяции, т.е. функция на участке от точки (xi-1, yi-1) до (xi, yi) предполагается линейной.
Основное назначение непрерывных функций - имитация непрерывных случайных величин (НСВ). Непрерывная функция для такой цели составляется следующим образом.
1. Находится алгоритм для имитации заданной НСВ, например, по методу обратных функций: X = F-1 (R), где X - имитируемая НСВ, R - СРРЧ.
2. Для значений СРРЧ R0,R1,R2,...,Rn (эти значения могут выбираться, например, с определенным шагом) находятся соответствующие им значения имитируемой НСВ: Xi = F-1 (Ri), i=0,...,n. При этом должны соблюдаться следующие требования: R0=0, R0<R1<R2<...<Rn. Величина Rn должна быть близка к 1.
3. Составляется функция для имитации НСВ:
метка FUNCTION RNj,Cn
0.0,X0/R1,X1/R2,X2/...../1,Xn
где j - номер используемого датчика случайных чисел;
n - количество пар "аргумент-значение" (аргументом здесь является СРРЧ, а значением - имитируемая НСВ).
Примечание. Первая величина аргумента функции (R0) должна записываться следующим образом: 0.0. Другие дробные величины можно записывать по-разному; например, величину 0,127 можно записать и как 0.127, и как .127.
Пример Рассмотрим функцию для имитации экспоненциальной НСВ. Для имитации таких НСВ по методу обратных функций получена следующая формула: X = -m ln(1-R), где m - математическое ожидание (среднее значение) имитируемой НСВ. Например, если требуется имитировать интервалы времени между событиями в пуассоновском потоке (эти интервалы представляют собой экспоненциальные НСВ), и интенсивность потока равна , то средняя длительность интервала между событиями находится следующим образом: m = 1/ . При m=1 формула для имитации экспоненциальной НСВ имеет вид: X = -ln(1-R). Функция для имитации экспоненциальной НСВ с математическим ожиданием, равным 1, имеет следующий вид.
XPDIS FUNCTION RN1,C24
0.0,0.0/0.1,.104/.2,.222/.3,.335/.4,.509/.5,.69
.6,.915/.7,1.2/.75,1.38/.8,1.6/.84,1.83/.88,2.12
.9,2.3/.92,2.52/.94,2.81/.95,2.99/.96,3.2/.97,3.5
.98,3.9/.99,4.6/.995,5.3/.998,6.2/.999,7.0/.9997,8.0
В тексте GPSS-модели оператор FUNCTION имеет также номер (как и любой другой оператор). Вместо имени функции XPDIS может использоваться любое другое имя.
Пример. Рассмотрим функцию для имитации гауссовской (нормальной) НСВ с математическим ожиданием, равным 0, и среднеквадратическим отклонением, равным 1. Для такой НСВ невозможно аналитически записать функцию распределения (а значит, и обратную к ней). Поэтому для получения значений НСВ, соответствующих СРРЧ R, использованы численные методы вычисления интегралов. Функция для имитации такой НСВ меет следующий вид.
SNORM FUNCTION RN1,C25
0.0,-5/0.00003,-4./.00135,-3.0/.00621,-2.5/.02275,-2./.06681,-1.5
.11507,-1.2/.15866,-1./.21186,-.8/.27425,-.6/.34458,-.4/.42074,-.2
.5,0.0/.57926,.2/.65542,.4/.72575,.6/.78814,.8/.84134,1/.88493,1.2
.93319,1.5/.97725,2/0.99379,2.5/.99865,3/0.99997,4.0/1.0,5.0
Примечание. В дальнейшем набор значений СРРЧ и соответствующих им значений имитируемой НСВ будем называть "таблицей соответствия".
Рассмотрим пример задачи, для решения которой требуется моделировать НСВ.
Пример. Имитируется работа ВЦ, имеющего три ЭВМ. Поток задач, поступающих на решение - пуассоновский (т.е. интервалы времени между задачами - случайные величины, распределенные по экспоненциальному закону). Средний интервал между поступлениями задач на решение 2 часа. Время решения задачи - случайная величина, также распределенная по экспоненциальному закону; среднее время решения одной задачи 5 часов. Требуется разработать GPSS-модель для анализа работы ВЦ в течение 100 часов.
10 SIMULATE
20 XPDIS FUNCTION RN1,C24
0.0,0.0/0.1,.104/.2,.222/.3,.335/.4,.509/.5,.69
.6,.915/.7,1.2/.75,1.38/.8,1.6/.84,1.83/.88,2.12
.9,2.3/.92,2.52/.94,2.81/.95,2.99/.96,3.2/.97,3.5
.98,3.9/.99,4.6/.995,5.3/.998,6.2/.999,7.0/.9997,8.0
30 COMP STORAGE 3
40 GENERATE 120,FN$XPDIS
50 QUEUE 1
60 ENTER COMP
70 DEPART 1
80 ADVANCE 300,FN$XPDIS
90 LEAVE COMP
100 TERMINATE
110 GENERATE 6000
120 TERMINATE 1
Примечание. Как уже говорилось ранее, в операторах GENERATE и ADVANCE первый операнд (A) задает среднее значение временного интервала (для оператора GENERATE - это интервал между моментами генерации транзактов, для ADVANCE - интервал задержки транзактов). Второй операнд этих операторов (B) задает отклонение соответствующего временного интервала от среднего значения. Если в качестве операнда B указано конкретное число, то моделируемый временной интервал будет представлять собой величину AB (т.е. распределенную по равномерному закону). В других случаях величина моделируемого интервала вычисляется как A*B. Так, например, в операторе GENERATE 120,FN$XPDIS интервал времени между транзактами (имитирующими поступление задач) вычисляется по формуле: -120 ln(1-R), т.е. по обычной формуле имитации экспоненциальной НСВ методом Монте-Карло (1.18).