Файл: Конспект лекций Для студентов специальности 080801. 65 - приклад.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 30.12.2025
Просмотров: 3281
Скачиваний: 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. Задания для имитационных проектов
Описание процесса использования ресурса требованием целесообразно разбить на три подпрограммы.
Первая - это ЗАПРОС-НАЗНАЧЕНИЕ ресурса R требованию j (в языке GPSS этой подпрограмме соответствует блок SEIZE). Алгоритм ее работы следующий:
1. Если ресурс R (ПРОДАВЕЦ) может быть сразу назначен требованию j, то изменить состояние ресурса R на «занятый». Запомнить момент начала обслуживания требования tj.+1н. Передать управление подпрограмме ОБСЛУЖИВАНИЕ требования j.
2. Если ресурс R занятый, то поставить требование j в ОЧЕРЕДЬ к ресурсу R.
Вторая подпрограмма - ОБСЛУЖИВАНИЕ требования j (в языке GPSS этой подпрограмме соответствует блок ADVANCE). Ее алгоритм работы очень простой - определить событие «конец обслуживания требования j» как tjK = tjH + tjоб (где tjоб - время обслуживания в устройстве). Т.е. создается уведомление о событии в СБС для передачи управления подпрограмме освобождения ресурса R требованием j.
Третья подпрограмма - ОСВОБОЖДЕНИЕ ресурса R требованием j (в языке GPSS этой подпрограмме соответствует блок RELEASE). Алгоритм ее работы следующий.
1. Изменить состояние ресурса R (ПРОДАВЕЦ) на «свободный». Передать управление подпрограмме УНИЧТОЖЕНИЕ требования.
2. Проверить, есть ли требования в ОЧЕРЕДИ к ресурсу R? Если есть, то выбрать требование из ОЧЕРЕДИ и запланировать для него событие ЗАПРОС-НАЗНАЧЕНИЕ ресурса R.
Подпрограмма УНИЧТОЖЕНИЕ требования (в языке GPSS этой подпрограмме соответствует блок TERMINATE) необходима для уничтожения структуры данных каждого требования. Если требования не уничтожать, то со временем они переполнят память компьютера.
Кроме перечисленных подпрограмм необходима программа управления процессом моделирования (ПУМ), которая запускает процесс моделирования и отслеживает движение каждого требования па модели путем вызова названных подпрограмм обработки событий. Другое назначение этой программы - вести список упорядоченных во времени событий СБС и продвигать ЧАСЫ модельного времени от события к событию. В языке GPSS функции ПУМ выполняет программа-интерпретатор (транслятор).
Список будущих событий содержит все уведомления для событий, которые были намечены, чтобы произойти в будущем времени. Механизм продвижения времени моделирования, гарантирующий, что все события происходят в правильном хронологическом порядке, основан на СБС.
Планирование будущего события означает, что в момент начала действия его продолжительность вычисляется или определяется (например, из заданного статистического распределения), чтобы установить время конца действия и занести это событие вместе с его временем в СБС. В реальном мире большинство будущих событий не намечено, они просто происходят (как, например, случайные поломки оборудования или случайные поступления покупателей). В модели такие случайные события представлены концом некоторого действия, которое запланировано на будущее модельное время.
В любое данное время моделирования tм СБС содержит все предварительно намеченные будущие события и связанные с этими событиями времена t1м , t2м, ... . В СБС события упорядочены в хронологическом порядке по времени, то есть времена событий удовлетворяют условиям

Время tм значения ЧАСОВ - текущее значение времени моделирования. Событие, связанное со временем t1м, называется предстоящим событием, то есть это следующее событие, которое произойдет. После того, как отображающие состояния системы ЧАСЫ =tм во время моделирования были модифицированы, ЧАСЫ продвигаются ко времени моделирования ЧАСЫ= t1м, предстоящее намеченное событие удаляется из СБС и выполняется подпрограмма события. Выполнение подпрограммы предстоящего события означает, что отображено новое состояние системы в течение времени t1м, которое создано на основании старого состояния модели во время tм и характера предстоящего события. Во время t1м новые будущие события могут произойти или не произойти, но если любые из них намечены, то создаются намеченные события и помещаются в соответствующие позиции в СБС. После того, как новое отображение состояния системы в течение времени t1м было модифицировано, ЧАСЫ продвигаются ко времени нового предстоящего события, и выполняется подпрограмма этого события. Такой процесс повторяется до окончания имитации. На рис. 1.4 показана структурная схема имитационной модели.
В момент начала моделирования (время моделирования t0м = 0) ПУМ передает управление подпрограмме ГЕНЕРАТОР, которая определяет момент прихода первого покупателя и намечает событие ЗАПРОС-НАЗНАЧЕНИЕ ресурса R в СБС на время t}м =t1BX. Так как больше событий в системе нет, то ЧАСЫ переводятся на значение времени t1м вызывается подпрограмма ГЕНЕРАТОР и подпрограмма ЗАПРОС-НАЗНАЧЕНИЕ ресурса R.
Подпрограмма ГЕНЕРАТОР определяет будущее событие (момент прихода второго покупателя t2ВХ) и намечает это событие в СБС на время t2ВХ .
Подпрограмма ЗАПРОС-НАЗНАЧЕНИЕ проверяет состояние ресурса (ПРОДАВЦА). Так как ресурс R свободный, то он назначается первому покупателю и состояние ресурса R изменяется на «занятый». Запоминается момент начала обслуживания требования t1н. Передается управление подпрограмме ОБСЛУЖИВАНИЕ покупателя 1.
Подпрограмма ОБСЛУЖИВАНИЕ определяет событие конца обслуживания покупателя 1, как t1K = t1H + t1об, т.е. создается уведомление о будущем событии в СБС для передачи управления подпрограмме ОСВОБОЖДЕНИЯ ресурса R требованием 1 на время t1к.

Таким образом, в СБС имеется два элемента - один с намеченным событием появления покупателя 2 на время t2ВХ, а второй с намеченным событием окончания обслуживания покупателя 1 на время t1 K. Если время t2ВХ < t1 K, то ЧАСЫ будут переведены на время t2М = t2ВХ, т. е. снова будет вызвана подпрограмма ГЕНЕРАТОР и сгенерировано появление покупателя 2. В этот же момент времени t2м произойдет вызов подпрограммы ГЕНЕРАТОР, которая наметит в СБС появление покупателя 3 на время t3ВХ и вызов подпрограммы ЗАПРОС-НАЗНАЧЕНИЕ ресурса R, но так как ресурс занят обслуживанием покупателя 1, то покупатель 2 будет поставлен в очередь к ресурсу R.
В СБС снова окажутся два элемента - один для намеченного события появления покупателя 3 на время t3BX, а второй с намеченным событием окончания обслуживания покупателя 1 на время t1k. Если время t3вх >t1k, то ЧАСЫ будут переведены на время t3м=t1K, т, е. будет вызвана подпрограмма ОСВОБОЖДЕНИЕ ресурса R покупателем 1. Она изменить состояние ресурса R (ПРОДАВЕЦ) на «свободный и передаст управление подпрограмме УНИЧТОЖЕНИЕ требования. Затем проверит, есть ли требования в ОЧЕРЕДИ к ресурсу R, и выберет покупателя 2 из ОЧЕРЕДИ, наметив для него событие для подпрограммы ЗАПРОС-НАЗНАЧЕНИЕ ресурса R.
Вызванная в это же модельное время t3м подпрограмма УНИЧТОЖЕНИЕ разрушит структуру данных (удалит ссылку на адрес) для покупателя 1. Эта же подпрограмма при необходимости могла бы вычислить время пребывания покупателя 1 в системе, как t3пр = tЗм – t1bx , для дальнейшей статистической оценки времени пребывания покупателей в системе.
В дальнейшем жизненный цикл других покупателей в системе будет происходить по описанному выше алгоритму.
Остается открытым вопрос об окончании процесса моделирования. Возможны три варианта:
1. Через модель пройдут все покупатели, сгенерированные ГЕНЕРАТОРОМ, например, 100 покупателей. В этом случае в СБС после обслуживания последнего, сотого, покупателя не будет ни одного намеченного события.
2. Если поток покупателей от генератора не ограничен (например, генерируется неограниченный пуассоновский поток), то моделирование можно закончить после прохождения через модель определенного количества покупателей, например, 1000. Для этого в подпрограмме УНИЧТОЖЕНИЕ надо поставить счетчик покупателей и прекратить моделирование после 1000 покупателей. В языке GPSS такой счетчик организуется в команде START, которая начинает процесс моделирования.
3. Необходимо промоделировать работу системы в течение заданного периода времени, например, 480 мин. В этом случае можно при каждом продвижении ЧАСОВ модельного времени tм проводить сравнение текущего времени со значением 480. Как только значение модельного времени будет больше или равно 480, необходимо прекратить моделирование. Однако такой способ неудачный, так как может сильно замедлить работу модели из-за проверки условия. Поэтому обычно поступают следующим образом. Генерируют специальное требование-таймер с помощью еще одной подпрограммы ГЕНЕРАТОР с намеченным временем входа в модель tBX = 480. Требование-таймер после генерации сразу же направляется в еще одну подпрограмму УНИЧТОЖЕНИЯ, в которой ставят счетчик требований на единицу. По этому счетчику прекращают моделирование. В этом случае в СБС будет все время находиться элемент для требования-таймера со временем наступления события 480. Как только это событие станет предстоящим намеченным, ЧАСЫ будут переведены на время 480 и моделирование прекратится.
В процессе моделирования обычно собирается статистическая информация о работе модели при каждом продвижении ЧАСОВ модельного времени. Такой информацией может быть величина очереди, время пребывания в очереди и устройстве обслуживания, загрузка устройства, состояние прибора и другие параметры. Для сбора этой информации обычно создается подпрограмма ВЫБОРОЧНЫЙ ИЗМЕРИТЕЛЬ, которая накапливает ее и по окончании моделирования выдает стандартный статистический отчет. В языке GPSS такая статистическая информация накапливается в системных числовых атрибутах (СЧА) и доступна в процессе моделирования только на считывание. Доступ к СЧА дает возможность управлять процессом движения требований, например, ограничивать размер или время нахождения в очереди.
В этой главе даны основы организации моделирования на примере простой СМО. В языке GPSS обычно используются более сложные алгоритмы, описанные в параграфе 4.22.