МАРКОВСКИЕ ПРОЦЕССЫ И ПРОСТЕЙШИЕ МОДЕЛИ ТЕОРИИ МАССОВОГО ОБСЛУЖИВАНИЯ. КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ ПРОСТЕЙШИХ МОДЕЛЕЙ МАССОВОГО
ОБСЛУЖИВАНИЯ
А.Я. Ремицкая Научный руководитель - к.ф.-м.н., доцент И.А. Суслина
Целью работы является моделирование марковских процессов и систем массового обслуживания. Были реализованы простейшие модели теории массового обслуживания. Ценность работы - в возможности использования полученных результатов для выяснения оптимальности реальных систем массового обслуживания, обладающих свойством марковости.
Введение
На практике часто приходится сталкиваться с системами, предназначенными для многоразового использования при решении однотипных задач. Возникающие при этом процессы получили название процессов обслуживания, а системы - систем массового обслуживания. Примерами таких систем являются телефонные системы, ремонтные мастерские, вычислительные комплексы, билетные кассы, магазины, парикмахерские и т.п.
В данной работе на базе марковских процессов моделируются системы массового обслуживания, при этом используются процессы рождения и гибели, учитываются вероятностные характеристики рассматриваемых процессов.
Теоретически системы массового обслуживания уже достаточно хорошо изучены. Одной из первых и наиболее известных задач в теории массового обслуживания является «Задача о вырождении фамилий» (более научное название - «Парадокс ветвящихся процессов»). В первой половине прошлого века было замечено следующее интересное явление: некоторые знаменитые аристократические фамилии постепенно исчезали. Эту проблему с математической точки зрения изучали еще в 1845 г. И.Ж. Бьенеме и в 1873 г. де Коделье. Ветвящиеся цепочки фамилий стали первым примером случайного ветвящегося процесса. Впоследствии теория массового обслуживания была применена к решению и других интересных вопросов. Сегодня важной темой изучения является управление и анализ сетей массового обслуживания с переменной структурой. Например, исследованиями в этой области занимается И.Е. Тананко, кандидат физ.-мат. наук, доцент кафедры системного анализа и автоматического управления Саратовского государственного университета.
Особой задачей является реализация некоторых моделей систем массового обслуживания в программном виде. Моделирование выполняется в среде МЛТЬЛВ. Модели сопровождаются графическим отображением результатов. Представляет большой интерес практическое применение моделей. В наше время тематика компьютерного моделирования систем массового обслуживания чрезвычайно актуальна. Такие модели существенно упрощают исследование сетей массового обслуживания, достаточно ясно дают представление о состоянии рассматриваемой системы, позволяют оптимизировать их работу.
Теория массового обслуживания
Предметом теории массового обслуживания является построение математических моделей, связывающих заданные условия работы систем массового обслуживания (число каналов, их производительность, характер потока заявок и т.п.) с показателями эффективности системы, описывающими ее способность справляться с потоками заявок. При моделировании таких систем мы работаем с процессами, обладающими марковским свойством. Это значит, что прошлая история показательно распределенной
случайной величины при фиксированном настоящем не играет никакой роли в предсказании ее будущего. Это свойство также называется свойством отсутствия последействия.
В моделируемую систему в случайные моменты поступают заявки, такие поступления независимы и показательно распределены. Поток этих заявок называется простейшим. Общепринято, что функционирование систем массового обслуживания определяют 4 следующих компонента.
(1) Входящий поток требований. Заявки поступают в систему обычно не регулярно, а случайно, образуя так называемый случайный поток заявок (требований). Требования могут поступать в систему как по одному, так и по группам. Характеризует такой поток величина X, называемая интенсивностью поступления требований в систему.
(2) Время обслуживания каждого требования. Это случайное время, которое тратится на обслуживание заявки. Поток характеризуется величиной ц, называемой интенсивностью обслуживания.
Случайный характер потока заявок и времени обслуживания приводит к тому, что система оказывается загруженной неравномерно: в какие-то периоды времени скапливается очень большое количество заявок (они либо становятся в очередь, либо покидают систему необслуженными), в другие же периоды система работает с недогрузкой или простаивает.
(3) Число обслуживающих устройств. Каждая система массового обслуживания состоит из определенного числа обслуживающих единиц (приборов, устройств, пунктов, станций и др.), которые будем называть каналами обслуживания. Каналами могут быть линии связи, рабочие точки, вычислительные машины, продавцы и др. По числу каналов системы подразделяют на одноканальные и многоканальные.
(4) Алгоритм обслуживания. В понятие алгоритма (организации) обслуживания входят:
(а) возможность образования очереди в системе;
(б) ограничение на длину очереди (объем накопителя);
(в) очередность (дисциплина) обслуживания (т.е. правила, в соответствии с которыми выбирается из очереди требование для обслуживания);
(г) правило, в соответствии с которым требования занимают свободные приборы (если их больше одного);
(д) некоторые особенности работы обслуживающих приборов (отдыхающие приборы, надежные приборы и др.).
Многообразие вариантов выполнения программ и разработки алгоритмов обслуживания порождает чрезвычайно много различных видов систем массового обслуживания. Их делят на несколько основных типов (классов): это системы массового обслуживания с ожиданием (очередью), с отказами (потерями), с ограниченными очередями и, наконец, открытые и замкнутые системы массового обслуживания. Например, в системе массового обслуживания с отказами заявка, поступившая в момент, когда все каналы заняты, получает отказ, покидает систему и в дальнейшем процессе обслуживания не участвует. В системе массового обслуживания с ожиданием заявка, пришедшая в момент, когда все каналы заняты, не уходит, а становится в очередь на обслуживание.
Для обозначения различных систем обслуживания принята кодировка Кендалла: Л|Б|ш|п. В этой записи символ А - код функции распределения случайной длины интервала между двумя последовательно поступившими требованиями входного потока; Б - код функции распределения случайного времени обслуживания каким-либо прибором в системе; ш - число обслуживающих приборов в системе; п - число мест в системе для ожидания. Если число мест в системе для ожидания не ограничено (п=ю), то кодировка Кендалла записывается в виде Л|Б|ш. Для кодировки систем массового об-
служивания замкнутого типа употребляют еще пятый символ Б, означающий число возможных источников требований, поступивших в систему [1].
В качестве показателей эффективности систем массового обслуживания используются: среднее число заявок, обслуживаемых в единицу времени; среднее число заявок в очереди; среднее время ожидания обслуживания; вероятность отказа в обслуживании без ожидания; вероятность того, что число заявок в очереди превысит определенное значение, и т. п.
Вероятностные процессы в системах массового обслуживания
Процесс работы системы массового обслуживания представляет собой случайный процесс.
Процесс называется процессом с дискретными состояниями, если его возможные состояния Б1, Б2, Бз, ... можно заранее перечислить, а переход системы из состояния в состояние происходит мгновенно (скачком). Процесс называется процессом с непрерывным временем, если моменты возможных переходов системы из состояния в состояние не фиксированы заранее, а случайны.
Процесс работы системы массового обслуживания представляет собой случайный процесс с дискретными состояниями и непрерывным временем. Это означает, что состояние системы меняется скачком в случайные моменты появления каких-то событий (например, прихода новой заявки, окончания обслуживания и т.п.). Математический анализ работы систем массового обслуживания существенно упрощается, если процесс этой работы - марковский. Случайный процесс называется марковским или случайным процессом без последействия, если для любого момента времени 1:0 вероятностные характеристики процесса в будущем зависят только от его состояния в данный момент 1:0 и не зависят от того, когда и как система пришла в это состояние [2].
При анализе случайных процессов с дискретными состояниями удобно пользоваться геометрической схемой - так называемым графом состояний. Под состоянием системы обслуживания понимают значения различных числовых характеристик, связанных с вызовами, находящимися в данный момент времени в системе (т.е. поступившими в систему, но еще не обслуженными). Изучение случайных процессов, описывающих поведение во времени этих характеристик, составляет основное содержание математической теории систем с очередями.
В теории массового обслуживания широко распространен специальный класс случайных процессов - так называемые процессы гибели и рождения. Предназначенные первоначально для описания эволюции численности биологических популяций, процессы рождения и гибели оказались хорошей моделью явлений, происходящих в простейших (марковских) системах обслуживания. В случайные моменты времени в систему массового обслуживания приходят требования (рождение), и в случайные моменты времени заканчивается обслуживание прибывших ранее требований (гибель). Граф состояний процесса гибели и рождения имеет вид, показанный на рис. 1.
М-10 М-21 М-32 . •• Мк,к-1 Мк+1,к . •• Цп,п-1
Рис. 1. Граф состояний процесса гибели и рождения
Здесь: Бк (где к=0, 1,.) - состояния процесса; Хк-1,к - интенсивность рождения, Цк,к-1 - интенсивность гибели.
Б0 -► Б1 -►
Б2
Бк
Бп
Вернемся к рассматриваемым процессам. Для того чтобы определить представляющие интерес случайные процессы, рассмотрим систему обслуживания общего вида G|G|m|n (где G (General) - общее распределение и возможно n=0 или n=ro). Многие важные проблемы, возникающие при анализе систем массового обслуживания, связаны со следующими процессами:
(1) Q(t) — число требований, находящихся в системе в момент времени t. При m<ro в Q(t) входят как обслуживаемые, так и ожидающие в очереди требования. Если m=ro, то Q(t) — число занятых обслуживающих приборов.
(2) q(t) = max(0,Q(t)—m) — число требований, ожидающих в очереди в момент времени t.
(3) W(t) — виртульное (возможное) время ожидания требования, пришедшего в момент времени t.
Кроме этих основных процессов, важными являются также последовательности случайных величин, характеризующие процесс обслуживания:
(1) Wk — случайное время ожидания (в очереди) k-го требования, k=1,2... .
(2) Tk = Wk+vk, k=1,2,... — случайное время пребывания в системе (очередь плюс обслуживание).
Определенные выше случайные процессы с дискретным и непрерывным временем описывают возможные состояния системы массового обслуживания. Знание их полного вероятностного описания желательно, но не обязательно и к тому же связано с решением сложных математических вопросов. На практике часто ограничиваются вычислением функционалов (числовых характеристик) от этих процессов и моментов (средних, дисперсий и т.д.) случайных величин — показателей эффективности систем массового обслуживания. Например, для систем с ожиданием такими показателями являются: Q, q — среднее число требований и средняя длина очереди в системе, соответственно; W, Т — среднее время ожидания и среднее время пребывания в системе; v — среднее время обслуживания.
Эти средние характеристики систем массового обслуживания, вообще говоря, зависят от времени t. В практических задачах интересуются значениями этих характеристик при t—что соответствует стационарному режиму работы системы. В таком режиме начальное состояние системы уже не оказывает никакого влияния на поведение системы, и ее показатели не зависят от времени t. Определение характеристик систем массового обслуживания для стационарного режима упрощает исследование и вместе с тем позволяет выбрать способы разумной организации систем.
Кроме перечисленных выше характеристик систем, в стационарном режиме большую роль играют следующие показатели: р0 — вероятность застать систему свободной; р]1 — вероятность того, что в системе находится к требований; р, — вероятность того, что система занята (имеется очередь); р=Х/ц — загрузка системы; p/m — загрузка СМО, приходящаяся на один прибор.
Для СМО с отказами важными характеристиками являются: Pk — вероятность того, что в системе находится k требований (k<m), т.е. k приборов заняты обслуживанием; Pm — вероятность отказа; Q — среднее число приборов, занятых обслуживанием; Q/m — коэффициент использования прибора; 1—Q/m — коэффициент простоя системы; P0 — вероятность простоя системы; (1— рш) — относительная пропускная способность; Х(1— рш) — абсолютная пропускная способность; p= Х/ц — загрузка системы; p/m — загрузка СМО, приходящаяся на один прибор.
Вычисления таких характеристик бывают очень сложными и громоздкими [3]. Однако их знание — необходимая часть оценки работы системы.
Марковские процессы
В работе проводится моделирование систем массового обслуживания на основе вероятностных свойств марковского процесса, который описывается начальным распределением вероятностей и матрицей переходных вероятностей.
Вероятностные свойства однородного марковского процесса описываются начальным распределением вероятностей р;, 1=0,±1,... и матрицей переходных вероятностей
(
p(t)=1 Mu=
Л
Pll(t ) Pl2(t ) Pl2(t) P 22 (t)
Pil(t) Pil(t)
Plj(* ) P 2j (t)
Pi,(t)
•J
Матрица P(t) называется стохастической, а ее элементы удовлетворяют условиям j)* о, Pij(o)={0, 2Pij(t) = l, i = 0,±l,....
(l) (2)
Уравнение Колмогорова-Чепмена
Переходные вероятности Ру(1;) удовлетворяют уравнению Колмогорова-Чепмена
Ри(1 +б) = Е Ри^^Р^О.
к
Это уравнение отражает тот факт, что марковская система, переходя из состояния 1 в состояние ] за время 1+б, сначала за время б из состояния 1 переходит в некоторое промежуточное состояние к, а затем за время 1 из состояния к переходит в состояние _], причем вероятность второго перехода не зависит от того, каким образом было достигнуто состояние к.
Дифференциальные уравнения Колмогорова
Определим матрицу Л=||Ау||:
л , • P(s)-I
Л=1 im v ' ,
s
где р^) - матрица переходных вероятностей, I - единичная матрица с элементами
» Pij(s) • •
А. = lim ——, если i=j,
ij s^0 s
А = Um^Ä^, если #j.
S^0 s
Величины Aij называются инфинитезимальными коэффициентами, а Л - инфи-нитезимальной матрицей. По другой терминологии А. - интенсивность (плотность) перехода цепи Маркова из состояния i в состояние j; —а.. - интенсивность (плотность) выхода из состояния i. По определению А^>0 для i^j и А..<0. Очевидно, что 2 Aij = 0, i=0,+l,±2,...
Уравнение Колмогорова-Чепмена в матричной форме записывается так:
Р(1+8)=Р(1)Р(8)=Р(в)Р(1). В соответствии с этим, при б>0
Р('+5)-Р(1)=РтР^. (3)
Б Б
Отсюда при получаем
Р'(1) =Р(1)Л (4)
- прямое дифференциальное уравнение Колмогорова в матричной форме. Аналогичным образом из (3) получается и обратное дифференциальное уравнение Колмогорова в матричной форме
Р'(1) = Л Р(1), (5)
при этом Р(0)=1. Каждое из уравнений имеет единственное решение
Р(1)=еЛ11,
где через е обозначена матричная функция
г
еХ1=1+Е 1к Лк/к!
к=1
В координатной форме уравнения (4) и (5) записываются в виде соответствующих систем дифференциальных уравнений Колмогорова
р^(1)=Е р,к(1)Ч
к
и
р^(1)=Е ^.кРЧ(1).
к
Аналогичными методами выводится система дифференциальных уравнений для вероятностей Р,(1):
р'(1)=Е Рк(1Яч
к
с начальным распределением р;(0)=Р(Х(0)=1), 1=0,±1,±2,...
Таким образом, мы получаем дифференциальную систему уравнений Колмогорова для счета вероятностей состояний [4, 5]. Расчеты «вручную» таких систем достаточно сложны, но программы, смоделированные на их основе, значительно упрощают работу с системами массового обслуживания.
Моделирование систем массового обслуживания
Одна из задач работы - компьютерная реализация простейших моделей систем массового обслуживания. Методика, разработанная в программах, может быть использована при анализе и оценке эффективности систем массового обслуживания, обладающих свойством марковости. Значительно упрощается расчет вероятностных процессов, задаваемых громоздкими формулами. Графическое отображение состояния систем и их вероятностных характеристик позволяет удобно изучать необходимые вопросы.
В ходе работы проводилось компьютерное моделирование простейших моделей систем массового обслуживания в среде МАТЪАБ.
Среда работы МЛТЬЛБ
МАТЬАБ (МАТричная ЛАБоратория) - современная математическая среда для профессиональной работы в широком диапазоне научных, инженерных, финансово-экономических и иных приложений. Языком МАТЬАБ являются простые команды, вызывающие готовые вычислительные алгоритмы. Вместе с тем язык МАТЬАБ максимально приближен к обычной форме записи математических выражений, что существенно облегчает его освоение и последующую работу. МАТЬАБ имеет мощные
средства для процедурного, объектно-ориентированного программирования, отладки программ и разработки пользовательского интерфейса. Встроенная библиотека объединяет более 500 математических функций с эффективными средствами двух- и трехмерной визуализации. В дополнение к этому пользователям предоставлена возможность свободно дополнять эту библиотеку своими функциями - специализированными программами, написанными на язык MATLAB, С или Fortran посредством API (Application Programm Interface). Коды MATLAB тщательно оптимизированы, что обуславливает его высокие вычислительные характеристики, особенно при работе с массивами данных.
MATLAB - это интерактивная система, в которой основным элементом данных является массив, это позволяет решать различные задачи, связанные с техническими вычислениями, особенно те, в которых используются матрицы и вектора, в несколько раз быстрее, чем при написании программ с использованием «скалярных» языков программирования, таких как С или Fortran.
Система MATLAB - это набор инструментов и приспособлений, с которыми работает пользователь или программист MATLAB. Она включает в себя средства для управления переменными в рабочем пространстве MATLAB, вводом и выводом данных, а также создания, контроля и отладки М-файлов и приложений MATLAB [6].
Исходя из преимуществ математической среды MATLAB, был выбран именно этот программный продукт, обеспечивающий оптимальную базу вычислительных алгоритмов для моделирования систем массового обслуживания. Блок управляемой графики MATLAB незаменим для анализа полученных результатов путем построения изображений и анимации. Пользовательский интерфейс системы прост в освоении и удобен для реализации проекта.
Результаты
Преимущества, полученные таким образом, очевидны: во-первых, как уже упоминалось, в программах производится расчет громоздких формул. Ниже приведены формула для счета среднего числа приборов, занятых на данный момент времени в процессе обслуживания,
m m+n m-1 n m n -1
am,n= 2kpk+m 2 Pk=(pZpk/k!+pm/(m-1)£(p/m)J)(p£pk/k!+pm/m£(p/m)J)
k=1 k=m+1 k=0 j=1 k=0 j=1
и формула, дающая возможность вычислять характеристики, связанные со временем ожидания.
P{W<t}=Ypm+mJe"mu(Y pk(mMu)k"me"m^)du=p0 2 pk/k!+p0mJe-mu(Y-^- (m^u)k)du.
J0 ¿Г (k-m)! Vo£f ^ k=mm!mk-m (k-m)! J
Аналитические модели требуют индивидуальных расчетов для различных типов систем и даже одинаковых систем с различными параметрами. Соответствующие выкладки достаточно громоздки и объемны. При компьютерном моделировании этого удается избежать.
Исходными данными для программ служат параметры задаваемой системы. На выходе мы получаем графики процессов, проходящих в системе ((а) график общего состояния системы, (б) процесс образования очереди, (в) поток поступающих заявок, (г) поток обслуживания на рис. 2) и теоретические оценки такой системы.
В систему в случайные моменты времени поступают заявки. В дальнейшем поведение заявки зависит от наличия свободных приборов. В случае, когда в системе есть хотя бы 1 свободный прибор, заявка поступает на обслуживание. Если же в системе все приборы заняты, то заявка становится в очередь либо покидает систему (опять же,
в зависимости от того, с какой системой мы имеем дело). Для наглядного примера на рис. 2, 3 приведены графики двух возможных вариантов работы программы:
(а)
(б)
(в)
100 200 МО 400
(г)
Рис. 2. Оптимальная работа системы Рис. 3. Работа системы с перегрузкой
На приведенных графиках вертикальная ось координат показывает количество приборов, работающих в системе, горизонтальная - количество итераций.
На рис. 2 работа системы положительна, т.е. в ней не образуется очереди, соответственно, не происходит потеря заявок, и система не перегружается.
Об оптимальности работы системы рис. 3 говорить не приходится. Здесь происходит перегрузка (в системе образуется очередь).
Второе преимущество, реализованное в работе, - быстрое и легкое оценивание поведения работающей системы в момент времени 1. В заданный момент времени мы можем наглядно оценить вероятностные процессы, проходящие в системе. Другая часть программы позволяет нам увидеть, как с течением времени изменяется вероятность того, что в системе имеется к заявлений.
Рассмотрим систему массового обслуживания с ожиданием. На рис. 4.1 все вероятности, по мере увеличения количества итераций, стабилизируются - стремятся к фиксированному числу. Рис. 4.2 показывает вероятность того, что заявка, пришедшая в систему, окажется в очереди. Как видим, она увеличивается с течением времени. На рис. 4.1: вертикальная ось координат показывает вероятность, горизонтальная - количество итераций. На рис. 4.2 вертикальная ось координат показывает вероятность, горизонтальная - течение времени. На рис. 5 представлена замкнутая система.
о & о.а о? о з
о_5 о.а о.з о.а о.э о
1 I..........
\ ■
Т\
____
20 40 ео &о
Рис. 4.1. Система с ожиданием Рис. 4.2. Система с ожиданием
Рис. 5. Замкнутая система
Сравнивая и оценивая поведение разных систем, мы можем прийти к выводу о наибольшей выгоде, получаемой при работе различных систем в заданных условиях.
Заключение
Итак, мы промоделировали системы массового обслуживания на основе вероятностных свойств марковских процессов. При компьютерной реализации систем массового обслуживания использовался математический пакет МАТЬАБ 6.5. Практическая ценность такой работы состоит в возможности ее использования для выяснения оптимальности реальных систем массового обслуживания, обладающих свойством марковости. Преимуществом является быстрое и наглядное получение данных, простые расчеты аналогичных математических формул. В процессе работы получены наглядные результаты функционирования некоторых систем массового обслуживания.
Литература
1. Бочаров П.П., Печенкин А.В. Теория вероятностей и математическая статистика. М.: Гардарика,1998.
2. Калинина В.Н., Панкин В.Н. Математическая статистика. М.: Высшая школа, 1998.
3. Методические указания для студентов технических специальностей всех форм обучения. СПб, 1998.
4. Кремер Н.Ш. Теория вероятностей и математическая статистика: Учебник для вузов. / 2-е изд., перераб. и доп. М.: ЮНИТИ-ДАНА, 2004.
5. Колемаев В.А., Калинина В.Н. Теория вероятностей и математическая статистика. М.: ИНФРА-М, 1997.
6. Потемкин В.Г. Система МАТЬАБ, М.: ДИАЛОГ-МИФИ, 1997.
7. Так же использованы статьи и материалы среды Интернет.