Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Топ:
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Интересное:
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Дисциплины:
2021-03-18 | 156 |
5.00
из
|
Заказать работу |
|
|
Важным для алгоритма моделирования является также формирование признака или критерия останова процесса моделирования. Система моделирования прекращает работу (останавливается), если возникает одна из следующих ситуаций:
Ситуации, приводящие к аварийному останову:
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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!