Файл: Конспект лекций Для студентов специальности 080801. 65 - приклад.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 30.12.2025
Просмотров: 3292
Скачиваний: 0
СОДЕРЖАНИЕ
Федеральное агентство по образованию
Глава 5. Моделирование вычислительных и операционных систем 289
Глава 6. Основы моделирования процессов 305
Глава 7. Задания для самостоятельной работы 311
Глава 8. Проектирование имитационных моделей 335
Глава 9. Технология имитационного моделирования 361
Глава 10. Примеры принятия решений с помощью имитационного моделирования 433
Глава 11. Задания для имитационных проектов 451
Глава 1. Модели массового обслуживания
1.1. Системы массового обслуживания и их характеристики
1.2. Системы с одним устройством обслуживания
1.3. Основы дискретно-событийного моделирования смо
1.4. Многоканальные системы массового обслуживания
Глава 2. Вероятностные сети систем массового обслуживания
2.2. Операционный анализ вероятностных сетей
Глава 3. Вероятностное моделирование
3.1. Метод статистических испытаний
3.2. Моделирование дискретных случайных величин
3.3. Моделирование непрерывных случайных величин
3.4. Сбор статистических данных для получения оценок характеристик случайных величин
Для оценки дисперсии случайной величины ξ используют формулу
3.5. Определение количества реализаций при моделировании случайных величин
По формулам (3.18-3.20) находим
Задачи для самостоятельной работы
Глава 4. Система моделированияgpss
4.4. Внесение транзактов в модель. БлокGenerate
Задание для самостоятельной работы:
4.5. Удаление транзактов из модели. БлокTerminate
4.6. Элементы, отображающие одноканальные обслуживающие устройства
4.7. Реализация задержки во времени. БлокAdvance
Задания для самостоятельной работы:
4.8. Сбор статистики об ожидании. Блоки queue, depart
4.9. Переход транзакта в блок, отличный от последующего. БлокTransfer
Задания для самостоятельной работы:
4.10. Моделирование многоканальных устройств
4.11. Примеры построенияGpss-моделей
4.13. Определение функции вGpss
4.14. Стандартные числовые атрибуты, параметры транзактов. Блоки assign, mark, loop
4.15. Изменение приоритета транзактов. БлокPriority
4.16. Организация обслуживания с прерыванием. Блоки preempt и return
Задание для самостоятельной работы:
4.18. Проверка числовых выражений. Блок test
Задание для самостоятельной работы:
4.19. Определение и использование таблиц
Задания для самостоятельной работы:
4.21. Обработка транзактов, принадлежащих одному семейству
4.22. Управление процессом моделирования в системеGpss
4.24. Блоки управления потоками транзактовLogic,gatelr,gatelSиGate
7 Testne p1,p2,asn2 ; Повторить, если адресат
4.25. Организация вывода временных рядов изGpss-модели
4.26. Краткая характеристика языкаPlus
4.28. Диалоговые возможностиGpssWorld
4.29. Отличия между gpss World и gpss/pc
Глава 5. Моделирование вычислительных и операционных систем
5.1. Операционные системы компьютеров
5.2. Сети и системы передачи данных
5.3. Проблемы моделирования компьютеров и сетей
Глава 6. Основы моделирования процессов
6.1. Производственные процессы
6.2. Распределительные процессы
6.3. Процессы обслуживания клиентов
6.4. Процессы управления разработками проектов
Глава 7. Задания для самостоятельной работы Задание 1. Моделирование разливной линии
8.1. Структура интерактивной системы имитационного моделирования
8.2. Построение концептуальной схемы модели
8.3. Параметрическая настройка модели
8.6. Запуск эксперимента и обработка результатов моделирования
8.7. Управление проектами и общей настройкой системы
8.8. Пример построения модели средствамиIss2000
Глава 9. Технология имитационногомоделирования
9.2. Организация экспериментов
9.3. Проблемы организации имитационных экспериментов
9.4. Оценка точности результатов моделирования
9.6. Дисперсионный анализAnovAв планированииэкспериментов
9.7. Библиотечная процедураAnova
9.8. Технология проведение дисперсионного анализа в системеGpss World
9.9. Особенности планирования экспериментов
9.10. Нахождение экстремальных значений на поверхности отклика
9.11. Организация экспериментов вGpssWorld
9.12. Выбор наилучшего варианта структуры системы
Глава 10. Примеры принятия решений с помощью имитационного моделирования
10.1. Моделирование производственного участка
10.2. Моделирование технологического процесса ремонта и замены оборудования
Глава 11. Задания для имитационных проектов
Блок RETURN является парным к блоку PREEMPT, также как блок RELEASE к блоку SEIZE, и предназначен для освобождения ранее захваченного устройства. Он имеет следующий формат:
RETURN A
Таблица 4.37

В операнде А задается номер устройства, с которого снимается прерывание. Прерывание может быть снято в блоке RETURN только тем транзактом, которым оно было сгенерировано.
Операнд А может быть именем, положительным целым, СЧА или СЧА*СЧА.
Пример 4.31
Рассмотрим пример работы компьютера, задействованного в управлении технологическим оборудованием. Для контроля состояния оборудования каждые 20 мин запускается одна из трех типов задач. Через каждые 5 мин работы процессора каждая задача выводит результаты работы в базу данных. При обращении двух и более задач к базе данных (БД) образуется очередь, которая обслуживается по правилу FIFO.
Общий объем памяти компьютера 1024 Кбайт. В первоначальный момент запуска компьютера загружается ОС, ядро которой постоянно находится в памяти и занимает 200 Кбайт. Компьютер работает в мультипрограммном режиме и во время выполнения операций вывода в БД процессор может выполнять другую задачу, если она загружена в память. После последнего вывода в БД задача выгружается из памяти и завершает свою работу.
Периодически с интенсивностью λ=0,005 мин-1 и экспоненциальным распределением возникает аварийный режим оборудования, при котором немедленно запускается на выполнение задача четвертого типа, выводящая оборудование из аварийного режима. Она прерывает работу всех других задач. Прерванная задача выгружается из памяти без вывода результатов в БД. По окончании выполнения задачи четвертого типа, она имеет преимущество для вывода в БД перед другими задачами. Вытесненные задачи с магнитного диска загружаются в память и продолжают работу. Необходимые данные для моделирования приведены в табл. 4.38.

Необходимо промоделировать работу компьютера в течение пяти суток и оценить размер очереди к памяти, ее загрузку и загрузку процессора.
Учитывая, что программа полностью прокомментирована, дадим только некоторые пояснения к ней. Задачи 1-го, 2-го, 3-го типов имеют приоритет равный 0. Задача четвертого типа, обрабатывающая аварийную ситуацию, имеет приоритет 3. При ее появлении немедленно занимается процессор и, если в это время выполняется задача другого типа, то она прерывается и выгружается из памяти (операнд В блока PREEMPT направляет прерванный транзакт в блок с меткой SVOP).
Для запуска работы компьютера используется один транзакт с приоритетом 5, который занимает 2 единицы памяти (200 Кбайт) и имитирует загрузку ядра ОС в память.


Задание для самостоятельной работы:
1. Из трех пунктов А, В и С в систему поступают заявки с приоритетами соответственно 1, 2 и 3. Все три потока заявок являются пуассоновскими со средним временем 60 с. Эти заявки поступают на устройство VALZH. После обслуживания этим устройством приоритеты всех заявок уравниваются и приобретают значение 4. Приведите фрагмент программы, которая моделирует эту ситуацию.
2. Выполните пример 4.37 в пошаговом режиме (используйте команду STEP 1 в пункте меню Command или откройте окно блоков). Убедитесь, что появление приоритетной задачи типа 4 прерывает обслуживание задач других типов и выгружает их из памяти.
3. Выполните задание 11 из главы 7.
4.17. Сохраняемые величины
В GPSS пользователю предоставляется возможность определить «свои» глобальные переменные, начальные значения которых могут быть заданы перед моделированием и к которым можно обратиться из любого места модели в любой момент времени. Эти переменные называют сохраняемыми величинами (ячейками). Совокупность логически связанных между собой ячеек образует матрицу (аналог массива).
В отличие от параметров транзакта, приоритета и отметки времени, которые теряются в момент выхода транзакта из модели, ячейки доступны на протяжении всего процесса моделирования. Значения сохраняемых величин не подсчитываются интерпретатором автоматически (как СЧА устройств, очередей, МКУ и т.п.), а задаются и изменяются программистом.
Сохраняемые величины могут принимать положительные и отрицательные значения. Стандартный числовой атрибут Xj (Х$<имя ячейки>) дает значение соответствующей сохраняемой величины. Например, Х2 - значение ячейки 2; X$DAY - значение ячейки DAY.
С матрицами связан стандартный числовой атрибут МХj(т,п) - значение, записанное в строке т и в столбце п матрицы j или МХ$<имя матрицы> (т,п), если матрица имеет символьное имя.
СЧА сохраняемой величины может быть использован для косвенного задания данных, а также как аргумент функций и таблиц.
Перед использованием матрица определяется оператором описания MATRIX. Начальные значения ячеек и матриц можно задать с помощью оператора описания INITIAL.
Допускается косвенная адресация ячеек, матриц, а также \ » ^ их строк и столбцов. Например: Х*Р2 - значение ячейки с \л/^ номером, который сохраняется в параметре 2; МХ*Р5(5,2) -элемент (5,2) матрицы, номер которой записан в параметре 5; МХЗ(Р4,Х2) - значение, записанное в строке Р4 и в столбце Х2 матрицы 3.
2, Недопустимой является запись такого вида: МХ1(МХ2(1,2),МХЗ(3,4)), поскольку нельзя задавать номера строк и столбцов матрицы с помощью СЧА матриц.
Оператор INITIAL (ИНИЦИАЛИЗИРОВАТЬ). Если в процессе моделирования происходит обращение к сохраняемой величине, которая не была задана, то интерпретатор выдает ошибку в процессе выполнения программы. Поэтому перед началом моделирования все сохраняемые величины должны быть инициализированы с помощью оператора INITIAL.
Формат оператора представлен в таблице.
Таблица 4.39

Пример 4.38
INITIAL X$TIMER,1000000
Ячейке TIMER присваивается начальное значение 1000000;
INITIAL X3,25
Ячейке с номером 3 присваивается начальное значение 25.
INITIAL MX8(2,4),-53
Величина -53 записывается в строку 2, столбец 4 матрицы 8. }
INITIAL MX$COST(1,3),22
Величина 22 записывается в строку 1, столбец 3 матрицы COST.
Блок SAVEVALUE (СОХРАНИТЬ ВЕЛИЧИНУ). Значение сохраняемой величины изменяется при входе транзакта в блок SAVEVALUE (СОХРАНИТЬ ВЕЛИЧИНУ).
Его формат:
SAVEVALUE A[+,-],B
Таблица 4.40

Подобно блоку ASSIGN блок SAVEVALUE может быть использован как в режиме замещения величины, так и в режиме увеличения или уменьшения. В режиме увеличения предыдущее значение сохраняемой величины увеличивается на значение, заданное операндом В, а в режиме уменьшения - уменьшается на это значение. Режимы увеличения и уменьшения определяются введением соответственно знака «плюс» или «минус» перед запятой, разделяющей операнды А и В.
Пример 4.39 .
SAVEVALUE P5,V$ALPHA
При входе транзакта в блок SAVEVALUE прежде всего вычисляется величина переменной ALPHA. Полученный результат присваивается сохраняемой величине, номер которой записан в параметре Р5.
SAVEVALUE 5+,X2
При входе транзакта в блок величина Х5 увеличивается на значение величины Х2.
SAVEVALUE PROFIT-,FN$COSTS
При входе транзакта в блок величина X$PROFIT уменьшается на значение функции FN$COSTS.
Оператор описания матрицы MATRIX. Каждая матрица должна быть объявлена до ее использования, т.е. должна иметь оператор описания. Формат оператора представлен в таблице.
Таблица 4.41

Матрица в GPSS/PC может содержать не более чем 8191 элемент. Она может быть переопределена или инициализирована повторно другим оператором MATRIX с тем же именем. Переопределение, при котором размер матрицы изменяется, повлечет за собой выделение памяти под новую матрицу. Выделенная до этого оперативная память остается занятой.
Блок MSAVEVALUE. Блок MSAVEVALUE используется для записи значений в матрицы, а также для увеличения или уменьшения значений элементов матриц. Его формат:
MSAVEVALUE A[+,-],B,C,D
Таблица 4.42

Операнды А, В и С могут быть именем, положительным целым, СЧА или СЧА*СЧА. Операнд D может быть именем, СЧА или СЧА*СЧА.
Подобно блокам ASSIGN и SAVEVALUE этот блок может быть использован как в режиме замещения величины, так и в режиме увеличения или уменьшения.
Когда транзакт входит в блок MSAVEVALUE, то анализируется операнд А и ищется матрица с указанным именем. Если матрица не найдена, то возникает ошибка. Соответствующий элемент матрицы определяется содержимым операндов В и С. Если такого элемента не существует, то также возникает ошибка.
Задание для самостоятельной работы:
1. Присвойте начальное значение 1000 сохраняемой величине PROFIT.
2. Присвойте начальное значение 50 сохраняемой величине с номером 5.
3. Присвойте значение функции TIMER сохраняемой величине с номером 3.
4. Уменьшите значение сохраняемой величины COSTS на величину параметра MONEY.
5. Увеличьте значение сохраняемой величины 1 на максимальное значение длины очереди QPRIB.