Советов Б.Я., Яковлев С.А. Моделирование систем (3-е изд., 2001) (1186218), страница 62
Текст из файла (страница 62)
Оператор С21 проверяет, есть ли на персгвой фазе очередь свободных каналовобслуживания. Если очередь есть, то[СгГ][СП\ С$ |управление передается операторуС'2Ъ, в противном случае — оператору С'ц. Оператор С'2Ъ фиксирует момент поступления заявки в массивеочереди заявок первой фазы.
Оператор С'2А выбирает номер канала измассива очереди канала первой фазы,уменьшая ее длину на единицу, вычисляет и фиксирует длительность простоя канала, определяет длительность обслуживания и засылает новый момент освобождения каналав массив состояний. ОператорC'2i определяет новый момент поступления заявки и засылает его в соответствующую ячейку массива состояний.Оператор С21 служит для определения j'-й фазы и Аг-го канала,Рис. 8.3.
Схема моделирующею алгоритмамногофазной многоканальной Q-схемыj=2, L — Г, k=\,Lf.ОператорС22 проверяет наличие очереди заявок на выбранной у'-й фазе. При отсутствии очереди управление передается оператору С23, а при ее наличии — оператору Cj4- Оператор С2з засылает момент освобождения канала в массив очередиканалов j-й фазы, уменьшает длину очереди на единицу и фиксирует время ожиданиявыбранной заявкой начала ее обслуживания. Далее определяется длительность обслуживания этой заявки освободившимся каналом, вычисляется и засылается в массив состояний новый момент освобождения канала.
Операторы С2Ъ, С26 и С21 выполняют те же действия с заявкой, обслуживаемой на j-& фазе, что и операторы С22,С'гзи C'2i с заявкой, которая поступила в первую фазу Q-схемы.Оператор С'2\ настраивает операторы этой процедуры С22, С'2"г и Ci'i на выбранный канал обслуживания последней, L -й, фазы. Работа операторов С22,С2з и С'2\ аналогична работе операторов С22, С23 и С2^.Назначение остальных подмодулей алгоритма не отличается от рассмотренногоранее для моделирующего алгоритма, приведенного на рис. 8.2.пп•3?Построение моделирующего алгоритма по блочному принципупозволяет за счет организации программных модулей уменьшитьзатраты времени на моделирование системы S, так как машинноевремя в этом случае не тратится на просмотр повторяющихсяситуаций.
Кроме того, данная схема моделирующего алгоритмаполучается проще, чем в случае, когда модули не выделяются.263Автономность процедур подмодуля С2 позволяет проводить ихпараллельное программирование и отладку, причем описанные процедуры могут быть стандартизованы, положены в основу разработки соответствующего математического обеспечения моделированияи использованы для автоматизации процесса моделирования систем.Если говорить о перспективах, то блочный подход создает хорошую основу для автоматизации имитационных экспериментовс моделями систем, которая может полностью или частично охватывать этапы формализации процесса функционирования системыS, подготовки исходных данных для моделирования, анализасвойств машинной модели Мы системы, планированияи проведения машинных экспериментов, обработки и интерпретации результатов моделирования системы.
Такие машинные эксперименты должны носить научный, а не эмпирический характер,т. е. в результате должны предлагаться не только методы решенияконкретной поставленной задачи, но и указываться границы эффективного использования этих методов, оцениваться их возможности.Лишь только автоматизация процесса моделирования создаст перспективы использования моделирования в качестве инструмента повседневной работы системного специалиста.8.2. МОДЕЛИРОВАНИЕ ПРОЦЕССОВФУНКЦИОНИРОВАНИЯ СИСТЕМ НА БАЗЕ Q-CXEMОсобенности использования при моделировании систем непрерывно-стохастического подхода, реализуемого в виде Q-схем, и основные понятия массового обслуживания были даны в § 2.5. Рассмотрим возможности использования Q-схем для формальногоописания процесса функционирования некоторой системы S.
Характерная ситуация в работе таких систем — появление заявок (требований) на обслуживание и завершение обслуживания в случайныемоменты времени, т. е. стохастический характер процесса их функционирования. В общем случае моменты поступления заявок в систему S из внешней среды Е образуют входящий поток, а моментыокончания обслуживания образуют выходящий поток обслуженныхзаявок [6, 13, 39, 51, 53].Формализация на базе О-схем. Формализуя какую-либо реальную систему с помощью Q-схемы, необходимо построить структурутакой системы. В качестве элементов структуры Q-схем будемрассматривать элементы трех типов: И — источники; Н — накопители; К — каналы обслуживания заявок.Пример структуры системы S, представленной в виде Q-схемы,приведен на рис.
8.4. Кроме связей, отражающих движение заявокв Q-схеме (сплошные линии), можно говорить о различных управляющих связях. Примером таких связей являются различные блоки264ровки обслуживающих каналов (по входу и по выходу):«клапаны» изображены в виде треугольников, а управляющие связи — пунктирными линиями. Блокировка канала по входу означает, чтоэтот канал отключается отвходящего потока заявок,а блокировка канала по вы Рис. 8.4.
Структура системы, представленнойв виде g-схемыходу указывает, что заявка,уже обслуженная блокированным каналом, остается в этом канале до момента снятия блокировки (открытия «клапана»). В этом случае, если перед накопителемнет «клапана», при его переполнении будут иметь место потеризаявок. Помимо выходящего потока обслуженных заявок можноговорить о потоке потерянных заявок.Как отмечалось выше, Q-схему можно считать заданной, еслиопределены: потоки событий (входящие потоки заявок и потокиобслуживании для каждого Н я К); структура системы S (числофаз L*, число каналов обслуживания LK, число накопителей Ьякаждой из L* фаз обслуживания заявок и связи И, Н и К); алгоритмы функционирования системы (дисциплины ожиданиязаявок в Н и выбора на обслуживание К, правила ухода заявок изН и К)."-EhгФРассмотрим возможности формализации воздействий внешней среды Е, представляемых в Q-схемах в виде источников (И).
Формирование однородных потоковсобытий, заданных в общем виде многомерным интегральным законом или плотностью распределения вероятностей, т.е.Р(У1,Уг, -,Ук)=РЬ1<У1,-Сз<У2, •-. Ч<Ук},/<Уи Уа. •••• Ук)~1*(Уи УгУкЖ^ду^.дук),сводится к рассмотренным ранее методам машинной имитации ^-мерных векторныхвеличин, требующих больших затрат машинных ресурсов.
При моделированиисистем, формализуемых в виде Q-схем, часто возникают задачи имитации потоковзаявок с некоторыми ограничениями, позволяющими упростить как математическоеописание, так и программную реализацию генераторов потоков заявок.Так, для ординарных потоков с ограниченным последействием интервалы междумоментами поступления заявок являются независимыми и совместная плотностьраспределения может быть представлена в виде произведения частных законов распределения:/(у,, у2, ..., yk)=fi(yi)f2(y2)-fk(yk)' где/,(и), /=1, к, при i>l являютсяусловными функциями плотности величин у, при условии, что в момент начала 1-гоинтервала поступит заявка. Относительно начального момента времени t0 никакихпредположений не делается, поэтому функция/! (у,) безусловная.Если поток с ограниченным последействием удовлетворяет условию стационарности, т. е вероятность появления к событий на интервале (t0, t0 + At) зависит толькоот длины интервала Дг, то при Г>0 интервалы т, распределены одинаково, т.
е./2(У2)=/з0з)= ~-/кШ265Плотность распределения первого интервала fx (у\) может быть найдена с использованием соотношения Пальма/itViW(i-J/GO«M.<81)огде Я — интенсивность потока событий.Порядок моделирования моментов появления заявок в стационарном потокес ограниченным последействием следующий. Из последовательности случайныхчисел, равномерно распределенных на интервале (0, 1), выбирается случайнаявеличина и формируется первый интервал у1 в соответствии с (8.1) любым израссмотренных выше способов формирования случайной величины. Момент наступления первого события ti = t0+ylt следующие моменты появления событийопределяются какh = h +Уг'*='*-1 +Ук,(8-2)где ук — случайная величина с плотностью f(y).Пример 8,2.
Пусть при моделировании некоторой системы необходимо сформировать на ЭВМ простейший поток заявок. Распределение длин интервалов междузаявками является экспоненциальным, т. е. /(у)=Ле~*у, у>0.Используем формулу Пальма для определения первого интервата у, т. е./ i ( V i W (1-JXt-hdy)~Xe-^.оИз этого выражения следует, что/ а ( y i ) = / (у), т. е.
первый интервал распределентак же, как и остальные. Этого и следовало ожидать ввиду отсутствия последействияв простейшем потоке. Формируя на ЭВМ равновероятностные случайные числа Х\ наинтервале (0, 1), будем преобразовывать их в соответствии с выражениемл\f{y)dyxi.Тогда длина интервала между (i— 1)-гл и i-м событиямиyi= — (1Д) tax,-,оа моменты появления заявок в потоке определяются согласно (8.2).Пример 83. Пусть при моделировании некоторой системы требуется сформировать на ЭВМ поток событий, равномерно распределенных на интервале (а, Ь.)Функция плотности интервалов между событиями/(у)=1/(Л—в), а^у^Ь.Распределение первого интервала между началом отсчета и первым событиемЛ (*)-Я(1 - J/М<М-* И-? */(*-*)]•ооИнтенсивность потокаХшЦМЫ-У! yf(y)dy-2Ka+b).•Тогда / , (у,)=2 [1-У1/(Ь-аЖа+Ь).Заметим, что математическое ожидание первого интервала М [yj отличается отматематического ожидания интервалов при i> 1:ъьЛ/Ь-iHЛЛ*)*!-[!/(«+«] Jаlyi-Mb-a^dy,.аДлины интервалов между событиями будут?/i(y.)«'i=*i.J/0')#-*а266аТак, например, при i> 1 получимJ[l/(b-a)]dy=xbyi=a+(b-a)x„тгде Х( — случайная величина, равномерно распределенная на интервале (0, 1).Пример 8.4.
Рассмотрим формирование на ЭВМ потока Эрланга, в котороммежду последовательными событиями закон распределения интерваловПусть к=2 (поток Эрланга второго порядка). Тогда распределение первогоинтервала находится по формуле Пальма:/.W=a/2)(e"*4^e-i'')=(l(i+W)e-1,'1^(У1)-1-(Ау,/2+1)е-^.Для определения >>, решают трансцендентное уравнение видаe-*{z+l)=x1,z=XyJ2.При «> 1 интервалы у, между последовательными событиями в потоке Эрлангавторого порядка формируются с учетом того, что >>, представляет собой сумму двухслучайных величин у', и у", одинаково распределенных по показательному законус интенсивностью X.