Основные понятия компьютерного моделирования
Классификация компьютерных моделей. Этапы компьютерного моделирования. Особенности компьютерного эксперимента, этапы его проведения. Компьютерные модели физических процессов и систем массового обслуживания. Имитационное моделирование процессов и систем.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курс лекций |
Язык | русский |
Дата добавления | 03.06.2017 |
Размер файла | 869,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
1. относительную пропускную способность системы;
2. абсолютную пропускную способность системы;
3. вероятности отказа системы.
Решение
Определим интенсивность потока обслуживания:
.
Вычислим относительную пропускную способность:
q=.
Величина q означает, что в установившемся режиме система будет обслуживать примерно 35% прибывающих на пост автомобилей.
Абсолютную пропускную способность определим по формуле:
А=лЧq=1Ч0,356=0,356.
Это означает, что система способна осуществить в среднем 0,356 обслуживания автомобилей в час.
Вероятность отказа: Ротк=1-q=1-0,356=0,644.
Это означает, что около 65% прибывших автомобилей на пост ЕО получат отказ в обслуживании.
Определим номинальную пропускную способность системы:
Аном= (автомобилей в час).
Оказывается, что Аном в раза больше, чем фактическая пропускная способность, вычисленная с учетом случайного характера потока заявок и времени обслуживания.
4.1 Задача №1. Дежурный по администрации города имеет один телефон. Телефонные звонки поступают с интенсивностью 90 заявок в час, средняя продолжительность разговора составляет 2 мин. Определить показатели СМО дежурного администратора.
Примечание: выбираем л = 90 в час.; t=2 мин.
Решение:
Исчисляем показатели обслуживания для одноканальной СМО:
Интенсивность потока обслуживания:
м = 60/2 = 30
1. Интенсивность нагрузки.
с = л tобс = 90 2/60 = 3
Интенсивность нагрузки с=3 показывает степень согласованности входного и выходного потоков заявок канала обслуживания и определяет устойчивость системы массового обслуживания.
3. Вероятность, что канал свободен (доля времени простоя канала).
p0 = м/ (л + м) p0 = 30 (90 + 30) = 0.25
Следовательно, 25% в течение часа канал будет не занят, время простоя равно tпр = 15 мин.
4. Доля заявок, получивших отказ.
p1 = 1 - p0 = 1 - 0.25 = 0.75
Значит, 75% из числа поступивших заявок не принимаются к обслуживанию.
5. Относительная пропускная способность.
Доля обслуживаемых заявок, поступающих в единицу времени:
Q = p0 = 0.25
6. Абсолютная пропускная способность.
A = Q л = 0.25 90 = 22.5 заявок/час.
7. Среднее время простоя СМО.
tпр = pотк tобс = 0.75 0.0333 = 0.02 час.
10. Среднее число обслуживаемых заявок.
Lобс = с Q = 3 0.25 = 0.75 ед.
Число заявок, получивших отказ в течение час: л p1 = 68 заявок в час.
Номинальная производительность СМО: 1/0.0333 = 30 заявок в час.
Фактическая производительность СМО: 22.5/30 = 75% от номинальной производительности.
Классификация систем массового обслуживания
I. По характеру поступления требований в систему:
1. системы с регулярным потоками поступления требований в систему;
2. системы со случайными потоками поступления требований в систему.
Если количество требований, поступающих в систему в единицу времени (интенсивность потока), постоянно или является заданной функцией времени, то мы имеем систему с регулярным потоком поступления требований в систему, иначе - со случайным.
II. По количеству требований, поступающих в единицу времени:
1. системы с ординарным потоком требований;
2. системы с неординарным потоком требований.
Если вероятность поступления двух или более требований в один момент времени равна нулю или имеет столь малую величину, что ею можно пренебречь, то мы имеем систему с ординарным потоком требований. Например, поток требований в виде самолетов, поступающих на взлетно-посадочную полосу аэродрома можно считать ординарным, так как вероятность поступления двух и более самолетов в канал обслуживания (взлетно-посадочную полосу) в один и тот же момент времени очень мала, и ею можно пренебречь.
III. По связи между требованиями:
1. системы без последействия от поступивших требований;
2. системы с последействием от поступивших требований.
Если вероятность поступления требований в систему в некоторый момент времени не зависит от того, сколько требований уже поступило в систему, т.е. не зависит от предыстории изучаемого процесса, то это задача без последействия, в противном случае - с последействием. Примером задачи с последействием может служить поток студентов на сдачу зачета преподавателю.
IV. По характеру поведения требования в системе:
1. система с отказами;
2. система с ограниченным ожиданием
3. система с ожиданием без ограничения.
В случае, если требование, вновь поступившее на обслуживание, застает все каналы обслуживания уже занятыми и покидает систему, то это система с отказами. Требование может покинуть систему и в том случае, когда очередь достигла определенных размеров. Если ракета противника появляется во время, когда все противоракетные установки заняты обслуживанием других ракет, то она благополучно покидает область обслуживания. В случае, если поступившее требование застает все каналы обслуживания занятыми и становится в очередь, но находится в ней ограниченное время, после чего, не дождавшись обслуживания, покидает систему, то это система с ограниченным ожиданием. Примером такого "нетерпеливого" требования может быть автосамосвал с цементным раствором. Если время ожидания велико, то во избежание затвердения раствора он может быть разгружен в другом месте. В случае, если поступившее требование, застав все каналы обслуживания занятыми, вынуждено ожидать своей очереди до тех пор, пока оно не будет обслужено, то это система с ожиданием без ограничения. Пример: самолет, который находится на аэродроме до тех пор, пока не освободится взлетная полоса.
V. По способу выбора требований на обслуживание:
1. система с приоритетом;
2. система по мере поступления;
3. система случайно;
4. система, в которой последний обслуживается первым. Иногда в таком случае говорят о дисциплине обслуживания.
В случае, если система массового обслуживания охватывает несколько категорий требований и по каким-либо соображениям необходимо соблюдать различный подход к их отбору, то это система с приоритетом. Так, при поступлении изделий на стройплощадку в первую очередь монтируются те, которые необходимы в данный момент; - если освободившийся канал обслуживает требование, ранее других поступившее в систему, то имеем систему с обслуживанием требований по мере их поступления. Это наиболее распространенный класс систем. Например, покупатель, подошедший первым к продавцу, обслуживается раньше других. Этот способ выбора требований на обслуживание применяется там, где в силу технических, технологических или организационных условий требования не могут опережать друг друга; - если требования из очереди поступают в канал обслуживания в случайном порядке, то имеем систему со случайным выбором требований на обслуживание. Пример: выбор слесарем-сантехником одной из нескольких заявок, поступивших от жильцов, на устранение неисправностей. Выбор здесь, как правило, определяется местоположением самого слесаря: он предпочтет заявку жильца, расположенного к нему наиболее близко, если никакие другие факторы не предопределяют иной выбор;
последний обслуживается первым. Этот способ выбора требований на обслуживание используется в тех случаях, когда удобнее или экономнее брать на обслуживание требование, позже всех поступившее в систему.
Так, при складировании строительных изделий в штабель удобнее сначала брать из него изделие, поступившее последним.
6. По характеру обслуживания требований: на системы с детерминированным и случайным временем обслуживания. Если интервал времени между моментом поступления требования в канал обслуживания и моментом выхода требования из этого канала постоянен, то мы имеем систему с детерминированным временем обслуживания, иначе - со случайным.
7. По числу каналов обслуживания: на одноканальные и многоканальные системы. Так, при монтаже дома может быть использован один подъемный кран (один канал обслуживания) или несколько (много каналов) для обслуживания прибывающих на стройку изделий.
8. По количеству этапов обслуживания: на однофазные и многофазные системы. Если каналы обслуживания расположены последовательно и они неоднородны, так как выполняют различные операции обслуживания, то мы имеем многофазную систему массового обслуживания. Примером такой системы может быть, например, обслуживание автомобилей на станции технического обслуживания (мойка, диагностирование и т.д.).
9. По однородности требований, поступающих на обслуживание: на системы с однородными и неоднородными потоками требований. Так, если под погрузку прибывают фургоны одинаковой грузоподъемности, то такие требования называются однородными, если разной - то неоднородными.
10. По ограниченности потока требований: на замкнутые и разомкнутые системы. Если поток требований ограничен и требования, покинувшие систему, через некоторое время в нее возвращаются, то мы имеем замкнутую систему, в противном случае - разомкнутую. Примером замкнутой системы может служить система "Ремонтная бригада" и обслуживаемое ею оборудование.
1. Если количество требований, поступающих в систему в единицу времени (интенсивность потока), постоянно или является заданной функцией времени, то это система
а) с ординарным потоком требований;
б) со случайным потоком поступления требований;
в) с регулярным потоком поступления требований;
г) нет правильного ответа.
2. Если количество требований, поступающих в систему в единицу времени (интенсивность потока), случайно, то это система массового обслуживания
а) с ординарным потоком требований;
б) со случайным потоком поступления требований;
в) с регулярным потоком поступления требований;
г) нет правильного ответа.
3. Если вероятность поступления двух или более требований в один момент времени равна нулю или имеет столь малую величину, что ею можно пренебречь, то это система массового обслуживания
а) с ординарным потоком требований;
б) со случайным потоком поступления требований;
в) с регулярным потоком поступления требований;
г) нет правильного ответа.
4. Если вероятностью поступления двух или более требований в один момент времени нельзя пренебречь, то это система массового обслуживания
а) с ординарным потоком требований;
б) со случайным потоком поступления требований;
в) с регулярным потоком поступления требований;
г) нет правильного ответа.
5. В случае, если требование, вновь поступившее на обслуживание, застает все каналы обслуживания уже занятыми и покидает систему, то это система
а) с отказами;
б) с ограниченным ожиданием;
в) с ожиданием без ограничения;
г) нет правильного ответа.
6. В случае, если поступившее требование застает все каналы обслуживания занятыми и становится в очередь, но находится в ней ограниченное время, послечего, не дождавшись обслуживания, покидает систему, то это система
а) с отказами;
б) с ограниченным ожиданием;
в) с ожиданием без ограничения;
г) нет правильного ответа.
7. В случае, если поступившее требование, застав все каналы обслуживания занятыми, вынуждено ожидать своей очереди до тех пор, пока оно не будет обслужено, то это система
а) с отказами;
б) с ограниченным ожиданием;
в) с ожиданием без ограничения;
г) нет правильного ответа.
8. В случае, если система массового обслуживания охватывает несколько категорий требований и по каким-либо соображениям необходимо соблюдать различный подход к их отбору, то это система
а) с приоритетом;
б) по мере поступления;
в) случайно;
г) нет правильного ответа.
9. В случае, если в системе массового обслуживания освободившийся канал обслуживает требование, ранее других поступившее в систему, то имеем систему
а) с приоритетом;
б) по мере поступления;
в) случайно;
г) нет правильного ответа.
10. В случае, если в системе массового обслуживания требования из очереди поступают в канал обслуживания в случайномпорядке, то имеем систему
а) с приоритетом;
б) по мере поступления;
в) случайно;
г) нет правильного ответа.
11. Системы массового обслуживания делятся на одноканальные и многоканальные согласно
а) количеству этапов обслуживания;
б) количеству каналов обслуживания;
в) количеству заявок в очереди;
г) нет правильного ответа.
12. Системы массового обслуживания делятся на однофазные и многофазные согласно
а) количеству этапов обслуживания;
б) количеству каналов обслуживания;
в) количеству заявок в очереди;
г) нет правильного ответа.
13. Системы массового обслуживания делятся на системы с детерминированным и случайным временем обслуживания согласно
а) количеству этапов обслуживания;
б) количеству каналов обслуживания;
в) количеству заявок в очереди;
г) нет правильного ответа.
14. Системы массового обслуживания делятся на замкнутые и разомкнутые согласно
а) количеству этапов обслуживания;
б) количеству каналов обслуживания;
в) ограниченности потока требований;
г) нет правильного ответа.
1. На автомойку в среднем за час приезжают три автомобиля, если в очереди уже находятся два автомобиля, то вновь подъезжающие автомобили не желают терять время в ожидании обслуживания и покидают мойку, поскольку среднее время мойки одного автомобиля составляет 20 мин, а мест для мойки всего одно. Система является:
а) многоканальной системой массового обслуживания с отказами;
б) одноканальнойсистемой массового обслуживания с неограниченной очередью;
в) одноканальнойсистемой массового обслуживания с ограниченной длиной очереди.
в
2. На специализированный пост диагностики состояния автомобилей прибывают на диагностику с интенсивностью 0,85 автомобиля в час. Время диагностики одного автомобиля в среднем равно 1,05 часа. Если пост занят, то вновь прибывший автомобиль размещается на месте для стоянки, число которых неограниченно. К какому классу систем массового обслуживания относится данная система?
а) одноканальнойсистемой массового обслуживания с ограниченной длиной очереди;
б) одноканальнойсистемой массового обслуживания с неограниченной очередью;
в) многоканальной системой массового обслуживания с отказами.
б
3. На рисунке приведена схема … системы массового обслуживания
а) одноканальной;
б) замкнутой;
в) многоканальной.
в
4. Механическая мастерская завода с тремя постами выполняет ремонт малой механизации. Поток неисправных механизмов, прибывающих в мастерскую, - пуассоновский и имеет интенсивность 2,5 механизма в сутки, среднее время ремонта одного механизма распределено по показательному закону и равно 0,5 суток. Предположим, что другой мастерской на заводе нет, и, значит, очередь механизмов перед мастерской может расти практически неограниченно. К какому типу систем массового обслуживания относится мастерская?
а) многоканальная система массового обслуживания с ожиданием;
б) многоканальная система массового обслуживания с отказами;
в) многоканальная система массового обслуживания с ограниченной длиной очереди.
а
Имитационное моделирование в пакете GPSS World
Система GPSS (General Purpose Simulating System=Общецелевая система моделирования) предназначена для разработки и использования имитационных моделей дискретных сложных систем. Она наиболее подходит для моделирования систем массового обслуживания.
Впервые созданная Джеффри Гордоном в фирме IBM в начале 1960-х годов, система GPSS является самым популярным в мире инструментом имитации и являет редкий пример долгожительства в мире программного обеспечения. Современная версия языка GPSS и система GPSS World, разработанная фирмой Minuteman Software имеет стандартный оконный интерфейс и средства для реализации всех этапов имитационного моделирования на языке GPSS:
1) Текстовый редактор и встроенные шаблоны блоков для ввода модели;
2) Интерпретирующий алгоритм для синхронизации работы различных компонентов модели и управления таймером модельного времени;
3) Средства автоматического сбора статистических данных;
4) Средства отладки модели и контроля динамики процесса имитации;
5) Средства визуализации процесса моделирования и представления результатов в виде таблиц и графиков.
Выделяют четыре основных категории объектов GPSS (таблица 1).
Таблица 1. Объекты языка GPSS
Категория объекта |
Тип объекта |
Мнемоническое обозначение |
|
Динамическая |
Транзакт |
- |
|
Статическая, или оборудование |
Устройство |
F |
|
Память |
S |
||
Ключ |
L |
||
Статистическая |
Очередь |
Q |
|
Таблица |
T |
||
Операционная |
Блок |
- |
Динамическая категория объектов представлена одним типом - транзактом. Транзакт имитирует единицу исследуемого потока запросов на обслуживание. Например, транзакт может представлять клиента, пришедшего в парикмахерскую или магазин, деталь, подлежащую обработке на станке, автомобиль в модели транспортной системы, задание пользователя в вычислительной системе и т.д. Транзакт во многом аналогичен заявке в системе массового обслуживания (СМО), но это понятие более широкое и сложное. Таким образом, транзакт - это динамический (т.е. движущийся) элемент GPSS-модели. Работа модели заключается в перемещении транзактов от одного операционного блока к другому. Именно транзакт, двигаясь по модели, является инициатором смены состояний моделируемой системы. С каждым транзактом связан ряд параметров. Например, транзакту может быть присвоен приоритет, который определяет порядок обслуживания его в очереди. Транзакты с более высоким приоритетом выбираются на обслуживание в первую очередь. Или, например, если транзакт имитирует собой судно, параметром может быть количество груза, подлежащего разгрузке. Это значение может быть использовано для определения времени разгрузки у причала порта. Транзакт GPSS - это объект с набором атрибутов. Каждый Транзакт можно различить по уникальному номеру Транзакта. Транзакты создаются в процессе моделирования и нумеруются последовательно, начиная с единицы.
Транзакт имитирует единицу исследуемого потока запросов на обслуживание. Например, транзакт может представлять клиента, пришедшего в парикмахерскую или магазин, деталь, подлежащую обработке на станке, автомобиль в модели транспортной системы, задание пользователя в вычислительной системе и т.д. Таким образом, транзакт - это динамический (т.е. движущийся) элемент GPSS-модели. Работа модели заключается в перемещении транзактов от одного операционного блока к другому. Именно транзакт, двигаясь по модели, является инициатором смены состояний моделируемой системы. Транзакт GPSS - это объект с набором атрибутов. Каждый Транзакт можно различить по уникальному номеру Транзакта. Транзакты создаются в процессе моделирования и нумеруются последовательно, начиная с единицы.
Транзакты могут быть созданы при помощи Блока GENERATE, в виде группы либо по одиночке через заданные интервалы. Все модели должны иметь как минимум один Блок GENERATE. Давайте рассмотрим случай, когда новый Транзакт создается каждые 60 моментов времени. Конкретное значение момента времени нас не интересует, если мы будем повсюду придерживаться последовательности. Давайте предположим, что один момент времени представляет собой секунду. Тогда подходящей формой выражения для Блока GENERATE, создающего новый Транзакт, будет:
GENERATE 60; Create a new Transaction
Поскольку таймер в GPSS World является числом с плавающей точкой, мы можем представить генерацию новых Транзактов с интервалом в одну минуту в виде GENERATE 1; Create a new Transaction
Тогда, если нам надо представить интервал размером в одну секунду, то можно воспользоваться записью вида 1/60 минуты или 0.01666667.
К статической категории (оборудованию) относятся устройства, памяти и ключи. Устройства (FACILITY) используются для моделирования ресурса, который в каждый момент времени может быть занят только одним транзактом (одноканальная СМО). Например, кассир, парикмахер или продавец, если он один обслуживает клиентов; центральный процессор в вычислительной системе, кладовщик на складе и т.п. Памяти (STORAGE) представляют оборудование, которое может использоваться несколькими транзактами одновременно (многоканальные СМО). Например, запоминающее устройство вычислительной системы, стоянка автомобилей с ограниченным числом мест, несколько причалов в порту и т.д. Логические ключи (SWITCH) служат для блокировки или изменения маршрута движения транзактов. Они могут быть использованы в модели, например, для изображения светофора или переключателя.
Статистические объекты (очереди и таблицы) предназначены для сбора статистических данных в различных точках модели и представления их в виде стандартных показателей. Очередь (QUEUE) - это объект, предназначенный для сбора статистики по ожидающим обслуживания транзактам (среднее время ожидания, максимальная длина очереди и т.д.). Объект “очередь” не влияет на создание очереди транзактов, а лишь служит для сбора статистики по тем очередям, которые нас интересуют. Таблица (TABLE) используется для сбора статистической информации в виде эмпирических функций распределения случайных величин, получаемых в ходе моделирования.
Все вышеперечисленные объекты присутствуют в модели неявно, т.е. они существуют в процессе моделирования в виде некоторых информационных структур (переменных, списков и пр.), к которым пользователь (разработчик модели) имеет весьма ограниченный доступ. Для разработки модели пользователь использует блоки.
Блоки относятся к категории операционных объектов и задают логику функционирования моделируемого процесса или системы, определяют пути движения транзактов между объектами категории оборудования. В общем случае модель представляет собой несколько отдельных сегментов, каждый из которых состоит из последовательности блоков и определяет путь движения некоторого типа транзактов. Сегмент обычно начинается блоком GENERATE и может заканчиваться блоком TERMINATE. Все события в моделируемой системе происходят в результате входа транзактов в блоки и выполнения блоками своих функций. Основные функции блоков следующие:
- создание (генерация) и уничтожение транзактов;
- задержка транзакта на некоторый интервал времени;
- изменение маршрута движения транзактов;
- изменение числовых атрибутов объектов.
Каждому блоку соответствует оператор языка GPSS. Кроме того, программа модели может быть представлена в виде блок-схемы, на которой каждому блоку соответствует характерная фигура.
Если транзакт сгенерирован в каком-то блоке и начал свое движение, то он перемещается от блока к блоку в своем сегменте. Каждый блок можно рассматривать как некоторую точку, в которой происходит обращение к подпрограмме. В тот момент, когда транзакт входит в блок, соответствующая подпрограмма вызывается на исполнение, и далее транзакт пытается войти в следующий блок. Такое продвижение транзакта продолжается до тех пор, пока не наступит одна из следующих возможных ситуаций:
1) транзакт входит в блок, функцией которого является задержка транзакта на некоторое время;
2) транзакт входит в блок, функцией которого является удаление транзакта из модели;
3) транзакт пытается войти в следующий блок, однако блок отказывается принять этот транзакт. Другая возможная ситуация - текущий блок не выпускает транзакт. В этом случае транзакт остается в том блоке, в котором он в настоящее время находится (становится в очередь). Позднее он будет повторять попытку войти в следующий блок. Одна из таких попыток может оказаться успешной. После этого транзакт сможет продолжать свое перемещение в модели.
В общем случае в модели существует большое число транзактов, которые могут перемещаться согласно некоторой очередности. Каждый перемещаемый транзакт система пытается продвинуть как можно дальше. При возникновении одной из вышеперечисленных ситуаций, когда его дальнейшее перемещение невозможно, начинается перемещение в модели другого транзакта. Таким образом, выполнение моделирования в системе продолжается.
Каждый блок в модели имеет номер, который присваивается ему автоматически, согласно месту его расположения в модели. Кроме того, блок может иметь символическое имя (метку), которое используется для ссылки на этот блок при передаче управления. Блок может иметь до 8 операндов, уточняющих его действие. Для удобства записи обычно операнды обозначаются символами A, B, C, …, H. Если операнды блока в явном виде не заданы, интерпретатор GPSS полагает их значение по умолчанию.
Кроме операторов блоков, разработчик модели может использовать еще два вида операторов: операторы описания объектов и управляющие операторы. Операторы описания позволяют определить переменную, функцию, описать емкость памяти (количество каналов многоканальной СМО), параметры таблицы и пр. Управляющие операторы позволяют задать условия моделирования, такие как продолжительность моделирования, число прогонов модели, порядок и условия сбора статистики. В системе GPSS World управляющие операторы можно как вносить в текст самой модели, так и задавать через командное меню системы.
Простейшие операторы GPSS. Введение транзактов в модель
Транзакты в системе создаются при помощи блока GENERATE. Интервал времени между последовательными появлениями транзактов из блока GENERATE называют интервалом поступления. Когда транзакт входит в модель через блок GENERATE интерпретатор планирует время поступления следующего транзакта путем розыгрыша случайного числа c соответствующим распределением интервалов поступления на время, равное текущему значению часов плюс разыгранное значение. При достижении этого значения модельного времени следующий транзакт вводится в модель через блок GENERATE и т.д. Для ввода транзактов в модель используется блок GENERATE (Создать). Он создает (генерирует) транзакты в модели согласно заданному закону распределения интервала времени между их поступлением. Этот блок может иметь 5 операндов, т.е. имеет вид:
GENERATE A,B,C,D,E
Операнды A,B,…,E указывают следующие характеристики входного потока (в скобках значение по умолчанию):
A - средний интервал времени между поступлением транзактов (0);
B - половина поля допуска (размах) интервала равномерного распределения (0);
C - время создание первого транзакта (0);
D - ограничитель количества создаваемых транзактов (бесконечность);
E - приоритет создаваемых транзактов (0). В GPSS возможно всего 128 уровней приоритета, они задаются числами от 0 до 127. Чем больше значение приоритета, тем больше преимуществ получает при продвижении по модели транзакт.
На начальном этапе будем рассматривать только равномерное распределение интервалов между транзактами. Для задания других видов распределений нужно использовать специальные функции.
В системе GPSS World предполагается, что приходящий “извне” транзакт входит в блок GENERATE, и в момент его входа в этот блок планируется время прибытия следующего транзакта. Приход самого первого транзакта планируется до начала процесса моделирования.
Примеры:
GENERATE 5,3
Генерируются транзакты с равномерным распределением интервала поступления 53. Планирование прихода первого транзакта происходит в момент времени, равный 0, путем розыгрыша случайного целочисленного значения от 2 до 8.
GENERATE 6,4
Операнды: A = 6, В = 4. Интервал времени поступления является случайным числом со средним значением 6 и полем допуска 8, то есть он может приобретать только одно из девяти разных значений: 2, 3,4,5,6,7,8,9, 10.
GENERATE 10
Поскольку размах (операнд B) по умолчанию равен 0, получаем детерминированный (определенный точно) интервал времени между транзактами, равный 10. Первый транзакт приходит в момент времени 10, второй - в момент 20 и т.д.
GENERATE 3,3,10,5
Первый транзакт приходит в момент времени 10. После этого интервалы прибытия находят из равномерного распределения 33, т.е. от 0 до 6 включительно. После прихода пяти транзактов работа блока заканчивается.
GENERATE 8,1,,,4
Транзакты создаются с интервалом 81. Приход первого транзакта рассчитывается в момент времени 0. Количество транзактов не ограничено. (Пропущены операнды С и D). Все создаваемые транзакты имеют приоритет, равный 4.
GENERATE,,,1
Генерирование одного транзакта. Операнды: A = В = C = 0 (по умолчанию), D = 1. В нулевой момент в модель входит один транзакт.
Удаление транзактов из модели
Транзакты удаляются из модели (уничтожаются), попадая в блок TERMINATE. Блоки TERMINATE (Уничтожить) всегда позволяют выйти из модели всем транзактам, которые пытаются это сделать. Блок TERMINATE может иметь один операнд, т.е. имеет вид
TERMINATE A
Операнд A (по умолчанию 0) указывает число, на которое уменьшается содержимое счетчика числа завершений.
Счетчик числа завершений - это переменная, которая используется для управления окончанием процесса моделирования. Счетчик завершений в модели только один, хотя блоков TERMINATE может быть несколько. При достижении значения счетчика завершений, равного 0, моделирование завершается. Начальное значение счетчика завершений задается с помощью управляющего оператора START (Начать моделирование), имеющего следующий формат:
START A,B
Операнд A - начальное значение счетчика завершений (по умолчанию 0).
B - может иметь значение NP, если после окончания моделирования не требуется выводить стандартный отчет. По умолчанию отчет требуется.
Оператор START может быть записан последним оператором в текст модели, и тогда моделирование начнется сразу же после успешной компиляции модели. Если в тексте модели нет оператора START, то после компиляции модели система ожидает от пользователя дальнейших команд. Команда START может быть введена далее через главное меню.
Счетчик завершений используется для того, чтобы:
a) ограничить число транзактов, “прогоняемых” в модели;
b) ограничить время, в течении которого исследуется объект.
Например, мы хотим закончить моделирование, когда 100-ый транзакт покинет модель. Тогда можно задать в операторе TERMINATE значение операнда A, равное 1:
TERMINATE 1
А начать моделирование командой (или оператором)
START 100
Другая ситуация, если мы хотим закончить моделирование по истечении некоторого времени. Например, мы моделируем работу парикмахерской в течение рабочего дня (8 ч), а единицей времени является одна минута. Тогда в момент времени, равный 480 минут, моделирование должно быть закончено, независимо от того, сколько клиентов прошло через нее, и сколько ней сейчас находятся. Для этого в модель вводится дополнительный сегмент (соответствующий таймеру времени) вида:
GENERATE 480
TERMINATE 1
При этом начальное значение счетчика завершений командой START должно быть задано равное 1, а все другие блоки TERMINATE (уничтожающие транзактов - клиентов) не должны содержать параметров. Тогда в момент модельного времени, равный 480, будет сгенерирован транзакт-таймер и сразу же уничтожен. При этом счетчик завершений станет равен 0, и моделирование прекратится.
Задержка транзактов во времени
Моделирования обслуживания на транзакта на устройстве выполняется задержкой этого транзакта на случайное (в общем случае) время обслуживания. Реализуется это в GPSS с помощью блока ADVANCE (Задержать) формата:
ADVANCE A,B
A - среднее значение времени задержки (0);
B - половина поля допуска (размах) интервала времени задержки (0).
Блок ADVANCE никогда не препятствует входу транзакта. Любое число транзактов может находится в этом блоке одновременно. Когда транзакт попадает в этот блок, разыгрывается случайное значение времени пребывания в нем, согласно операндам A и B. Далее транзакт будет находиться в блоке ADVANCE до истечения этого времени. Как и в случае блока GENERATE, для реализации других видов распределений, отличных от равномерного, нужно использовать в качестве аргументов специальные функции.
Примеры.
ADVANCE 10,2
Время задержки распределено равномерно в интервале 102.
ADVANCE 100
Время задержки любого транзакта равно 100 (неслучайное значение, т.к. параметр B по умолчанию равен 0).
Управление устройствами
Объект типа “устройство" является аналогом канала обслуживания в СМО. В каждый момент времени он может быть занят только одним транзактом. Если устройство занято, транзакты ожидают в очереди его освобождения.
Занятие устройства транзактом выполняется блоком SEIZE (Занять) формата:
SEIZE A
Операнд A - символическое или числовое имя устройства. Правила записи всех символических имен в GPSS (будь то имя устройства, имя очереди, имя переменной или метка в модели) следующие:
· Первые три символа должны быть буквами.
· Имя не должно быть ключевым словом системы GPSS.
· Все символы строчных букв преобразуются в прописные.
Вход транзакта в блок SEIZE моделирует занятие устройства. Если транзакт пытается войти в этот блок, то производятся следующие действия:
1) Проверяется состояние устройства.
2) Если устройство свободно, то состояние устройства изменяется на “занято”, а транзакту разрешается дальнейшее продвижение.
3) Если же устройство занято, то транзакту не разрешается вход в этот блок. Он остается в предыдущем блоке, и на этом этапе его продвижение в модели заканчивается.
Освобождение устройства выполняется блоком RELEASE (Освободить) формата:
RELEASE A
Операнд A - символическое или числовое имя устройства.
Этот блок разрешает вход и выход транзакту в любом случае. Когда транзакт входит в этот блок, состояние устройства изменяется на “свободно”. Попытка входа в блок RELEASE транзакта, ранее не прошедшего блок SEIZE с тем же именем в поле А, что и в блоке RELEASE, приводит к прекращению моделирования из-за нарушения логики процесса.
Если разработчик модели использует пару блоков SEIZE - RELEASE с одним и тем же именем устройства, то тем самым он сообщает системе о наличии такого устройства и необходимости регистрировать статистические данные по нему. По окончании моделирования в отчете выводятся следующие статистические характеристики устройства:
1) Коэффициент использования: доля времени, в течение которого устройство было занято обслуживанием, в общем модельном времени. Рассчитывается как отношение времени занятости устройства к общему модельному времени, в течении которого имитировалась система. В отчете имеет имя (UTIL.)
2) Среднее время обслуживания. В отчете - (AVE. TIME)
3) Количество обслуживаний (число транзактов, входивших в блок SEIZE). Учитывается в том числе и тот транзакт, который в момент окончания моделирования продолжает обслуживание). В отчете - (ENTRIES)
SEIZE MASTER
ADVANCE 16,4
RELEASE MASTER
Классический пример использования цепочки SEIZE-ADVANCE-RELEASE для моделирования работы устройства (парикмахера из нашего примера). Транзакт, двигающийся по этой цепочке, займет устройство с символическим именем MASTER, задержится там на 164 единицы времени, и затем покинет его. Когда данный транзакт войдет в блок RELEASE, и отработает процедура этого блока, следующий транзакт сможет использовать устройство MASTER.
Сбор статистики при ожидании в очереди
Как уже отмечалось выше, если устройство занято каким-либо транзактом, то блок SEIZE запрещает вход всем остальным транзактам. Эти транзакты, которые тоже хотели бы занять устройство, остаются в предыдущем блоке. Там они могут накапливаться, образуя очередь. Дисциплина обслуживания этой очереди, принятая по умолчанию в GPSS, - это “первым пришел - первым обслужен в пределах одного класса приоритетов”. Таким образом, после освобождения устройства, из очереди выбирается тот транзакт, который имеет больший приоритет, а среди транзактов одинакового приоритета - тот, который пришел ранее. Очереди в системе образуются автоматически, в результате того, что транзакты вынуждены ожидать освобождения устройства. По некоторым очередям разработчик модели может собирать статистику моделирования, а именно:
1) Максимальное число транзактов в очереди. В отчете (MAX).
2) Среднее число транзактов в очереди. В отчете (AVE. CONT).
3) Общее число входов очередь. Учитываются и те транзакты, которые покинули очередь, и те, которые в ней находятся в момент окончания моделирования. В отчете (ENTRY).
4) Число транзактов, которые были зарегистрированы, но не потратили никакого времени на ожидание в очереди (нулевые входы) (ENTRY (0)).
5) Среднее время ожидания в очереди (с учетом и без учета нулевых входов) (AVE. TIME и AVE (-0)).
Для того, чтобы организовать сбор такой статистики (а не для того, чтобы организовать очередь), служат блоки QUEUE (Стать в очередь) и DEPART (Покинуть очередь).
QUEUE A,B
DEPART A,B
A - Символическое имя или номер очереди, к которой нужно присоединиться или покинуть (по умолчанию ошибка);
B - число занимаемых или освобождаемых мест в очереди (по умолчанию 1).
Блоки QUEUE и DEPART всегда пропускают транзакт. При входе транзакта в блок QUEUE моделирующая программа GPSS выполняет действия, фиксирующие вхождение транзакта в очередь (увеличение счетчика входов, запоминание времени постановки транзакта в очередь и т.д.). Когда же транзакт проходит блок DEPART, выполняются действия, регистрирующие выход транзакта из очереди и расчет соответствующих характеристик этого транзакта. Следует отметить, что моделирующий алгоритм GPSS устроен так, что среднее время пребывания в очереди рассчитывается с учетом и тех транзактов, которые в момент окончания моделирования находятся в очереди. Поэтому среднее время пребывания в очереди получается несколько заниженным, т.к. транзакты, находящиеся в очереди, должны были бы оставаться в ней еще некоторое время. Статистику по очередям, для которых организован сбор статистики блоками QUEUE - DEPART, пользователь получает в отчете по окончанию моделирования.
В системе GPSS транзакт может присутствовать одновременно не более, чем в пяти очередях. Ситуация, в которой может потребоваться присутствие транзакта в нескольких очередях одновременно, может возникнуть, например, при моделировании поведения покупателя в магазине, который занимает очереди сразу в несколько отделов.
В таблице 2 показаны элементы блок-схемы, соответствующие перечисленным выше блокам.
Таблица 2. Фигуры блок-схемы, соответствующие операторам блоков
GENERATE A,B |
||
TERMINATE A |
||
SEIZE A |
||
RELEASE A |
||
ADVANCE A,B |
||
QUEUE A |
||
DEPART A |
Изменение маршрутов движения транзактов
Для изменения маршрута транзактов в модели применяются блоки TRANSFER, GATE, TEST, LOOP. Транзакты, входящие в эти блоки, далее продвигаются не к следующему блоку, а к блокам, адрес которых определяется либо указывается в операторах. Ниже рассматривается только блок TRANSFER.
Блок TRANSFER может иметь четыре операнда (A, B, C, D). Существуют девять режимов использования этого блока, которые определяются по значению операнда A. Рассмотрим основные из них:
1). Безусловный переход
TRANSFER,B
здесь B - имя (адрес) блока, к которому направляется транзакт (операнд A отсутствует).
Пример.
TRANSFER,CPU2
Транзакт направляется к блоку с именем CPU2.
2). Условный переход с одним альтернативным адресом:
TRANSFER BOTH,B,C
где BOTH - тип режима;
B - имя (адрес) блока, к которому направляется транзакт (основной адрес). По умолчанию - следующий блок;
C - альтернативный адрес, куда направляется транзакт при невозможности войти в блок с адресом B.
Если ни один из блоков, указанных в операторе TRANSFER, не может принять транзакт, то он остается в блоке TRANSFER, и в дальнейшем моделирующая система будет делать попытки продвинуть этот транзакт при каждом изменении модельного времени
Примеры.
TRANSFER BOTH,KASS1,KASS2
TRANSFER BOTH,,TWO
В первом операторе транзакт первоначально направляется к блоку с именем (меткой) KASS1. При невозможности войти в этот блок транзакт направляется к блоку с именем KASS2. Во втором операторе транзакт делает попытку войти в следующий блок (значение параметра B по умолчанию), а если ему это не удается, он направляется к блоку с именем TWO.
3). Статистический переход (переход с заданной вероятностью):
TRANSFER A,B,C
Здесь A - вероятность перехода транзакта по адресу С;
В - альтернативный адрес.
Если операнд A представляет собой целое число, то оно трактуется как количество тысячных долей вероятности и преобразуется в вероятность автоматически.
Примеры.
TRANSFER.370,THIS,THAT
С вероятностью 0,37 транзакт перейдет к блоку THAT, а с вероятностью 0,63 - к блоку THIS.
TRANSFER 750,,NEW_PLACE
С вероятностью 0,75 транзакт передается на блок NEW_PLACE, а с вероятностью 0,25 - на следующий блок.
Если транзакт не принимает ни один из блоков, куда делалась попытка его протолкнуть, то он остается в блоке TRANSFER. В этом случае моделирующая программа повторяет попытки переправить транзакт пи каждом изменении модельного времени. На блок-схеме блок TRANSFER изображается в виде ромба (см. рис.11 и 12).
Рис.11. Блок TRANSFER в режиме безусловной передачи
Рис.12. Блок TRANSFER в режиме статистического перехода или перехода с одним альтернативным адресом
Схема одноканальной системы массового обслуживания
Пример простой программы:
Имитация работы парикмахерской
GENERATE 300,100; Создание потока посетителей
SEIZE Barber; Захват или ожидание парикмахера
ADVANCE 400, 200; Обслуживание клиента
RELEASE Barber; Освобождение парикмахера
TERMINATE 1; Уход клиента
Исполняемыекоманды
START 100; Имитация 100 клиентов
Моделирование многоканальных устройств
Многоканальному устройству в системе GPSS соответствует объект память (символическое обозначение S). Память может выполнять параллельное обслуживание нескольких транзактов. При этом необходимо, чтобы такое обслуживание было однородным, т.е. обладало некоторыми общими свойствами. Например, среднее время обслуживания и разброс этого времени для кассиров банка, одновременно обслуживающих клиентов, должно быть одинаковым. Если же они обслуживают с разной скоростью, то для их имитации следует использовать несколько параллельно расположенных устройств.
Емкость памяти, т.е. максимальное количество одновременно обслуживаемых транзактов (число каналов обслуживания) задается оператором описания STORAGE, который имеет следующий формат:
NameSTORAGEA
Где Name - имя (номер) памяти; A - емкость памяти.
Например,
1 STORAGE 100; память с номером 1 емкости 100
PAM STORAGE 10; память именем PAM емкости 10
Операторы описания памятей обычно помещаются в начале программы перед первым оператором GENERATE.
Изменение состояния памяти в модели осуществляется с помощью операторов занятия и освобождения памяти ENTER и LEAVE:
ENTERA,B
LEAVEA,B
Где A - имя (номер памяти);
B - число единиц памяти, занимаемых (освобождаемых) транзактом при входе в блоки (по умолчанию 1).
Примером, когда один транзакт может потребовать несколько единиц памяти, является моделирование причала в порту. В зависимости от размера корабль может потребовать использование нескольких причалов. Транзакт не может войти в блок ENTER, если нет достаточного количества свободных единиц памяти.
На блок-схеме блоки ENTER и LEAVE изображаются, как показано на рис.13.
Рис 13. Блоки ENTER (ВОЙТИ) и LEAVE (ВЫЙТИ).
Память моделирует многоканальное устройство, к которому транзакты выстраиваются в общую очередь, которая обслуживается по принципу “первым пришел - первым обслужен внутри приоритетного класса” (рис.14). Примером является “быстрая очередь" в банке, когда клиент не выбирает себе окошко, а становится в конец общей очереди.
Рис.14. Многоканальная система массового обслуживания с одной очередью и приоритетами
В конце моделирования по каждой памяти в отчете распечатывается статистика:
· количество свободных каналов памяти на момент окончания моделирования (REM.),
· минимальное и максимальное количество одновременно занятых каналов (MIN. и MAX.),
· счетчик входов (ENTRIES),
· среднее число занятых каналов (AVE. C.),
· коэффициент использования памяти (UTIL.).
1. Устройства в GPSS
а) используются для моделирования ресурса, который в каждый момент времени может быть занят только одним транзактом;
б) служат для блокировки или изменения маршрута движения транзактов;
в) называют объект, предназначенный для сбора статистики по ожидающим обслуживания транзактам;
г) нет правильного ответа.
а
2. Ключи в GPSS
а) используются для моделирования ресурса, который в каждый момент времени может быть занят только одним транзактом;
б) служат для блокировки или изменения маршрута движения транзактов;
в) называют объект, предназначенный для сбора статистики по ожидающим обслуживания транзактам;
г) нет правильного ответа.
б
3. Очереди в GPSS
а) используются для моделирования ресурса, который в каждый момент времени может быть занят только одним транзактом;
б) служат для блокировки или изменения маршрута движения транзактов;
в) называют объект, предназначенный для сбора статистики по ожидающим обслуживания транзактам;
г) нет правильного ответа.
в
4. Установите соответствие между объектами языка GPSS и их примерами
Объект |
Пример |
|||
1 |
Память |
А |
центральный процессор в вычислительной системе |
|
2 |
Устройство |
Б |
запоминающее устройство вычислительной системы |
|
3 |
Ключ |
В |
задание пользователя в вычислительной системе |
|
4 |
Транзакт |
Г |
переключатель |
1 б 2 а 3 г 4 в
5. Поставьте в соответствие объекты языка GPSS и их определения
Объект |
Определение |
|||
1 |
Память |
а |
имитирует единицу исследуемого потока запросов на обслуживание |
|
2 |
Устройство |
б |
представляет оборудование, которое может использоваться несколькими транзактами одновременно |
|
3 |
Ключ |
в |
служит для блокировки или изменения маршрута движения транзактов |
|
4 |
Транзакт |
г |
используется для моделирования ресурса, который в каждый момент времени может быть занят только одним транзактом |
1б 2г 3в 4а
6. Определите порядок следования параметров блока GENERATE (Создать) на языке GPSS
1. время создания первого транзакта;
2. половина поля допуска (размах) интервала равномерного распределения;
3. приоритет создаваемых транзактов;
4. средний интервал времени между поступлением транзактов;
5. ограничитель количества создаваемых транзактов.
4, 2, 1, 5, 3
7. Какой из перечисленных блоков языка GPSS не предназначен для изменения маршрута транзактов в модели?
а) TRANSFER;
б) GATE;
в) TEST;
г) QUEUE;
д) LOOP;
е) нет правильного ответа.
г
8. Каким оператором языка GPSS задается емкостьпамяти, т.е. максимальное количество одновременно обслуживаемых транзактов (число каналов обслуживания) в многоканальной системе массового обслуживания?
а) STORAGE;
б) ENTER;
в) TRANSFER.
а
1. Какой блок на языке GPSS предназначен для генерации транзактов с равномерным распределением интервала поступления 53
GENERATE 5,3
2. Запишите команду на языке GPSS для генерации транзактов с точно определенным (детерминированным) интервалом времени между ними, равным 10, то есть первый транзакт должен приходить в момент времени 10, второй - в момент 20 и т.д.
GENERATE 10
3. При помощи какого блока языка GPSS можно сгенерировать следующую последовательность появления транзактов в системе: первый транзакт приходит в момент времени 10. После этого интервалы прибытия находят из равномерного распределения 33, т.е. от 0 до 6 включительно. После прихода пяти транзактов работа блока заканчивается.
GENERATE 3,3,10,5
4. Какой блок языка GPSS позволяет удалять транзакты из системы при моделировании?
TERMINATE
5. Напишите последовательность операторов языка GPSS, позволяющую закончить моделирование, когда 100-ый транзакт покинет модель.
TERMINATE 1
START 100
6. Какая последовательность операторов языка GPSS позволит смоделировать работу телефонной станции в течении 8 часов, если единицей времени является одна минута.
GENERATE 480
TERMINATE 1
START 1
7. При помощи какого оператора языка GPSS можно установить время на обслуживание, равное 105±25 единиц?
ADVANCE 105,25
8. На рисунке представлено окно отчета о результатах моделирования в среде GPSSWorld. Соотнесите обозначения и наименования параметров отчета
Обозначение |
Наименование параметра |
|
1. |
Количество сгенерированных заявок |
|
2. |
Количество заявок, поступивших на обслуживание |
|
3. |
Средняя величина очереди |
|
4. |
Максимальная величина очереди |
|
5. |
Среднее время обслуживания |
|
6. |
Количество заявок, не стоявших в очереди |
|
7. |
Время моделирования |
|
8. |
Среднее время, проведённое в очереди |
1 |
Время моделирования |
|
2 |
Количество сгенерированных заявок |
|
3 |
Количество заявок, поступивших на обслуживание |
|
4 |
Максимальная величина очереди |
|
5 |
Среднее время обслуживания |
|
6 |
Количество заявок, не стоявших в очереди |
|
7 |
Среднее время, проведённое в очереди |
|
8 |
Средняя величина очереди |
1. Поясните порядок генерации транзактов на языке GPSS блоком GENERATE 8,1,,,4
Транзакты создаются с интервалом 81. Приход первого транзакта рассчитывается в момент времени 0. Количество транзактов не ограничено. Все создаваемые транзакты имеют приоритет, равный 4.
2. Объясните принцип работы блока языка GPSS TERMINATE A. Какое значение имеет при этом счетчик числа завершений? Как задается начальное значение счетчика числа завершений?
Подобные документы
Компьютерное моделирование - вид технологии. Анализ электрических процессов в цепях второго порядка с внешним воздействием с применением системы компьютерного моделирования. Численные методы аппроксимации и интерполяции и их реализация в Mathcad и Matlab.
курсовая работа [1,1 M], добавлен 21.12.2013Понятие компьютерной и информационной модели. Задачи компьютерного моделирования. Дедуктивный и индуктивный принципы построения моделей, технология их построения. Этапы разработки и исследования моделей на компьютере. Метод имитационного моделирования.
реферат [29,6 K], добавлен 23.03.2010Имитационное моделирование как один из наиболее широко используемых методов при решении задач анализа и синтеза сложных систем. Особенности имитационного моделирования систем массового обслуживания. Анализ структурной схемы системы передачи пакетов.
курсовая работа [1,2 M], добавлен 28.05.2013Общие сведения о математических моделях и компьютерном моделировании. Неформальный переход от рассматриваемого технического объекта к его расчетной схеме. Примеры компьютерного моделирования простейших типовых биотехнологических процессов и систем.
реферат [25,9 K], добавлен 24.03.2015Теоретические основы моделирования систем в среде имитационного моделирования AnyLogic. Средства описания поведения объектов. Анимация поведения модели, пользовательский интерфейс. Модель системы обработки информации в среде компьютерного моделирования.
курсовая работа [1,5 M], добавлен 15.05.2014Сущность принципов информационной достаточности, осуществимости, множественности моделей, параметризации и агрегирования. Построение концептуальной модели. Сравнение размеров программного кода. Особенности технологии компьютерного моделирования.
презентация [49,3 K], добавлен 16.10.2013Система GPSS World как мощная универсальная среда моделирования как дискретных, так и непрерывных процессов, предназначенная для профессионального моделирования самых разнообразных процессов и систем. Системы массового обслуживания. Листинг программы.
курсовая работа [499,6 K], добавлен 25.12.2013Анализ робототехнических систем. Принципы компьютерного моделирования. Классификация компьютерных моделей по типу математической схемы. Моделирование пространства и объектов рабочей области с помощью визуальной среды Visual Simulation Environment.
дипломная работа [2,0 M], добавлен 08.06.2014Оптимальное время для обслуживания пользователей как основная цель работы компьютерного зала библиотеки. Построение модели деятельности подписного отдела с помощью средства имитационного моделирования AnyLogic. Описание процессов и построение сценария.
курсовая работа [1,9 M], добавлен 19.06.2015Основные подходы к математическому моделированию макромолекул. Методы молекулярной динамики и Монте-Карло. Механическая модель молекулы. Применения компьютерного эксперимента. Механическая модель молекулы. Преимущества компьютерного моделирования.
реферат [44,9 K], добавлен 19.03.2009