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

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

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

Добавлен: 31.12.2025

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

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

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

СОДЕРЖАНИЕ

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

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

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

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

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

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

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

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

TERMINATE 1

START 20000

В основном сегменте модели в блоке TERMINATE А = 1, нач значение счетчика = кол-ву заявок.

  1. Представление обслуживающих приборов в моделях на GPSS. Блоки SEIZE и RELEASE. Их операнды.

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

Если в процессе обслуживания поступает новое требование, оно ставится в очередь последним в своем классе приоритета. Освободившийся после обслуживания прибор занимает заявка, стоящая в начале очереди.

В общем случае схема моделирования прибора должна включать занятие прибора транзактом SEIZE, задержку транзакта на время обслуживания ADVANCE и освобожде­ние прибора RELEASE. В одной модели м.б. описано действие большого ко­личества приборов, поэт каждому из них д.б. присвоено индиви­дуальное имя - числовое или символьное. Числовое имя, присваиваемое про­граммистом, должно выбираться им из диапазона целых чисел 1...9999. Имя занимаемого или освобождаемого прибора определяется операндом А блоков SEIZE и RELEASE.

SEIZE A – точка входа в устройство, имя кот А.

RELEASE A – освобождение устройства, имя кот А.

Примеры:

  1. МЕТ SEIZE KAN (блок SEIZE с именем МЕТ при входе транзакта имитирует занятие прибо­ра, имеющего имя КАN);

  2. RELEASE KAN2 (блок RELEASE при входе транзакта имитирует освобождение занятого при­бора KAN2).

При попытке транзакта войти в блок SEIZE проверяется состояние прибо­ра с именем А. Если прибор не занят, транзакт входит в блок SEIZE и без задержки переходит к следующему за ним блоку; при этом состояние прибора изменяется из «не занят» в «занят». Если прибор занят, транзакт остается в блоке, из кот пытался войти в блок SEIZE, и стано­вится в очередь к данному прибору. По истечении времени обслуживания транзакт, занимавший прибор, входит в блок RELEASE. При этом состояние прибора, имя кот указано операндом А блока RELEASE, изменяется из «занято» в «не занято», а транзакту, стоящему первым в очереди на обслу­живание данным прибором, разрешается вход в блок SEIZE.


Место транзакта в очереди зависит от его приоритета и времени поступле­ния. Чем выше приоритет, тем ближе к началу очереди будет находиться тран­закт. Внутри одного приоритетного класса транзакты размещаются в порядке возрастания времени их регистрации в данной очереди.

  1. Моделирование процесса обслуживания заявок. Блок ADVANCE. Использование генератора случайных чисел для вычисления времени завершения обслуживания по параметрам данного блока.

Между блоками SEIZE и RELEASE могут находиться блоки, имитирующие содержание процесса обслуживания заявки. Для имитации задержки транзакта на время обслуживания применяется блок ADVANCE. Длина интервала времени задержки вычисляется по среднему времени и модификатору, задаваемым операндами А и В.

ADVANCE A,B – задержка

А – среднее время задержки, В – полуинтервал.

Пример: ADVANCE 200,25 (транзакты, входящие в блок, задерживаются на 200±25 единиц модельного времени).

Общее назначе­ние блока ADVANCE - имитация задержки транзакта. Он может располагаться в любом месте модели. Блок ADVANCE не препятствует входу транзактов, т. е. перед ним очереди не образуется. Интерпретатор вычисляет время задержки для каждого из них индивидуально и выводит их из блока не в порядке поступления, а по истече­нии определенных для них интервалов времени задержки.

В некоторых примерах случайные интервалы времени подчиняются равномерному закону распределения вероятностей. Для получения случайных величин с другими распределениями в GPSS используются вычислительные объекты: переменные и функции.

Для получения случайной величины R с равномерным распределением на отрезке [0;1] в GPSS имеются встроенные генераторы случайных чисел. Для получения случайного числа путем обращения к такому генератору достаточно записать СЧА RN с номером генератора, например RN1. Но встроенные генераторы случайных чисел GPSS дают числа не на отрезке [0;1], а целые случайные числа, равномерно распределенные от 0 до 999, но их нетрудно привести к указанному отрезку делением на 1000.

  1. Сбор статистики очереди. Блоки QUEUE и DEPART. Параметры блоков. Интерпретация статистической информации, полученной при моделировании с использованием указанных блоков.

В GPSS обеспечивается автоматический сбор статистических данных о каждой из очередей, таких как наибольшая длина очереди за время моделирования, средняя длина очереди, общее кол-во входов в очередь, кол-во входов с нулевой задержкой, процент «нулевых» входов от общего числа входов, среднее время пребывания в очереди с учетом «нулевых» входов и без их учета, а также текущее содержимое очереди (кол-во заявок, находящихся в очереди на момент вывода статистики). Для сбора статистики об очередях исполь­зуются блоки QUEUE (СТАТЬ В ОЧЕРЕДЬ) и DEPART (ПОКИНУТЬ ОЧЕРЕДЬ).


QUEUE A,B

DEPART A,B

А – имя очереди (обязательно), В – указывает, на сколько единиц должен измениться счетчик содержимого очереди при входе транзактов в эти блоки, по умолч =1 (необязат)

При входе транзакта в блок QUEUE регистрируется событие «присоедине­ние к очереди», а при входе транзакта в блок DEPART - «выход из очереди». Ожидая обслуживания прибором, транзакт явл элементом очереди до тех пор, пока не займет прибор. Исходя из этого, при моделировании прибора блок QUEUE должен находиться перед блоком SEIZE, а блок DEPART - после него.

Пример:

QUEUE QCPU

SEIZE CPU

DEPART QCPU

ADVANCE 30,12

RELEASE CPU

Наличие блоков QUEUE и DEPART программы указывает на то, что интерпретатор во время моделирования должен обеспечи­вать сбор данных об очереди QCPU к прибору CPU.

Выполнение подпрограммы блока DEPART включает уменьшение значения счетчика содержимого на величину, заданную операндом В, регистрацию те­кущего значения модельного времени, увеличение счетчика «нулевых» входов в очередь на число единиц, заданное операндом В, если модельное время в момент входа транзакта в блок DEPART равно времени его регистрации в блоке QUEUE, вычисление других статистических данных об очереди.

Приборы и очереди не требуют к-л предварительного объявления в модели. Прибор с заданным именем создается, как только интерпретатор встречает блоки SEIZE или RELEASE, в кот этот прибор упоминается, очередь при встрече блоков QUEUE или DEPART.

QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY

OCHERED 3 0 998 517 0.207 3.110 6.453 0

QUEUE – имя очереди, MAX – максимальная длина очереди, CONT – содержимое очереди в момент окончания прогона модели, ENTRY – счетчик числа входов в очередь, ENTRY(0) – счетчик нулевых входов в очередь, AVE.CONT – среднее значение содержимого очереди, AVE.TIME – среднее время пребывания в очереди, AVE.(-0) – среднее время пребывания в очереди без учета нулевых входов, RETRY – кол-во транзактов в модели в момент созд отчета, ожидающих наступления определенных условий, зависящих от состояния данной очереди.

  1. Пример простой модели на языке GPSS: система массового обслуживания с одним прибором и очередью. Стандартный отчет о моделировании, его интерпретация.

Парикмахерская с одним парикмахером при неограниченной приоритетной очереди. Заявки (клиенты) приходят через каждые 15+-10 мин. Мастер обслуживает клиентов в течение 12+-3 мин. Построить модель и определить параметры очереди и нагрузку парикмахера.


GENERATE 15,10 ;генерация транзактов, приход клиентов

QUEUE ochered ;моделирование входа в очередь

SEIZE parik ;попытка занять парикмахера

DEPART ochered ;выход из очереди

ADVANCE 12,3 ;задержка на обслуживание

RELEASE parik ;освобождение парикмахера

TERMINATE ;уходит

GENERATE 15000 ;управление временем моделирования

TERMINATE 1 ;завершение моделирования

;Отчет:

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 998 0 0

2 QUEUE 998 0 0

3 SEIZE 998 0 0

4 DEPART 998 0 0

5 ADVANCE 998 0 0

6 RELEASE 998 0 0

7 TABULATE 998 0 0

8 TERMINATE 998 0 0

9 GENERATE 1 0 0

10 TERMINATE 1 0 0

FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

PARIK 998 0.797 11.980 1 0 0 0 0 0

QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY

OCHERED 3 0 998 517 0.207 3.110 6.453 0

QUEUE – имя очереди, MAX – максимальная длина очереди, CONT – содержимое очереди в момент окончания прогона модели, ENTRY – счетчик числа входов в очередь, ENTRY(0) – счетчик нулевых входов в очередь, AVE.CONT – среднее значение содержимого очереди, AVE.TIME – среднее время пребывания в очереди, AVE.(-0) – среднее время пребывания в очереди без учета нулевых входов, RETRY – кол-во транзактов в модели в момент созд отчета, ожидающих наступления определенных условий, зависящих от состояния данной очереди.

STORAGE – символьное имя МКУ, CAP – емкость МКУ, определенная командой storage, ENTRIES – число входов в МКУ, AVL – доступность МКУ в момент созд отчета, AVE.C – среднее число занятых каналов, UTIL – коэф-т использования МКУ.

Из отчета видно, что поступило 998 клиента (GENERATE 998), обслужено 988 (RELEASE 998). Среднее время обслуж составило 11.980 мин, коэф-т использования канала = 0.797. в очереди за время моделирования нах в ожидании обслуж не более 3 человек, а среднее знач длины очереди составило 3.110.

  1. Логика работы моделирующей системы GPSS. Цепи текущих и будущих событий. Условия переноса транзактов из одной цепи в другую.


При моделировании сложных систем необходимо детально пред­ставлять логику работы интерпретатора, чтобы правильно отразить в модели поведение изучаемой системы. Большое значение для понимания особенно­стей работы интерпретатора имеет рассмотрение механизмов продвижения транзактов в модели и изменения модельного времени.

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

Цепь представляет собой список, в кот интерпретатор вносит транзакты по мере выполнения программы модели. Интерпретатор рассматривает каждый транзакт как элемент одной или нескольких цепей. Каждый транзакт м.б. представлен как звено в цепи. Цепи являются открытыми, имеют начало и конец. Положение транзакта в цепи зависит от того, как скоро он должен вернуться в модель для продолжения движения. Последовательность обработки связана с временем возникновений событий при выполнении моделирования.

В GPSS World имеются 8 видов цепей: цепь текущих событий; цепь будущих событий; цепь задержки; цепь пользователя; цепь парности; цепь прерывания; цепь ожидания захвата; цепь повторных проверок.

2 вида цепей обязательно формируются интерпретатором для каждой модели - цепь текущих событий (ЦТС) и цепь будущих событий (ЦБС). Др создаются по мере необходимости при создании определенных моделирующих элементов.

ЦТС содержит транзакты, движение кот по блокам планируется в текущий момент времени, а также транзакты, движение кот заблокировано ввиду условий в модели. ЦТС формируется с учетом приоритетов транзактов. Транзакты в ЦТС могут находиться в одном из двух состояний: активном, т. е. продвигаться в данный момент интерпретатором, либо приостановленном.

ЦБС состоит из транзактов, движение кот не планируется в текущий момент времени. Это возможно в следующих случаях:

  1. Транзакт попал в блок ADVANCE с ненулевым временем задержки.

  2. Транзакт должен войти в модель в более поздний момент времени через блок GENERATE .

Уровень приоритета не влияет на место транзакта в ЦБС.

Т.о., транзакты в модели располагаются одновременно и в блоках, и в цепях. Интерпретатор изменяет состояние модели при просмотре ЦТС от начала к концу. Он выбирает транзакт и двигает его по модели до тех пор, пока не возникнет одна из трех ситуации: