Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Основы теории. Разработка модели. На первом этапе работы изучается содержательное описание системы с целью её формализации. На втором этапе готовится формализованная схема процесса, на третьем этапе разрабатывается имитационный алгоритм.




Основы теории

Система массового обслуживания (СМО) – это совокупность обслуживающих устройств и очередей, в которых накапливаются заявки на обслуживание, поступающие на вход системы, когда эти устройства заняты. Тип СМО определяется характером потока заявок, количеством обслуживающих устройств, дисциплин постановки в очередь и выбора из нее и правил, по которым осуществляется обслуживание.

Входящий поток – это последовательность заявок, поступающих на вход СМО. Однородный ординарный поток заявок описывается законом распределения длин интервалов времени между появлением последовательных заявок.

Дисциплины постановки в очередь и выбора из нее определяют порядок постановки заявок в очередь, если заняты устройства обслуживания, и порядок выбора из очереди, если освобождается обслуживающее устройство. Дисциплина FIFO означает постановку заявок в очередь в порядке их поступления. Организация очереди по правилу LIFO предполагает, что на обслуживание первыми выбираются последние заявки из очереди. Выбор заявок из очереди может быть и случайным. Если входной поток неоднородный, то возможна организация выбора из очереди по параметрам заявок (например, мужчины в очереди пропускают женщин вперед).

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

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

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

Дисциплины обслуживания определяют:

- при каких условиях прекращается обслуживание заявок;

- как выбирается для обслуживания следующая заявка;

- что делать с частично обслуженной заявкой.

Различают дисциплины обслуживания бесприоритетные и приоритетные. При бесприоритетном обслуживании порядок обслуживания определяется дисциплиной выбора из очереди. При приоритетном обслуживании каждая заявка характеризуется некоторым параметром, который определяет её правило предпочтения при выборе из очереди. Этот параметр может задаваться в числовом виде или в виде функции, которая зависит от времени пребывания в системе.

Выходящий поток – это поток заявок, который покидает систему, причем в нем могут быть как обслуженные, так и не обслуженные заявки. Распределение заявок в выходящем потоке во времени зависит от плотности входящего потока и характеристик работы каналов [1-3].

 

Подготовка к выполнению работы

 

Для выполнения лабораторной работы необходимо:

- изучить теоретические основы программирования на языке GPSS;

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

- написать, отладить и реализовать программу, обеспечивающую генерацию транзактов в соответствии с формулировкой задачи;

- выполнить расчет заданных характеристик системы по её аналитической модели;

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

 

Разработка модели

На первом этапе работы изучается содержательное описание системы с целью её формализации. На втором этапе готовится формализованная схема процесса, на третьем этапе разрабатывается имитационный алгоритм.

Содержательное описание системы

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

Интервал времени ∆ t между приходом покупателей, время знакомства с товаром t1 и время обслуживания t2 – случайные величины с равномерным законом распределения.

Задание: 1) оцените занятость работника на протяжении 4 часов при следующих исходных данных: ∆ tєR[2, 12]; t1єR[2, 8]; t2єR[1, 5]; 2) измените, модель таким образом, чтобы получить информацию об очереди, образующейся перед кассой; 3) оформите результаты в виде таблицы и графика распределения времени обслуживания покупателей кассой.

 

Подготовка формализованной схемы процесса

На данном этапе содержательное описание излагается в терминах выбранной математической схемы (в данном случае – СМО).

С точки зрения теории СМО приход покупателей – это входящий поток заявок на обслуживание. Поскольку нет иных указаний, можно считать его однородным и ординарным. ПРОДАВЕЦ-КАССИР – это обслуживающее устройство, или канал. Если заявка претендует на обслуживание каналом, а он занят, то заявка становится в ОЧЕРЕДЬ (рис. 1. 1).

 

Рис. 1. 1.

 

Разработка имитационного моделирующего алгоритма

Имитационный алгоритм является моделью системы: его структура воспроизводит временные и причинно-следственные отношения, имеющие место в исследуемой системе.

Поскольку предполагается программирование моделирующего алгоритма на языке GPSS, алгоритм должен формулироваться в терминах, принятых в этом языке. Это блоки и транзакты.

Можно применить следующую методику построения алгоритма.

Алгоритм должен отражать основные этапы «жизненного цикла» ПОКУПАТЕЛЯ - транзакта, т. е. его действия от момента его прихода в магазин до момента выхода из магазина.

Для генерации входящего потока транзактов используем оператор GENERATE (Генерировать), для данного примера – в следующем виде:

GENERATE 7, 5            ; приход покупателей На следующем этапе ПОКУПАТЕЛЬ задерживается в течение определенного интервала времени для знакомства с товаром в магазине. Для моделирования этого процесса используется оператор ADVANCE (Задержать): ADVANCE 5, 3; знакомство с товаром Следующее событие для покупателя имеет условный характер: 1) если продавец свободен, то он обслуживает покупателя; 2) если продавец занят, то покупатель становится в очередь. Рассмотрим первый случай. Для данного примера программа записывается в следующем виде: SEIZE PROD                 ; обращение к продавцу Подпрограмма ОБСЛУЖИВАНИЕ транзакта в языке GPSS интерпретируется оператором ADVANCE, который создает уведомление о событии в списке будущих событий для последующей передачи управления подпрограмме освобождения ресурса транзактом. Для данного примера оператор записывается в следующем виде: ADVANCE 3, 2; покупка товаров Подпрограмма ОСВОБОЖДЕНИЕ, инициированная оператором RELEASE (Освободить), освобождает ранее занятый канал и 1) изменяет состояние канала на «свободный», после чего передает управление подпрограмме УНИЧТОЖЕНИЕ транзактов; 2) проверяет, есть ли транзакты в ОЧЕРЕДИ к каналу. Если они есть, то очередной транзакт выбирается из ОЧЕРЕДИ и для него формируется ЗАПРОС-НАЗНАЧЕНИЕ. Подпрограмма УНИЧТОЖЕНИЕ транзактов, которой в языке GPSS соответствует оператор TERMINATE (Завершить), удаляет из модели транзакты, которые более не участвуют в работе системы, необходима для уничтожения структуры данных каждого транзакта, т. е. для освобождения памяти, выделенной под транзакт. Если транзакты не уничтожать, то со временем они переполнят память компьютера. Для данного примера запишем операторы в следующем виде: RELEASE PROD          ; освобождение продавцаTERMINATE               ; уход покупателей

В языке GPSS длительность прогона модели можно ввести двумя способами:

1) завершить моделирование после того, как модель покинет заданное число транзактов определенного типа; 2) завершить моделирование по истечению заданного интервала времени. В первом способе, в операторе START (Начать) операнду А присваивается начальное значение заданного числа транзактов, оно записывается в ячейку памяти ЭВМ – счетчик завершения. Во всех операторах TERMINATE, через которые транзакты заданного типа покидают модель, операнду А присваивается значение «1» или любое другое, отличное от нуля (соответственно содержательному значению транзактов); в других операторах TERMINATE значение операнда А используется по умолчанию ( А =0), так как значение счетчика завершения не будет зависеть от этих операторов. В процессе моделирования транзакты попадают в оператор TERMINATE и уменьшают значение счетчика на величину указанную в операнде А. Моделирование заканчивается, когда значение счетчика становится равным нулю или отрицательному значению. Во втором способе (как, в частности, и для данного примера), первоначально задается единица модельного времени (например, 1 минута) и системное время работы моделируемой система (для данного примера - 240 минут), для чего в модель вводится таймер-сегмент, состоящий из двух операторов: GENERATE 240       ; время работы моделиTERMINATE 1         ; уменьшение общего времени моделирования на 1 мин Во всех других операторах TERMINATE в модели значение операнда А используется по умолчанию ( А =0). Это означает, что прекращение моделирования, определяемое счетчиком завершения, не будет зависеть от других операторов TERMINATE; в команде START операнд А должен равняться «1»: START 1                      ; пропускаются по одному покупателю Таким образом, в процессе моделирования завершение движения транзактов в других операторах TERMINATE не влияет на счетчик завершения. В момент времени 240 транзакт выйдет из оператора GENERATE и сразу же перейдет в оператор TERMINATE. Содержимое счетчика завершения уменьшится на единицу, и интерпретатор завершит моделирование. Подготовка имитационной модели к работе

1. Запустите систему моделирования GPSS.

2. В окне текстового редактора введите текст программы, который приводится ниже:

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...