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

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

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

Добавлен: 31.12.2025

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

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

5. Основные определения теории моделирования: Моделирование, математическая модель, аналитические и имитационные модели. Метод статистического моделирования.

11. Характеристики потока заявок: плотность (интенсивность). Стационарные и нестационарные потоки заявок. Пуассоновский поток. Закон распределения времени обслуживания.

13.Этапы машинного моделирования систем. Основные требования, предъявляемые к модели m процесса функционирования системы s. Итерационный процесс разработки модели. Построение адекватной модели.

17. Принципы имитационного моделирования сложных систем. Объекты и события в имитационной модели. Понятие модельного времени. “Принцип Δt”. “Принцип δz”.

18. Способы имитации. Дискретная имитация. Активность, процесс, событие. Подходы к построению дискретных имитационных моделей: событийный, сканирование активностей, процессный.

19. Моделирующий алгоритм дискретной имитации. Блок-схема моделирующего алгоритма управляющей программы.

21. Моделирование случайных воздействий на систему.

22. Программные средства моделирования систем.

21. Моделирование случайных воздействий на систему.

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

Произошло или нет случайное событие А ?

Для ответа надо знать вероятность этого события Р(А).

Разыграем случайное число с помощью равномерного датчика. Если полученное число <= чем Р(А), то событие произошло, если > , то не произошло.

Какое из нескольких событий произошло?

Пусть события А1, А2, …, Ак не совместны и образуют полную группу.

В этом случае сумма вероятностей Р(А1)+Р(А20+…+Р(Ак)=1

Разделим интервал от 0 до 1 на к-участков

Разыграем следующее число и посмотрим, на каком участке оно окажется.

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

Если случайная величина Х дискретна, т.е. имеет значение=1

Х={х1,х2,…,хк}, вероятности которых р1,р2,…,рк, то задача сводится к предыдущей (дел. инт. на к-отрезке и разыгр. случ. число)

Такой подход называется методом обратной функции.

Пример.

Построить функцию распределения для дискретных случайных величин: «сумма чисел на 2 случайно ? кубиках»

Всего возможно 36 исходов, а сумма от 2 до 12 (т.е. 11 вариантов)

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

Чтоб получить непрерывную случайную величину надо перейти от плотности вер-ти f(x) к её функции распределения F(х)=интеграл от минус бескон до Х f(x)dx

затем для функции F(x) находим обратную ей функцию Ψ и затем разыграем случайное число R (от 0 до 1) и взять функцию от R:

X=Ψ(R)

Можно доказать, что полученное число X имеет нужное распределение f(x)

(Метод обратной функции)

На практике часто используют приближенные способы преобразования случайных чисел.1 из них- метод аппроксимации(считается, что на мал. интервале функция м.б. опис. линейно)

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

22. Программные средства моделирования систем.

При использовании комп-ов основная задача машинной реализации модел.-организация моделир-го алгоритма и преобразование его в форму, пригодную для реализации его в комп. прогр. В этом случае мы говорим об имитационной программе и ?, которая используется для манипуляции в этой программе.


Для реализации имитац. прог. используются след. средства:

  • Языки программирования общего назначения (ЯПОН)

  • Языки имитационного моделирования (ЯИМ)

  • Пакеты прикладного программирования (ППП)

ЯПОН:

  1. высокого уровня.

1 комп-а языка соотв. как правило нескольким комп-ам для маш. Подлежит ?

2) машинно-завис.(низкого уровня)

При компиляции 1 стр. прог-и преобразуется в 1 ком-у

Недостатки: - трудоёмкость разработки прог.

-низкий уровень надёжности.

Плюс: высокая скорость работы.

ЯИМ:

Принцип описания моделируемых систем сформулирован так:

Объекты моделирования (системы и процессы) описываются своими атрибутами, которые взаимодействуют с конкретными своими процессами, для реализации которых должны быть выполнены определённые условия. Эти условия задают временную последовательность таких взаимодействий.

Результатами взаимодействий являются события, которые взаимодействуют с внешней средой. Событий приведшие к изменению состояния модели имитируемого объекта.

Другой элемент ЯИМ - механизм системного(модельного) времени. Он определяет последовательность событий и процессов в модели на конечном интервале времени.

Этот механизм выполняет 2 функции:

  1. запуск и продвижение модельных часов.

  2. Обеспечение согласованности различных блоков и событий в системе (синхронизация функц-я)

Механическое системное время даёт право обработать т.н. «врем-ые узлы».Задача их обработки заключается в следующем:

В реал. системе 2 и > событий м.б. одновременно. В прог. это почти невозможно.

На комп-е их надо обработать последовательно. Для удаления модельного времени существует 2 метода:

  1. Метод с постоянным шагом.

  2. Метод особых состояний.

В 1 методе модел. вр. шаг выбирают достаточно маленьким, чтобы убедиться, что никакое событие не сможет произойти в системе меж 2 знач. дискр. вр.

2 метод заключается в том, что каждый раз новое значение таймера выбирают таким, что в этот момент обязательно произойдёт хотя бы 1 событие (> эффект. для прост. моделей и редких событий)

При выборе ЯИМ учитывается ряд обстоятельств:

- надо изучить особенности и варианты языков.

- выбрать язык, ориентированный на имитац. определ. класса систем.

ППП:

Сглаживает недостатки 1 и 2 способов. Предназначен для решения опред. ? прог. Пишем на ЯПОП + используем некоторые типовые готовые задачи из ППП.


  1. Система имитационного моделирования 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)прерванный - Такое состояние не исключает одновременного пребывания в одном из перечисленных выше состояний.

  1. Ввод транзактов в модель на GPSS. Блок GENERATE. Его параметры. Выход транзактов из модели. Блок TERMINATE. Использование указанных блоков для управления временем моделирования.

Блок GENERATE осуществляет внесение тран­зактов в модель (напр, источни­ков сообщений или заявок на обслуживание, создания в модели потоков по­вреждений оборудования).

GENERATE A,B,C,D,E

А – средний интервал времени прихода транзактов (по умолч 0), В – полуинтервал (модификатор) (по умолч = 0), С – начальный сдвиг процесса поступления транзакта (по умолч = 0), D – кол-во транзактов, кот могут пройти через этот блок (по умолч ∞). E – уровень приоритета (от 0 до 127, 27, по умолч 0).


Из блока GENERATE транзакты могут только выходить в следующий по порядку блок. Попытка ввести транзакт в блок GENERATE воспринимается интерпретатором как ошибка программиста. Вычисление нулевого значения интервала означает, что ввод очередного транзакта в модель планируется в текущий момент модельного времени.

Пример:

      1. GENERATE 3 (через блок GENERATE каждые 3 единицы модельного времени в модель будет поступать транзакт; первый транзакт окажется на выходе из блока в момент времени, равный 3).

      1. 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 способа управления моделирования:

  1. По времени.

В конце текста модели:

TERMINATE

GENERATE 20000

TERMINATE 1

START 1

В этом способе по истечении интервала модельного времени, соотв операнду А блока GENERATE, моделирование будет завершено, если нач значение счетчика =1.

  1. По кол-ву обслуженных заявок: