ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 31.12.2025
Просмотров: 565
Скачиваний: 0
21. Моделирование случайных воздействий на систему.
Моделирование случайных событий.
Произошло или нет случайное событие А ?
Для ответа надо знать вероятность этого события Р(А).
Разыграем случайное число с помощью равномерного датчика. Если полученное число <= чем Р(А), то событие произошло, если > , то не произошло.
Какое из нескольких событий произошло?
Пусть события А1, А2, …, Ак не совместны и образуют полную группу.
В этом случае сумма вероятностей Р(А1)+Р(А20+…+Р(Ак)=1
Разделим интервал от 0 до 1 на к-участков

Разыграем следующее число и посмотрим, на каком участке оно окажется.
Моделирование дискретных случайных величин.
Если случайная величина Х дискретна, т.е. имеет значение=1
Х={х1,х2,…,хк}, вероятности которых р1,р2,…,рк, то задача сводится к предыдущей (дел. инт. на к-отрезке и разыгр. случ. число)
Такой подход называется методом обратной функции.
Пример.
Построить функцию распределения для дискретных случайных величин: «сумма чисел на 2 случайно ? кубиках»
Всего возможно 36 исходов, а сумма от 2 до 12 (т.е. 11 вариантов)


Моделирование непрерывной случайной величины.
Чтоб получить непрерывную случайную величину надо перейти от плотности вер-ти f(x) к её функции распределения F(х)=интеграл от минус бескон до Х f(x)dx
затем для функции F(x) находим обратную ей функцию Ψ и затем разыграем случайное число R (от 0 до 1) и взять функцию от R:
X=Ψ(R)
Можно доказать, что полученное число X имеет нужное распределение f(x)
(Метод обратной функции)
На практике часто используют приближенные способы преобразования случайных чисел.1 из них- метод аппроксимации(считается, что на мал. интервале функция м.б. опис. линейно)
Для всех основных распределений система моделирования имеет специальные функции, которые с достаточной точностью описывают эти распределения.
22. Программные средства моделирования систем.
При использовании комп-ов основная задача машинной реализации модел.-организация моделир-го алгоритма и преобразование его в форму, пригодную для реализации его в комп. прогр. В этом случае мы говорим об имитационной программе и ?, которая используется для манипуляции в этой программе.
Для реализации имитац. прог. используются след. средства:
Языки программирования общего назначения (ЯПОН)
Языки имитационного моделирования (ЯИМ)
Пакеты прикладного программирования (ППП)
ЯПОН:
высокого уровня.
1 комп-а языка соотв. как правило нескольким комп-ам для маш. Подлежит ?
2) машинно-завис.(низкого уровня)
При компиляции 1 стр. прог-и преобразуется в 1 ком-у
Недостатки: - трудоёмкость разработки прог.
-низкий уровень надёжности.
Плюс: высокая скорость работы.
ЯИМ:
Принцип описания моделируемых систем сформулирован так:
Объекты моделирования (системы и процессы) описываются своими атрибутами, которые взаимодействуют с конкретными своими процессами, для реализации которых должны быть выполнены определённые условия. Эти условия задают временную последовательность таких взаимодействий.
Результатами взаимодействий являются события, которые взаимодействуют с внешней средой. Событий приведшие к изменению состояния модели имитируемого объекта.
Другой элемент ЯИМ - механизм системного(модельного) времени. Он определяет последовательность событий и процессов в модели на конечном интервале времени.
Этот механизм выполняет 2 функции:
запуск и продвижение модельных часов.
Обеспечение согласованности различных блоков и событий в системе (синхронизация функц-я)
Механическое системное время даёт право обработать т.н. «врем-ые узлы».Задача их обработки заключается в следующем:
В реал. системе 2 и > событий м.б. одновременно. В прог. это почти невозможно.
На комп-е их надо обработать последовательно. Для удаления модельного времени существует 2 метода:
Метод с постоянным шагом.
Метод особых состояний.
В 1 методе модел. вр. шаг выбирают достаточно маленьким, чтобы убедиться, что никакое событие не сможет произойти в системе меж 2 знач. дискр. вр.
2 метод заключается в том, что каждый раз новое значение таймера выбирают таким, что в этот момент обязательно произойдёт хотя бы 1 событие (> эффект. для прост. моделей и редких событий)
При выборе ЯИМ учитывается ряд обстоятельств:
- надо изучить особенности и варианты языков.
- выбрать язык, ориентированный на имитац. определ. класса систем.
ППП:
Сглаживает недостатки 1 и 2 способов. Предназначен для решения опред. ? прог. Пишем на ЯПОП + используем некоторые типовые готовые задачи из ППП.
Система имитационного моделирования GPSS. Назначение системы. Общие правила записи моделей на GPSS. Назначение основных блоков системы. Динамические элементы модели на GPSS - транзакты.
Система GPSS (General Purpose Simulation System) - это мощная среда компьютерного моделирования общего назначения, разработанная для профессионалов в области моделирования. Это комплексный моделирующий инструмент, охватывающий области как дискретного, так и непрерывного компьютерного моделирования, обладающий высочайшим уровнем интерактивности и визуального представления информации.
Система имитационного моделирования GPSS м.б. представлена в виде языка программирования и машинной программы – интерпретатора (-моделирующая часть системы, обеспечивает проведение моделирования на ЭВМ в соответствии с программой пользователя). При помощи языка GPSS описывается функционирование моделируемой системы в виде программы пользователя (модели) и осуществляется управление процессом моделирования. Возможности системы расширены благодаря включению в нее языка программирования PLUS.
Модель или программа на языке GPSS представляет текстовый файл, который построен с несколькими соглашениями: Каждая строка текста содержит или описания параметров, или блок модели. Каждая строчка состоит из поля-метки (оно м.б. опущено), сам блок (ключевое слово) и операнд.
Модель GPSS представляет собой последовательность операторов, кот подразделяются на команды (предназначены для описания некот моделирующих элементов GPSS и определения условий моделирования) и блоки (при помощи них программист описывает работу исследуемой системы). Каждый блок выполняет соответствующую подпрограмму - определенный набор операций, связанных с обработкой данных, описывающих состояние модели и условия продвижения транзактов. Выполнение подпрограмм блоков инициируется транзактами. Задача программиста - выбор блоков т.о., чтоб заставить модель вести себя подобно реальной моделируемой системе.
Модель состоит из объектов: 1)динамический (запрос)- транзакт 2)статические - реализуются с помощью блоков (отдельная строка, операторы). Конструкция языка состоит из полей: поле метки→ключевое слово→параметры (заключается в скобки, перечисляется через запятую, смысл определяется его позицией)→комментарии.
БЛОКИ:
1)GENERATE A,B,C,D,E – осуществляет внесение транзактов в модель. Может использоваться для имитации, напр заявок на обслуживание, источников сообщений. (A-средний интервал времени прихода, B-значение полуинтервала, C-начальный сдвиг процесса поступления транзакта, D-кол-во транзактов, кот может пройти через этот блок (по умолчанию ∞), E-уровень приоритета транзактов (от 0 до 127, по умолчанию 0))
2)TERMINATE A (завершить). А - уменьшение текущего значения счетчика завершения. Попадая в этот блок, транзакты уничтожаются, имитируется выход транзактов из моделируемой системы.
3) SEIZE A (занять) - занятие прибора транзактом. А- имя точки входа в устройство.
RELEASE A (освободить) –освобождение прибора транзактом, по истечении времени обслуживания.
4)QUEUE А, В (стать в очередь),
DEPART А, В (покинуть очередь). Эти 2 блока используются для сбора статистики об очередях. А - имя очереди, обязательно, В - кол-во транзактов, удаляемых из очереди одновременно (не обязательно, по умолчанию 0).
5)ADVANCE А, В (задержать) - используется для имитации задержки транзакта на время обслуживания А - среднее время задержки, В - полуинтервал.
6) ENTER A,B – процесс занятия МКУ. A – имя или номер устройства, B – кол-во занимаемых каналов МКУ (по умолчанию 1)
Обратный блок к ENTER – LEAVE A,B – освобождение каналов (по умолчанию 1)
Транзакт - запрос, заявка. Могут создаваться и уничтожаться в местах модели, определяемых программистом. В разных частях одной модели могут одновременно обрабатываться транзакты, имеющие разное содержательное значение, кот определяет разработчик. Напр, в модели универсама, транзакты - покупатели, транзакты – сообщения, транзакты – квитанции, транзакты – выхода из строя оборудования. с каждым транзактом связан набор данных, кот обрабатываются и изменяются подпрограммами блоков.
Состояния транзактов: 1) активный – находится в начале цепи текущих событий и назначенный интерпретатором для продвижения в очередной блок. 2)приостановленный - ожидает в цепи текущих событий своей очереди назначения активным транзактом 3)пассивный - находится в цепи пользователя, цепи задержки, цепи ожидания захвата, повторных проверок. 4)прерванный - Такое состояние не исключает одновременного пребывания в одном из перечисленных выше состояний.
Ввод транзактов в модель на GPSS. Блок GENERATE. Его параметры. Выход транзактов из модели. Блок TERMINATE. Использование указанных блоков для управления временем моделирования.
Блок GENERATE осуществляет внесение транзактов в модель (напр, источников сообщений или заявок на обслуживание, создания в модели потоков повреждений оборудования).
GENERATE A,B,C,D,E
А – средний интервал времени прихода транзактов (по умолч 0), В – полуинтервал (модификатор) (по умолч = 0), С – начальный сдвиг процесса поступления транзакта (по умолч = 0), D – кол-во транзактов, кот могут пройти через этот блок (по умолч ∞). E – уровень приоритета (от 0 до 127, 27, по умолч 0).
Из блока GENERATE транзакты могут только выходить в следующий по порядку блок. Попытка ввести транзакт в блок GENERATE воспринимается интерпретатором как ошибка программиста. Вычисление нулевого значения интервала означает, что ввод очередного транзакта в модель планируется в текущий момент модельного времени.
Пример:
GENERATE 3 (через блок GENERATE каждые 3 единицы модельного времени в модель будет поступать транзакт; первый транзакт окажется на выходе из блока в момент времени, равный 3).
GENERATE 3,1 (задано равномерное распределение интервалов времени поступления транзактов; интервалы времени поступления будут принимать значения от 2 до 4 единиц модельного времени с равной вероятностью).
3) GENERATE 100,20,1000 (первый транзакт из этого блока войдет в модель в момент времени, равный 1000, для остальных транзактов интервалы времени поступления будут разыгрываться интерпретатором из диапазона значений 100±20;).
4) GENERATE 100,20,10,15,3 (первый транзакт будет создан в момент модельного времени =10, остальные транзакты будут создаваться каждые 100±20 единиц модельного времени; максимальное кол-во транзактов, кот могут поступить через этот блок в модель =15; всем транзактам, выходящим из блока, интерпретатор присвоит приоритет 3);
Транзакты удаляются из модели, попадая в блок TERMINATE. Тем самым имитируется, напр, выход транзактов из моделируемой системы. В одной модели м.б. любое кол-во таких блоков.
TERMINATE A. А – счетчик завершений (необязательный).
Управление временем моделирования: моделирование будет завершено в тот момент, когда текущее значение счетчика завершений = 0.
START A, А – начальное значение счетчика завершений.
Блок TERMINATE, если в нем есть А, работает так: транзакт удаляется, и текущее значение счетчика завершений уменьшается на А.
Сущ 2 способа управления моделирования:
По времени.
В конце текста модели:
|
TERMINATE GENERATE 20000 TERMINATE 1 START 1 |
В этом способе по истечении интервала модельного времени, соотв операнду А блока GENERATE, моделирование будет завершено, если нач значение счетчика =1.
По кол-ву обслуженных заявок: