- •Учебное пособие
- •Учебное пособие
- •1. Общие вопросы моделирования систем
- •1.1. Предмет теории моделирования. Объект и модель
- •1.2 Классификация моделей
- •1.3. Основные этапы моделирования
- •2. Имитационное моделирование вычислительных систем
- •2.1. Разработка имитационной модели
- •2.1.1. Упрощение модели и выбор уровней детализации
- •2.2. Обобщенные алгоритмы имитационного моделирования
- •2.3 Проведение имитационного эксперимента
- •2.3.3 Генерирование случайных воздействий
- •2.4. Имитация функционирования системы
- •3. Моделирование систем массового обслуживания
- •3.1.Марковские системы и их математические модели
- •Приведем еще один пример. Пусть некоторая техническая система состоит
- •3.2.Методы исследования смо с простейшими потоками заявок
- •3.3.Методы исследования смо с произвольными потоками заявок
- •Контрольные вопросы к разделу
- •424000 Йошкар-Ола, пл. Ленина, 3.
- •424006 Йошкар-Ола, ул. Панфилова, 17.
3. Моделирование систем массового обслуживания
3.1.Марковские системы и их математические модели
Если некоторая физическая система с течением времени в случайные моменты времени t1,t2,...,tn переходит соответственно в состояния Z1,Z2,...,Zn, то считается, что в системе протекает случайный процесс. Такой случайный процесс называется марковским, если вероятностные характеристики процесса в будущем зависят только от его состояния Z0 в данный момент времени t0 и не зависят от того, когда и каким образом система пришла в состояние Z0. Марковским процесс назван по- имени выдающегося русского математика академика А.А.Маркова, специалиста по теории вероятностей и математическому анализу.
В теории массового обслуживания широко используются марковские процессы с дискретными состояниями и непрерывным временем. Процесс называется процессом с дискретными состояниями, если все возможные состояния Z1,Z2,...,Zn можно перечислить заранее и переход из одного состояния в другое происходит скачкообразно, практически мгновенно. Если моменты переходов из состояния в состояние заранее неизвестны и могут осуществляться случайно в любой момент времени, то такие процессы называются процессами с непрерывным временем существования.
Рассмотрим примеры марковских процессов в СМО.
В вычислительном зале имеется две ЭВМ, обслуживающие потоки заявок (пользователей). В дискретные моменты времени t0,t1,t2.. пользователи подходят к ЭВМ. Тогда СМО вычислительный зал-пользователь может находиться в случайные моменты времени t0,t1,t2... в следующих четырех состояниях: Z0 - обе ЭВМ свободны от пользователей Z1 - первая ЭВМ обслуживает заявку, а вторая - свободна; Z2 - вторая ЭВМ обслуживает, а первая - свободна; Z3 - обе ЭВМ заняты обслуживанием пользователей. Здесь состояния системы заранее известны, их можно перечислить. Переходы из состояния в состояние случайны и могут осуществляться в любой момент времени. Вероятностные характеристики процесса обслуживания пользователей в будущем зависят лишь от состояния системы в данный момент времени (от того, в каком из состояний Z0,Z1,Z2,Z3 она находится в t0) и не зависят от прошлого, т.е. от того, когда и как система перешла в данное состояние. Такой процесс можно считать марковским с дискретными состояниями и непрерывным временем существования.
Приведем еще один пример. Пусть некоторая техническая система состоит
из n устройств (станки, подающие механизмы, элементы системы энергоснабжения и т.п.) и пусть эта система не может выполнять функции, если неисправно любое одно устройство. Тогда такая система имеет n+1 состояние: Z0 - все устройства исправны; Zi, i=1, n,-i-ое устройство отказало и находится в ремонте, а все остальные устройства исправны.
Совокупность технических устройств и бригады ремонтников можно рассматривать как систему массового обслуживания. Отказы технических устройств здесь образуют поток заявок на обслуживание, а бригады ремонтников являются обслуживающим устройством.
Процесс функционирования можно считать марковским с дискретными состояниями и непрерывным временем. Действительно здесь состояния Z0,Z1,Z2,...,Zn можно заранее перечислить, а переход системы из состояния в состояние происходит мгновенно в случайные моменты времени. Кроме того, вероятностные характеристики обслуживания отказавших устройств можно считать зависящими лишь от состояния системы в момент t0 и независящими от предыстории ее функционирования.
Функционирование СМО удобно описывать с помощью ориентированного графа, вершины которого соответствуют состояниям системы Z1,Z2,...,Zn, а дуги – переходам из состояние в состояние.
В случае обслуживания пользователей двумя ЭВМ граф состояний будет иметь вид, показанный на рис.3.1. Из состояния Z0, когда заявка на обслуживание отсутствует и обе ЭВМ простаивают, возможны два перехода в случайные моменты времени - переход в состояние Z1, когда первая ЭВМ занята обслуживанием пользователя, а вторая - свободна, и в состояние Z2, когда вторая ЭВМ занята, а первая - свободна. Из состояний Z1 и Z2 возможны два переход: в состояние Z0, когда пользователь обслужен, а новая заявка на обслуживание не поступила, и в
состояние Z3, когда заявка ЭВМ еще не обслужена, а появилась новая заявка В состоянии Z3 образована очередь на обслуживание пользователей. Из состояния Z3 возможны переходы либо
Рис.3.1. в состояние Z1, либо в состояние Z2, когда первая или вторая ЭВМ обслуживают лишь одного из пользователей, и очереди нет. Конечно, из состояния Z3 возможны и другие переходы, если пользователи с высокой интенсивностью приходят в вычислительный центр, и длина очереди растет. Однако, в данном примере не рассматриваются закономерности образования очереди.
На графе рис.3.1 отсутствует переход из состояния Z0 в состояние Z3. Если поток заявок является ординарным, то вероятность поступления одновременно более одной заявки теоретически равна 0, а это означает, что переход из Z0 в Z3 невозможен. Часто на графе состояний указываются интенсивности переходов. В нашем случае на рисунке обозначены: λ - интенсивность поступления заявок, μ1 - интенсивность обслуживания пользователя первой ЭВМ, μ2 - интенсивность обслуживания пользователя второй ЭВМ.
На рис.3.2. приведен граф состояний СМО, состоящий из n технических устройств и ремонтной бригады. В этом примере состояние Z0 - все устройства исправны. Из этого состояния система в случайные моменты времени может перейти с интенсивностью λ1,λ2,...,λn соответственно в состояние Z1, Z2,…
Рис.3.2 Zn. В состоянии Zi, i=1,n i-ое устройство отказало и ремонтируется, остальные устройства исправны, но вся система без i-го устройства не работает. Из i-го отказового состояния Zi система с интенсивностью восстановления μi, i=1,n может вернуться в работоспособное состояние Z0, когда все устройства исправны. В этой модели функционирования СМО предполагается, что в течение времени ремонта отказавшего устройства другие устройства не работают, и отказать не могут, то есть поток отказов ординарный.
Таким образом, для описания мартовской системы необходимо:
-
определить понятие состояния системы; состояния могут быть
связаны с числом заявок, находящихся в системе с моментами
обработки заявок и т.п.;
-
определить количество все возможных состояний
-
задать начальное состояние Z0;
-
построить граф состояний;
-
з адать интенсивности переходов между всем состояниями: где Pij – вероятность перехода из состояния Zi в Zj.
Исчерпывающей характеристикой систем массового обслуживания описанного типа являются вероятности всевозможных состояний, системы для определения которых составляются система линейных дифференциальных уравнений с постоянными коэффициентами.
Способы составления уравнений рассматриваются на примере.
П усть имеется система массового обслуживания, множество состояний которой и переходы можно представить в виде графа на рис.3.3.
Рис.3.3.
Вероятность нахождения системы в состоянии Zi обозначается Pi(t); интенсивности переходов между состояниями Zi и Zj – λij(i,j = 1,n).
Определим вероятность нахождения системы в состоянии Z2 - P2(t); для чего рассмотрим промежуток времени от t до t + ∆t и вычислим вероятность того, что в конце этого промежутка система будет находится в состоянии Z2. Это может произойти в следующих случаях:
-
в момент времени t система находилась в состоянии Z2 и за время ∆t не вышла из этого состояния;
-
в момент времени t система находилась в состояниях Z1 и Z5, но за время ∆t перешла в состояние Z2.
В ычислим вероятности событий a) и b). Вероятность P2(t + ∆t), будет равна произведению вероятностей пребывания системы в момент времени t в состоянии Z0 и вероятности того, что за ∆t она не выйдет из этого состояния:
где
В ероятность события b) равна сумме вероятностей перехода системы из состояний Z1 Z5:
С уммарная вероятность P2(t + ∆t), будет равна:
О бразовав в левой части (3.1) конечную разность и устремив ∆t к нулю, получим :
А налогично можно получить производные вероятностей и остальных состояний:
Т аким образом получена система дифференциальных уравнений, решив которую, можно определить вероятности всевозможных состояний системы. Обобщая уравнения системы, можно записать:
Уравнения можно написать, не прибегая к выводу, непосредственно по графу состояний, если использовать следующее правило: в левой части каждого из уравнений стоит производная вероятности i-го состояния; в правой части - сумма произведений вероятностей состояний, из которых выходят стрелки в данное состояние, на интенсивности соответствующих переходов, минус произведение суммарной интенсивности перехода из i-го состояния на вероятность этого состояния.
П ользуясь этим правилом, можно записать систему уравнений СМО, граф состояний которой изображен на рис.3.1. Обозначим P0(t), P1(t), P2(t), P3(t) - вероятности пребывания системы в момент времени t соответственно в состояниях Z0, Z1, Z2, Z3. Тогда система уравнений будет иметь вид:
Решение дифференциальных уравнений возможно, если известны начальные условия функционирования системы. Часто можно рассматривать работу системы с момента времени, когда она свободна от заявок. Тогда за начальные условия принимаются: P0(0) = 1, P1(0) = P2(0) = ... = Pn(0) = 0.
Уравнения вида (3.1), (3.2) и (3.3) называют уравнениями А.Н.Колмогорова, по имени выдающегося советского математика.
Важным свойством уравнение Колмогорова является следующее: сумма правых частей уравнения равна нулю. Это свойство можно использовать при проверке правильности написания уравнений.
Можно доказать, что для системы в стационарном состоянии вероятности состояний имеют предельные значения, не зависящие от начального состояния системы, то есть
limPi(t) = Pi , i=1,n, (3.4)
t→∞
где Pi – финальные вероятности.
Э то означает, что при определении финальных вероятностей следует все производные в левой части уравнений Колмогорова принять равным нулю. Тогда система дифференциальных уравнений превращается в систему линейных алгебраических уравнений.
Для случайной системы, граф состояний которой приведен на рис.3.1., система уравнений имеет вид:
О днородные уравнения (3.5) и (3.6) можно решить, используя уравнение, называемое нормировочным (сумма вероятностей всех состояний равна единице): для случая уравнений (3.6)
P0+P1+P2+P3 = 1
Теперь можно одно любое уравнение системы исключить и заменить его нормировочным. Система будет иметь единственное решение. Смысл финальных вероятностей становится понятным, если их интерпретировать как средние относительные времена пребывания системы в соответствующих состояниях. Например, если в первом примере Р0=0.2; P1=0.25; P2=0.25; P3=0.3, то это значит, что исследуемая СМО находится в состоянии Z0 в среднем две десятых времени, в состояниях Z1 и Z2 - по одной четверти времени и в состоянии Z3 - три десятых суммарного времени.
Зная финальные вероятности всех состояний СМО, можно найти ряд других важных показателей ее эффективности.
Часто в системах массового обслуживания интересуются не вероятностью пребывания в момент времени t в состоянии Zi, а вероятностью того, что в течение времени t система попадает (или не попадает) в это состояние. Тогда для определения Pi(t) следует считать, что процесс обслуживания закончен, если система попала в состояние Zi, т.е. считать, что переходы из i-го состояния в другие состояния невозможны ("экран" для соответствующих ветвей на графе состояний).
Пусть, например, нужно определить вероятность того, что техническая система, граф состояний которой изображен на рис.3.2., не откажет в течение времени ∆t, т.е. ни одно из устройств системы не попадет на обслуживание в ремонтную бригаду. Из графа видно, что в поставленной задаче необходимо определить вероятность P0(t) пребывания системы в состоянии Z0 в течение времени t.
Если же система попадет в одно из состояний Z1,Z2,...,Zn, то произойдет ее отказ. Очевидно, что для определения P0(t) необходимо в графе состояний запретить переходы в Z0 из состояний Z1,Z2,...Zn. На графе это отмечено пунктирными линиями ("экраны"). Тогда система дифференциальных уравнений примет вид:
П ри начальных условиях P0(0) = 1, Pi(0) = 0,
P0(t) = e-λt,
где λ = λ1 + λ2 + ... +λn - интенсивность отказа системы.
Схема размножения и гибели
Ф ункционирование большого числа СМО можно описать графом, приведенным на рис.3.4. Особенность этого графа состоит в том, что в нем любое Zi состояние связано ветвями лишь с соседними Zi-1 и Zi+1 состояниями, а начальное состояние Z0 и конечное Zn - только с одним соседним состоянием.
λ0,1 λ1,2 λn-1,n
μ0,1 μ2,1 μn,n-1
Рис.3.4.
На схеме обозначены: λi, i +1, i=0,n-1 - интенсивности потока заявок на обслуживание; μi, i -1, i=1,n - интенсивности потока обслуженных заявок или просто интенсивности обслуживания потока заявок. Такая модель СМО применялась при решении биологических задач, в частности, изучения закономерностей изменения численности популяций. В этих задачах λ - интенсивность размножения особей, а μ - интенсивность их гибели. Отсюда и термин “схема размножения и гибели”.
Д ля определения вероятностей состояний Z0,Z1,...,Zn составляется система уравнений, описывающих функционирование СМО:
λ01
Из первого уравнения этой системы P1 = ---- P0. Подставляя во второе уравнение μ10 μ10
вместо Р0 значение Р0= ----- P1, получим λ1,2P1 = μ2,1P2 .
λ01
Аналогично λ2,3P2 = μ3,2P3 ; ... ; λk -1,kPk-1 = μk,k –1Pk ; ... ; λn –1,nPn-1 = μn,n –1Pn
Тогда система уравнений примет вид:
И з этой системы вероятности Р1,Р2,...Рn выражаются через вероятность Р0:
λ0,1 λ1,2 λ0,1λ1,2 λ0,1λ1,2λ2,3
P1 = ---- P0; P2 = ---- P1 = -------- P0; P3 = -------------P0;
μ1,0 μ2,1 μ1,0μ2,1 μ1,0μ2,1μ3,2
........
λ0,1λ1,2 ... λn-1,n
Pn = ------------------P0. (3.8)
μ0,1μ2,1 ... μn,n-1
λ0,1 λ1,2 λn-1,n
Обозначая --- = ρ ; ---- = ρ2 ; ... ; ------ = ρn,
μ0,1 μ2,1 μn,n-1
где ρi передача i-й ветви или приведенная интенсивность потока заявок. Теперь для определения вероятности Р0 в системе воспользуемся нормировочным условием Р0+Р1+...+Рn=1.
Подставляя в это уравнение значения Р1,Р2,...,Рn из (3.8), окончательно получим
P0 = (1 + ρ1 + ρ1ρ2 + ... + ρ1ρ2...ρn)-1 (3.9)
Подставляя Р0 в каждое из уравнений системы, получим формулы для всех состояний системы. Они имеют вид:
ρ1ρ2...ρkP0; k = 1,n.
Ф о р м у л ы Л и т т л а. Литтл получил зависимости между временем пребывания заявки в системе или в очереди и средним их числом в системе или очереди. Приводим эти замечательные формулы без доказательства
- среднее время пребывания заявки соответственно в системе и в очереди;
Zсмо, lоч - среднее число заявок соответственно в СМО и в очереди; λ - интенсивность потока заявок.
Формулы (3.10) справедливы для любой СМО без потерь заявок при любом распределении времени обслуживания и любой дисциплине обслуживания.
Примечание
Терминология и обозначения
В теории массового обслуживания используются специальные термины и символы для обозначения СМО. СМО обозначается тремя символами: первый указывает тип входящего потока; второй указывает тип потока обслуживания; третий показывает число каналов СМО.
Для обозначения потоков заявок приняты следующие сокращения:
М – простейший (марховский) поток с экспоненциальной функцией распределения времени между отдельными заявками, а также простейший поток обслуживания;
D – детерминированный входящий поток и детерминированный поток обслуживания;
Е – эрланговские потоки обслуживания и входящий;
G – произвольные потоки заявок в системе;
GI – рекуррентные потоки заявок в системе;
Число каналов обозначается цифрой, например: М/М/1 – одноканальная СМО с простейшими потоками.