Файл: Конспект лекций Для студентов специальности 080801. 65 - приклад.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 30.12.2025

Просмотров: 3260

Скачиваний: 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. Задания для имитационных проектов

Приложение Системные сча

Сча транзактов

Сча блоков:

Сча одноканальных устройств:

Сча очередей

Сча таблиц

Сча ячеек и матриц ячеек сохраняемых величин:

Сча вычислительных объектов

Сча списков и групп

Список литературы

Для организации эксперимента необходимо иметь отлаженную имитационную модель, которая должна быть проверена при всевоз­можных значениях входных переменных. Необходимо гарантировать, что модель будет правильно работать при любой комбинации уров­ней факторов.

В результате заполнения полей диалогового окна в эту модель ав­томатически будет добавлен код на языке PLUS. По выбору пользова­теля для запуска эксперимента может быть назначена функциональная клавиша (обычно F11, но ее можно переопределить). В этом случае по­сле трансляции модели (команда пункта меню Com­mand/Create Simulation или Ctrl+Alt+S) для запуска отсеивающего эксперимента достаточно будет нажать функциональную клавишу F11.

Пример 9.4

Отсеивающий эксперимент для модели работы компьютерной сети.

Локальная сеть (ЛС) имеет кольцевую топологию. В ней исполь­зуется 15 рабочих станций и один сервер, который также подключен к глобальной сети.

Пользователи рабочих станций посылают на сервер запросы для выполнения локальных заданий (обращения к базе данных, находя­щейся на сервере, составляют 15% запросов) и для обращения в гло­бальную сеть (поиск информации составляет 85% запросов).

Опрос рабочих станций в ЛС происходит с помощью маркера по кольцевому алгоритму каждые 1,5 с. Время переключения маркера с одной рабочей станции на другую составляет 0,1 с. Если у рабочей станции есть сообщение, оно передается на сервер.

Поток запросов на обслуживание от всех рабочих станций явля­ется пуассоновским с интенсивностью 1 запрос за 30 с. Длина возникающих сообщений (кбайт) имеет гамма-распределение с параметра­ми α = 88, β = 0,4. Каждое сообщение в ЛС разбивается на пакеты размером 1 Кбайт. Каждый пакет передается на сервер в течение 10 мс. Для сборки пакетов на сервере затрачивается по 1 мс на пакет.

Для обработки запросов по обращению к базе данных сервера требуется 50 ± 40 мс. Объем данных, которые нужно будет передать пользователю с сервера, равномерно распределен в интервале от 0,01 до 1 Мбайт.

Связь с глобальной сетью осуществляется по полудуплексному каналу (прием и передача не могут происходить в один и тот же мо­мент времени) со скоростью 3,6 кбайт/с. Время поиска информации в глобальной сети в секундах имеет гамма-распределение с параметра­ми α = 10, β = 0,2. Объем передаваемых данных от сервера на рабо­чие станции распределен по равномерному закону и составляет 100 ±50 кбайт.


Канал связи занят во время передачи данных от рабочих станций к серверу и в обратном направлении. Одновременно могут передавать­ся данные только по одному запросу. Если в момент, когда канал за­нят, возникает запрос на использование канала, он становится в об­щую очередь запросов. После освобождения канала сначала проверя­ется содержимое очереди запросов. Если она пустая, то продолжается опрос рабочих станций, начиная со следующей после освободившей канал станции. Данные могут передаваться по каналу связи, даже ко­гда процессор сервера обрабатывает запрос. Запросы обрабатываются центральным процессором (ЦП) сервера по правилу FIFO. В то время, как ЦП выполняет обращение к базе данных или глобальной сети, он освобождает канал связи. Результаты обработки запросов передаются на рабочую станцию сразу же, как только освободится канал.

Необходимо промоделировать работу сети на протяжении 24 ча­сов, оценить среднее время обработки запросов от рабочих станций я определить факторы, влияющие на это время.

Создадим отсеивающий эксперимент, в ходе которого оценим влияние на критерий эффективности модели следующих факторов:

- время опроса (фактор А);

- время передачи одного пакета по каналу связи (фактор B);

- интервал времени между возникновениями запросов на рабо­чих станциях (фактор С);

- время доступа к глобальной сети (фактор D).

Для изменения значений этих факторов воспользуемся операто­рами EQU, которые определены в начале программы.

Для создания отсеивающего эксперимента выберем команду в меню Edit/Insert Experiment/Screening... и заполним поля диалого­вого окна (рис. 9.9).

Назначение элементов диалогового окна:

Experiment Name (название эксперимента). В данном случае «ScreenNetwork».

'Run Procedure' Name (название процедуры прогона). В данном случае «DoTheRun».

Factors (факторы), которых должно быть не более шести. В со­ответствующие поля необходимо ввести имена факторов, заданных в модели оператором EQU, и два значения уровней факторов (Value 1 и Value 2).

Fraction (доля) определяет, какая часть от полного факторного эксперимента будет выполнена, т.е. план 2k-p. В этом случае прогоны выполняются для каждого варианта значений уровней факторов, за­данных в полях Value 1 и Value 2.


Result, Expression (выражение для выходной переменной, для которой проводится эксперимент). В это поле могут быть введены на­звания переменных пользователя, СЧА или выражения.

Generate Run Procedure, Load F11 with CONDUCT command (флажки «Генерация процедуры прогона» и «Загрузка команды CONDUCT в клавишу F11») необходимо установить для автоматиза­ции и упрощения запуска эксперимента.

Alias Groups (группы смешивания). Эта кнопка открывает диа­логовое окно Defining Relation (определение отношений, рис. 9.10).

Часто время одного прогона модели настолько велико, что де­лать все 2k экспериментов с g повторениями не представляется воз­можным (особенно, когда факторов 4...6, a g= 100 или больше). В таком случае генератор отсеивающего эксперимента позволяет задать меньшее количество экспериментов (Fraction), т.е. 2k-p. Этого можно добиться, благодаря смешиванию некоторых эффектов (Alias Groups). Следует, однако, учитывать, что при этом будет получена только часть информации. Кроме того, при превышении определен­ного предела числа прогонов уже нельзя будет определить эффекты отдельных факторов. В таких случаях можно сделать предположение о влиянии определенного фактора по значению эффекта, полученного для групп, в которые он входит и для которых это значение удалось рассчитать даже при меньшем количестве прогонов. Однако следует учитывать, что влияние факторов из одной группы может быть вза­имно противоположными. Может создаться впечатление, что эти факторы этой группы не оказывают на модель существенного влия­ния, в то время как в действительности каждый в отдельности оказывает такое влияние. Рекомендуется так группировать факторы, чтобы в каждой группе оказывался только один существенный фактор.

В приведенном примере в качестве критерия эффективности вы­брано среднее время (в мс) обработки запроса от момента появления его на рабочей станции до момента окончания приема результатов запроса на этой станции. Для получения этого времени используется регистратор очереди network. В качестве критерия выбран СЧА qt$network - среднее время нахождения транзактов в системе, кото­рое будет стремиться к истинному среднему только тогда, когда сис­тема будет работать в стационарном режиме. Если же запросы будут поступать с частотой, превышающей частоту их обработки, то длина очереди на обработку будет стремиться к бесконечности.


После заполнения диалога в модель будут вставлены такие про­цедуры:

ScreenNetwork - собственно отсеивающий эксперимент;

ScreenNetwork_GetResult - процедура выполнения прогонов, служит для фиксации результатов каждого прогона и перехода к сле­дующему прогону;

DoTheRun - процедура прогона, которая служит для установки начальных значений генераторов случайных чисел и запуска каждого нового прогона.

Генератор отсеивающего эксперимента GPSS World до версии 4.3.5 не всегда прописывает название процедуры DoTheRun на языке PLUS. Необходимо проверить добавляемый код и в случае, если эта процедура оказалась без названия, ввести его вручную.

Отсеивающий эксперимент в GPSS World предполагает, что модель работает в стационарном режиме и оценки выходной величины или критерия эффективности получаются по одному достаточно длинному прогону, поэтому в процедуре для отсеивающего эксперимента нет повторений для каж­дой комбинации уровней факторов.

Итак, для того, чтобы результаты эксперимента были достовер­ными, необходимо экспериментировать с моделью, которая находится в стационарном режиме. Поэтому сначала необходимо исследовать модель на стационарность. Для этого воспользуемся графиком изме­нения величины qt$network - среднего времени обработки запроса (рис. 9.11) в модельном времени (выполнив пункт меню Win­dow/Simulation Window/Plot Window...).

Из графика видно, что время переходного процесса равно при­мерно 20 мин (1200000 мс) и оказалось, как минимум, в 72 раза меньше времени одного прогона системы. Окончательную длитель­ность прогона для стационарного процесса надо определять в зави­симости от требуемой точности получения оценок для выходной пе­ременной. Это можно сделать для эргодических или регенерирующих процессов, как описано в параграф 9.4.

Для того, чтобы статистические данные, собираемые во время переходного процесса, не давали смещения для выходной перемен­ной, их необходимо удалять с помощью оператора RESET. Автома­тически сгенерированный отсеивающий эксперимент в конце процедуры DoTheRun предполагает, что переходный период в модели за­кончится после прохождения 100 транзактов (Get past the Startup Pe­riod).


/* SET UP YOUR OWN RUN CONDITIONS. */

DoCommand("START 100,NP"); /* Get past the Startup Period. */ DoCommand("RESET"); /* Begin the Measurement Period. */ DoCommand("START 1000,NP"); /* Run the Simulation. */

После этого выполняется оператор RESET и начинается период измерений (Begin the Measurement Period). Полный прогон модели (Run the Simulation) заканчивается после прохождения через нее 1000 транзактов.

В данном примере моделирование заканчивается через 24 часа (86400000 мс). Учитывая то, что один прогон модели занимает значи­тельное время и для 4-х факторов на двух уровнях надо выполнить для полного факторного эксперимента 2 прогонов, то сократим дли­тельность прогона до 10 длительностей переходного периода. Для этого установим таймер в модели на 1200000 мс.

GENERATE 1200000

С учетом этого внесем изменения в процедуру DoTheRun.

/* SET UP YOUR OWN RUN CONDITIONS. */

DoCommand("START 1,NP"); /* Get past the Startup Period. */

DoCommand("RESET"); /* Begin the Measurement Period. */ DoCommand("START 10,NP"); /* Run the Simulation. */

После трансляции модели (пункт меню Command/Create Simulation или с помощью комбинации клавиш Ctrl+AIt+S) выполним полный (Full) отсеивающий эксперимент, нажав функциональную клавишу F11. В результате будут получены такие данные.

02/14/03 17:31:09 .

Как видно из результатов, только два эффекта - С и D - значи­мы, причем рост интенсивности запросов на рабочих станциях отри­цательно сказывается на среднем времени пребывания в сети, а уве­личение скорости передачи пакетов уменьшает это время.

Оптимизирующий эксперимент. Этот эксперимент предназна­чен для построения уравнения поверхности отклика для заданных факторов модели и поиска численного значения оптимума (сочетания таких значений факторов, при котором заданная функция принимает экстремальное значение - максимум или минимум). Максимально возможное количество изменяемых факторов - пять> Эксперимент проводится с уже созданной моделью. Факторы, которые будут изме­няться, должны быть в модели представлены в виде констант, кото­рые определяются с помощью оператора EQU или переменных. В хо­де эксперимента производится многократный прогон модели, фикса­ция результатов и использование их для получения поверхности от­клика и поиска оптимума.