Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Имитационное моделирование системы массового обслуживания с одним устройством обслуживания
Цель работы: изучить основные принципы имитационного моделирования на примере моделирования простейшей системы массового обслуживания с одним устройством обслуживания.. Краткие теоретические сведения Дискретно-событийное моделирование используется для построения модели, отражающей развитие системы во времени, когда состояния переменных меняются мгновенно в конкретные моменты времени. В такие моменты времени происходят события, при этом событие определяется как мгновенное возникновение, которое может изменить состояние системы. Теоретически дискретно-событийное моделирование можно осуществлять с помощью вычислений вручную. Однако, на практике количество данных, которые должны сохраняться и обрабатываться при моделировании большинства реальных систем, диктует необходимость применения вычислительных машин. Пример 1. Рассмотрим систему с одним устройством обслуживания, например парикмахерскую или справочное бюро в аэропорту с одним оператором. Нам необходимо приблизительно подсчитать ожидаемую среднюю задержку требований в очереди. При этом задержка требования в очереди равна времени, прошедшему с момента его появления в системе до начала его обслуживания. Для того чтобы рассчитать среднюю задержку в дискретно-событийной имитационной модели, определяются такие переменные состояния, как состояние устройства обслуживания (занято или свободно), число требований в очереди (если таковые имеются) и время поступления каждого требования, ожидающего своей очереди. При поступлении требования должно быть определено состояние устройства обслуживания: может ли требование быть обслужено немедленно или его необходимо поместить в конец очереди. После завершения обслуживания требования, исходя из числа требований в очереди, определяется, будет устройство обслуживания свободно или же начнет обслуживание первого требования в очереди. Чтобы вычислить задержку требования в очереди, необходимо установить время его поступления, так как задержка равна времени начала обслуживания требования (которое будет известно) минус время его поступления. В этой системе есть два типа событий: поступление требования и завершение обслуживания требования, приводящее к его уходу. Динамическая природа дискретно-событийных имитационных моделей требует, чтобы мы следили за текущим значением имитационного времени по мере функционирования имитационной модели. Нам необходим также механизм для продвижения имитационного времени от одного значения к другому. В имитационной модели переменная, обеспечивающая текущее значение модельного времени, называется часами модельного времени. Существует два основных подхода к продвижению модельного времени: продвижение времени от события к событию и продвижение времени с постоянным шагом. Первый подход используется всеми основными имитационными программами и большинством разработчиков, создающих свои модели на универсальных языках. Мы будем также использовать подход, при котором происходит продвижение времени от события к событию. При использовании продвижения времени от события к событию часы модельного времени в исходном состоянии устанавливаются в 0 и определяется время возникновения будущих событий. После этого часы модельного времени переходят на время возникновения ближайшего события, и в этот момент обновляются состояние системы с учетом произошедшего события, а также сведения о времени возникновения будущих событий. Затем часы модельного времени продвигаются ко времени возникновения следующего (нового) ближайшего события, обновляется состояние системы и определяется время будущих событий, и т. д. Процесс продвижения модельного времени от времени возникновения одного события ко времени возникновения другого продолжается до тех пор, пока не будет выполнено какое-либо условие останова, указанное заранее. Поскольку в дискретно-событийной имитационной модели все изменения происходят только во время возникновения событий, периоды бездействия системы просто пропускаются, и часы переводятся со времени возникновения одного события на время возникновения другого. (При продвижении времени с постоянным шагом такие периоды бездействия не пропускаются, что приводит к большим затратам компьютерного времени.) Следует отметить, что длительность интервала продвижения модельного времени от одного события к другому может быть различной. Рассмотрим систему массового обслуживания с одним устройством (см. рис.). В этой системе интервалы времени между поступлением требований А1, А2, ... являются независимыми и одинаково распределенными случайными величинами. Когда требование поступает, а устройство свободно, обслуживание начинается немедленно. Время обслуживания S1, S2, ... следующих требований представлено независимыми одинаково распределенными случайными величинами, на которые не влияют интервалы времени обслуживания. Если при поступлении требования устройство занято, требование становится в очередь. По завершении обслуживания требования устройство выбирает требование из очереди (если такая имеется) по принципу FIFO (First In – First Out - «первым пришел - первым обслужен»). Моделирование начинается с состояния «пустая и незанятая», то есть, когда в системе нет требований, и устройство обслуживания свободно. С момента времени, равного 0, мы начинаем ожидать поступление первого требования. Скорее всего, это произойдет по истечении первого интервала времени между поступлениями А1 а не в момент времени, равный 0 (это было бы возможное, но особое предположение моделирования). Мы будем продолжать моделирование до тех пор, пока для определенного числа требований n не истечет время задержки в очереди, то есть моделирование прекратится, когда n-е требование будет обслужено. Следовательно, время завершения моделирования является случайной величиной, которая зависит от наблюдаемых значений случайных переменных, обозначающих время между поступлениями требований и время обслуживания. Для того чтобы определить критерии оценки работы системы, обратимся к трем параметрам их характеристики. Прежде всего, найдем ожидаемую среднюю задержку в очереди для каждого из n требований, завершивших свое ожидание во время моделирования; эту величину обозначим как d(n). Слово «ожидаемая» в определении d(n) означает, что при заданном прогоне имитационной модели (или при заданном прогоне действительной системы, которую представляет имитационная модель) средняя задержка, наблюдаемая для n-то числа требований, зависит от полученных наблюдений случайных переменных, обозначающих время между поступлениями требований и время обслуживания. При следующем прогоне имитационной модели (или на второй день — с реальной системой) требования будут прибывать в другие моменты времени, и необходимое время обслуживания также будет иным. Это приведет к получению другого среднего значения задержки для n требований. Следовательно, при прогоне имитационной модели среднее значение задержки требования в очереди также считается случайной величиной. Нам же необходимо установить ожидаемое значение случайной величины. Согласно одной интерпретации d(n) является средним огромного (фактически бесконечного) числа средних задержек в очереди n-го числа требований. После одного прогона имитационной модели, при котором зафиксированы задержки требований в очереди D1, D2,..., Dn, очевидной оценкой d(n) является формула представляющая среднее время Di n-то числа задержек, которое наблюдалось при моделировании. Другим критерием в нашей простой системе является ожидаемое среднее число требований в очереди (без учета уже находящихся на обслуживании), обозначенное как q(n), где n указывает, что среднее вычисляется за период времени, который необходим для наблюдения n-го числа задержек, определяющих правило останова. Таким образом, нам нужно определить среднее по времени число требований в очереди. С этой целью число требований в момент времени t (для любого вещественного числа t ³ 0) мы обозначим как Q(t), а время, необходимое для наблюдения n-то числа задержек в очереди, как Т(n). Тогда для любого времени t между 0 и Т(n) значение Q(t) будет неотрицательным целым числом. Далее, пусть рi - ожидаемая часть (имеющая значение от 0 до 1) времени, когда Q(t) равно i, тогда приемлемым определением q(n) будет Таким образом, q(t) является взвешенным средним возможных значений i для очереди длиной Q(t), при этом весовые коэффициенты являются ожидаемой частью времени, которое расходуется на каждую из своих возможных длин очереди. Чтобы определить q(n), заменяем значения рi их оценками и получаем где рi является частью времени, измеряемой (а не ожидаемой) в процессе моделирования, когда число требований в очереди равнялось i. Однако для вычисления q(n) удобнее переписать формулу, используя некоторые геометрические методы. Пусть Тi будет суммарным временем в течение моделирования очереди длиной i, тогда Т(n) = T0 + T1 + Т2 +... и рi = Ti/T(n). В результате приведенное выше уравнение (1.1) мы можем переписать как На рис. 1 показано возможное течение времени или реализация Q(t) в системе при условии, что n = 6 (на данном этапе не следует учитывать штриховку прямоугольников). Требования прибывают в моменты времени, равные 0,4; 1,6; 2,1; 3,8; 4,0; 5,6; 5,8 и 7,2. Уход требований (завершение обслуживания) происходит в моменты времени, равные 2,4; 3,1; 3,3; 4,9 и 8,6. В момент времени, когда T(6)=8,6, моделирование завершается. Обращаясь к рис. 1, имейте в виду, что Q(t) не учитывает требование, находящееся на обслуживании (если таковое есть), и в период времени между 0,4 и 1,6 очередь будет отсутствовать (Q(t)= 0), хотя при этом одно требование находится на обслуживании. Чтобы вычислить значение q(n), вначале необходимо вычислить значения Ti, которые, прибегнув к помощи рис. 1, можно трактовать как интервалы времени (иногда отделенные друг от друга некоторым промежутком времени), в течение которых Q(t) равно 0, 1, 2 и т. д.: T0= (1,6 - 0,0) + (4,0 - 3,1) + (5,6 - 4,9) = 3,2; Т1= (2,1 - 1,6) + (3,1 - 2,4) + (4,9 - 4,0) + (5,8 - 5,6) = 2,3; Т2 = (2,4 - 2,1) + (7,2 - 5,8) = 1,7; T3=(8,6-7,2) = 1,4. (Тi = 0, когда i ³4, поскольку в данной реализации очередь никогда не достигает такой длины.) Числитель в уравнении (1.2)
Рис. 1. Q(t), время поступления и время ухода в реализации системы массового обслуживания с одним устройством обслуживания
Отсюда оценка среднего по времени числа требований в очереди при данном прогоне имитационной модели q(6)=9,9/8,6=1,15. Каждый из не равных нулю членов в левой части формулы (1.3) соответствует заштрихованной площади рис 1. 1x2,3 соответствует площади, заштрихованной диагональными линиями (в четырех прямоугольниках), 2x1,7 - площади, заштрихованной перекрестными диагональными линиями (в двух прямоугольниках), 3x1,4 – затемненной площади (один прямоугольник). Иными словами, суммирование в числителе уравнения (1.2) представляет накопленную площадь под кривой Q(t) между началом и концом моделирования. С учетом того, что площадь под кривой является интегралом, мы можем написать следующее уравнение: а оценка q(n) может быть выражена как Выражения (1.4) и (1.2) эквивалентны для q(n), однако (1.4) предпочтительнее, поскольку интеграл в нем может быть рассчитан как накопление простых площадей прямоугольников, возникающих в течение времени моделирования, что менее удобно при явном суммировании по формуле (1.2). Более того, выражение (1.4) предполагает среднее для непрерывного Q(t), так как операцию интегрирования можно только приблизительно считать непрерывным суммированием. Третий выходной критерий оценки работы системы — показатель занятости устройства. Ожидаемый коэффициент использования устройства является отношением времени, когда устройство находится в состоянии занятости, ко времени моделирования (от 0 до Т(n)) и, следовательно, является числом между 0 и 1. Обозначим его как u(n). При одной реализации моделирования оценкой u(n) является й(п), равная измеряемому отношению времени, когда устройство находится в состоянии занятости, ко времени моделирования. Теперь и(п) можно вычислить непосредственно при моделировании, отметив моменты времени, когда меняются состояния устройства (со свободного на занятое, и наоборот), а затем выполнив соответствующие действия с вычитанием и делением. Однако такую величину удобнее рассматривать как среднее для непрерывного времени, подобное средней длине очереди, определив функцию занятости как Таким образом, коэффициент й(п) можно выразить как часть времени, когда B(t) = 1. На рис. 2 изображен график функции B(t) для реализации процесса моделирования, использованного на рис. 1. В этом случае получаем Результат указывает на то, что в ходе моделирования 90 % времени устройство занято. Но числитель в формуле (1.5) может также рассматриваться как площадь под функцией B(t), так как высота B(t) всегда равна либо 0, либо 1. Следовательно, и мы снова видим, что й(п) является для непрерывной функции B(t) средним, соответствующим нашему понятию занятости. Как и в случае с q(n), коэффициент и(n) удобнее выражать через интеграл уравнения (1.6), поскольку в ходе моделирования интеграл функции B(t) легче вычислять путем сложения площадей прямоугольников. Для многих случаев моделирования, включающих разные устройства обслуживания, статистика коэффициента использования дает достаточно информации для решения проблем нехватки ресурсов (коэффициент использования, равный 100 %, связан с большими перегрузками показателей продвижения очереди) или их избытка (низкая занятость). Это особенно касается случаев, когда устройствами обслуживания являются такие дорогие приборы, как роботы производственных систем или большие компьютеры (мэйнфреймы), задействованные в операциях по обработке данных. Рис. 2. B(t), время поступления и время ухода в реализации системы массового обслуживания с одним устройством обслуживания (та же реализация, что на рис. 1)
Итак, три критерия оценки работы системы включают: среднюю задержку в очереди d(n), среднее по времени число требований в очереди q(п); часть времени, когда устройство обслуживания находится в состоянии занятости u(n). Средняя задержка требования в очереди является статистикой дискретного времени, поскольку она определяется относительно ряда случайных переменных {Di}, которые имеют индекс дискретного времени i=1, 2, .... Среднее по времени число требований в очереди и часть времени, когда устройство обслуживания находится в состоянии занятости, - это примеры статистики непрерывного времени, поскольку они определяются относительно совокупности случайных переменных {Q(t)} и {B(t)} соответственно, каждая из которых индексируется по параметру непрерывного времени tÎ[0, ¥). (Символ Î означает «содержащийся». Таким образом, в этом случае t может быть любым не отрицательным вещественным числом.) Как статистика дискретного времени, так и статистика непрерывного времени часто используются в моделировании, при этом они позволяют получить не только средние показатели. Например, нам могут понадобиться значения либо максимальной наблюдаемой задержки в очереди (статистика дискретного времени), либо части времени в ходе моделирования, когда в очереди насчитывалось, как минимум, пять требований (статистика непрерывного времени).
Дата добавления: 2014-12-09; просмотров: 480; Нарушение авторских прав Мы поможем в написании ваших работ! |