Предмет и задачи теории массового обслуживания

Автор работы: Пользователь скрыл имя, 25 Марта 2012 в 21:43, реферат

Краткое описание

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

Содержание работы

Введение
1. Постановка задачи
2. Теоретическая часть
2.1 Предмет и задачи теории массового обслуживания
3. Описание программного модуля
4. Руководство программиста
5. Руководство пользователя
Заключение

Содержимое работы - 1 файл

Содержание.doc

— 558.50 Кб (Скачать файл)


Содержание

Введение

1. Постановка задачи

2. Теоретическая часть

2.1 Предмет и задачи теории массового обслуживания

3. Описание программного модуля

4. Руководство программиста

5. Руководство пользователя

Заключение

 

Введение

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

За последнее время в самых разных областях практики возникла необходимость в решении различных вероятностных задач, связанных с работой так называемых систем массового обслуживания (СМО). Примерами таких систем могут служить: телефонные станции, ремонтные мастерские, билетные кассы, стоянки такси, парикмахерские, медицинские учреждения и т.п.

Темой данного курсового проекта является моделирование дневного стационара - многоканальной СМО с ожиданием. Задачами являются определение оптимального числа койко-мест для данного количества клиентов стационара. Решение данной задачи построено не на аналитическом описании системы, а на статистическом моделировании.

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

Практическое решение задачи осуществлено с помощью программы, реализованной в среде Delphi 7.

1. Постановка задачи

 

Формулировка задачи:

Построить модель СМО - дневной стационар и исследовать поведение характеристик её эффективности.

Описание системы:

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

Частота поступления заявок в стационар по промежуткам времени определяется пользователем.

Теоретическое представление задачи.

На многоканальную СМО поступают заявки стационарных, ординарных потоков без последействия.

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

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

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

2. Теоретическая часть

2.1 Предмет и задачи теории массового обслуживания

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

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

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

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

Система массового обслуживания.

Система обслуживания считается заданной, если известны:

1) поток требований, его характер;

2) множество обслуживающих приборов;

3) дисциплина обслуживания (совокупность правил, задающих процесс обслуживания).

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

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

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

Классификация СМО.

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

Характеристики СМО.

Перечень характеристик систем массового обслуживания можно представить следующим образом:

среднее время обслуживания;

среднее время ожидания в очереди;

среднее время пребывания в СМО;

средняя длина очереди;

среднее число заявок в СМО;

количество каналов обслуживания;

интенсивность входного потока заявок;

интенсивность обслуживания;

интенсивность нагрузки;

коэффициент нагрузки;

относительная пропускная способность;

абсолютная пропускная способность;

доля времени простоя СМО;

доля обслуженных заявок;

доля потерянных заявок;

среднее число занятых каналов;

среднее число свободных каналов;

коэффициент загрузки каналов;

среднее время простоя каналов.

3. Описание программного модуля

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

После того как все параметры считаны, запускается процедура Timer1Timer, в которой 0,001 с реального времени соответствует 1 с модельного времени. Эта процедура предназначена для того, чтобы каждую секунду модельного времени фиксировать состояние системы (появилась ли заявка, освободилась ли процедура или койка, просматривание очередей и постановка на обслуживание, удаление из очередей и т.д.).

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

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

После появления заявки:

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

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

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

Наращивается время пребывания заявок в системе, время простоя аппаратов обслуживания, время прошедшее с начала обслуживания, для заявок на процедурах, время простоя аппаратов обслуживания

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

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

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

Наращивается текущее время моделирования.

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

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

4. Руководство программиста

Все файлы проекта располагаются в директории с наименованием СМО. В проект входят: файл проекта Delphi SMO. dpr, файлы исходного текста:

Unit1 - основной модуль

Unit2 - модуль для заполнения параметров каналов обслуживания (процедур)

Unit3 - модуль для заполнения параметров очередей

Unit4 - модуль для заполнения параметров потоков входных заявок

Unit5 - модуль для демонстрации приветствия

Файл справки (Руководство пользователя) в формате HTML, и исполняемый файл SMO. exe.

Для программного представления заявок используется следующая запись

 

type

zaeavka=record

t1: real; // время появления заявки

t2: real; // время ожедания в очереди

t_obs: real; // время обслуживания

prior: boolean; // приоритет заявки

proc: string; // на какие процедуры

koyka: integer;

end;

Для программного представления потока входных заявок используется следующая запись

type

vpotok_z=record

z_ki: zaeavka;

name: string;

t1_zaevki: real;

ind: integer;

ot,do_, interval: real;

prioritet: boolean;

p1,p2: real;

kol_sgener_z: integer;

end;

Для программного представления очереди используется следующая запись

type ocher=record

mas_z: array of zaeavka;

ochered: integer; // кол-во в очериде

max_l_och: integer; // max длина очереди

name: string;

t_ozhed: real;

ind: integer;

prior: boolean;

end;

Для программного представления аппарата обслуживания - процедура используется следующая запись

type

obsluzh_p=record

mas_ochered: array of ocher;

name: string;

bul: boolean; // занят, свободен

obsl: integer; // кол-во обслуженных

poter: integer; // кол-во потерян заявок

t_obsl_min: real; // время обслуживания

t_obsl_max: real; // время обслуживания

t_prostoy: real; // время простоя

z_obsl: zaeavka;

end;

Для программного представления аппарата обслуживания -койка используется следующая запись

type

obsluzh_k=record

mas_ocher: array of ocher;

bul_k: boolean; // занят, свободен

poter_k: integer; // кол-во потерян заявок

obsl: integer; // кол-во обслуженных

t_prostoy: real; // время простоя

z_obsl: zaeavka;

n_koyki: integer;

end;

Компонент Series1, Series2 служат для построения графиков, характеризующих состояние системы на текущей момент по:

Количеству обслуженных заявок

Количеству потерянных заявок

Времени простоя

Состоянию (занят (1), свободен (0))

Эффективность работы ( (общее время - время порстоя) / общее время).

Ниже приведены глобальные переменные, используемые в программе.

vpz: array of vpotok_z;

koyki: array of obsluzh_k;

proz: array of obsluzh_p;

i,j,k,l,n,m: integer;

s,d,f: string;

p3: real;

k_p,k_o,k_k: integer;

t_1z: real;

kol_koek: integer; // количество коек

t_mod: real; // время моделирования

t_tek: real; // текущее (сколько прошло с момента начала моделирования)

t: real;

indeks: integer;

t_ozhed_v_SMO: real;

file_: file of real;

sfilename: string='';

ind_n: integer;

 

В программе используются процедуры и функции, которые написаны для удобства работы и понимания программы:

procedure TForm1. Button1Click (Sender: TObject) - процедура добавляющая в систему потоки входных заявок с соответствующими свойствами

procedure TForm1. Button3Click (Sender: TObject) - процедура добавляющая в систему аппарата обслуживания - процедура с соответствующими свойствами

procedure TForm1. SpeedButton1Click (Sender: TObject) - процедура, предназначенная для считывания всех заданных пользователем начальных параметров и запуска таймера

procedure tform1. otchet - процедура создания отчета по результатам моделирования

Информация о работе Предмет и задачи теории массового обслуживания