Моментами смены со стояний модели М н в це
лом будем считать все моменты изменения состояний блоков {mt},
т. е. {*/Я}е{**}, z= 1 л. Пример для модели с тре мя блоками m t , т2 и тъ показан на рис. 8.1.
При этом моменты tP
« И |
1 |
|
|
|
1 |
|
|
|
_ 1 ! |
|
_ |
. |
|
1 |
|
1 |
f l |
| |
i |
1 |
1 |
i |
i |
i i |
|
|
1 |
i |
i *i ii |
| |
! |
1 |
1 |
1 |
I I I |
_______L I |
___ L _ - J ____ L |
II |
t m tw tw t(3) t(w tu>) t(6)
i t { « i i t f i
J |
+U)\ |
i |
| |
t |
W j |
t |
|
|
|
l |
|
3 |
t |
1 |
N |
H |
I |
1 |
l |
M |
i H |
|
i |
|
i |
i i |
11 |
i |
i |
|
__ 1____ 1__1___LL_J____ 1____
Блок т ,
Бл о к т 2
Бл о к /77j
Модель Мм
Рис. 8.1. Смена состояний модели для случая трех блоков
и /* являются моментами системного времени, т. е. времени, в ко тором функционирует моделируемая система S , но не моментами машинного времени. Мгновенные изменения состояний модели во время дискретного события (особого состояния) возможны только при моделировании в системном времени. ___
При моделировании для каждого блока модели т „ г=1, л, необходимо фиксировать момент очередного перехода блока в но вое состояние tft и номер этого состояния £„ образуя при этом массив состояний. Этот массив отражает динамику функционирова ния модели системы, так как в нем фиксируются все изменения
впроцессе функционирования моделируемой системы 5 по времени.
Вначале моделирования в массив состояний должны быть занесены исходные состояния, заданные начальными условиями.
При машинной реализации модели Ми ее блоки, имеющие ана логичные функции, могут быть представлены в виде отдельных
программных модулей. Ра |
бота каждого такого модуля |
имитирует работу всех одно |
типных |
блоков. |
В общем |
случае при числе блоков мо |
дели л можно получить на |
бор |
машинных |
модулей |
/<л. Таким образом, каждо |
му блоку или элементу мо |
дели |
будет соответствовать |
некоторый модуль или «ста |
ндартная |
подпрограмма», |
число которых не будет пре |
восходить числа блоков мо |
дели. |
|
|
алго |
Моделирующий |
ритм. Типовая укрупненная |
схема моделирующего алго |
ритма, |
построенного по |
1 |
J |
блочному принципу, для си- |
Рис. 8.2. Типовая укрупненная схема моде- |
стем С дискретными событи- |
лирующего алгоритма |
|
ями приведена на рис. 8.2. |
Эта схема содержит следующие укрупненные модули: А — модуль задания начальных значений состояний, содержащий два подмоду ля (А± — для задания начальных состояний моделируемого вариан та и А? — для задания начальных состояний для одного прогона модели); В — модуль определения очередного момента смены со стояния, осуществляющий просмотр массива состояний и выбира
ющий блок модели т„ i= 1, п, с минимальным временем смены
состояния min tP\ С — модуль логического переключения, содер жащий три подмодуля (С1 — для логического перехода по номеру блока модели i или по времени Г, т. е. для решения вопроса о завершении прогона; С2 — для фиксации информации о состояни ях, меняющихся при просмотре блока, а также для определения момента следующей смены состояния блока /и* и номера следующе го особого состояния s0; С3 — для завершения прогона в случае, когда фиксации и предварительной обработки результатов моделирования); D — модуль управления и обработки, содержа щий два подмодуля (D1 — для проверки окончания исследования варианта модели Мыпо заданному числу прогонов или по точности результатов моделирования; D2 — для окончательной обработки информации, полученной на модели М м, и выдачи результатов моделирования).
Данная укрупненная схема моделирующего алгоритма соответ ствует статике моделирования. При необходимости организации моделирования последовательностей вариантов модели М м и про ведении оптимизации моделируемой системы S, например, на этапе ее проектирования, т. е. для решения вопросов, относящихся к ди намике моделирования, следует добавить внешний цикл для варьи рования структуры, алгоритмов и параметров модели М и.
Пример 8.1. Рассмотрим модульный принцип реализации модели S , формализо
ванной в виде Q-схемы. Пусть имеется |
£ Ф-фазная многоканальна |
Q-схема без |
потерь с LH-входными потоками заявок. В |
каждой фазе имеется L f , j = |
1, |
каналов |
обслуживания. Определить распределения времени ожидания заявок в каждой фазе
ивремени простоя каждого обслуживающего канала.
Вкачестве блоков модели Ми будем рассматривать: т 11 — блоки источников заявок, имитирующие L И входных потоков; т к — блоки каналов обслуживания,
имитирующие функционирование каналов; т В — блок взаимодействия, отража ющий взаимосвязь всех блоков машинной модели Мм. При этом в массиве состоя ний будем фиксировать моменты поступления заявок, освобождения каналов и окон чания моделирования, т. е. количество элементов этого массива будет равно
ьФ
£ И + £ L f + 1.
Jm1
Схема моделирующего алгоритма для данного примера приведена на рис. 8.3. Как видно из схемы, в подмодуле С2 предусмотрены три вида процедур: С'2, С2 и С'2 . Первая процедура С2 работает при поступлении заявки из любого входного потока, вторая процедура С2 работает в момент освобождения канала любой фазы об-
Автономность процедур подмодуля С2 позволяет проводить их параллельное программирование и отладку, причем описанные про цедуры могут быть стандартизованы, положены в основу разработ ки соответствующего математического обеспечения моделирования и использованы для автоматизации процесса моделирования си стем.
Бели говорить о перспективах, то блочный подход создает хоро шую основу для автоматизации имитационных экспериментов с моделями систем, которая может полностью или частично охва тывать этапы формализации процесса функционирования системы S, подготовки исходных данных для моделирования, анализа свойств машинной модели М м системы, планирования и проведения машинных экспериментов, обработки и интерпрета ции результатов моделирования системы. Такие машинные экс перименты должны носить научный, а не эмпирический характер, т. е. в результате должны предлагаться не только методы решения конкретной поставленной задачи, но и указываться границы эффек тивного использования этих методов, оцениваться их возможности. Лишь только автоматизация процесса моделирования создаст перс пективы использования моделирования в качестве инструмента по вседневной работы системного специалиста.
8.2. М О Д Е Л И РО В А Н И Е П Р О Ц Е С С О В Ф У Н К Ц И О Н И РО В А Н И Я С И С Т Е М Н А БА ЗЕ Q -C X E M
Особенности использования при моделировании систем непре рывно-стохастического подхода, реализуемого в виде Q-схем, и ос новные понятия массового обслуживания были даны в § 2.5. Рас смотрим возможности использования Q-схем для формального описания процесса функционирования некоторой системы 5. Харак терная ситуация в работе таких систем — появление заявок (требо ваний) на обслуживание и завершение обслуживания в случайные моменты времени, т. е. стохастический характер процесса их функ ционирования. В общем случае моменты поступления заявок в си стему S из внешней среды Е образуют входящий поток, а моменты окончания обслуживания образуют выходящий поток обслуженных заявок [6, 13, 39, 51, 53].
Формализация на базе Q-схем. Формализуя какую-либо реаль ную систему с помощью Q-схемы, необходимо построить структуру такой системы. В качестве элементов структуры Q-схем будем рассматривать элементы трех типов: И — источники; Н — накопи тели; К — каналы обслуживания заявок.
Пример структуры системы S, представленной в виде Q-схемы, приведен на рис. 8.4. Кроме связей, отражающих движение заявок в Q-схеме (сплошные линии), можно говорить о различных управля ющих связях. Примером таких связей являются различные блоки
ровки обслуживающих кана |
|
лов (по входу и по выходу): |
|
«клапаны» изображены в ви |
|
де треугольников, а управля |
|
ющие связи — пунктирны |
|
ми линиями. Блокировка ка |
|
нала по входу означает, что |
|
этот канал |
отключается от |
|
входящего |
потока |
заявок, |
|
а блокировка канала по вы |
Рис. 8.4. С труктура систем ы , представленной |
ходу указывает, что заявка, |
в виде 0 -схем ы |
уже обслуженная |
блокиро |
|
ванным каналом, остается в этом канале до момента снятия блоки ровки (открытия «клапана»). В этом случае, если перед накопителем нет «клапана», при его переполнении будут иметь место потери заявок. Помимо выходящего потока обслуженных заявок можно говорить о потоке потерянных заявок.
Как отмечалось выше, Q-схему можно считать заданной, если определены: потоки событий (входящие потоки заявок и потоки обслуживаний для каждого Н и К); структура системы S (число
фаз Ьф, число каналов обслуживания LK, число накопителей LH
каждой из Ьф фаз обслуживания заявок и связи И, Н и К); алго ритмы функционирования системы (дисциплины ожидания заявок в Н и выбора на обслуживание К, правила ухода заявок из
Ни К).
Рассм отри м возм ож н ости ф орм ализации воздействий внеш ней среды Е, пред ставляем ы х в Q -схемах в виде источников (И ). Ф орм ирование однородны х потоков собы тий, задан н ы х в общ ем виде м ногом ерны м интегральны м законом или плот ностью расп ределени я вероятн остей , т.е.
Е (У и У2у •••> У к )= Р {* 1 < У и х2 <Уг> •••, хк<Ук}>
fb > i, Угу -> У к ) ^ { У и Угу •••> У кЖ д у ^у ^ .д ук),
сводится к р ассм отрен н ы м ран ее м ето д ам м аш инной им итации ^-м ерны х векторны х величин, требую щ их больш и х за т р а т м аш инны х ресурсов. П ри моделировании систем , ф орм али зуем ы х в виде Q-схем, часто возникаю т задачи имитации потоков заявок с н екоторы м и ограничениям и, позволяю щ им и упростить как матем атическое описание, т а к и п рограм м н ую реализацию генераторов потоков заявок.
Т ак, д л я ординарны х п отоков с ограниченны м последействием интервалы меж ду м ом ен там и поступления заяво к являю тся независим ы м и и совм естная плотность распределения м о ж ет бы ть представлена в виде произведения частны х законов рас
пределения: f ( y u у 2, ..., ук) = / j (у1) / 2 (У2)-/к(У к), где У)(у,), i= 1, к , при /> 1 являю тся условны м и ф ункциям и п лотности величин у,- при условии, что в м ом ент начала /-го и нтервала поступит заявка. О тносительно начального м ом ен та времени t0 никаких предполож ений не делается, п оэтом у ф ункция f x (y j) — безусловная.
Если п оток с ограниченны м последействием удовлетворяет условию стационар ности, т. е. вероятн ость появления к собы тий на интервале (/0, t0+ A t) зависит только от длины и н тервала Д /, то при г> 0 интервалы т,- распределены одинаково, т. е.
/г (Уг) ~ /ъ (У з)= ••• ~ fk (Ук)•
Плотность распределения первого интервала f x(yj) может быть найдена с ис пользованием соотношения Пальма
Л(у1)=Л(1-}/6'>«'), |
(8.1) |
О |
|
где А — интенсивность потока событий.
Порядок моделирования моментов появления заявок в стационарном потоке с ограниченным последействием следующий. Из последовательности случайных чисел, равномерно распределенных на интервале (0, 1), выбирается случайная величина и формируется первый интервал ух в соответствии с (8.1) любым из рассмотренных выше способов формирования случайной величины. Момент на ступления первого события f1= /0+ y1, следующие моменты появления событий определяются как
•••» I Ук* (8*2)
где ук — случайная величина с плотностью /(у).
Пример 8.2. Пусть при моделировании некоторой системы необходимо сфор мировать на ЭВМ простейший поток заявок. Распределение длин интервалов между
заявками является экспоненциальным, т. е./(у)»А е~ ^, у> 0.
Используем формулу Пальма для определения первого интервала у, т. е.
/ . W - l ( l - JО
Из этого выражения следует, чтоf x(y j)« / (у), т. е. первый интервал распределен так же, как и остальные. Этого и следовало ожидать ввиду отсутствия последействия в простейшем потоке. Формируя на ЭВМ равновероятностные случайные числа х\ на
интервале (0, 1), будем преобразовывать их в соответствии с выражением
п
J/(y)<fy=x/. Тогда длина интервала между (i—J)-M и I-M событиями у/»* —(1/А) lnxf,
о
а моменты появления заявок в потоке определяются согласно (8.2).
Пример 83. Пусть при моделировании некоторой системы требуется сформиро вать на ЭВМ поток событий, равномерно распределенных на интервале (а, Ь.) Функция плотности интервалов между событиями/(у )—1/(£—а),
Распределение первого интервала между началом отсчета и первым событием
Л (У1 ) - Я ( 1 -if(y ) d y )-X [ 1 - f фЦЬ-а)\.
О о
Интенсивность потока
Я -1 /А /[у ]-1 /| yf(y)dy*2l(a+b).
Тогда/ j (у,)= 2 [1- У11(Ъ-а)]1(а+Ъ).
Заметим, что математическое ожидание первого интервала A/JyJ отличается от математического ожидания интервалов при />1:
* |
ь |
M b i H |
ЛАУ1)<*У,Ч1/(я+А)] I {yi-y}/(b -d )]d y i. |
« |
я |
Длины интервалов между событиями будут
\f(y)dy=Xi.
Так, например, при г > 1 получим
У1
J [ l/( b - a ) ] d y = X j, y i = a + ( b —a)xi,
где Xi — случайная величина, равномерно распределенная на интервале (0,1). Пример 8.4. Рассмотрим формирование на ЭВМ потока Эрланга, в котором
между последовательными событиями закон распределения интервалов
Пусть к —2 (поток Эрланга второго порядка). Тогда распределение первого интервала находится по формуле Пальма:
/ . 0-0> (ОД (е’ ^ '+ А* е - ’* )= (Д(Х+ХУ1) 1 2 ) ' - \
P ,(y i)= l-(X y i l2 + l) e - Xy'.
Для определения y t решают трансцендентное уравнение вида
z - X y xj2.
При i> 1 интервалы у/ между последовательными событиями в потоке Эрланга второго порядка формируются с учетом того, что у* представляет собой сумму двух
случайных величин у/ и у ”, одинаково распределенных по показательному закону с интенсивностью А. Для нахождения у,- необходимо определить у/ и у" и вычислить сумму у/+уЛ
Тогда
У/'= —(1/А)1пх/, у?---- |
(1/А)1пдсГ, |
у,— (1/А)Onх /+ In хП — (1/А)In (*;*;).
Если реализация моделируемого случайного процесса оказывается достаточно
длинной, то можно положить Л (yi)=fi(yd> i> 1, т. е. считать, что все интервалы одинаково распределены. Влияние такого допущения на результаты моделирования
системы S будет незначительным.
Проведем анализ принципов формирования потока событий, описываемого
нестационарным распределением Пуассона с мгновенной плотностью потока X(t). |
«.+» |
|
- J Д(0А |
С учетом выражения / ( /0, t)=X(t0+t)e 0 |
плотность распределения длины |
первого интервала |
|
Г0+ДГ |
|
где а= J X(t)dt — математическое ожидание |
числа событий на интервале (/0, |
Г0+АО-
Ух
На основании соотношения J f x (yi)dy= x1 запишем уравнение
о
a (t0, у х)=* —lnxj. |
(8.3) |
Из (8.3) аналитически или любым приближенным способом определяется у х.
Дальнейшая методика моделирования случайной величины у\ при /> 1 аналогична формированию у\ с использованием условной функции распределеЕшя
где U-\ — момент наступления (/—1)-го события.
Уравнение для нахождения очередного значения интервала имеет вид
у д --1пх|.
Чтобы описать неординарные потоки событий, для которых lim Рт(t0, г0+Д 0 5*0 , кроме задания законов распределения моментов появления I/ необходимо определять распределение количества событий в рассматриваемый момент времени. Если количество событий, поступающих в систему S в момент времени */, не зависит от tj, то достаточно задать вероятность того, что в произвольный момент времени наступает ровно т событий, т. е. величину Pm(tQ, //).
Вопросы построения и машинной реализации программных ге нераторов, имитирующих потоки событий, были рассмотрены в гл. 4, поэтому более подробно остановимся на особенностях постро ения моделирующих алгоритмов процесса функционирования таких элементов Q-схем, как накопители (Н) и каналы (К).
Способы построения моделирующих алгоритмов Q-схем. Модели рующий алгоритм должен адекватно отражать процесс функци онирования системы 5 и в то же время не создавать трудностей при машинной реализации модели Мм. При этом моделирующий ал горитм должен отвечать следующим основным требованиям: об ладать универсальностью относительно структуры, алгоритмов фу нкционирования и параметров системы S; обеспечивать одновре менную (в один и тот же момент системного времени) и независи мую работу необходимого числа элементов системы S; укладывать ся в приемлемые затраты ресурсов ЭВМ (машинного времени и па мяти) для реализации машинного эксперимента; проводить раз биение на достаточно автономные логические части, т. е. возмож ность построения блочной структуры алгоритма; гарантировать выполнение рекуррентного правила — событие, происходящее в момент времени /*, может моделироваться только после того, как промоделированы все события, произошедшие в момент времени
tk-i< tk>
При этом необходимо иметь в виду, что появление одной заявки входящего потока в некоторый момент времени и может вызвать изменение состояния не более чем одного из элементов g -схемы,
аокончание обслуживания заявки в момент Uв некотором канале
(К)может привести в этот момент времени к последовательному
изменению состояний нескольких элементов (Н и К), т. е. будет иметь место процесс распространения смены состояний в направ лении, противоположном движению заявок в системе S.
Известно, что существует два основных п р и н ц и п а построения моделирующих алгоритмов: «принцип At» и «принцип Sz». При построении моделирующего алгоритма Q-схемы по «принципу А/», т. е. алгоритма с детерминированным шагом, необходимо для
Рис. 8.5. Классификация способов по строения моделирующих алгоритмов Q- схем
построения адекватной модели Ми определить минимальный интервал времени между сосед ними событиями Af'=min{tt/} (во входящих потоках и потоках обслуживалий) и принять, что шаг моделирования равен At'. В моделирующих алгоритмах, построенных по «принципу <5z», т. е. в алгоритмах со случайным шагом, элементы Q-схемы про сматриваются при моделирова нии только в моменты особых
состояний (в моменты появления заявок из И или изменения состо яний К). При этом длительность шага Af=var зависит как от особенностей самой системы 5, так и от воздействий внешней среды Е. Моделирующие алгоритмы со случайным шагом могут быть реализованы синхронным и асинхронным способами. При синхрон ном способе один из элементов Q-схемы (И, Н или К) выбирается в качестве ведущего и по нему «синхронизируется» весь процесс моделирования. При асинхронном способе построения моделиру ющего алгоритма ведущий (синхронизирующий) элемент не исполь зуется, а очередному шагу моделирования (просмотру элементов Q-схемы) может соответствовать любое особое состояние всего множества элементов И, Н и К. При этом просмотр элементов Q-схемы организован так, что при каждом особом состоянии либо циклически просматриваются все элементы, либо спорадически — только те, которые могут в этом случае изменить свое состояние (просмотр с прогнозированием) [4, 36, 37].
Классификация возможных способов построения моделирую щих алгоритмов Q-схем приведена на рис. 8.5.
Более подробно особенности построения и реализации перечис ленных разновидностей моделирующих алгоритмов будут рассмот рены при моделировании конкретных вариантов систем.
Особенности моделирования на базе Q-схем. Математическое обеспечение и ресурсные возможности современных ЭВМ позволя ют достаточно эффективно провести моделирование различных си стем, формализуемых в виде Q-схем, используя либо пакеты при кладных программ, созданные на базе алгоритмических языков общего назначения, либо специализированные языки имитацион ного моделирования. Но прежде чем применять эти средства авто матизации моделирования, необходимо глубже вникнуть в суть процесса построения и реализации моделирующих алгоритмов [4, 7, 17, 23, 32, 46].
Пример 8.5. Для более детального ознакомления с технологией машинной ими тации остановимся на рассмотрении Q-схемы достаточно общего вида, показанной на рис. 8.6. В частности, разберем на данном примере, какое влияние оказывает на
|
|
|
|
|
|
|
|
Г" |
|
ТЛ |
особенности построения схемы |
|
|
моделирующего |
алгоритма |
|
|
|
|
|
|
принцип, положенный в основу |
|
К" |
Ч ^zh |
его машинной реализации. |
|
j '1 " ^ )“"^ |
На рисунке |
представлена |
|
М * |
|
|
трехфазная Q-схема |
(2,ф = 3) |
|
|
j 2-я фаза |
3-я |
с блокировкой каналов по вы |
|
я фаза |
ходу в 1-й и 2-й фазах обслужи |
|
фаза |
|
ъРис. 8.6. Пример Q-схемы общего вида |
вания (пунктирные линии на |
|
рисунке). В качестве выходя |
|
|
|
|
щих потоков такой |
g -схемы |
могут быть рассмотрены поток потерянных заявок из H j и поток обслуженных заявок из Хз, \ ОД и N3 на рис. 8.6).
Для имитационной модели рассматриваемой Q-схемы можно записать следу ющие переменные и уравнения: эндогенная перем енная Р — вероятность потери
|
|
|
|
|
|
|
|
|
|
|
заявок; |
экзогенные |
переменные: |
tm — время |
появления |
очередной |
заявки |
из И; tk, у — время |
окончания обслуживания каналом К*, у очередной |
заявки, fc= 1, 2, 3;у=1, 2; вспом огательны е |
переменные: zj и z*,y— состояния |
Н/ |
и |
К*, у; /=1, |
2; £=1, |
2, |
3; у'=1, |
2; |
парам етры : U — емкость /-го |
Нй |
I * — число |
каналов |
в |
к-й |
фазе; |
L f= 2, 2-2=2, |
2* =1; |
перем енны е |
состояния: Nx — число потерянных заявок в H j, N3 — число обслуженных заявок, т. е. вышедших из 3-й фазы; уравнение модели: Р —N1/(Ni + N 3)= N X/N.
При имитации процесса функционирования Q-схемы на ЭВМ требуется организовать массив состояний. В этом массиве должны быть выделены: подмассив К для запоминания текущих значений Zk,у соответствующих каналов К*, у и времени окончания обслужива
ния очередной заявки tk,j,j= 1, Z*K, подмассив Н для записи текуще го значения z, соответствующих накопителей Н/, /= 1, 2; подмассив И, в который записывается время поступления очередной заявки tmиз источника (И).
Процедура моделирования процесса обслуживания каждым эле ментарным каналом К*, у сводится к следующему. Путем обращения к генератору случайных чисел с законом распределения, соответст вующим обслуживанию данных К*, у, получается длительность вре мени обслуживания и вычисляется время окончания обслуживания tk, у, а затем фиксируется состояние z*,y= 1; при освобождении
Zjt,y=0; в случае блокировки К*, у записывается z*.y=2. При поступ лении заявки в Hf к его содержимому добавляется единица, т. е.
Zi=Zi+l, а при уходе заявки из Н, на обслуживание вычитается единица, т. е. z/=Zf—1, /= 1, 2.
Детерминированный моделирующий алгоритм. Укрупненная схе ма детерминированного моделирующего алгоритма Q-схемы, т. е. алгоритма, построенного по «принципу At», представлена на рис. 8.7. Специфика наличия постоянного шага At позволяет оформить «часы» системного времени в виде автономного блока 10. Этот блок служит для отсчетов системного времени, т. е. для вычисления /„=/„_ 1+ А/. Для определения момента остановки при моделирова нии Q-схемы (по числу реализаций N или по длине интервала времени моделирования Т) проводится проверка соответствующих
270