Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Моделирование систем

..pdf
Скачиваний:
9
Добавлен:
19.11.2023
Размер:
38.5 Mб
Скачать

Моментами смены со­ стояний модели М н в це­

лом будем считать все моменты изменения состояний блоков {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.

261

Эта схема содержит следующие укрупненные модули: А — модуль задания начальных значений состояний, содержащий два подмоду­ ля (А± — для задания начальных состояний моделируемого вариан­ та и А? — для задания начальных состояний для одного прогона модели); В — модуль определения очередного момента смены со­ стояния, осуществляющий просмотр массива состояний и выбира­

ющий блок модели т„ 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 работает в момент освобождения канала любой фазы об-

262

Автономность процедур подмодуля С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-схеме (сплошные линии), можно говорить о различных управля­ ющих связях. Примером таких связей являются различные блоки­

264

ровки обслуживающих кана­

 

лов (по входу и по выходу):

 

«клапаны» изображены в ви­

 

де треугольников, а управля­

 

ющие связи — пунктирны­

 

ми линиями. Блокировка ка­

 

нала по входу означает, что

 

этот канал

отключается от

 

входящего

потока

заявок,

 

а блокировка канала по вы­

Рис. 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 (Ук)•

265

Плотность распределения первого интервала 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.

266

Так, например, при г > 1 получим

У1

J [ l/( b - a ) ] d y = X j, y i = a + ( b —a)xi,

где Xi — случайная величина, равномерно распределенная на интервале (0,1). Пример 8.4. Рассмотрим формирование на ЭВМ потока Эрланга, в котором

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

Л (0 =

А(АО*-1

, Г>0.

 

Пусть к —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)

267

Из (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-схемы по «принципу А/», т. е. алгоритма с детерминированным шагом, необходимо для

268

Рис. 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. В частности, разберем на данном примере, какое влияние оказывает на

269

Г"

 

ТЛ

особенности построения схемы

 

моделирующего

алгоритма

 

 

 

 

принцип, положенный в основу

К"

Ч ^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

Соседние файлы в папке книги