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

Автор работы: Пользователь скрыл имя, 03 Декабря 2012 в 19:39, лекция

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

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

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

Лекция 30.doc

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

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

В этой формуле  величина потока λ должна быть задана (до этого она должна быть определена экспериментально на объекте как статистическое среднее), r — случайное равномерно распределенное число от 0 до 1 из ГСЧ или таблицы, в которой случайные числа нужно брать подряд (не выбирая специально).

Задача. Сгенерируйте поток из 10 случайных событий с интенсивностью появления событий 5 шт/час.

Решение задачи. Возьмем случайные числа, равномерно распределенные в интервале от 0 до 1 (см. таблицу), и вычислим их натуральные логарифмы (см. табл. 30.2).

Таблица 30.2. 
Фрагмент таблицы случайных 
чисел и их логарифмов

rрр[0; 1]

ln(rрр[0; 1])

0.0333

–3.4022

0.3557

–1.0337

0.2172

–1.5269

0.5370

–0.6218



Формула пуассоновского потока определяет расстояние между двумя случайными событиямиследующим образом: t = –Ln(rрр)/λ. Тогда, учитывая, что λ = 5, имеем расстояния между двумя случайными соседними событиями: 0.68, 0.21, 0.31, 0.12 часа. То есть события наступают: первое — в момент времени t = 0, второе — в момент времени t = 0.68, третье — в момент времени t = 0.89, четвертое — в момент времени t = 1.20, пятое — в момент времени t = 1.32 и так далее. События — приход заявок отразим на первой линейке (см. рис. 30.7).


Рис. 30.7. Временная диаграмма работы СМО


Берется первая заявка и, так как в этот момент каналы свободны, устанавливается на обслуживание в первый канал. Заявка 1 переносится на линейку «1 канал».

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

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

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

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

Если все  места в очереди в момент, когда  придет очередная заявка, будут заняты, то заявку следует отправить на линейку  «Отказанные». На рис. 30.7 это заявка с номером 6.

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

Анализ  временной диаграммы

Анализ проведем на уже рассмотренном примере.

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

  1. Вероятность обслуживания: Pобс. = Nобс./N = 5/7 = 0.714. Для расчета вероятности обслуживания заявки в системе достаточно разделить число заявок, которым удалось обслужиться за время Tн(см. линейку «Обслуженные») Nобс., на число заявок N, которые хотели обслужиться за это же время. Как и раньше вероятность экспериментально определяем отношением свершившихся событий к общему числу событий, которые могли совершиться!
  2. Пропускная способность системы: A = Nобс./Tн = 7/5 = 1.4 [шт/час]. Для расчета пропускной способности системы достаточно разделить число обслуженных заявок Nобс. на время Tн, за которое произошло это обслуживание (см. линейку «Обслуженные»).
  3. Вероятность отказа: Pотк. = Nотк./N = 3/7 = 0.43. Для расчета вероятности отказа заявке в обслуживании достаточно разделить число заявок Nотк., которым отказали за время Tн (см. линейку «Отказанные»), на число заявок N, которые хотели обслужиться за это же время, то есть поступили в систему. Обратите внимание. Pотк. + Pобс. в теории должно быть равно 1. На самом деле экспериментально получилось, что Pотк. + Pобс. = 0.714 + 0.43 = 1.144. Эта неточность объясняется тем, что время наблюдения Tн мало и статистика накоплена недостаточная для получения точного ответа. Погрешность это показателя сейчас составляет 14%!
  4. Вероятность занятости одного канала: P= Tзан./Tн = 0.05/5 = 0.01, где Tзан. — время занятости только одного канала (первого или второго). Измерениям подлежат временные отрезки, на которых происходят определенные события. Например, на диаграмме ищутся такие отрезки, во время которых заняты или первый или второй канал. В данном примере есть один такой отрезок в конце диаграммы длиной 0.05 часа. Доля этого отрезка в общем времени рассмотрения (Tн = 5часов) определяется делением и составляет искомую вероятность занятости.
  5. Вероятность занятости двух каналов: P= Tзан./Tн = 4.95/5 = 0.99. На диаграмме ищутся такие отрезки, во время которых одновременно заняты и первый, и второй канал. В данном примере таких отрезков четыре, их сумма равна 4.95 часа. Доля продолжительности этих события в общем времени рассмотрения (Tн = 5 часов) определяется делением и составляет искомую вероятность занятости.
  6. Среднее количество занятых каналов: Nск = 0 · P+ 1 · P1 + 2 · P= 0.01 + 2 · 0.99 = 1.99. Чтобы подсчитать, сколько каналов занято в системе в среднем, достаточно знать долю (вероятность занятости одного канала) и умножить на вес этой доли (один канал), знать долю (вероятность занятости двух каналов) и умножить на вес этой доли (два канала) и так далее. Полученная цифра 1.99 говорит о том, что из возможных двух каналов в среднем загружено 1.99 канала. Это высокий показатель загрузки, 99.5%, система хорошо использует ресурс.
  7. Вероятность простоя хотя бы одного канала: P*= Tпростоя1/Tн = 0.05/5 = 0.01.
  8. Вероятность простоя двух каналов одновременно: P*= Tпростоя2/Tн = 0.
  9. Вероятность простоя всей системы: P*= Tпростоя сист./Tн = 0.
  10. Среднее количество заявок в очереди: Nсз = 0 · P0з + 1 · P1з + 2 · P2з = 0.34 + 2 · 0.64 = 1.62 [шт]. Чтобы определить среднее количество заявок в очереди, надо определить отдельно вероятность того, что в очереди будет одна заявка P1з, вероятность того, в очереди будет стоять две заявки P2зи т. д. и снова с соответствующими весами их сложить.
  11. Вероятность того, что в очереди будет одна заявка: P1з = T1з/Tн = 1.7/5 = 0.34 (всего на диаграмме четырех таких отрезка, в сумме дающих 1.7 часа).
  12. Вероятность того, в очереди будет стоять одновременно две заявки: P2з = T2з/Tн = 3.2/5 = 0.64(всего на диаграмме три таких отрезка, в сумме дающих 3.25 часа).
  13. Среднее время ожидания заявки в очереди:

(Сложить все  временные интервалы, в течение  которых какая-либо заявка находилась  в очереди, и разделить на  количество заявок). На временной  диаграмме таких заявок 4.

  1. Среднее время обслуживания заявки:

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

  1. Среднее время нахождения заявки в системе: Tсрсист= Tсрож. + Tсробсл..
  2. Среднее количество заявок в системе:

Разобьем интервал наблюдения, например, на десятиминутки. Получится на пяти часах Kподынтервалов (в нашем случае K = 30). В каждом подынтервале определим по временной диаграмме, сколько заявок в этот момент находится в системе. Смотреть надо на 2, 3, 4 и 5-ю линейки — какие из них заняты в данный момент. Затем сумму K слагаемых усреднить.

Далее следует  оценить точность каждого из полученных результатов. То есть ответить на вопрос: насколько мы можем доверять этим значениям? Оценка точности проводится по методике, описанной в лекции 34.

Если точность не является удовлетворительной, то следует  увеличить время эксперимента и  тем самым улучшить статистику. Можно сделать и по-другому. Снова несколько раз запустить эксперимент на время Tн. А в последствии усреднить значения этих экспериментов. И снова проверить результаты на критерий точности. Эту процедуру следует повторять до тех пор, пока не будет достигнута требуемая точность.

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

Таблица 30.3. 
Показатели СМО

Показатель

Формула

Значение

Интересы  владельца СМО

Интересы  клиента СМО

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

Pобс. = Nобс./N

0.714

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

Вероятность обслуживания мала, каждый третий клиент хочет, но не может обслужиться. Это «минус».  
 
Рекомендация: увеличить вероятность обслуживания.

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

Nсз = 0 · P0з + 1 · P1з + 2 · P

1.62

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

Очередь практически  все время вся забита. Клиенту  приходится стоять в очереди, прежде чем он попадет на обслуживание. Клиент может не попасть даже в  очередь. Это «минус».  
 
Рекомендация: увеличить пропускную способность, увеличить число мест в очереди.

Общий итог:

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

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



Синтез  СМО

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

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

Например, для 12 показателей нашего примера можно  получить 12 зависимостей от одного параметра: зависимость вероятности отказов Pотк. от количества мест в очереди (КМО), зависимость пропускной способности A от количества мест в очереди, и так далее (см. рис. 30.8).


Рис. 30.8. Примерный вид зависимостей показателей от параметров СМО


Затем так же можно снять еще 12 зависимостей показателей P от другого параметра R, зафиксировав остальные параметры. И так далее. Образуется своеобразная матрица зависимостей показателей P от параметров R, по которой можно провести дополнительный анализ о перспективах движения (улучшения показателей) в ту или иную сторону. Наклон кривых хорошо показывает чувствительность, эффект от движения по определенному показателю. В математике эту матрицу называют якобианом J, в которой роль наклона кривых играют значения производных ΔPi/ΔRj, см.рис. 30.9. (Напомним, что производная связана геометрически с углом наклона касательной к зависимости.)


Рис. 30.9. Якобиан — матрица чувствительностей показателей 
в зависимости от изменения параметров СМО


Если показателей 12, а параметров, например, 5, то матрица имеет размерность 12 x 5. Каждый элемент матрицы — кривая, зависимость i-го показателя от j-го параметра. Каждая точка кривой — среднее значение показателя на достаточно представительном отрезке Tн или усреднено по нескольким экспериментам.

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

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

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

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

Параметр R — управление, это то, что находится в распоряжении владельца СМО (например, возможность заасфальтировать площадку и тем самым увеличить количество мест в очереди, поставить дополнительные каналы, увеличить поток заявок за счет увеличения затрат на рекламу и так далее). Меняя управление, можно влиять на значение показателя P, цель, критерий (вероятность отказов, пропускную способность, среднее время обслуживания и так далее). Из рис. 30.10 видно, что если увеличивать управление R, то можно добиться всегда улучшение показателя P. Но очевидно, что любое управление связано с затратами Z. И чем больше прилагают усилия для управления, чем больше значение управляющего параметра, тем больше затраты. Обычно затраты на управление растут линейно: Z = C· R. Хотя встречаются случаи, когда, например, в иерархических системах, они растут экспоненциально, иногда — обратно экспоненциально (скидки за опт) и так далее.


Рис. 30.10. Зависимость показателя Р 
от управляемого параметра R (пример)

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