- •Воронежский государственный технический университет
- •Утверждено Редакционно-издательским советом университета в качестве учебного пособия
- •Введение
- •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.19.2. Накопление нескольких транзактов для последующей обработки
Для накопления заданного количества транзактов и их последующей передачи (всех одновременно) в следующий оператор модели используется оператор:
GATHER A
где A - количество накапливаемых транзактов.
Все транзакты, накапливаемые в операторе GATHER, должны принадлежать одному ансамблю (т.е. должны быть созданы оператором SPLIT из одного исходного транзакта).
Оператор GATHER часто используется, например, при моделировании производственных систем для имитации одновременной обработки нескольких изделий.
.....
11.19.3. Объединение нескольких транзактов в один
Для объединения заданного количества транзактов в один транзакт используется следующий оператор:
ASSEMBLE A
где A - количество объединяемых транзактов.
Все транзакты, объединяемые в операторе ASSEMBLE, должны принадлежать одному ансамблю.
Примечание. Оператор ASSEMBLE работает следующим образом: накапливает A транзактов, пропускает первый из них в следующий оператор; остальные транзакты уничтожаются.
Важное (но не единственное) применение оператора ASSEMBLE - имитация процессов сборки изделий и составления комплектов изделий в моделях производственных систем.
11.19.4. Синхронизация движения транзактов в модели
Для синхронизации (согласования) движения двух транзактов в модели используется следующий оператор:
метка MATCH A
где A - метка другого оператора MATCH, называемого сопряженным с данным оператором.
Метка и операнд A обязательны.
В модели всегда должна быть пара операторов MATCH, причем метка одного из них должна совпадать с операндом A другого, и наоборот.
Примечание. В модели может быть несколько пар операторов MATCH.
Операторы MATCH работают следующим образом. Транзакт, вошедший в оператор MATCH, не пропускается дальше до тех пор, пока в другой (сопряженный) оператор MATCH не войдет транзакт, принадлежащий тому же ансамблю. Как только в обоих операторах MATCH оказывается по одному транзакту, оба транзакта (одновременно) пропускаются в операторы, следующие за операторами MATCH.
Пример. На ВЦ, имеющий три ЭВМ, поступают задания двух типов (A и B). Интервалы между моментами поступления задач и времена их решения представляют собой случайные величины, распределенные по экспоненциальному закону.
Задания типа A поступают в среднем через каждые 5 часов. Эти задания состоят из двух задач (A1 и A2). Решение задачи A1 занимает в среднем 2 часа. Задача A2 может решаться только после получения результатов решения задачи A1; кроме того, для обработки результатов задачи A1, необходимых для решения задачи A2, требуется 155 минут. Решение задачи A2 занимает в среднем 1 час 30 минут. Задания типа B представляют собой отдельные задачи; интервалы между этими заданиями составляют в среднем 3,5 часа, а время решения - 1 час.
Требуется разработать GPSS-модель для анализа работы ВЦ в течение 100 часов. Предусмотреть подсчет количества выполненных заданий каждого типа.
10 SIMULATE
20 XPDIS FUNCTION RN1,C24
... таблица соответствия для экспоненциального распределения ...
30 COMP STORAGE 3
40 GENERATE 300,FN$XPDIS
50 SPLIT 1,Z2
60 ASSIGN 1,1
70 ASSIGN 2,120
80 TRANSFER ,OBR
90 Z2 ASSIGN 1,2
100 ASSIGN 2,90
110 QUEUE OZH
120 NACHZ2 MATCH KONZ1
130 DEPART OZH
140 TRANSFER ,OBR
150 GENERATE 200,FN$XPDIS
160 ASSIGN 1,3
170 ASSIGN 2,60
180 OBR QUEUE 1
190 ENTER COMP
200 DEPART 1
210 ADVANCE P2,FN$XPDIS
220 LEAVE COMP
230 TEST NE P1,3,KON
240 TEST E P1,1,REZ
250 ADVANCE 15,5
260 KONZ1 MATCH NACHZ2
270 REZ ASSEMBLE 2
280 KON SAVEVALUE P1+,1
290 TERMINATE
300 ;
310 GENERATE 6000
320 TERMINATE 1
Модель работает следующим образом. Для имитации ВЦ используется многоканальное (трехканальное) устройство COMP. Операторы 40 и 150 имитируют поступление на ВЦ заданий типа A и B соответственно. Транзакты, имитирующие задания типа A, разделяются (оператор 50) на два транзакта, имитирующих задачи A1 и A2. В первый параметр каждого транзакта заносится число: 1 - задача A1, 2 - A2, 3 - задание (задача) B. Во второй параметр каждого транзакта заносится среднее время решения соответствующей задачи. Транзакты, имитирующие задачи A1 и B, сразу же поступают на обработку (в очередь к ЭВМ). Решение задач на ЭВМ имитируется операторами 180-220.
Транзакты, имитирующие задачи A2, поступают в очередь OZH; эта очередь введена в модель для получения информации об ожидании задачами A2 результатов решения задач A1. Транзакт, поступивший в очередь OZH, передается в оператор 120; в этом операторе он ждет, пока другой транзакт (имитирующий задачу A1) войдет в сопряженный оператор 260. Это происходит после того, как транзакт, имитирующий задачу A1, выходит из устройства COMP, а также задерживается на 155 минут; после этого имитируется поступление задачи A2 на обработку (соответствующий транзакт выходит из оператора 120, покидает очередь OZH и передается в оператор 180, т.е. в очередь к ЭВМ). В операторе 270 происходит объединение транзактов, имитирующих задачи A1 и A2. Таким образом имитируется окончание обработки задания A (решение обеих задач, входивших в него).