Критерии останова процесса моделирования — КиберПедия 

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Критерии останова процесса моделирования

2021-03-18 156
Критерии останова процесса моделирования 0.00 из 5.00 0 оценок
Заказать работу

 Важным для алгоритма моделирования является также формирование признака или критерия останова процесса моделирования. Система моделирования прекращает работу (останавливается), если возникает одна из следующих ситуаций:

Ситуации, приводящие к аварийному останову:

1.В МОДЕЛИ НЕТ НИ ОДНОГО ТРАНЗАКТА или

2. СПИСОК ТЕКУЩИХ СОБЫТИЙ ПУСТ, А ОСТАЛЬНЫЕ ТРАНЗАКТЫ  в других списках ЗАБЛОКИРОВАНЫ, то есть не могут перемещаться по блокам модели, или

3. КОЛИЧЕСТВО ТРАНЗАКТОВ В МОДЕЛИ ПРЕВЫШАЕТ ДОПУСТИМОЕ, принятое по умолчанию, или задаваемое исследователем в модели с помощью управляющего оператора REALLOCATE (ПЕРЕРАСПРЕДЕЛЯТЬ), располагаемого в начале описания модели и имеющего следующий формат:

REALLOCATE объект, количество, объект, количество, …,

Примечания:

1.Ситуации 1 и 2 возникают, если модель содержит логические ошибки.

2.Ситуация 3 возникает часто при неверном соотношении интенсивности входных потоков и обслуживания транзактов в модели. Поэтому рекомендуется до начала моделирования на ЭВМ ориентировочно оценивать загрузку оборудования моделируемой системы и подобрать отношение «интенсивности входного потока к интенсивности обслуживания» не более 0.95-0.98.

Нормальное завершение работы модели: счетчик числа завершений, задаваемый полем Аr управляющего оператора START Ar, принимает значение 0 или меньше нуля (cм. два варианта задания останова программы моделирования – параграф 1.3).

ТЕМА 2. Базовые средства языка в системе GPSS для имитационного моделирования типовых схем СМО

2.1 Блоки имитации работы одноканального устройства обслуживания (объекта FACILITY )

Одноканальное устройство (ОКУ) с очередью: условное графическое отображение представлено на рисунке 2.1.

 

Рисунок 2.1 –– Одноканальная СМО с очередью

 

Одноканальному устройству в GPSS соответствует объект FACILITY – устройство или канал обслуживания, который может находиться в одном из двух рабочих состояний – свободен или занят на время обслуживания поступившего в него транзакта. Занятие и освобождение устройства имитируется, соответственно, двумя блоками:

 

SEIZE A; – занять устройство, где A – имя или номер устройства.

…….

…….

RELEASE А; – освободить занятое устройство А

 

Принцип работы блоков: если устройство А свободно, то транзакт входит в блок SEIZE А и без задержки перемещается в следующий блок, при этом блок SEIZE A закрывается до момента выхода транзакта из блока RELEASE A. Если же устройство занято, то движение этого транзакта приостанавливается, то есть транзакт блокируется – заносится в список блокированных событий и находится там до момента разблокировки при освобождении устройства. Момент освобождения устройства зависит от длительности процесса обслуживания транзакта, которая имитируется блоком ADVANCE, выполняющим роль задержки транзакта на интервал времени, задаваемый, как и в блоке GENERATE, по одной из двух форм:

1) равновероятное распределенные на интервале (А-В, А+В):

ADVANCE A, B; или

2) распределение, задаваемое встроенной функцией, как например,

экспоненциальное распределение с соответствующими параметрами:

ADVANCE (Exponential (RNj, Тсм, То)), где RNj –генератор случайных чисел из интервала (0,1), на основе которого формируется эксп. распр., а То - среднее время, равное 1/L, L – постоянная экспоненциального распределения (см. Приложение 3. Законы распределения непрерывных и дискретных случайных величин, применяемых в практике имитационного моделирования, Дорошенко А.Н. Имитационное м оделирование дискретных процессов и систем на основе GPSS / А.Н. Дорошенко. – Учебное пособие. М.: Издательство МЭИ, 2019. – 100 с.).

Для объекта FACILITY (ОКУ) предусмотрены также средства имитации обслуживания транзактов с учетом их относительных и абсолютных приоритетов, по аналогии с аналитическими методами обслуживания заявок в одноканальном устройстве (далее – ОКУ). Напомним, что режим приоритетного обслуживания называется относительным, если из множества заявок, пытающихся войти в устройство, такое право предоставляется той заявке, которая имеет наибольший приоритет. При этом выбор следующей заявки для обслуживания в данном устройстве происходит после освобождения устройства от обслуживания предыдущей заявки, имеющей произвольное значение приоритета. Заявки, имеющие одинаковые приоритеты, обслуживаются в устройстве в порядке поступления в одну очередь к данному устройству.

В GPSS есть два способа задания транзакту уровня относительного приоритета (целое без знака от 0 до 127 и т.д.):

· в поле Е блока GENERATE, например, GENERATE,,,,4, и

· в поле А блока PRIORITY, например, PRIORITY 4 (см. особенности работы этого блока далее).

В GPSS не существует способа задания транзакту явного признака абсолютного приоритета. Для транзактов с абсолютным приоритетом (LIFO) должна быть в модели предусмотрена одна отдельная очередь, аналогично с очередями транзактов, наделённых относительными приоритетами. При появлении на входе ОКУ транзакта, претендующего на абсолютный приоритет, происходит прерывание процесса обслуживания транзакта, ранее вошедшего в данное устройство, даже если оно было занято обслуживанием транзакта, имеющего любой относительный приоритет. Прерванный транзакт поступает в список прерываний. Захват устройства транзактом с абсолютным приоритетом и освобождение устройства (снятие прерывания) с последующим дообслуживанием прерванного ранее транзакта имитируется, соответственно, двумя блоками:

PREEM Р T A; захват ОКУ А с прерыванием

RETURN A; освобождение ОКУ А с возвратом ранее прерванного *транзакта для дообслуживания

 

Таким образом, в GPSS-модели работа одноканального устройства по обслуживанию потока заявок без приоритетов или с относительным приоритетом отображается следующими тремя блоками (с условием занятия блока после его освобождения от предыдущей заявки):

 

SEIZE A       ; занять устройство, если оно свободно

ADVANCE A, B; задержать транзакт

RELEASE A; освободить устройство

 

Работа ОКУ по обслуживанию потока транзактов с абсолютным приоритетом также отображается тремя блоками, но в наименованиях блоков входа и выхода подразумеваются особенности подпрограмм (алгоритмов) реализации дисциплины обслуживания LIFO – захват с учётом прерывания устройства, если оно было занято, и освобождение устройства с возвращением прерванного транзакта для дообслуживания: 

 

PREEMPT A; захватить устройство с прерыванием

ADVANCE A, B; задержать транзакт на время обслуживания

RETURN A; освободить устройство с дообслуживанием прерванного *транзакта после освобождения устройства

 

Для объекта FACILITY – ОКУ, кроме двух рабочих состояний (свободно и занято), в GPSS предусмотрено ещё одно состояние ОКУ – недоступное, которое может означать его поломку (отказ). Перевод устройства в недоступное состояние в модели имитируется блоком FUNAVAIL (facility unavail), содержащим поля от А до Н.

Здесь рассмотрим простейший вариант:

  FUNAVAIL А,В,С

где А – имя устройства, В – определяет, что делать с транзактом, занимавшим устройство в момент его прерывания: СО – продолжать обработку и во время недоступности; RE–передать транзакт блоку по метке, которая должна быть в поле С; а по умолчанию – переслать транзакт в список прерываний и после восстановления доступности дообслужить в этом устройстве.

Устройство типа FACILITY имеет два типа атрибутов, которыми программист-разработчик модели может воспользоваться по своему усмотрению:

· стандартные числовые атрибуты (СЧА) ОКУ:

SF $ j – состояние j-го устройства: равно 0, если устройство свободно, и равно 1,если устройство занято;

FR $ j – коэффициент использования устройства j, принимающий значения в интервале (0,1);

FC $ j – число транзактов, вошедших в устройство j за время моделирования;

FT $ j – среднее времянахождения транзакта в j -м устройстве;

· стандартные логические атрибуты (СЛА), каждый из которых может

принимать одно из двух значений – "true" или "false":

U – устройство занято: принимает значение "true" при занятости устройства в данный текущий момент времени моделирования или "false", если устройство не занято;

NU – устройство не занято: принимает значение "true",если устройство свободно в данный текущий момент времени моделирования или "false", если не свободно, то есть занято;

I – устройство прервано: принимает значение "true", если устройство прервано (транзакт вошел в устройство по блоку PREEMPTи ещё не вышел из блока RETURN) или "false",если устройство не прервано;

NI – устройство не прервано: принимает значение "true", если устройство не прервано или "false", если устройство прервано (транзакт вошел в устройство по блоку PREEMPTи ещё не вышел из блока RETURN);

    Проверка состояния устройства осуществляется блоком GATE (структура блока описана далее), который в зависимости от значения проверяемого СЛА либо беспрепятственно пропускает транзакты (если СЛА = "true"), либо (если СЛА = "false") задерживает их в блоке GATE – при отсутствии поля С, а иначе, при наличии поля С, направляет транзактыв блок по метке, указанной в поле С.

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

Пример 2.1,а. На вход устройстваUST1 поступают транзакты точно через каждые 15 условных единиц времени (уев) и задерживаются в устройстве, имитируя обслуживание каждого транзакта в течение также фиксированного интервал в 12 единиц времени:

GENERATE 15; генерация транзактов

SEIZE UST 1; занятие устройства

ADVANCE 12; задержка транзакта

RELEASE UST 1; освобождение устройства

TERMINATE 1; сокращение на 1 числа в операторе START и *удаление транзакта из модели

START 1000; общее число транзактов, проходящих через *устройство

 

Очевидно, что коэффициент загрузки устройства (КЗУ) будет определяться отношением времён 12/15 = 0,8 (условие КЗУ<1 –это ненасыщенный режим работы одноканальной СМО), а при уменьшении интервала появления транзактов в блоке GENERATEдо 12 уев (что эквивалентно увеличению частоты генерации транзактов, определяемой как 1/12) получим КЗУ=1 – насыщенный режим данной СМО, и при дальнейшем повышении частоты генерации транзактов получим т.н. сверхнасыщенный режим, при котором также КЗУ=1, но, очевидно, что СМО не будет справляться с входным потоком транзактов, что приведёт к неограниченному росту длины очереди при неограниченной длительности процесса моделирования (в данном примере длительность моделирования задаётся общим числом транзактов в операторе управления START).

Как уже было отмечено ранее, длительность моделирования удобнее задавать не количеством транзактов, а временем моделирования, поэтому далее в моделях для задания времени моделирования будем предусматривать отдельный сегмент, состоящий из двух блоков (GENERATE TМmax и TERMINATE 1), что для этого примера будет иметь вид (здесь ТМmax = 3000):

 

GENERATE 15; генерация транзактов

SEIZE UST 1; занятие устройства

ADVANCE 12; задержка транзакта как имитация обслуживания заявки

RELEASE UST 1; освобождение устройства

TERMINATE; удаление транзакта

GENERATE 30000; длительность моделируемого процесса в условных *единицах времени

TERMINATE 1

START 1

 

Пример 2.1.б. Здесь входной поток транзактов подчиняется равновероятному закону со средним значением 15 и интервалом (5,25) единиц времени, а обработка – равновероятному закону со средним 12 и интервалом (5,19):

 

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

SEIZE UST 1; занятие устройства

ADVANCE 12,7; задержка транзакта

RELEASE UST 1; освобождение устройства

TERMINATE; удаление транзакта

GENERATE 30000; время моделирования (длительность моделируемого *процесса в уев)

TERMINATE 1

START 1

 

Пример 2.1.в. В этой модели равновероятностные законы распределения времени порождения транзактов и их обслуживания в устройстве заменены на классические для ТЕОРИИ МАССОВОГО ОБСЛУЖИВВНИЯ экспоненциальные законы с соответствующими параметрами:

 

GENERATE (Exponential (1,0,15)); генерация транзактов

SEIZE UST 1; занятие устройства

ADVANCE (Exponential (1,0,12)); задержка транзакта

RELEASE UST 1; освобождение устройства

TERMINATE; удаление транзакта

GENERATE 30000; длительность моделируемого процесса в уев

TERMINATE 1

START 1

 


Поделиться с друзьями:

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.048 с.