Автор работы: Пользователь скрыл имя, 03 Декабря 2012 в 19:39, лекция
В СМО подразумевается, что есть типовые пути (каналы обслуживания), через которые в процессе обработки проходят заявки. Принято говорить, что заявки обслуживаются каналами. Каналы могут быть разными по назначению, характеристикам, они могут сочетаться в разных комбинациях; заявки могут находиться в очередях и ожидать обслуживания. Часть заявок может быть обслужена каналами, а части могут отказать в этом. Важно, что заявки, с точки зрения системы, абстрактны: это то, что желает обслужиться, то есть пройти определенный путь в системе. Каналы являются также абстракцией: это то, что обслуживает заявки.
Для генерации времени прихода заявок используем формулу вычисления интервала между моментами прихода двух случайных событий (см. лекцию 28):
В этой формуле величина потока λ должна быть задана (до этого она должна быть определена экспериментально на объекте как статистическое среднее), r — случайное равномерно распределенное число от 0 до 1 из ГСЧ или таблицы, в которой случайные числа нужно брать подряд (не выбирая специально).
Задача. Сгенерируйте поток из 10 случайных событий с интенсивностью появления событий 5 шт/час.
Решение задачи. Возьмем случайные числа, равномерно распределенные в интервале от 0 до 1 (см. таблицу), и вычислим их натуральные логарифмы (см. табл. 30.2).
Таблица 30.2. | ||||||||||
|
Формула пуассоновского потока определяет расстояние между двумя случайными событиямиследующим образом: 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 канал».
Время обслуживания в канале тоже случайное и вычисляется по аналогичной формуле:
где роль интенсивности играет величина потока обслуживания μ1 или μ2, в зависимости от того, какой канал обслуживает заявку. Находим на диаграмме момент окончания обслуживания, откладывая сгенерированное время обслуживания от момента начала обслуживания, и опускаем заявку на линейку «Обслуженные».
Заявка прошла в СМО весь путь. Теперь можно, согласно принципу последовательной проводки заявок, также проимитировать путь второй заявки.
Если в некоторый момент окажется, что оба канала заняты, то следует установить заявку в очередь. На рис. 30.7 это заявка с номером 3. Заметим, что по условиям задачи в очереди в отличие от каналов заявки находятся не случайное время, а ожидают, когда освободится какой-то из каналов. После освобождения канала заявка поднимается на линейку соответствующего канала и там организуется ее обслуживание.
Если все места в очереди в момент, когда придет очередная заявка, будут заняты, то заявку следует отправить на линейку «Отказанные». На рис. 30.7 это заявка с номером 6.
Процедуру имитации обслуживания заявок продолжают некоторое время наблюдения Tн. Чем больше это время, тем точнее в дальнейшем будут результаты моделирования. Реально для простых систем выбирают Tн, равное 50—100 и более часов, хотя иногда лучше мерить эту величину количеством рассмотренных заявок.
Анализ временной диаграммы
Анализ проведем на уже рассмотренном примере.
Сначала нужно
дождаться установившегося
(Сложить все
временные интервалы, в
(Сложить все
временные интервалы, в
Разобьем интервал наблюдения, например, на десятиминутки. Получится на пяти часах Kподынтервалов (в нашем случае K = 30). В каждом подынтервале определим по временной диаграмме, сколько заявок в этот момент находится в системе. Смотреть надо на 2, 3, 4 и 5-ю линейки — какие из них заняты в данный момент. Затем сумму K слагаемых усреднить.
Далее следует оценить точность каждого из полученных результатов. То есть ответить на вопрос: насколько мы можем доверять этим значениям? Оценка точности проводится по методике, описанной в лекции 34.
Если точность не является удовлетворительной, то следует увеличить время эксперимента и тем самым улучшить статистику. Можно сделать и по-другому. Снова несколько раз запустить эксперимент на время Tн. А в последствии усреднить значения этих экспериментов. И снова проверить результаты на критерий точности. Эту процедуру следует повторять до тех пор, пока не будет достигнута требуемая точность.
Далее следует составить таблицу результатов и оценить значения каждого из них с точки зрения клиента и владельца СМО (см. табл. 30.3).. В конце, учитывая сказанное в каждом пункте, следует сделать общий вывод. Таблица должна иметь примерно такой вид, какой показан в табл. 30.3.
Таблица 30.3. | |||||||||||||||||||||||||
|
Синтез СМО
Мы проделали анализ существующей системы. Это дало возможность увидеть ее недостатки и определить направления улучшения ее качества. Но остаются непонятными ответы на конкретные вопросы, что именно надо сделать — увеличивать количество каналов или увеличивать их пропускную способность, или увеличивать количество мест в очереди, и, если увеличивать, то насколько? Есть и такие вопросы, что лучше — создать 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 = C1 · R. Хотя встречаются случаи, когда, например, в иерархических системах, они растут экспоненциально, иногда — обратно экспоненциально (скидки за опт) и так далее.
| |
Рис. 30.10. Зависимость показателя Р |
Информация о работе Моделирование систем массового обслуживания