Файл: Конспект лекций Для студентов специальности 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.1. Общие сведения о сетях

2.2. Операционный анализ вероятностных сетей

2.3. Операционные зависимости

2.4. Анализ узких мест в сети

Глава 3. Вероятностное моделирование

3.1. Метод статистических испытаний

3.2. Моделирование дискретных случайных величин

3.3. Моделирование непрерывных случайных величин

3.4. Сбор статистических данных для получения оценок характе­ристик случайных величин

Для оценки дисперсии случайной величины ξ используют фор­мулу

3.5. Определение количества реализаций при моделировании случайных величин

По формулам (3.18-3.20) находим

Задачи для самостоятельной работы

Задача 6

Глава 4. Система моделированияgpss

4.1. Объекты

4.2. Часы модельного времени

4.3. Типы операторов

4.4. Внесение транзактов в модель. БлокGenerate

Задание для самостоятельной работы:

4.5. Удаление транзактов из модели. БлокTerminate

4.6. Элементы, отображающие одноканальные обслуживающие устройства

4.7. Реализация задержки во времени. БлокAdvance

Задания для самостоятельной работы:

4.8. Сбор статистики об ожидании. Блоки queue, depart

4.9. Переход транзакта в блок, отличный от последующего. БлокTransfer

Задания для самостоятельной работы:

4.10. Моделирование многоканальных устройств

4.11. Примеры построенияGpss-моделей

Построение модели

4.12. Переменные

4.13. Определение функции вGpss

Пример 4.23

4.14. Стандартные числовые атрибуты, параметры транзактов. Блоки assign, mark, loop

4.15. Изменение приоритета транзактов. БлокPriority

4.16. Организация обслуживания с прерыванием. Блоки pre­empt и return

Задание для самостоятельной работы:

4.17. Сохраняемые величины

4.18. Проверка числовых выражений. Блок test

Пример 4.40

Задание для самостоятельной работы:

4.19. Определение и использование таблиц

Задания для самостоятельной работы:

4.20. Косвенная адресация

4.21. Обработка транзактов, принадлежащих одному семейству

4.22. Управление процессом моделирования в системеGpss

4.23. Списки пользователей

4.24. Блоки управления потоками транзактовLogic,gatelr,gatelSиGate

7 Testne p1,p2,asn2 ; Повторить, если адресат

4.25. Организация вывода временных рядов изGpss-модели

4.26. Краткая характеристика языкаPlus

4.27. Команды gpss World

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. Проектирование имитационных моделей с помощью интерактивной системы имитационного моделирования

8.1. Структура интерактивной системы имитационного модели­рования

8.2. Построение концептуальной схемы модели

8.3. Параметрическая настройка модели

8.4. Генератор формул

8.5. Управление экспериментом

8.6. Запуск эксперимента и обработка результатов моделирования

8.7. Управление проектами и общей настройкой системы

8.8. Пример построения модели средствамиIss2000

Глава 9. Технология имитационногомоделирования

9.1. Имитационные проекты

9.2. Организация экспериментов

9.3. Проблемы организации имитационных экспериментов

9.4. Оценка точности результатов моделирования

9.5. Факторный план

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.