23 октября 2013 в 14:22

Squeak: Моделирование систем массового обслуживания

  • Программирование ,
  • ООП ,
  • Параллельное программирование

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

Пару слов о Squeak

Squeak это открытая, кросс-платформенная реализация языка программирования Smalltalk-80 c динамической типизацией и сборщиком мусора. Интерфейс довольно специфический, но вполне удобный для отладки и анализа. Squeak полностью отвечает концепции ООП. Все состоит из объектов, даже конструкции if-then-else, for, while реализованы с их помощью. Весь синтаксис сводится к посылке объекту сообщения в виде:
<объект> <сообщение>
Любой метод всегда возвращает объект и ему можно направить новое сообщение.
Squeak часто используется для моделирования процессов, но может использоваться и как средство для создания мультимедийных приложений и разнообразных образовательных платформ.

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

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


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

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

Немного математики

Для пуассоновского потока число событий X , попадающих в интервал длины τ (тау), примыкающий к точке t , распределено по закону Пуассона:
где a (t, τ) - среднее число событий, наступающих на интервале времени τ .
Среднее число событий, наступающих в единицу времени, равно λ(t) . Следовательно, среднее число событий на интервале времени τ , примыкающему к моменту времени t , будет равно:


Время T между двумя событиями при λ(t) = const = λ распределено по закону:
Плотность распределения случайной величины T имеет вид:
Для получения псевдослучайных пуассоновских последовательностей интервалов времени t i решают уравнение:
где r i - равномерно распределенное на интервале случайное число.
В нашем случае это дает выражение:


По генерации случайных чисел можно писать целые тома. Здесь же, для генерации равномерно распределенных на интервале целых чисел используем следующий алгоритм:
где R i - очередное случайное целое число;
Р - некоторое большое простое число (например 2311);
Q - целое число - верхняя граница интервала, например, 2 21 = 2097152;
rem - операция получения остатка от деления целых чисел.

Начальное значение R 0 обычно задают произвольно, например, используя показания таймера:
Time totalSeconds
Для получения равномерно распределенных на интервале чисел воспользуемся оператором языка:

Класс Rand

Для получения равномерно распределенных на интервале случайных чисел создаем класс - генератор вещественных чисел:

Float variableWordSubclass: #Rand "имя класса" instanceVariableNames: "" "переменные экземпляра" classVariableNames: "R" "переменные класса" poolDictionaries: "" "общие словари" category: "Sample" "имя категории"
Методы:

"Инициализация" init R:= Time totalSeconds.next "Следующее псевдослучайное число" next R:= (R * 2311 + 1) rem: 2097152. ^(R/2097152) asFloat
Для установки начального состояния датчика посылаем сообщение Rand init .
Для получения очередного случайного числа посылаем Rand next .

Программа обработки заявок

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

Код на Squeak

"Объявление временных переменных" | proc1 proc2 t1 t2 s1 s2 sysPriority queue continue r | "Начальные установки переменных" Rand init. SysTime:= 0. s1:= 0. s2:= 0. t1:= -1. t2:= -1. continue:= true. sysPriority:= Processor activeProcess priority. "Текущий приоритет" queue:= Semaphore new. "Модель очереди заявок" "Создание процесса - модели канала 1" (Process forContext: [ proc1:= Processor activeProcess. whileTrue: "Цикл обслуживания" [ queue wait. "Ждать заявку" t1:= SysTime + 2. "Следующее время активизации" s1:= s1 + 1. proc1 suspend. "Приостановить процесс в ожидании окончания обслуживания" ]. proc1:= nil. "Удалить ссылку на процесс 1" ] priority: (sysPriority + 1)) resume. "Новый приоритет больше фонового" "Создание процесса - модели канала 2" (Process forContext: [ proc2:= Processor activeProcess.. whileTrue: [ queue wait. t2:= SysTime + 7. s2:= s2 + 1. proc2 suspend. ]. proc2:= nil. ] priority: (sysPriority + 1)) resume. "Продолжение описания главного процесса и модели источника" whileTrue: [ r:= (Rand next * 10) rounded. (r = 0) ifTrue: . ((SysTime rem: r) = 0) ifTrue: . "Послать заявку" "Коммутатор процессов обслуживания" (t1 = SysTime) ifTrue: . (t2 = SysTime) ifTrue: . SysTime:= SysTime + 1. "Тикает модельное время" ]. "Показать состояние счетчика заявок" PopUpMenu inform: "proc1: ",(s1 printString),", proc2: ",(s2 printString). continue:= false.


При запуске видим, что процесс 1 успел обработать 31 заявку, а процесс 2 только 11:

Курсовая работа

«Имитационное моделирование системы массового обслуживания»

по курсу «Исследование операций»

Введение

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

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

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

– Абсолютная пропускная способность системы (А

Q

– вероятность отказа обслуживания заявки ();

k );

– среднее число заявок в очереди ();

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

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

1. Основные характеристики CМОи показатели их эффективности

1.1 Понятие марковского случайного процесса

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

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

Процесс работы СМО – это случайный процесс с дискретными состояниями и непрерывным временем.

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

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


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

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

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

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

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

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

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

1.2 Уравнения Колмогорова

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

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

Например, для графа состояний, приведенного на рис. 1, уравнения Колмогорова имеют вид:


Т.к. в правой части системы каждое слагаемое входит 1 раз со знаком и 1 раз со знаком , то, складывая все уравнений, получим, что

,

,

Следовательно, одно из уравнений системы можно отбросить и заменить уравнением (1.2.1).

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

1.3 Финальные вероятности и граф состояний СМО

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


Смысл финальных вероятностей состоит в том, что они равны среднему относительному времени нахождения системы в данном состоянии.

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

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

Рис. 2. Граф состояний в моделях СМО

Предположим, что все потоки, переводящие систему из одного состояния в другое, простейшие. По графу, представленному на рис. 2, составим уравнения для финальных вероятностей системы. Они имеют вид:

Получается система из ( n +1) уравнения, которая решается методом исключения. Этот метод заключается в том, что последовательно все вероятности системы выражаются через вероятность .

,

.

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

1.4 Показатели эффективности СМО

Цель моделирования СМО состоит в том, чтобы рассчитать показатели эффективности системы через ее характеристики. В качестве показателей эффективности СМО используются:

– абсолютная пропускная способность системы (А ), т.е. среднее число заявок, обслуживаемых в единицу времени;

– относительная пропускная способность (Q ), т.е. средняя доля поступивших заявок, обслуживаемых системой;

– вероятность отказа (), т.е. вероятность того, что заявка покинет СМО не обслуженной;

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

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

– среднее время пребывания заявки в системе ();

– среднее число заявок в очереди () – длина очереди;

– среднее число заявок в системе ();

– среднее время пребывания заявки в очереди ();

– среднее время пребывания заявки в системе ()

– степень загрузки канала (), т.е. вероятность того, что канал занят;

– среднее число заявок, обслуживаемых в единицу времени;

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

– вероятность того, что число заявок в очереди превысит определенное значение и т.п.

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

(1.4.1)

Формулы (1.4.1) и (1.4.2) называются формулами Литтла. Они вытекают из того, что в предельном стационарном режиме среднее число заявок, прибывающих в систему, равно среднему числу заявок, покидающих ее, т.е. оба потока заявок имеют одну и ту же интенсивность .

Формулы для вычисления показателей эффективности приведены в таб. 1.


Таблица 1.

Показатели

Одноканальная СМО с

ограниченной очередью

Многоканальная СМО с

ограниченной очередью

Финальные

вероятности

Вероятность

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

способность

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

способность

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

Среднее число заявок под

обслуживанием

Среднее число заявок в системе

1.5 Основные понятия имитационного моделирования

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

Компьютерное имитационное моделирование следует рассматривать как статический эксперимент.

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

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

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

1.6 Построение имитационных моделей

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

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

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

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

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

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

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

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

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

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


, , т.е. , где

Исправленная дисперсия, ,

N – число прогонов программы, – надежность, .

2. Аналитическое моделирование СМО

2.1 Граф состояний системы и уравнения Колмогорова

Рассмотрим двухканальную систему массового обслуживания (n = 2) с ограниченной очередью равной шести (m = 4). В СМО поступает простейший поток заявок со средней интенсивностью λ = 4,8 и показательным законом распределения времени между поступлением заявок. Поток обслуживаемых в системе заявок является простейшим со средней интенсивностью μ = 2 и показательным законом распределения временем обслуживания.

Данная система имеет 7 состояний, обозначим их:

S 0 – система свободная, нет заявок;

S 1 – 1 заявка на обслуживании, очередь пуста;

S 2 – 2 заявки на обслуживании, очередь пуста;

S 3 – 2 заявки на обслуживании, 1 заявка в очереди;

S 4 – 2 заявки на обслуживании, 2 заявки в очереди;

S 5 – 2 заявки на обслуживании, 3 заявки в очереди;

S 6 – 2 заявки на обслуживании, 4 заявки в очереди;

Вероятности прихода системы в состояния S 0 , S 1 , S 2 , …, S 6 соответственно равны Р 0 , Р 1 , Р 2 , …, Р 6 .

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

Рис. 3. Граф состояний двухканальной СМО


Для построенного графа запишем уравнения Колмогорова:

Чтобы решить данную систему зададим начальные условия:

Систему уравнений Колмогорова (систему дифференциальных уравнений) решим численным методом Эйлера с помощью программного пакета Maple 11 (см. Приложение 1).

Метод Эйлера


где- в нашем случае, это правые части уравнений Колмогорова, n=6.

Выберем шаг по времени . Предположим , где Т – это время, за которое система выходит на стационарный режим. Отсюда получаем число шагов . Последовательно N раз вычисляя по формуле (1) получим зависимости вероятностей состояний системы от времени, приведенной на рис. 4.

Значения вероятностей СМО при равны:


Рис. 4. Зависимости вероятностей состояний системы от времени

P 0
P 5
P 4
P 3
P 2
P 1
2.2 Финальные вероятности системы

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

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


Решим данную систему линейных уравнений с помощью программного пакета Maple 11 (см. Приложение 1).

Получим финальные вероятности системы:

Сравнение вероятностей, полученных из системы уравнений Колмогорова при , с финальными вероятностями показывает, что ошибки равны:

Т.е. достаточно малы. Это подтверждает правильность полученных результатов.

2.3 Расчет показатели эффективности системы по финальным вероятностям

Найдем показатели эффективности системы массового обслуживания.

Сначала вычислим приведенную интенсивность потока заявок:

1) Вероятность отказав обслуживании заявки, т.е. вероятность того, что заявка покидает систему не обслуженной.В нашем случае заявке отказывается в обслуживании, если все 2 канала заняты, и очередь максимально заполнена (т.е. 4 человек в очереди), это соответствует состоянию системы S 6 . Т.к. вероятность прихода системы в состояние S 6 равна Р 6 , то

4) Средняя длина очереди, т.е. среднее число заявок в очереди, равна сумме произведений числа заявок в очереди на вероятность соответствующего состояния.

5) Среднее время пребывания заявки в очередиопределяется формулой Литтла:

3. Имитационное моделирование СМО

3.1 Алгоритм метода имитационного моделирования СМО (пошаговый подход)

Рассмотрим двухканальную систему массового обслуживания (n = 2) с максимальной длиной очереди равной шести (m = 4). В СМО поступает простейший поток заявок со средней интенсивностью λ = 4,8 и показательным законом распределения времени между поступлением заявок. Поток обслуживаемых в системе заявок является простейшим со средней интенсивностью μ = 2 и показательным законом распределения временем обслуживания.

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

Выберем шаг по времени (). Он должен быть много меньше среднего времени поступления заявки () и среднего времени ее обслуживания (), т.е.

Где (3.1.1)

Исходя из условия (3.1.1) определим шаг по времени .

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

Рассмотрим поступление заявки в СМО. Вероятность того, что на интервале в СМО поступит заявка, равна: . Сгенерируем случайное число , и, если , то будем считать, что заявка на данном шаге в систему поступила, если , то не поступила.

В программе это осуществляет isRequested () . Интервал времени примем постоянным и равным 0,0001, тогда отношение будет равно 10000. Если заявка поступила, то она принимает значение «истина», в противном случае значение «ложь».

bool isRequested()

double r = R. NextDouble();

if (r < (timeStep * lambda))

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

double GetServiceTime()

double r = R. NextDouble();

return (-1/mu*Math. Log (1-r, Math.E));

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

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

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

По истечении времени Т , т.е., после моделирования работы СМО, вычисляются показатели эффективности работы системы и результаты выводятся на экран.

3.2 Блок-схема программы

Блок-схема программы, реализующей описанный алгоритм, приведена на рис. 5.

Рис. 5. Блок-схема программы

Распишем некоторые блоки более подробно.

Блок 1. Задание начальных значений параметров.

Random R; // Генератор случайных чисел

public uint maxQueueLength; // Максимальная длина очереди

public uint channelCount; // Число каналов в системе

public double lambda; // Интенсивность потока поступления заявок

public double mu; // Интенсивность потока обслуживания заявок

public double timeStep; // Шагповремени

public double timeOfFinishProcessingReq; // Время окончания обслуживания заявки во всех каналах

public double timeInQueue; // Время пребывания СМО в состояниях с очередью

public double processingTime; // Времяработысистемы

public double totalProcessingTime; // Суммарноевремяобслуживаниязаявок

public uint requestEntryCount; // Числопоступившихзаявок

public uint declinedRequestCount; // Числоотказанныхзаявок

public uint acceptedRequestCount; // Числообслуженныхзаявок

uint queueLength; // Длина очереди //

Тип, описывающий состояния СМО

enum SysCondition {S0, S1, S2, S3, S4, S5, S6};

SysCondition currentSystemCondition; // Текущее состояние системы

Задание состояний системы. Выделим у данной 2-х канальной системы 7 различных состояний: S 0 , S 1 . S 6 . СМО находится в состоянии S 0 , когда система свободна; S 1 – хотя бы один канал свободен; в состоянии S 2 , когда все каналы заняты, и есть место в очереди; в состоянии S 6 – все каналы заняты, и очередь достигла максимальной длины (queueLength = 4).

Определяем текущее состояние системы с помощью функции GetCondition()

SysCondition GetCondition()

SysCondition p_currentCondit = SysCondition.S0;

int busyChannelCount = 0;

for (int i = 0; i < channelCount; i++)

if (timeOfFinishProcessingReq[i] > 0)

busyChannelCount++;

p_currentCondit += k * (i + 1);

if (busyChannelCount > 1)

{p_currentCondit ++;}

return p_currentCondit + (int) QueueLength;

Изменение времени пребывания СМО в состояниях с длиной очереди 1, 2,3,4. Это реализуется следующим программным кодом:

if (queueLength > 0)

timeInQueue += timeStep;

if (queueLength > 1)

{timeInQueue += timeStep;}

Присутствует такая операция, как помещение заявки на обслуживание в свободный канал. Просматриваются, начиная с первого, все каналы, когда выполняется условие timeOfFinishProcessingReq [ i ] <= 0 (канал свободен), в него подается заявка, т.е. генерируется время окончания обслуживания заявки.

for (int i = 0; i < channelCount; i++)

if (timeOfFinishProcessingReq [i] <= 0)

timeOfFinishProcessingReq [i] = GetServiceTime();

totalProcessingTime+= timeOfFinishProcessingReq [i];

Обслуживаниезаявоквканалахмоделируетсякодом:

for (int i = 0; i < channelCount; i++)

if (timeOfFinishProcessingReq [i] > 0)

timeOfFinishProcessingReq [i] -= timeStep;

Алгоритм метода имитационного моделирования реализован на языке программирования C#.

3.3 Расчет показателей эффективности СМО на основе результатов ее имитационного моделирования

Наиболее важными являются такие показатели, как:

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

2) Относительная пропускная способность – это средняя доля поступивших заявок, обслуживаемых системой.

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


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

5) Среднее время пребывания заявки в очереди определяется формулой Литтла

6) Среднее число занятых каналовопределяется следующим образом:

7) Процент заявок, которым было отказано в обслуживании, находится по формуле

8) Процент обслуженных заявок находится по формуле


3.4 Статистическая обработка результатов и их сравнение с результатами аналитического моделирования

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

Величина попадает в доверительный интервал, если выполняется неравенство

, где

математическое ожидание (среднее значение), находится по формуле

Исправленная дисперсия,

,

N =20 – число прогонов,

– надежность. При и N =20 .

Результат работы программы представлен на рис. 6.


Рис. 6. Вид программы

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

Таблица 2.

Показатели

эффективности СМО

Результаты

аналитического

моделирования

Результаты

имитационного моделирования (послед. шаг)

Результаты имитационного моделирования

Нижняя граница

доверительного

интервала

Верхняя граница

доверительного

интервала

Вероятность отказа 0,174698253017626

0,158495148639101

0,246483801571923
Относительная пропускная способность 0,825301746982374 0,753516198428077 0,841504851360899
Абсолютная пропускная способность 3,96144838551539 3,61687775245477 4,03922328653232
Средняя длина очереди 1,68655313447018 1,62655862750852 2,10148609204869
Среднее время пребывания заявки в очереди 0,4242558575 0,351365236347954 0,338866380730942 0,437809602510145
Среднее число занятых каналов 1,9807241927577 1,80843887622738 2,01961164326616

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

Заключение

В данной работе рассмотрены основные методы моделирования СМО и расчета показателей их эффективности.

Проведено моделирование двухканальной СМО с максимальной длиной очереди равной 4 с помощью уравнений Колмогорова, а также, найдены финальные вероятности состояний системы. Рассчитаны показатели ее эффективности.

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

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

Литература

1. Вентцель Е.С. Исследование операций. – М.: Дрофа, 2004. – 208 с.

2. Волков И.К., Загоруйко Е.А. Исследование операций. – М.: Изд.-во МГТУ им. Н.Э. Баумана, 2002. – 435 с.

3. Волков И.К., Зуев С.М., Цветкова Г.М. Случайные процессы. – М.: Изд.-во МГТУ им. Н.Э. Баумана, 2000. – 447 с.

4. Гмурман В.Е. Руководство к решению задач по теории вероятностей и математической статистике. – М.: Высшая школа, 1979. – 400 с.

5. Ивницкий В.Л. Теория сетей массового обслуживания. – М.: Физматлит, 2004. – 772 с.

6. Исследование операций в экономике/ под ред. Н.Ш. Кремера. – М.: Юнити, 2004. – 407 с.

7. Таха Х.А. Введение в исследование операций. – М.: ИД «Вильямс», 2005. – 902 с.

8. Харин Ю.С., Малюгин В.И., Кирлица В.П. и др. Основы имитационного и статистического моделирования. – Минск: Дизайн ПРО, 1997. – 288 с.

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://allbest.ru

ВВЕДЕНИЕ

ГЛАВА 1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

1.1 Системы массового обслуживания c отказами

1.2 Моделирование систем массового обслуживания

1.3 Простейшая СМО с отказами

1.4 Одноканальная СМО с отказами

1.5 Многоканальная СМО с отказами

1.6 Одноканальная СМО с ограниченной длиной очереди

1.7 Одноканальная СМО с неограниченной очередью

1.8 Многоканальная СМО с ограниченной длиной очереди

1.9 Многоканальная СМО с неограниченной очередью

1.10 Алгоритм моделирования СМО

ГЛАВА 2. ПРАКТИЧЕСКАЯ ЧАСТЬ

ГЛАВА 3. ПРАВИЛА ТЕХНИКИ БЕЗОПАСНОСТИ

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

ВВЕДЕНИЕ

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

Примерами таких систем могут служить: телефонные станции, ремонтные мастерские, билетные кассы, стоянки такси, парикмахерские и т.п.

Темой данного курсового проекта как раз и является решение подобной задачи.

Однако, в предложенной задаче будет исследована СМО, в которой рассматриваются 2 потока заявок, один из которых обладает приоритетом.

Также рассматриваемые процессы являются немарковскими, т.к. важен фактор времени.

Поэтому решение данной задачи построено не на аналитическом описании системы, а на статистическом моделировании.

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

Для достижения цели были поставлены следующие задачи: - Проанализировать особенности управления производственным процессом; - Рассмотреть организацию производственного процесса во времени; - Привести основные варианты сокращения длительности производственного цикла;

Провести анализ методов управления производственным процессом на предприятии;

Рассмотреть особенности моделирования производственного процесса с использованием теории СМО;

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

Закрепления теоретических знаний и получения навыков их практического применения;

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

Во второй главе рассматриваются теоретические материалы системы массового обслуживания. А в третьей вычисляем задачу систем массового обслуживания.

ГЛАВА 1 . ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

1.1 Системы массового обслуживания c отказами

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

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

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

Вместо фразы “поток обслуживания - простейший” часто говорят “время обслуживания - показательное”. Всякая СМО, в которой все потоки простейшие, называется простейшей СМО.

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

Модели СМО удобны для описания отдельных подсистем современных вычислительных систем, таких как подсистема процессор - основная память, канал ввода-вывода и т. д.

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

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

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

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

Среднее число заявок А, обслуживаемое СМО в единицу времени, или абсолютная пропускная способность СМО;

Вероятность обслуживания поступившей заявки Q или относительная пропускная способность СМО; Q = А/л;

Вероятность отказа Ротк, т.е. вероятность того, что поступившая заявка не будет обслужена и получит отказ; Ротк= 1 - Q;

Среднее число заявок в СМО (обслуживаемых или ожидающих в очереди) ;

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

Среднее время пребывания заявки в СМО (в очереди или под обслуживанием) ;

Среднее время пребывания заявки в очереди;

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

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

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

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

Для любой открытой СМО в предельном стационарном режиме среднее время пребывания заявки в системе выражается через среднее число заявок в системе с помощью формулы Литтла:

где л - интенсивность потока заявок.

Аналогичная формула (называемая также формулой Литтла) связывает среднее время пребывания заявки в очереди и среднее число заявок в очереди:

Формулы Литтла очень полезны, так как позволяют вычислять не обе характеристики эффективности (среднее время пребывания и среднее число заявок), а только какую-нибудь одну из них.

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

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

где - интенсивность потока обслуживания.

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

Финальные вероятности состояний выражаются формулами:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1 . 2 Моделирование систем массового обслуживания

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

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

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

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

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

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

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

В этих условиях для вычисления вероятности попадания на промежуток времени t некоторого числа событий т можно воспользоваться формулой Пуассона:

Pm, n= am_e-a ; (m=0,n),

где величина а = пр - среднее число событий, попадающих на промежуток времени t, которое можно определить через интенсивность потока событий X следующим образом: a= л ф

Размерность интенсивности потока X есть среднее число событий в единицу времени. Между п и л, р и ф имеется следующая связь:

n= л t; p= ф/t

где t- весь промежуток времени, на котором рассматривается действие потока событий.

Необходимо определить распределение интервала времени Т между событиями в таком потоке. Поскольку это случайная величина, найдем ее функцию распределения. Как известно из теории вероятностей, интегральная функция распределения F(t) есть вероятность того, что величина T будет меньше времени t.

F(t)=P(T

По условию в течение времени T не должно произойти ни одного события, а на интервале времени t должно появиться хотя бы одно событие. Эта вероятность вычисляется с помощью вероятности противоположного события на промежутке времени (0; t), куда не попало ни одного события, т.е. m = 0, тогда

F(t)=1-P0=1-(a0*e-a)0!=1-e-Xt,t?0

Для малых?t можно получить приближенную формулу, получаемую заменой функции e-Xt, только двумя членами разложения в ряд по степеням?t, тогда вероятность попадания на малый промежуток времени?t хотя бы одного события составляет

P(T

Плотность распределения промежутка времени между двумя последовательными событиями получим, продифференцировав F(t) по времени,

f(t)= л e- л t ,t?0

Пользуясь полученной функцией плотности распределения, можно получить числовые характеристики случайной величины Т: математическое ожидание М (Т), дисперсию D(T) и среднее квадратическое отклонение у(Т).

М(Т)= л??0 t*e-лt*dt=1/ л; D(T)=1/ л2 ; у(T)=1/ л.

Отсюда можно сделать следующий вывод: средний интервал времени Т между любыми двумя соседними событиями в простейшем потоке в среднем равен 1/л, и его среднее квадратическое отклонение также равно 1/л, л где, -- интенсивность потока, т.е. среднее число событий, происходящих в единицу времени. Закон распределения случайной величины, обладающей такими свойствами М(Т) = Т, называется показательным (или экспоненциальным), а величина л, является параметром этого показательного закона. Таким образом, для простейшего потока математическое ожидание интервала времени между соседними событиями равно его среднеквадратическому отклонению. В этом случае вероятность того, что число заявок, поступающих на обслуживание за промежуток времени t, равно к, определяется по закону Пуассона:

Pk(t)=(лt)k/ k! *e-л t,

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

Для такого потока заявок время между двумя соседними заявками Т распределено экспоненциально с плотностью вероятности:

ѓ(t)= л e-л t.

Случайное время ожидания в очереди начала обслуживания t тоже можно считать распределенным экспоненциально:

? (tоч)=V*e-v tоч,

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

v=1/Точ,

где Точ среднее время ожидания обслуживания в очереди.

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

?(t обс)=µ*е µ t обс,

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

µ=1/ t обс[чел/мин; руб./час; чеков/час; докум./день; кг./час; т./год] ,

где t обс - среднее время обслуживания заявок.

Важной характеристикой СМО, объединяющей показатели л и µ , является интенсивность нагрузки: с= л/ µ, которая показывает степень согласования входного и выходного потоков заявок канала обслуживания и определяет устойчивость системы массового обслуживания.

Кроме понятия простейшего потока событий часто приходится пользоваться понятиями потоков других типов. Поток событий называется потоком Пальма, когда в этом потоке промежутки времени между последовательными событиями T1, T2, ..., Тk ..., Тn являются независимыми, одинаково распределенными, случайными величинами, нов отличие от простейшего потока не обязательно распределенными по показательному закону. Простейший поток является частным случаем потока Пальма.

Важным частным случаем потока Пальма является так называемый поток Эрланга.

Этот поток получается «прореживанием» простейшего потока. Такое «прореживание» производится путем отбора по определенному правилу событий из простейшего потока.

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

Можно получить потоки Эрланга любого к-го порядка. Очевидно, простейший поток есть поток Эрланга первого порядка.

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

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

Перечисленные выше характеристики к, ф, л, Lоч, Точ, v, tобс, µ, р, Рk являются наиболее общими для СМО, которые являются обычно лишь некоторой частью целевой функции, поскольку необходимо учитывать еще и показатели коммерческой деятельности.

1 . 3 Простейшая СМО с отказами

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

S0 - СМО свободна;

S1 - занят один канал, остальные свободны;

...;

Sk - занятоk каналов, остальные свободны (1k n );

…;

Sn - заняты все n каналов.

Финальные вероятности состояний выражаются формулами Эрланга:

где с=л/м.

Характеристики эффективности:

A=(1-pn ); Q = 1-pn ; Pотк= pn ; =(1-pn ).

При больших значениях п вероятности состояний (1*) удобно вычислять через табулированные функции:

(распределение Пуассона) и

,

из которых первую можно выразить через вторую:

Пользуясь этими функциями, формулы Эрланга (1*) можно переписать в виде

.

1.4 Одноканальная СМО с отказами

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

Работу одноканальной СМО n=1 можно представить в виде размеченного графа состояний (3.1).

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

Запишем систему дифференциальных уравнений Колмогорова для вероятностей состояния по изложенным выше правилам:

Откуда получим дифференциальное уравнение для определения вероятности р0(t) состояния S0:

Это уравнение можно решить при начальных условиях в предположении, что система в момент t=0 находилась в состоянии S0, тогда р0(0)=1, р1(0)=0.

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

Тогда нетрудно получить выражение для вероятности определения вероятности занятости канала:

Вероятность р0(t) уменьшается с течением времени и в пределе при t>? стремится к величине

а вероятность р1(t) в то же время увеличивается от 0, стремясь в пределе при t>? к величине

Эти пределы вероятностей могут быть получены непосредственно из уравнений Колмогорова при условии

Функции р0(t) и р1(t) определяют переходный процесс в одноканальной СМО и описывают процесс экспоненциального приближения СМО к своему предельному состоянию с постоянной времени характерной для рассматриваемой системы.

С достаточной для практики точностью можно считать, что переходный процесс в СМО заканчивается в течение времени, равно 3ф.

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

Действительно, р0(t) есть вероятность того, что заявка, пришедшая в момент t, будет принята к обслуживанию. Всего в единицу времени приходит в среднем л заявок и из них обслуживается лр0 заявок.

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

В пределе при t>? практически уже при t>3ф значение относительной пропускной способности будет равно

Абсолютная пропускная способность, определяющая число заявок, обслуживаемых в единицу времени в пределе при t>?, равна:

Соответственно доля заявок, получивших отказ, составляет в этих же предельных условиях:

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

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

1.5 Многоканальная СМО с отказами

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

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

Туристические фирмы по продаже путевок имеют два, три, четыре и более каналов, как, например, фирма Express-Line.

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

Поток обслуживания в каждом канале имеет интенсивность м. По числу заявок СМО определяются ее состояния Sk, представленные в виде размеченного графа:

S0 - все каналы свободны k=0,

S1 - занят только один канал, k=1,

S2 - заняты только два канала, k=2,

Sk - заняты k каналов,

Sn - заняты все n каналов, k= n.

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

Для перехода системы из состояния Skв Sk-1 безразлично, какой именно из каналов освободиться, поэтому поток событий, переводящий СМО, имеет интенсивность kм, следовательно, поток событий, переводящий систему из Snв Sn-1, имеет интенсивность nм.

Так формулируется классическая задача Эрланга, названная по имени датского инженера - математика- основателя теории массового обслуживания.

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

.

Вычислив все вероятности состояний n - канальной СМО с отказами р0 , р1, р2, …,рk,…, рn, можно найти характеристики системы обслуживания.

Вероятность отказа в обслуживании определяется вероятностью того, что поступившая заявка на обслуживание найдет все n каналов занятыми, система будет находиться в состоянии Sn:

k=n.

В системах с отказами события отказа и обслуживания составляют полную группу событий, поэтому:

Ротк+Робс=1

На этом основании относительная пропускная способность определяется по формуле

Q = Pобс= 1-Ротк=1-Рn

Абсолютную пропускную способность СМО можно определить по формуле

А=л*Робс

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

Из этого выражения можно определить среднее число заявок, находящихся под обслуживанием, или, что же самое, среднее число занятых обслуживанием каналов

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

Вероятность занятости каналов обслуживанием, которая учитывает среднее время занятости tзан и простоя tпр каналов, определяется следующим образом:

Из этого выражения можно определить среднее время простоя каналов

Среднее время пребывания заявки в системе в установившемся режиме определятся формулой Литтла

Тсмо= nз/л.

1.6 Одноканальная СМО с ограниченной длиной очереди

В коммерческой деятельности чаще встречаются СМО с ожиданием (очередью).

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

Граф этой СМО представлен на рис. 3.4 и совпадает с графом рис. 2.1 описывающим процесс «рождения--гибели», с тем отличием, что при наличии только одного канала.

Размеченный граф процесса «рождения - гибели» обслуживания все интенсивности потоков обслуживания равны

Состояния СМО можно представить следующим образом:

S0 - канал обслуживания свободен,

S, - канал обслуживания занят, но очереди нет,

S2- канал обслуживания занят, в очереди стоит одна заявка,

S3- канал обслуживания занят, в очереди стоят две заявки,

Sm+1 - канал обслуживания занят, в очереди все т мест заняты, любая следующая заявка получает отказ.

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

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

с= (1- с )

Эта формула справедлива для всех р, отличных от 1, если же р = 1, то р0 = 1/(т + 2), а все остальные вероятности также равны 1/(т + 2).

Если предположить т = 0, то мы переходим от рассмотрения одноканальной СМО с ожиданием к уже рассмотренной одноканальной СМО с отказами в обслуживании.

Действительно, выражение для предельной вероятности р0в случае т = 0 имеет вид:

pо = м / (л+м)

И в случае л =м имеет величину р0= 1 / 2.

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

Заявка получает отказ, если она поступает в момент времени, когда СМО уже находится в состоянии Sm+1 и, следовательно, все места в очереди да заняты и один канал обслуживает

Поэтому вероятность отказа определяется вероятностью появлением

Состояния Sm+1:

Pотк = pm+1 = сm+1 * p0

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

Q = 1- pотк = 1- сm+1 * p0

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

Среднее число заявок Lочстоящих в очереди на обслуживание, определяется математическим ожиданием случайной величины к - числа заявок, стоящих в очереди

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

1 - в очереди стоит одна заявка,

2 - в очереди две заявки,

т-в очереди все места заняты

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

Таблица 1. Закон распределения дискретной случайной величины

Математическое ожидание этой случайной величины равно:

Lоч = 1* p2 +2* p3 +...+ m* pm+1

В общем случае при p ?1 эту сумму можно преобразовать, пользуясь моделями геометрической прогрессии, к более удобному виду:

Lоч = p2 * 1- pm * (m-m*p+1) * p0

В частном случае при р = 1, когда все вероятности pkоказываются равными, можно воспользоваться выражением для суммы членов числового ряда

1+2+3+ m = m (m +1)

Тогда получим формулу

L"оч= m(m+1) * p0 = m(m+1) (p=1).

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

Точ = Lоч/А (при р? 1) и Т1оч= L"оч /А(при р = 1).

Такой результат, когда оказывается, что Точ ~ 1/ л, может показаться странным: с увеличением интенсивности потока заявок как будто бы должна возрастать длина очереди и уменьшается среднее время ожидания. Однако следует иметь в виду, что, во-первых, величина Lоч является функцией от л и м и, во-вторых, рассматриваемая СМО имеет ограниченную длину очереди не более mзаявок.

Заявка, поступившая в СМО в момент времени, когда все каналы заняты, получает отказ, и, следовательно, время ее «ожидания» в СМО равно нулю. Это приводит в общем случае (при р? 1) к уменьшению Точростом л, поскольку доля таких заявок с ростом л увеличивается.

Если отказаться от ограничения на длину очереди, т.е. устремить m--> >?, то случаи р < 1 и р?1 начинают существенно различаться. Записанные выше формулы для вероятностей состояний преобразуются в случае р < 1 к виду

При достаточно большом к вероятностьpk стремится к нулю. Поэтому относительная пропускная способность будет Q= 1, а абсолютная пропускная способность станет равной А --л Q -- л следовательно, обслуживаются все поступившие заявки, причем средняя длина очереди окажется равной:

Lоч =p 2 1-p

а среднее время ожидания по формуле Литтла

Точ = Lоч/А

В пределе р << 1 получаем Точ = с / м т.е. среднее время ожидания быстро уменьшается с увеличением интенсивности потока обслуживания. В противном случае при р? 1 оказывается, что в СМО отсутствует установившийся режим. Обслуживание не успевает за потоком заявок, и очередь неограниченно растет со временем (при t > ?). Предельные вероятности состояний поэтому не могут быть определены: при Q= 1 они равны нулю. Фактически СМО не выполняет своих функций, поскольку она не в состоянии обслужить все поступающие заявки.

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

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

Lсмо= m +1 ;2

Тсмо= L смо; при p ?1

A тогда среднее время пребывания заявки в системе массового обслуживания (как в очереди, так и под обслуживанием) равно:

Тсмо= m +1 при p ?1 2м

1.7 Одноканальная СМО с неограниченной очередью

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

В то же время товары, завезенные для продажи (обслуживания), находясь на складе, образуют очередь на обслуживание (продажу).

Длину очереди составляет количество товаров, предназначенных для продажи. В этой ситуации продавцы выступают в роли каналов, обслуживающих товары.

Если количество товаров, предназначенных для продажи, велико, то в этом случае мы имеем дело с типичным случаем СМО с ожиданием.

Рассмотрим простейшую одноканальную СМО с ожиданием обслуживания, на которую поступает пуассоновский поток заявок с интенсивностью л и интенсивностью обслуживания?.

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

Размеченный граф состояний такой системы приведен на рис. 3.5

Количество возможных состояний ее бесконечно:

Канал свободен, очереди нет, ;

Канал занят обслуживанием, очереди нет, ;

Канал занят, одна заявка в очереди, ;

Канал занят, заявка в очереди.

Модели оценки вероятности состояний СМО с неограниченной очередью можно получить из формул, выделенных для СМО с неограниченной очередью, путем перехода к пределу при m>?:

Следует заметить, что для СМО с ограниченной длиной очереди в формуле

имеет место геометрическая прогрессия с первым членом 1 и знаменателем.

Такая последовательность представляет собой сумму бесконечного числа членов при.

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

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

Вероятность пребывания в очереди k заявок равна:

Среднее число заявок в очереди -

Среднее число заявок в системе -

Среднее время пребывания заявки в системе -

Среднее время пребывания заявки с системе -

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

1.8 Многоканальная СМО с ограниченной длиной очереди

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

Все каналы свободны, ;

Занят только один канал (любой), ;

Заняты только два канала (любых), ;

Заняты все каналов, .

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

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

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

Заняты все каналов и все мест в очереди,

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

Запишем выражения для предельных вероятностей состояний:

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

Образование очереди возможно, когда вновь поступившая заявка застанет в системе не менее требований, т.е. когда в системе будет находиться требований.

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

Поэтому вероятность образования очереди равна:

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

Относительная пропускная способность будет равна:

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

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

Среднее число простаивающих каналов -

Коэффициент занятости (использования) каналов -

Коэффициент простоя каналов -

Среднее число заявок, находящихся в очередях -

В случае если, эта формула принимает другой вид -

Среднее время ожидания в очереди определяется формулами Литтла -

Среднее время пребывания заявки в СМО, как и для одноканальной СМО, больше среднего времени ожидания в очереди на среднее время обслуживания, равное, поскольку заявка всегда обслуживается только одним каналом:

1.9 Многоканальная СМО с неограниченной очередью

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

Размеченный граф состояний представлен на рис 3.7 Он имеет бесконечное число состояний:

S - все каналы свободны, k=0;

S - занят один канал, остальные свободны, k=1;

S - заняты два канала, остальные свободны, k=2;

S - заняты все n каналов, k=n, очереди нет;

S - заняты все n каналов, одна заявка в очереди, k=n+1,

S - заняты все n каналов, r заявок в очереди, k=n+r,

Вероятности состояний получим из формул для многоканальной СМО с ограниченной очередью при переходе к пределу при m.

Следует заметить, что сумма геометрической прогрессии в выражении для p расходится при уровне загрузки p/n>1, очередь будет бесконечно возрастать, а при p/n<1 ряд сходится, что определяет установившийся стационарный режим работы СМО.

Очереди нет

Поскольку отказа в обслуживании в таких системах не может быть, то характеристики пропускной способности равны:

среднее число заявок в очереди -

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

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

Вероятность того, что СМО находится в состоянии, когда нет заявок и не занято ни одного канала, определяется выражением

Эта вероятность определяет среднюю долю времени простоя канала обслуживания. Вероятность занятости обслуживанием k заявок -

На этом основании можно определить вероятность, или долю времени занятости всех каналов обслуживанием

Если же все каналы уже заняты обслуживанием, то вероятность состояния определяется выражением

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

Среднее число заявок, находящихся в очереди и ожидающих обслуживания, равно:

Среднее время ожидания заявки в очереди по формуле Литтла:

и в системе

среднее число занятых каналов обслуживанием:

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

коэффициент занятости каналов обслуживанием:

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

1.10 Алгоритм моделирования СМО

Рассматриваемая в задаче СМО представляет собой СМО с:

Двухканальным обслуживанием;

Двухканальным входным потоком (имеет 2 входа, на один из которых поступают случайный поток Заявок I, на другой вход - поток Заявок II).

Определение времен поступления и обслуживания заявок:

· Времена поступления и обслуживания заявок генерируются случайно с заданным показательным законом распределения;

· Интенсивности поступления и обслуживания заявок заданы;

Функционирование рассматриваемой СМО:

Каждый канал обслуживает в каждый момент времени одну заявку;

Если в момент поступления новой заявки свободен хотя бы один канал, то пришедшая заявка поступает на обслуживание;

Если отсутствуют Заявки то система простаивает.

Дисциплина обслуживания:

Приоритет Заявок I: если система занята (оба канала обслуживают заявки), причем один из каналов занят Заявкой II, Заявка I вытесняют Заявку II; Заявка II покидает систему необслуженной;

Если к моменту поступления Заявки II оба канала заняты, Заявка II не обслуживается;

Если к моменту поступления Заявки I оба канала обслуживают Заявки I, поступившая Заявка I покидает систему необслуженной;

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

Критерии эффективности функционирования СМО:

· Вероятность отказа;

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

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

Принцип моделирования:

Вводим начальные условия: общее время работы системы, значения интенсивностей потоков заявок; число реализаций работы системы;

Генерируем моменты времени, в которые прибывают заявки, последовательность прихода Заявок I Заявок II, время обслуживания каждой пришедшей заявки;

Считаем сколько заявок было обслужено, а сколько получило отказ;

Рассчитываем критерий эффективности СМО;

ГЛАВА 2 . ПРАКТИЧЕСКАЯ ЧАСТЬ

Рисунок 1. Зависимость ОПСС от времени

PROGRAM CAN_SMO;

CHANNAL = (FREE, CLAIM1, CLAIM2);

INTENSITY = word;

STATISTICS = word;

CHANNAL1, CHANNAL2: CHANNAL;{Каналы }

T_, t, tc1, tc2: TIME; {Время}

l1, l2, n1, n2: INTENSITY;{Интенсивности }

served1, not_served1,

served2, not_served2,

S: STATISTICS; {Статистика}

M,N:INTEGER;{число реализаций}

FUNCTION W(t: TIME; l: INTENSITY) : boolean;{Определяет появилась ли заявка}

Begin {по интенсивности потока l}

if random < l/60 then W:= TRUE else W:= FALSE;

FUNCTION F(t: TIME; n: INTENSITY) : TIME;{Определяет сколько будет обрабатываться заявка}

Begin {по интенсивности обслуживания заявок n}

F:= t +round(60/(n));

Рисунок 2. Зависимость ОППС от времени

WRITELN("ВВЕДИТЕ ЧИСЛО РЕАЛИЗАЦИЙ РАБОТЫ СМО");

writeln(M, "-ая реализация");

CHANNAL1:= FREE; CHANNAL2:= FREE;

l1:= 3; l2:= 1; n1:= 2; n2:= 1;

served1:= 0; not_served1:= 0;

served2:= 0; not_served2:= 0;

write("Введите время исследования СМО - Т: "); readln(_T_);

if CHANNAL1 = CLAIM1 then inc(served1) else inc(served2);

CHANNAL1:= FREE;

writeln("Канал1 выполнил заявку");

if CHANNAL2 = CLAIM1 then inc(served1) else inc(served2);

CHANNAL2:= FREE;

writeln("Канал2 выполнил заявку");

Рисунок 3. График зависимости вероятности отказа в системе от времени

writeln("Поступила заявка1");

if CHANNAL1 = FREE then

begin CHANNAL1:= CLAIM1; tc1:= F(t,n1); writeln("Канал1 принял заявку1"); end

else if CHANNAL2 = FREE then

begin CHANNAL2:= CLAIM1; tc2:= F(t,n1); writeln("Канал2 принял заявку1"); end

else if CHANNAL1 = CLAIM2 then

begin CHANNAL1:= CLAIM1; tc1:= F(t,n1); inc(not_served2); writeln("Канал1 принял заявку1 вместо заявки2"); end

else if CHANNAL2 = CLAIM2 then

begin CHANNAL2:= CLAIM1; tc2:= F(t,n1); inc(not_served2); writeln("Канал2 принял заявку1 вместо заявки2"); end

else begin inc(not_served1); writeln("заявка1 не обслужена"); end;

Рисунок 4. Зависимость числа заявок от времени

writeln("Поступила заявка2");

if CHANNAL1 = FREE then

begin CHANNAL1:= CLAIM2; tc1:= F(t,n2); writeln("Канал1 принял заявку2");end

else if CHANNAL2 = FREE then

begin CHANNAL2:= CLAIM2; tc2:= F(t,n2); writeln("Канал2 принял заявку2");end

else begin inc(not_served2); writeln("заявка2 не обслужена"); end;

S:= served1 + not_served1 + served2 + not_served2;

writeln("время работы СМО ",_T_);

writeln("обслужено каналом1: " ,served1);

writeln("обслужено каналом2: ",served2);

writeln("Поступило заявок: ",S);

writeln("Обслужено заявок: ",served1+served2);

writeln("Не обслужено заявок: ",not_served1+not_served2);

{writeln("Интенсивность поступления заявок в систему: ",(served1+served2)/_T_:2:3);}

writeln("Абсолютная пропускная способность системы: ",(served1+served2)/T:2:3);

writeln("Вероятность отказа: ",(not_served1+not_served2)/S*100:2:1,"%");

writeln("Относительная пропускная способность системы: ",(served1+served2)/S:2:3);

writeln("моделирование закончено");

Таблица 2. Результаты работы СМО

Характеристики работы СМО

Время работы СМО

Поступило заявок

Обслужено заявок

Не обслужено заявок

Абсолютная пропускная способность системы

Относительная пропускная способность системы

ГЛАВА 3. ПРАВИЛА ТЕХНИКИ БЕЗОПАСНОСТИ

Общее положения

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

· В случае нарушения инструкции студент отстраняется от работы и допускается к занятию только по письменному разрешению преподавателя.

· Работа студентов в компьютерном классе разрешается только в присутствии преподавателя (инженера, лаборанта).

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

Перед началом работы:

· Перед началом работы следует убедиться в отсутствии видимых повреждений аппаратуры и проводов. Компьютеры и периферийные устройства должны находиться на столах в устойчивом положении.

· Учащимся категорически запрещается проникать внутрь устройств. Включать устройства можно только по разрешению преподавателя.

При работе в компьютерном классе запрещается:

1. Входить и выходить из класса без разрешения учителя.

2. Опаздывать на урок.

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

4. Работать на компьютере влажными руками.

5. Класть на рабочее место посторонние предметы.

6. Вставать во время работы, поворачиваться по сторонам, разговаривать с соседом.

7. Включать и выключать аппаратуру без разрешения учителя.

8. Нарушать порядок включения и выключения аппаратуры.

9. Трогать клавиатуру и мышь при выключенном компьютере, передвигать мебель и аппаратуру.

10. Трогать экран дисплея, кабели, соединительные провода, разъёмы, вилки и розетки.

11. Подходить к рабочему месту учителя без разрешения

Главная угроза для здоровья человека при работе с ПК - это угроза поражения электрическим током. Поэтому запрещается:

1. Работать на аппаратуре, имеющей видимые дефекты. Открывать системный блок.

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

3. Прикасаться к экрану и к тыльной стороне монитора, клавиатуры.

4. Пытаться самостоятельно устранять неисправности в работе аппаратуры.

5. Работать во влажной одежде и влажными руками

6. Выполнять требования преподавателя и лаборанта; Соблюдать тишину и порядок;

7. Находясь в сети работать только под своим именем и паролем;

8. Соблюдать режим работы (согласно Санитарных правил и норм);

9. Начало и окончание работы производить только по разрешению преподавателя.

10. При резком ухудшении самочувствия (появлении рези в глазах, резком ухудшении видимости, невозможности сфокусировать взгляд или навести его на резкость, появления боли в пальцах и кистях рук, усиления сердцебиения) немедленно покинуть рабочее место, сообщить о происшедшем преподавателю и обратиться к врачу;

11. Соблюдать чистоту рабочего места.

12. Окончание работы произвести по разрешению преподавателя.

13. Сдать выполненную работу.

14. Завершить все активные программы и корректно выключить компьютер.

15. Привести рабочее место в порядок.

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

При эксплуатации оборудования необходимо остерегаться: - поражения электрическим током;

- механических повреждений, травм

При возникновении аварийных ситуаций:

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

2. При поражении кого-либо электротоком необходимо: прекратить работу и отойти на безопасное расстояние; отключить напряжение (на распределительном щитке кабинета); сообщить учителю; приступить к оказанию первой помощи и вызвать врача.

3. При пожаре необходимо: прекратить работу и начать эвакуацию; сообщить учителю и вызвать пожарную охрану (по тел. 01); отключить напряжение (на распределительном щитке кабинета); приступить к тушению пожара огнетушителем (водой тушить запрещается.

Подобные документы

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

    курсовая работа , добавлен 07.09.2009

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

    курсовая работа , добавлен 15.02.2009

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

    контрольная работа , добавлен 01.07.2015

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

    курсовая работа , добавлен 08.01.2009

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

    реферат , добавлен 08.01.2013

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

    дипломная работа , добавлен 23.12.2012

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

    курсовая работа , добавлен 25.02.2012

    Составление имитационной модели и расчет показателей эффективности системы массового обслуживания по заданны параметрам. Сравнение показателей эффективности с полученными путем численного решения уравнений Колмогорова для вероятностей состояний системы.

    курсовая работа , добавлен 17.12.2009

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

    курсовая работа , добавлен 26.01.2014

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

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

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

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

Рис. 6.2.

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

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

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

Классификация систем массового обслуживания

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

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

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

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

  • 1) системы с ограниченным потоком требований;
  • 2) системы с неограниченным потоком требований.

В зависимости от форм внутренней организации обслуживания в системе выделяют:

  • 1) системы с упорядоченным обслуживанием;
  • 2) системы с неупорядоченным обслуживанием.

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

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

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

Четвериков С. Ю. , Попов М.А.

Россия, Институт экономики и предпринимательства (г. Москва)

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

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

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

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

а время обслуживания каждого требования павно

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

В противном случае с течением времени требования будут накапливаться в системе.

Параметры X и ц имеют простой физический смысл:

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

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

/7ц - среднее число требований, которое способны обслужить п приборов, или интенсивность обслуживания требовании всей системой.

Таким образом, условие (1) означает, что интенсивность входящего потока не должна превышать интенсивности обслуживания требований всей системой. Рассмотрим величину

Так называемую загрузку системы.

Тогда неравенство (1) можно переписать в виде:

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

Наконец, еще одно замечание к функционированию системы с детерминированными характеристиками:

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

в случае р

наконец, если р > 1, то за единицу времени очередь в среднем увеличивается на Мр-1).

В реальных системах массового обслуживания существенную роль играют элементы случайности:

во-первых, времена между поступлениями требований не являются детерминированными;

во-вторых, не являются детерминированными времена обслуживания требований.

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

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

Рассмотрим формализованное описание СМО. Основными параметрами СМО являются:

входящий поток требований;

структура системы;

временные характеристики обслуживания требований;

дисциплина обслуживания.

Рассмотрим эти параметры.

Входящий поток характеризуется случайными моментами поступления требований в простую систему, а для сложных систем - и типами поступающих в эти моменты требований.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В системах с потерями или конечным числом мест ожидания, а также в системах с ожиданием и загрузкой р

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

Литература

  • 1. Гнеденко Б.В. Курс теории вероятностей. М.: Физматгиз, 1961.
  • 2. Феллер В. Введение в теорию вероятностей и ее приложения.T.I. М.: Мир,
  • 1984.
  • 3. Гнеденко Б.В., Коваленко И.Н. Введение в теорию массового обслуживания. М.: Наука, 1966.
  • 4. Саати Т.Л. Элементы теории массового обслуживания и ее приложения. М.: Сов. радио, 1965.