Математические методы исследования. Учебно-методический комплекс дисциплины по направлению подготовки 51.03.06 (071900) «Библиотечно-информационная де
.pdfДлиной пути в графе называется количество ребер, составляющих этот путь.
Длиной пути во взвешенном графе полагают сумму весов всех ребер, входящих в этот путь.
Путь называется замкнутым, если начальная и конечная вершины совпадают.
Замкнутый путь называется циклом, если все его вершины (кроме начальной и конечной) различны.
Источником в графе называют такую вершину, из которой достижимы все остальные вершины.
Стоком называется такая вершина графа, которая достижима из всех остальных вершин графа.
При решении многих задач с использованием графов необходимо уметь обходить все вершины и ребра графа. Обойти граф – это побывать во всех вершинах точно по одному разу. Существует два классических ал-
горитма обхода графов: обход графа в глубину и обход графа в ширину.
Работа всякого алгоритма обхода состоит в последовательном посещении вершин и исследовании ребер. Какие именно действия выполняются при посещении вершины и исследовании ребра – зависит от конкретной задачи, для решения которой производится обход. В любом случае факт посещения вершины запоминается, так что с момента посещения и до конца работы алгоритма она считается посещенной.
Вершину, которая ещё не посещена, называют новой. В результате посещения вершина становится открытой и остается такой, пока не будут исследованы все инцидентные ей ребра. После этого она превращается в закрытую.
Обход в глубину – это обход графа по следующим правилам:
1)находясь в вершине x, нужно двигаться в любую другую, ранее не посещенную вершину (если таковая найдется), одновременно запоминая ребро, по которому впервые попали в данную вершину;
2)если из вершины x мы не можем попасть в ранее не посещенную вершину или таковой нет, то мы возвращаемся в вершину z, из которой впервые попали в x, и продолжаем обход в глубину из вершины z.
При выполнении обхода графа по этим правилам стремятся проникнуть «вглубь» графа так далеко, как это возможно, затем отступают на шаг назад и снова стремятся пройти вперед и так далее.
41
Таким образом, допустим, что мы находимся в вершине графа v. Далее, выбираем произвольную, но еще не просмотренную вершину u, смежную с вершиной v. Эту новую вершину рассматриваем теперь уже как v и, начиная с нее, продолжаем обход. Если не существует ни одной новой (еще не просмотренной) вершины, смежной с v, то говорят, что вершина v просмотрена, и возвращаются в вершину, из которой мы попали в v.
Главное отличие поиска в глубину от поиска в ширину состоит в том, что в качестве активной выбирается та из открытых вершин, которая была посещена последней. При обходе в глубину, чем позднее будет посещена вершина, тем раньше она будет использована.
Поиск в глубину ищет любой возможный путь – то есть первый по-
павшийся.
Основная особенность поиска в ширину, отличающая его от другого способа обхода графов, состоит в том, что в качестве активной вершины выбирается та из открытых, которая была посещена раньше других. Именно этим обеспечивается главное свойство поиска в ширину: чем ближе вершина к старту, тем раньше она будет посещена.
Использование вершины происходит с помощью просмотра сразу всех еще не просмотренных вершин, смежных этой вершине. Таким образом, поиск ведется во всех возможных направлениях одновременно.
Сначала посещается сама вершина v, затем все вершины, смежные с v, находящиеся от нее на расстоянии 1, затем вершины, находящиеся от v на расстоянии 2, и т.д. Чем ближе вершина к стартовой вершине, тем раньше она будет посещена. Поиск в ширину ищет наиболее короткий возможный путь.
Путь в орграфе из вершины v в вершину u, где v ≠ u, называется кратчайшим, если он имеет минимальную длину среди всех путей орграфа из v и u.
Любой кратчайший путь (маршрут) является простой цепью. Рассмотрим два наиболее эффективных алгоритма нахождения крат-
чайшего пути:
Алгоритм Дейкстры (используется для нахождения оптимального маршрута между двумя вершинами);
Алгоритм Йена (для нахождения K-оптимальных маршрутов между двумя вершинами).
42
Пусть необходимо найти путь минимального веса в графе G=(V, E), заданном весовой матрицей W, у которой элемент wij равен весу ребра, соединяющего i-ю и j-ю вершины. При этом предполагается, что все элементы wij неотрицательны. Путь ищется из вершины номер u1 к вершине номер u2 . Для представления веса, равного бесконечности, используется число GM, передаваемое в алгоритм. Это число можно задавать в зависимости от конкретной задачи.
Алгоритм Дейкстры, по которому происходит поиск, заключается в следующем:
1) всем вершинам приписывается вес – вещественное число, d(i) = GM для всех вершин, кроме вершины с номером u1 , а d(u1 ) = 0;
2)всем вершинам приписывается метка m(i) = 0;
3)вершина u1 объявляется текущей: t = u1 ;
4)для всех вершин, у которых m(i) равно 0, пересчитываем вес по формуле: d(i) = min{d(i), d(t)+W [t,i]};
5)среди вершин, для которых выполнено m(i) = 0 ищем ту, для которой d(i) минимальна; если минимум не найден, т. е. вес всех не «помеченных» вершин равен бесконечности (GM), то путь не существует, покидаем алгоритм;
6)иначе найденную вершину c минимальным весом полагаем текущей и помечаем (m(t) = 1);
7)если t = u2 , то найден путь веса d(t), покидаем алгоритм;
8)переходим к шагу 4.
Алгоритм Йена предназначен для нахождения K путей минимальной длины во взвешенном графе, соединяющих вершины u1 , u2 . Ищутся пути, которые не содержат петель.
Работа алгоритма начинается с нахождения кратчайшего пути, для этого будем использовать уже описанный алгоритм Дейкстры. Второй путь ищем, перебирая кратчайшие отклонения от первого, третий – кратчайшие отклонения от второго и т. д.
Алгоритм Йена, по которому происходит поиск, заключается в следующем:
1)найти минимальный путь P1 = (v 11 , ..., v 1L[1] ). Положить k = 2. Включить P1 в результирующий список;
2)положить minW равным бесконечности. Найти отклонение мини-
мального веса от (k–1)-го кратчайшего пути Pk-1 для всех i = 1, 2, ..., L[k-1], выполняя для каждого i шаги с 3-го по 6-й;
43
3) проверить, совпадает ли подпуть, образованный первыми i вершинами пути Pk-1 , с подпутем, образованным первыми i вершинами любого
из путей j=1, 2, ..., k–1. Если да, положить W[v k-1i , v ji+1 ] равным бесконечности, в противном случае ничего не изменять (чтобы в дальнейшем ис-
ключить получение в результате одних и тех же путей);
4)используя алгоритм нахождения кратчайшего пути, найти пути от v k-1i к u2 , исключая из рассмотрения корни (v k-11 , ..., v k-1i ) (чтобы исключить петли), для этого достаточно положить равными бесконечности элементы столбцов и строк матрицы W, соответствующие вершинам, входящим в корень;
5)построить путь, объединяя корень и найденное кратчайшее ответвление; если его вес меньше minW, то запомнить его;
6)восстановить исходную матрицу весов W и возвратиться к шагу 3;
7)поместить путь минимального веса (minW), найденный в результате выполнения шагов с 3 по 6, в результирующий список. Если k=K, то алгоритм заканчивает работу, иначе увеличить k на единицу и вернуться
кшагу 2.
Тема 2.3. Элементы теории массового обслуживания
План:
1.Основные понятия и классификация систем массового обслуживания.
2.Показатели эффективности систем массового обслуживания.
3.Основные модели систем массового обслуживания.
4.Использование моделей СМО для анализа документальных и читательских потоков.
Список рекомендуемой литературы:
1.Вентцель, Е. С. Исследование операций: задачи, принципы, методология [Текст]: учеб. пособие / Е. С. Вентцель. – 5-е изд., стер. – Москва:
КНОРУС, 2010. – С. 120–142.
2.Климов, Г. П. Теория массового обслуживания [Электронный ресурс] / Г. П. Климов. – Москва: Изд-во Моск. ун-та, 2011. – С. 10–21 // Университетская библиотека online. – Электрон. дан. – Режим доступа: http:// biblioclub.ru/index.php?page=book&id=135301/
44
П.1. Основные понятия и классификация систем массового обслуживания
Во всех областях человеческой деятельности мы сталкиваемся с процессами, имеющими характер массового обслуживания. Наиболее простым и наглядным примером является бытовое обслуживание во всех его видах. Во всех случаях значение имеет степень удовлетворения потребности в обслуживании, или качество обслуживания. Но не менее важными являются вопросы организации обслуживания. Она может характеризоваться самыми различными показателями: временем ожидания начала обслуживания, длиной очереди, возможностью получения отказа (ведь не всегда наша заявка может быть удовлетворена; например, нужной нам книги нет в фондах библиотеки или она уже выдана).
Все эти факторы зависят от самых различных условий, учесть которые не всегда представляется возможным. Предположим, что на нас возложена задача улучшить качество обслуживания читателей на абонементе.
Число пришедших читателей от нас не зависит, поэтому повлиять на этот фактор мы не можем. Скорость работы библиотекаря зависит от его натренированности и может быть увеличена только до определенного предела, не превосходящего психофизиологических возможностей человека. Поэтому остается только один путь – изменить организацию обслуживания. Как это сделать? Можно сделать так, чтобы каждый библиотекарь выдавал книги только одной категории читателей (например, студентам, научным сотрудникам и т. д.) или же все библиотекари выдавали любую литературу любым читателям. В последнем случае, по крайней мере, будет гарантия, что любой читатель не будет простаивать в очереди больше других. Такие изменения в работе абонемента организовать довольно легко. Но какое влияние они окажут на качество обслуживания? В нашем примере можно просто взять и попробовать, а затем оценить полученные результаты и на этом основании выбрать лучшую организацию. Но не всегда метод «проб» может быть использован: иногда такая «проба» может быть сопряжена с огромными материальными затратами или с опасностью для здоровья людей. Но нельзя ли научиться анализировать результаты некоторых экспериментов, не производя их? Оказывается, можно. Эту возможность в значительной степени обеспечивает теория массового обслуживания.
45
Система массового обслуживания (СМО) – система, которая произ-
водит обслуживание поступающих в неё заявок.
СМО называется открытой, если интенсивность поступающего на неё потока заявок не зависит от состояния самой СМО.
Поток заявок называется стационарным, если вероятность попадания того или иного числа заявок в определённый промежуток времени зависит только от длины промежутка и не зависит от того, когда начинается этот временной промежуток.
Поток заявок называется потоком без последействия, если для любых неперекрывающихся промежутков времени число заявок, попадающих на один из них, не зависит от числа заявок, попадающих на другие.
Поток заявок называется ординарным, если вероятность попадания на элементарный участок времени двух или более заявок пренебрежимо мала по сравнению с вероятностью попадания одной заявки.
Если поток заявок стационарен, ординарен и не имеет последействия,
то он называется простейшим (или стационарным пуассоновским) потоком.
Рассмотрим классификацию систем массового обслуживания. 1. По характеру обслуживания выделяют следующие виды СМО:
1.1.Системы с ожиданием или системы с очередью. Требования,
поступившие в систему и не принятые немедленно к обслуживанию, накапливаются в очереди. Если каналы свободны, то заявка обслуживается. Если же все каналы заняты в момент поступления заявки, то очередная заявка будет обслужена после завершения обслуживания предыдущей. Такая система называется полнодоступной (с неограниченной очередью).
Существуют системы с автономным обслуживанием, когда обслуживание начинается в определенные моменты времени.
1.2.Системы с ограниченной очередью. Если заявка приходит в мо-
мент, когда все места в очереди заняты, она получает отказ и покидает систему.
1.3.Системы с отказами. Все заявки, прибывшие в момент обслуживания заявки, получают отказ.
1.4.Системы с групповым входным потоком и групповым обслу-
живанием. В таких системах заявки поступают группами в определенные моменты времени, обслуживание также происходит группами.
46
2. По количеству каналов обслуживания СМО подразделяются на следующие группы:
2.1.Одноканальные СМО.
2.2.Многоканальные СМО. Обслуживание очередной заявки может начаться до окончания обслуживания предыдущей заявки. Каждый канал действует как самостоятельное обслуживающее устройство.
3. По кругу обслуживаемых объектов различают:
3.1.Замкнутые СМО. Это система массового обслуживания, в которой обслуженные требования могут возвращаться в систему и вновь поступать на обслуживание.
3.2.Открытые СМО. Это система, в которой интенсивность поступающего в неё потока заявок не зависит от состояния самой СМО.
4. По количеству этапов обслуживания различают:
4.1.Однофазные СМО. Это однородные системы, которые выполняют одну и ту же операцию обслуживания.
4.2.Многофазные СМО. Это системы, в которых каналы обслуживания расположены последовательно и выполняют различные операции обслуживания.
Приведенная классификация СМО является условной. На практике чаще всего СМО выступают в качестве смешанных систем. Например, заявки ожидают начала обслуживания до определенного момента, после чего система начинает работать как система с отказами.
П.2. Показатели эффективности систем массового обслуживания
Для всех видов СМО используются следующие показатели эффек-
тивности:
относительная пропускная способность – это средняя доля посту-
пающих заявок, обслуживаемых системой;
абсолютная пропускная способность – это среднее число заявок,
обслуживаемых системой в единицу времени;
вероятность отказа – это вероятность того, что заявка покинет систему без обслуживания;
среднее число занятых каналов – для многоканальных СМО.
47
Показатели эффективности СМО рассчитываются по формулам из специальных справочников (таблиц). Исходными данными для таких расчетов являются результаты моделирования СМО.
В дальнейшем будем использовать следующие обозначения: z – среднее число заявок в СМО;
r – среднее число заявок в очереди;
tсист – среднее время пребывания заявки в СМО; tоч – среднее время пребывания заявки в очереди; tобсл – среднее время обслуживания заявки;
k – среднее число занятых каналов;– интенсивность потока заявок;
– интенсивность потока обслуживаний;
А– абсолютная пропускная способность; Q – относительная пропускная способность;
Ротк – вероятность отказа.
Для любой открытой СМО в предельном стационарном режиме сред-
нее время пребывания заявок в системе tсист выражается через среднее число заявок в системе z с помощью формулы:
tсист z / . (1)
Среднее время пребывания заявки в очереди tоч выражается через среднее число заявок в очереди r формулой Литтла:
tоч r / . (2)
Формулы (1) и (2) справедливы для любой открытой СМО (одноканальной, многоканальной, при любых видах потоков заявок и обслуживаний); единственное требование к потокам заявок и обслуживаний – чтобы они были стационарными.
Аналогично универсальное значение для открытых СМО имеет фор-
мула, выражающая среднее число занятых каналов k через абсолютную пропускную способность А:
k A / , (3)
где 1/ tобсл – интенсивность потока обслуживаний.
48
|
0 |
|
1 |
|
2 |
k 1 |
|
k |
n 1 |
|
|
S0 |
S1 |
S2 |
Sk |
Sn |
|||||||
|
|
|
|
|
|
||||||
|
1 |
|
|
|
3 |
k |
|
k 1 |
n |
|
|
|
|
|
2 |
|
|
|
|
|
|
|
Рисунок 1 – Схема гибели и размножения
Если граф состояний СМО представлен в виде схемы гибели и размножения, показанной на рисунке 1, то финальные вероятности при этом выражаются следующими формулами:
|
p |
0 |
|
1 |
0 |
|
0 1 |
|
... 0 1... k 1 |
0 1 |
... n 1 1 |
; |
||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
1 |
|
|
1 2 |
|
|
|
1 2 ... k |
1 |
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
2 ... n |
|
|||||||||||||||||||||
p |
0 |
p |
|
; |
p |
|
|
|
0 1 |
p |
|
; …; |
p |
k |
0 1... k 1 |
p |
|
(0 k n) ; |
||||||||||||||||
|
|
|
|
|
|
|||||||||||||||||||||||||||||
1 |
|
|
|
0 |
|
|
2 |
|
|
|
2 |
|
|
|
0 |
|
|
|
|
|
|
|
... |
k |
|
|
0 |
|
|
|||||
|
|
1 |
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
1 2 |
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
… ; |
p |
n |
|
0 1... n 1 |
p |
0 |
. |
(4) |
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
... |
n |
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Для среднего числа заявок (в очереди или в системе) применяется следующая формула:
kxk 1 xx2 . (5)
k 1
П. 3. Основные модели систем массового обслуживания
Рассмотрим формулы, выражающие финальные вероятности состояний и характеристики эффективности для некоторых часто встречающихся типов СМО.
1. Простейшая СМО с отказами (задача Эрланга).
На n-канальную СМО с отказами поступает простейший поток заявок
синтенсивностью λ; время обслуживания – показательное с параметром
1/ t обсл . Состояния СМО нумеруются по числу заявок, находящихся
в СМО (в силу отсутствия очереди оно совпадает с числом занятых каналов):
x0 – СМО свободна;
x1 – занят один канал, остальные свободны; ...
xk – занято k каналов, остальные свободны (1 k n ); …; xn – заняты все n каналов.
49
Финальные вероятности состояний выражаются формулами Эрланга:
p0 |
|
|
|
|
2 |
|
n 1 |
pk |
k |
p0 (k=1, 2, …, n), (6), |
||
1 |
|
|
|
|
... |
|
|
; |
|
|||
1! |
2! |
|
k! |
|||||||||
|
|
|
|
|
n! |
|
|
|
||||
где / .
Характеристики эффективности:
А (1 pn ); Q 1 pn ; Pотк pn ; k (1 pn ) . (7)
При больших значениях n вероятности состояний (6) удобно вычислять через табулированные функции:
P(m,a) am e a (распределение Пуассона) (8) m!
и
R(m,a) m ak e a , (9)
k 0 k!
из которых первую можно выразить через вторую:
P(m,a) R(m,a) R(m 1,a) . (10)
Пользуясь этими функциями, формулу Эрланга (5) можно переписать в виде:
pk P(k, ) / R(n, ) (k = 0, 1, ..., n). (11)
2. Простейшая одноканальная СМО с неограниченной очередью.
На одноканальную СМО поступает простейший поток заявок с интенсивностью λ. Время обслуживания – показательное с параметром1/ t обсл . Длина очереди не ограничена. Финальные вероятности существуют только при / 1 (при 1 очередь растет неограниченно). Состояния СМО нумеруются по числу заявок в СМО, находящихся в очереди или обслуживаемых:
x0 – СМО свободна;
x1 – канал занят, очереди нет;
x2 – канал занят, одна заявка стоит в очереди; …; xk – канал занят, k-1 заявок стоят в очереди; …
Финальные вероятности состояний выражаются формулами: p0 1 ; pk k (1 ) (k = 1, 2, ...), где / 1. (12)
50
