Научная статья на тему 'Алгоритмы анализа сетевой модели со стохастической структурой'

Алгоритмы анализа сетевой модели со стохастической структурой Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
364
57
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЕТЕВАЯ МОДЕЛЬ / АЛГОРИТМ / БЛОК-СХЕМА / АЛГОРИТМИЧЕСКИЙ МОДУЛЬ / ХАРАКТЕРИСТИКИ СЕТЕВОЙ МОДЕЛИ / АППРОКСИМИРУЮЩЕЕ РАСПРЕДЕЛЕНИЕ ВЕРОЯТНОСТЕЙ / ГИСТОГРАММА / СТАТИСТИЧЕСКИЙ РЯД / NETWORK MODEL / ALGORITHM / BLOCK DIAGRAM / ALGORITHMIC MODULE / CHARACTERISTICS OF THE NETWORK MODEL / APPROXIMATING PROBABILITY DISTRIBUTION / HISTOGRAM / STATISTICAL SERIES

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Баришполец Виталий Анатольевич

В статье рассматриваются алгоритмы анализа сетевой модели со стохастической структурой, правила построения которой и теоретические основы анализа изложены в [1]. Первым представлен алгоритм получения оценок вероятностных характеристик сетевой модели со стохастической структурой и случайной продолжительностью работ с помощью статистического моделирования. Этот алгоритм целесообразно применять, когда при построении сетевой модели со стохастической структурой используются события с широкими логическими возможностями на входе и выходе. Вторым является алгоритм определения оценок вероятностных характеристик сетевой модели со стохастической структурой и случайной продолжительностью работ при помощи численного метода, который может применяться тогда, когда при построении сетевой модели используется не более четырех видов событий [1]. В основе этого алгоритма лежит замена плотности распределения продолжительности каждой работы кусочно-постоянной функцией (гистограммой).

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Баришполец Виталий Анатольевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ALGORITHMS FOR ANALYZING NETWORK MODELS WITH STOCHASTIC STRUCTURE

In this article we consider algorithms for the analysis of the network model with stochastic structure, rules of construction which the theoretical basis of the analysis set forth in [1]. The first algorithm is presented for obtaining estimates of probability characteristics of the network model with stochastic structure and random duration of work using statistical modeling. This algorithm is appropriate when the construction of a network model with stochastic structure of the event are used with wide logical possibilities for the input and output. The second is an algorithm for determining estimates of probability characteristics of the network model with stochastic structure and random duration of works by a numerical method that can be used when the construction of the network model uses no more than four kinds of events [1]. The basis of this algorithm is based on replacing the density distribution of the duration of each operation by the histogram.

Текст научной работы на тему «Алгоритмы анализа сетевой модели со стохастической структурой»

126

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

АЛГОРИТМЫ АНАЛИЗА СЕТЕВОЙ МОДЕЛИ СО СТОХАСТИЧЕСКОЙ СТРУКТУРОЙ

Баришполец В.А.

Вычислительный центр им. А.А. Дородницына, Российская академия наук,

119333, Москва, ул. Вавилова, 40

Поступила в редакцию 20.01.2012

В статье рассматриваются алгоритмы анализа сетевой модели со стохастической структурой, правила построения которой и теоретические основы анализа изложены в [1]. Первым представлен алгоритм получения оценок вероятностных характеристик сетевой модели со стохастической структурой и случайной продолжительностью работ с помощью статистического моделирования. Этот алгоритм целесообразно применять, когда при построении сетевой модели со стохастической структурой используются события с широкими логическими возможностями на входе и выходе. Вторым является алгоритм определения оценок вероятностных характеристик сетевой модели со стохастической структурой и случайной продолжительностью работ при помощи численного метода, который может применяться тогда, когда при построении сетевой модели используется не более четырех видов событий [1]. В основе этого алгоритма лежит замена плотности распределения продолжительности каждой работы кусочно-постоянной функцией (гистограммой).

Ключевые слова: сетевая модель, алгоритм, блок-схема, алгоритмический модуль, характеристики сетевой модели, аппроксимирующее распределение вероятностей, гистограмма, статистический ряд.

УДК 519.95_______________________________

Содержание

1. Алгоритм анализа модели при помощи метода статистических испытаний (126)

2. Алгоритм анализа модели при помощи численного метода (134)

3. Заключение (140)

Литература (140) 1

1. АЛГОРИТМ АНАЛИЗА МОДЕЛИ ПРИ ПОМОЩИ МЕТОДА СТАТИСТИЧЕСКИХ ИСПЫТАНИЙ

1.1. Общие положения

Укрупненная блок-схема алгоритма анализа сетевой модели со стохастической структурой и случайной продолжительностью работ при помощи метода статистических испытаний приведена на рис. 1. При изображении блок-схем алгоритма и алгоритмических модулей (А-модулей) используются три типа геометрических фигур, обозначающих операторы алгоритмического процесса: прямоугольник, внутри которого могут быть даны описание вычислительного оператора (математическая формула), частный алгоритм, записанный на естественном языке, название А-модуля; овал или круг для изображения логического оператора, характерной чертой которого является передача управления в зависимости от выполнения записанного внутри фигуры условия — если условие выполнено, то управление передается по стрелке,

обозначенной единицей, в противном случае — по стрелке, обозначенной нулем. Внутри фигуры также проставляется номер оператора.

По сравнению с [1] в укрупненной блок-схеме алгоритма встречаются следующие новые обозначения: v — число реализаций на данном этапе работы алгоритма; minT, и maxT. — минимальное

•L 1 J kp,r kp:r

и максимальное значения случайных величин T,

J круг

(1<r<s), полученные в процессе работы алгоритма; Ьг — шаг статистического ряда для каждой величины Tkp; p* ^ — частота попадания значений величины Tkp,r в Дй разряд статистического ряда; P* — оценка вероятности того, что не свершится ни одно завершающее событие.

Сетевая модель должна иметь упорядоченную нумерацию событий, т.е. для каждой работы (j выполняется условие i < j. Очевидно, упорядоченная нумерация не может быть выполнена для начального события контура, т.е. контур может содержать одну работу (ij), для которой i > j.

1.2. Ввод исходных данных о сетевой модели

Исходная информация о сетевой модели задается по форме, приведенной на рис. 2. Здесь имеют место следующие четыре части.

I. Данные, необходимые для работы алгоритма, где: b — количество разрядов при формировании статистического ряда (b < 20), 8г — коэффициент изменения продолжительности повторяющихся работ (0 < 8г < 1).

2 НОМЕР | ТОМ 4 | 2012 | РЭНСИТ

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

алгоритмы анализа сетевой модели 127 со стохастической структурой

Блок-схема алгоритма анализа модели методом статистических испытаний.

II. А* — список работ сетевой модели, в котором

каждая работа аТ, т = 1, к характеризуется

следующими величинами:

аТ = К;л; Щ j) [или п , или qh ]; ви ; nJz ;

ПЛ ; tmiMт’ jT); jT); tmax(^x^ ЛЖ

где: — тип выхода начального события / работы аг (W;.

= 1, 2, ..., 6); — вероятность реализации работы аТ,

исходящей из события у с выходом типа 2 и 3; П — номер работы аТ на выходе события i типа 4; qi — номер строки в таблице параметров D, соответствующей начальному событию i работы ат, имеющему выход типа 5, причем для этого события = 5, если оно относится к первой группе,

и wf = 6, если ко второй; в. — тип входа события j работы аТ (0h = 1, 2, 3); nh — число работ, окончание которых необходимо для свершения события j_ с входом типа 3 работы аТ; Пу — номер работы аТ на входе события j типа 3; ^* — количество работ в сетевой модели. В дальнейшем индекс номера работы по списку при обозначении ее параметров, когда в нем нет необходимости, будем опускать.

Если какая-либо работа аТ имеет фиксированную продолжительность, то значение t(i, j) записывается

для нее трижды вместо значений tmin(iT, j); t (/, jT) и

tmJ4z, jT); если же для работы аТ задаются только две оценки ее продолжительности t (i, j) и t (i, j), то вместо значения t (/., jT) записывается нуль.

Список А* упорядочен по коду начальных событий

*

работ, т.е. для любых двух работ списка аг = {i j wf } * r и а{ = {it, j, w^ }, где t > r, всегда выполняется ir < i, за

исключением одной из работ контура.

III. C — список фиктивных работ, в котором каждая работа cr описывается двумя числами: 0 и V, Г = 1, s.

IV. D — таблица параметров функций переходов событий с выходом типа 5, в которой каждая строка имеет следующий вид:

dq = {п,-,пД--,п Ь q =1 h

Параметры функции перехода f могут быть изменяемые и неизменяемые. Для неизменяемых параметров в таблице D записываются их постоянные значения, а для изменяемых параметров, значения которых вычисляются в процессе анализа сетевой модели, записываются нули.

В число параметров функции перехода ft может

I II III IV

* а1 Гс > Г d1 ^

N; b; 5V-A* = * а ••• C = сг • D = dq

* а * V k ) V Cs ) V dh )

Рис. 2. Исходная информация о сетевой модели.

входить раннее время свершения события i. Этому параметру соответствует значение П1. Следовательно, для всех событий i с выходом типа 5, относящихся ко второй группе, при вводе исходной информации п1 = 0.

При вводе исходных данных о сетевой модели также задаются исходные значения v = 0, N = 0, N = 0.

1.3. Принцип действия алгоритма После ввода исходных данных о сетевой модели оператор 2 формирует «таблицу работ», в которой

РЭНСИТ | 2012 | ТОМ 4 | НОМЕР 2

128

Баришполец В.А.

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

каждая работа характеризуется следующими величинами: i, j и n(i, j). Первоначально имеем n(i, j) = 0. А-модуль 3 выбирает для каждой величины T(ij на основе оценок t (i, j); t (i, j) и t (i, j) в качестве

min'- xJJ x' не' xJJ x' max' xJJ x/

аппроксимирующего один из 3-х частных случаев бета-распределения [2]:

12

fo(t) =

(b - a)4

0

30

(b - a)5

0

' 12

f2(t) = \

(b - a)4

0

(t - a)(b -1)2 при a < t < b

при t < a или t > (t - a)2 (b -1)2 при a < t < b при t < a или t > (t - a)2(b -1) при a < t < b

при t < a или t >

(1.1)

b;

(1.2)

b;

(1.3)

b;

где a и b определяют соответственно левую и правую границы распределения. В результате действия

* *

этого А-модуля для каждой работы а*, Т = 1, к вместо значения t (i, j) записывается значение п = 0, 1, 2, указывающее соответственно на вид аппроксимирующего распределения (1.1), (1.2), (1.3). При этом п = 0, когда в качестве аппроксимирующего выбирается распределение (1.1) или продолжительность данной работы а* является фиксированной величиной. После окончания действия А-модуля 3 каждая работа в списке А* будет характеризоваться следующими параметрами:

а —

- К;j w*; j) [или п*, или q]; 0Тт; п*т;

П ; t (i, j); п; t (i, j)},

A min' xyJ X' ' max' x7J x' > y

В таком виде исходная информация о сетевой модели хранится в памяти и воспроизводится в каждой реализации перед действием А-модуля 5, управление которому передается через счетчик числа реализаций (оператор 4).

Следующий этап функционирования алгоритма заключается в воспроизведении реализаций сетевой модели со стохастической структурой и случайной продолжительностью работ и определении возможных значений ее вероятностных характеристик в каждой очередной реализации. Достигается это в результате циклической работы А-модулей 5, 8, 9 и операторов 4, 6, 7, 10-14. Здесь операторы 4 и 14 обеспечивают воспроизведение первоначально заданного количества реализаций сетевой модели. А-модуль 5 производит розыгрыш структуры сетевой модели в соответствии с заданными вероятностями P(i, j) для событий с выходами типа 2 и 3, а также исходя из значений составляющих функции перехода f для событий с выходом типа 5, относящихся к первой группе (w = 5). Оператор 6 проверяет, достигнуто хотя бы одно завершающее событие

сетевой модели в результате розыгрыша ее структуры. Если нет, то управление передается оператору 7, подсчитывающему количество реализаций, в которых не достигнуто ни одно завершающее событие. После действия оператора 7 начинается воспроизведение очередной реализации сетевой модели. В том случае, когда в процессе действия А-модуля 5 достигнуто хотя бы одно завершающее событие, оператор 6 передает управление А-модулю 8, который формирует значение продолжительности каждой работы на основе принятого закона распределения.

В результате действия А-модуля 5 получаем список работ А, в котором каждая работа характеризуется теми же параметрами, что и в списке А*, а также вспомогательный список B, в котором каждая работа характеризуется двумя величинами: номерами

начального и конечнпого событий, т.е. br = (i, j), r = 1, mx . Список B необходим для обеспечения действия А-модуля 5. После окончания действия А-модуля 8 для каждой работы в списке А будем иметь:

аТ = {да ; Р(Дj) [или \, или q ]; 0; пТ;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

П 1т ; ^ (iz , jz) ; tне(lт, j); tmax(lт, j) Ь

где tV(iz, jz) — значение продолжительности работы ат, полученное в данной реализации. Далее А-модуль 9 определяет значения продолжительности

- jV

критических путей tKp г относительно каждого завершающего события А , (1 < r < s). Затем оператор 10 формирует число реализаций N, в которых было получено значение каждой случайной величины Трг, (1 < r < s), оператор 11 уточняет границы статистического ряда для каждой из этих случайных величин, а оператор 12 запоминает полученные значения r. Оператор 13 подготавливает массивы под списки А и B к следующей реализации и так до тех пор, пока не будет получено заданное количество реализаций (оператор 14).

После того, как первоначально заданное количество реализаций будет достигнуто, оператор 14 передает управление А-модулю 15, который формирует и выдает на печать статистический ряд для каждой случайной величины T . Далее необходимо на основе полученных результатов решить вопрос об уточнении количества реализаций моделирования (оператор 16) с целью получения оценок вероятностных характеристик сетевой модели с заданной точностью [1]. Если количество реализаций уточняется, то снова имеет место циклическая работа А-модулей 5, 8, 9 и операторов 4, 6, 7, 10-14. В противном случае алгоритм переходит к заключительному этапу его применения, на котором определяются оценки математических ожиданий случайных величин T (оператор 17), оценки коэффициентов критичности

2 НОМЕР | ТОМ 4 | 2012 | РЭНСИТ

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

алгоритмы анализа сетевой модели 129 со стохастической структурой

работ ККр (Т, jT (оператор 18), оценки вероятностей свершения завершающих событий P*(V) (оператор 19) и оценка вероятности того, что не свершится ни одно завершающее событие р)* (оператор 20), после чего результаты выдаются на печать (оператор 21).

1.4. Алгоритмические модули

1.4.1. А-модуль выбора аппроксимирующегораспределения вероятностей продолжительности каждой работы

Данный А-модуль из 3-х частных случаев бета-распределения (1.1), (1.2), (1.3) выбирает в качестве аппроксимирующего распределения то, которое является наиболее близким к действительному закону распределения случайной величины T(ij), т.е. мода которого удовлетворяет условию

т1П\tne (i, J) -МЯ\ > (П = 0, 1, 2),

Ж

где п указывает на вид распределения (1.1), (1.2) или (1.3). Иначе говоря, из 3-х частных случаев бета-распределения в качестве аппроксимирующего выбирается то, мода которого наименее уклоняется от значения оценки t (/, j) [2]. Величина моды определяется соответственно по формулам 2а + b b + a a + 2b

M з M = 2 ; M = 3

через оценки t . (i, j) и t (i, j).

Если для работы (ij) даны только две оценки ее продолжительности t (i, j) и t (i, j), то в качестве аппроксимирующего выбирается распределение с функцией плотности (1.1). Это объясняется тем, что действительное распределение вероятностей продолжительности работы в большинстве случаев характеризуется положительной асимметрией [2].

Блок-схема А-модуля показана на рис. 3. Действие А-модуля протекает следующим образом. Операторы 1, 15 и 16 обеспечивают последовательный просмотр

всех работ списка А*. Оператор 2 проверяет, задана ли для данной работы а* оценка наиболее вероятной ее продолжительности /Д, j); если нет, то А-модуль переходит к следующей по порядку работе в списке А* (операторы 15 и 16). Для данной работы в этом случае п = 0. Если же для рассматриваемой работы а*Т задано значение /Д, j), то оператор 3 проверяет, не является ли продолжительность этой работы фиксированной величиной; если да, то для нее вместо значения t (i , j) записывается п = 0 (операторы 4 и 14) и А-модуль переходит к следующей по порядку работе списка А*. Если продолжительность данной работы а* — случайная величина, то тогда операторы 5-7 вычисляют моду величины ТДД) для распределений (1.1), (1.2) и (1.3) соответственно. Оператор 8 определяет абсолютную величину разности между /Д, j) и значением каждой из полученных мод, а операторы 9-13 по минимальному значению абсолютной величины разности определяют значение Пт, которое записывается вместо /Д, j) (оператор 14), и А-модуль переходит к следующей работе. При т = k действие А-модуля заканчивается.

1.4.2. А-модуль розыгрыша структуры сетевой модели

Блок-схема А-модуля приведена на рис. 4а,б. В блок-схеме имеют место следующие новые обозначения: k — количество работ в списке А; d*

— номер первой работы в списке А* с начальным событием i, рассматриваемым на данном шаге алгоритма; m — максимально возможное количество

max

работ на выходе (входе) события типа 2, 3, 4 и 5; m1

— количество работ в списке B; B [>m,,1] и B [>m,,2] — элементы списка B на пересечении строки m1 с 1-м и 2-м столбцами соответственно.

Остановимся кратко на функционировании А-модуля. Операторы 1 и 8 обеспечивают последовательный просмотр всех работ списка А* в каждой

РЭНСИТ | 2012 | ТОМ 4 | НОМЕР 2

130

Баришполец В.А.

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

?

0/^30-1----Ч

(^—(В[щ ,1] >

г

Записать все работы(/,/, ^ (% > 1) в списки A иВ

^ —Г1

V ^6-1-

©*■

/Имеются ли в списке В у работы, для которых номер конечного события j совпадает с номером i ^рассматриваемого события

ЪЛГ

|—11- .

Выбрать из списка А все работы ат (1 <т< d - 1 ) для которых jz = i

I—12

Для каждой работы az выделить значения n, ип,

-—15 , ,

/Есть ли работа аг (1 <т < d -1)N с рассматриваемым значением l п, в списке В t

0l

16

—W Запомнить значение п

Г17-П-

0S~U

р = в m,2]

-32

Вычеркнуть из списка В последнюю работу

Для события с выходом типа 3 выбрать работы (i, j ), которые в

соответствии с заданными ___

вероятностями P(i, j ) у = 1, m выполняются в данной реализации

-44-

1 /Все ли работы а* (1 <т < d* -1)) ..^есть в спискеВ/

Вычеркнуть из списка В VKD работы ат (1 < т < d -1)

Вычеркнуть из списка В работы аг (1 < т < d -1)

1 Г i * V . ^(1< г < s)J

I----24------*-

Сформироват

| ат =\vr ,о,...,о;

Сформировать работу ’ .,0] (1 < г < s)

Записать в спискиА иВ только те работы (i, jТ ) , номера 1, которых равны номерам п, , отобранным оператором 16

I

Отыскать в списке D строк], для которой q = qi

[ Есть ли работы (i, jv ) ,отобранные оператором 43

F1

— 35-

Обратиться к подпрограмме вычисления значений составляющих^%(1 < % < m) функции перехода f

-36-

-45-

Записать работы (i, j v) отобранные оператором 43, в списки А иВ

I

Записать работы (i, j % ), для Г— которых f% =1 (1 <%< m) X. в списки A и В ©

Имеются ли повторяющиеся работы в списке А/

—38--------1----------

Для повторяющихся работ в списке А умножить на 8t значения t^ (i, j), t (i, j) и tmaxC/, j)

-39--------1------------

Записать z (z < s) работ сформированных оператором 24, в список A

I— 40 i

| k := k + z

— 41----------*-----------

Очистить массив под работы

a% = \Vr ,0,...,0](1 < r < s)

Рис. 4а

реализации. Группа операторов 9-20, 23, 28 и 29 служит для проверки выполнения логических условий на входе начального события , работы ат = {i, j, wt , ...}, необходимых для его свершения. В частности, операторы 19 и 20 служат для проверки выполнения логических условий только на входе события типа 1, операторы 19 и 28 — только на входе события типа 2 и операторы 13-19, 28 и 29 — только на входе события типа 3. Операторы 9-12 и 23 в этой группе являются общими для входов всех типов.

Группа операторов 2-6, 16, 25, 26, 33-36 и 4245 реализуют выполнение логических условий на выходе каждого события сетевой модели в отдельной реализации. В частности, операторы 2, 3, 33 и 42 определяют работы, выполняемые на выходе события типа 1, операторы 2, 4-6 — на выходе события типа 2, операторы 42-45 — на выходе события типа 3, операторы 16, 25 и 26 — на выходе события типа 4 и операторы 2, 33-36 — на выходе события типа 5.

Передать управление

Рис. 4. Блок-схема А-модуля розыгрыша структуры сетевой модели.

Рис. 4б

Группа операторов 30-32 выявляет, имеют ли место в данной реализации контуры. Если да, то i присваивается значение начального события контура (оператор 31).

Оператор 37 выявляет в рассматриваемой реализации повторяющиеся работы вследствие их принадлежности к контуру, а оператор 38 вычисляет новые оценки продолжительности повторяющихся работ в соответствии с заданным значением коэффициента 8t.

Операторы 23 и 24 осуществляют проверку на достижение одного из завершающих событий и формируют фиктивную работу a = {V, 0, .. .,0}.

Операторы 3, 6, 26, 36, 39, 40 и 45 формируют список работ А, имевших место в данной реализации.

В процессе действия А-модуля все работы, которые имеют место в данной реализации, сначала последовательно записываются (операторы 3, 6, 26, 36 и 45), а затем вычеркиваются (операторы 21, 22 и 32) из вспомогательного списка В. Действие А-модуля

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

22

25

26

2 НОМЕР | ТОМ 4 | 2012 | РЭНСИТ

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

алгоритмы анализа сетевой модели 131 со стохастической структурой

заканчивается тогда, когда все работы из списка В будут вычеркнуты (оператор 9).

Таким образом, в результате действия Л-модуля получаем список работ Л, в котором каждая работа характеризуется теми же параметрами, что и в списке Л*. Очевидно, что некоторые работы, принадлежащие контурам, в списке Л могут повторяться. Заканчивается список Л работами а = {V, 0, ...,0}, Г = М .

1.4.3. Л-модульрозыгрыша продолжительности каждой

Блок-схема Л-модуля показана на рис. 5. В результате действия операторов 1, 19 и 20 последовательно просматриваются все работы списка Л. Оператор 2 проверяет, является ли продолжительность рассматриваемой работы ат случайной величиной. Если да, то управление передается группе операторов, которые обеспечивают моделирование величины T(i,jT) в соответствии с одним из законов (1.1), (1.2), (1.3) в зависимости от значения n В частности, группа операторов 3,610, 14-17 обеспечивает моделирование величины T(i, j() в соответствии с законом (1.1); группа

операторов 3-5, 7-9, 11, 13-17 — в соответствии с

законом (1.2) и группа операторов 3, 4, 6-9, 11, 12, 14-17 — в соответствии с законом (1.3). Как видно, операторы 3, 7, 8, 9, 14-17 являются общими для всех групп, где операторы 7 и 14 (ДСЧ — датчик случайных чисел) генерируют значения случайного числа, равномерно распределенного в интервале (0,1). Значения случай-ного равномерно распределенного в интервале (0,1) числа могут быть получены путем использования фи-зических или программных датчиков. Вычисление значения f (операторы 5 и 6) осуществляется с помощью формул [2]:

f =-К-

^ 8(b - a) — для распределения (1.2), f = ^6_

g(b — a) — для распределений (1.1) и (1.3).

Если продолжительность данной работы a имеет фиксированное значение, то Л-модуль переходит к следующей по порядку работе в списке Л (операторы 18-20).

1.4.4. Л-модуль определения продолжительности критического пути в отдельной реализации

РЭНСИТ | 2012 | ТОМ 4 | НОМЕР 2

132

Баришполец В.А.

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

В результате действия данного А-модуля вычисляется раннее время свершения событий сетевой модели tvp (i) в данной реализации. Для завершающих событий сетевой модели имеем tvp (Vr) = tvKpr, r = 1, s. Кроме того, в процессе действия А-модуля одновременно с вычислением раннего времени свершения каждого события производится розыгрыш структуры сетевой модели в зависимости от времени окончания работ на входе для событий с выходом типа 4, а также в зависимости от полученных значений составляющих f'‘р функции перехода ftt для событий с выходом типа 5, относящихся ко второй группе (при w.= 6).

Таким образом, при анализе сетевой модели со стохастической структурой производится розыгрыш ее структуры в каждой реализации: в соответствии с заданными вероятностями P(4/() для событий с выходом типа 2 и 3 (А-модуль 5); в зависимости от времени окончания работ на входе для событий с выходом типа 4; в соответствии с заданными логическими условиями выбора работ на выходе событий типа 5.

При определении tvp (i) каждого события, также как и при розыгрыше структуры сетевой модели, прежде всего необходимо убедиться в том, что событие имеет место в данной реализации. В противном случае tvp (i) данного события не определяется, а все исходящие из него работы также

не учитываются при определении раннего времени свершения последующих событий.

Блок-схема рассматриваемого А-модуля показана на рис. 6а,б. Здесь используются следующие новые обозначения: k — количество работ, исходящих из события i; Lv(i) — номер события, являющегося лимитирующим для события i в v-й реализации (события, непосредственно предшествующего событию i и лежащего на максимальном по продолжительности пути от исходного события к данному событию i); р — индекс критичности, характеризующий принадлежность работы к критическому пути в данной реализации (при р = 1); d — порядковый номер работы в списке А.

Функционирование А-модуля протекает следующим образом. Операторы 1 и 2 приводят список А к требуемому для действия А-модуля виду. Группа операторов 3, 5-8 обеспечивает последовательный просмотр всех работ списка А. Операторы 9 и 10 проверяют, имеют ли место в данной реализации работы, исходящие из события id с входом типа 1 или 2. Если да, то для этих работ определяются значения раннего времени свершения fp (id ) и номер лимитирующего события Lv(i) для их начального события i = id (операторы 12 и 13). Далее значения tvp (id) и Lv(i) записываются в список А для работ, исходящих из события id, вместо t (i, /) и п соответственно. В зависимости от типа выхода события

Записать для начального события i каждой работы вместо ?max (i, j ) раннее время его свершения tp (i) = 0

Записать для начального события i каждой работы вместо значения п номер лимитирующего события L(i) = 0

Записать кг работ, исходящих из события id, в список B

<3^.—»р~ := d + К\*

тпт

о?

[Вз

| на1

Взять событие id, являющееся начальным для работы ad

Выбрать работы az (1 <т< d -1), для которых j = id

/Все ли работы az (1 < т< d - 1) л учесть в списке B t

Вычеркнуть работы

ат (1 < т < d -1) из списка В

Г12_

|<; (id)

Вычислить

t"p(id) = maxK(т) +1 (т, jj]

Определить номер лимитирующего события L (id ) для собыгияid с входом типа 1 и 2___________

А®

^\ме

Содержится ли в списке B 1 менее n работа,. (1 <т< d -1W

Запгтсать значения fp (id ) и L (id) - для работ а , у которых , = id

(d <т<d + к -1)

Вы

Вычеркнуть работы а, т < d -1) из списка B

Ётавить из работ а, (1 < т < d -1) гько те, которые есть в списке B

■ .

Вы

Вычеркнуть работы а, <т< d -1) из списка B

I----21

Вычи

| Р

Вычислить для работ а, (1 < т < d -1)

tPo(i,, jd = tVpО'Д + f Ю jO

Записать значения tPo(ir> J<) (1 <т< d-1) в порядке возрастания

Выбрать ц _е по прядку значение

tP 0(i. , jd)'принять fp (id) = fp0(f, jP)

(т = пт)

Определить номер ц работы на входе события id типаЗ, благодаря реализации которой оно свершилось

Определить номер лимитирующего события L (id ) для события id с входом типа 3

0 /-27-

W :

1

Определить номер работы п} на входе события id типа1 или 2, время окончания которого равно tP (id )

—29------------1---------v----

Записать значения tp (id ) rL (id ) для

той работы az ( d <z< d + кг -1), для которой n,d равно значению Ц}^ определенному оператором 20 или 36

— 30----------------X--------------------

Записать работу az ( d < z < d + к -1) , для которой определено значение tp (id ) в список B

I Отыскать в списке D строку *1для которой q = q

ЕУ.

t (d )

33

Обратиться к подпрограмме вычисления составляющих

Д (1 <!< m)

функции перехода f t

©♦-

Записать значения tp ( id ) иТ (id ) для работ (id , j ) таких, что^ = 1 (1 <£< m)

I Записать работяг (i , j ) , для которых 1 f£ = 1 (1 < £ < m) в список B

I—36-

Вьгчерт

az ,для

Вычеркнуть из списка A все работы для которых tV (i ) = 0 и i Ф I

■J

ГЗат

вм

Записать для всех работ списка A вместо значения wt значениер = 0

Записать для всех работ, лежащих на критическом пути,значение р = 1

--39—i-

rfi, j):= n(i,j)+1

для работ, лежащих на критическом пути

г 40

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Передать

управление

Рис. 6. Блок-схема А-модуля определения продолжительности критического пути в отдельной реализации.

0

28

34

2 НОМЕР | ТОМ 4 | 2012 | РЭНСИТ

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

алгоритмы анализа сетевой модели 133 со стохастической структурой

id эта запись осуществляется операторами 15-17 — для выходов типа 1, 2 и 3, операторами 15, 16, 28 и 29 — для выхода типа 4 и операторами 15, 31-34—для выхода типа 5.

Операторы 9, 14, 19 проверяют, какие работы, входящие в событие id с входом типа 3, выполняются в данной реализации. Операторы 21-25 обеспечивают определение значений tvp (id) и Lv(i) для работ,

исходящих из события i. После чего полученные значения tvp (id) и Lv(i) записываются в список И для работ, исходящих из события id , вместо tmJp, j) и п. Для события id с выходом типа 1, 2 и 3 эта запись осуществляется операторами 26, 27 и 17, для выхода типа 4 — операторами 26, 27 и 29 и для выхода типа 5 — операторами 26, 31-34.

Для того, чтобы можно было проверить, какие работы имеют место в данной реализации, так же как и при действии И-модуля розыгрыша структуры сетевой модели, составляется вспомогательный список В, в который работы в процессе применения данного И-модуля сначала записываются (операторы 4, 30 и 35), а затем вычеркиваются (операторы 11, 18 и 20).

После того, как определены значения

,v

продолжительности критических путей t r относительно каждого завершающего события V (1 < r < s), оператор 36 исключает из списка И все работы, которые не выполнялись в данной реализации, а оператор 37 подготавливает список И для дальнейшего функционирования алгоритма. Оператор 38 определяет работы, лежащие на критическом пути, и записывает для них вместо значения w значение р = 1. Делается это следующим образом.

Список И просматривается, начиная с последней работы, которая имеет вид a, = {V; 0; р; ...,Lv(V); tvp(Vs) }.

Для этой работы записывается р = 1. Затем находится первая с конца работа, для которой номер начального события i = Lv(V), и для нее также записывается значение р = 1 и т.д., пока не будет отмечена индексом критичности первая с конца работа, у которой лимитирующим событием для начального события является исходное событие сетевой модели. Эта процедура повторяется для остальных работ вида:

a = {V; 0; р; ...,Lv(V);tvp(Vr)}, 1< r <s,

причем каждый раз до того момента, пока не встретится работа с р = 1 или у которой лимитирующим событием для начального события является исходное событие сетевой модели. Затем каждая работа со значением р = 1 расшифровывается как работа, у которой номер начального события равен Lv(i), а номер конечного события — i. В таблице работ для них к значению n(ij прибавляется единица (оператор 39).

Рис. 7. И-модуль формирования и выдачи на печать статистического ряда для случайной величины T' .

Таким образом, в результате действия И-модуля определения продолжительности критического пути, каждая работа в списке И будет характеризоваться следующими величинами:

a

= К;Д; W ; Р(Дj) [или п , или q, ]; в,

п.

п; tv(K,л); Lv(0; *;ю ь

Для работ вида л = {V; 0; р;..., Lv(V);tvp(Vr) } имеем tvp (Vr) = С , 1< r <s.

1.4.5. И-модуль формирования и выдачи на печать статистического ряда для случайной величины T’

Блок-схема И-модуля представлена на рис. 7. Действие И-модуля протекает следующим образом. Оператор 1 вычисляет шаг статистического ряда; оператор 2 подсчитывает количество m значений величины T приходящееся на Дй разряд. Значение miопределяется как количество реализаций, в которых tvKp удовлетворяет неравенству

mmt*p + (Д - 1)h < tip < min+ ДИ;(Д = 1,

Оператор 3 вычисляет частоту, соответствующую каждому Дму разряду, и, наконец, оператор 4 выдает результаты на печать. На основании статистического ряда может быть построена статистическая функция распределения Р*(Д). На границах разрядов

ti = mintKp,t2,...,t^,...tb,tb+i= maxtip она принимает значения F*(t) = 0; = Pi ; F*(t) = p* + p*;.;

b-1 b

F*(tb) = Z p*; F*(tb+i) = Z рД =1.

Соединив полученные точки кривой (рис. 8), получим график статистической функции распределения.

РЭНСИТ | 2012 | ТОМ 4 | НОМЕР 2

134

Баришполец В.А.

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

При наличии в сетевой модели со стохастической структурой нескольких завершающих событий V, 1 < r < s, рассмотренная процедура формирования и выдачи на печать статистического ряда для случайной величины продолжительности критического пути T выполняется относительно каждого из этих событий.

1.4.6. А-модуль определения оценки математического ожидания случайной величины Tкр

А-модуль состоит из двух операторов (рис. 9). Оператор 1 вычисляет t кр^ — среднее значение

Дго разряда статистического ряда (^ = 1, 2, b), а

*

оператор 2 — значение tKp .

2. АЛГОРИТМ АНАЛИЗА МОДЕЛИ ПРИ ПОМОЩИ ЧИСЛЕННОГО МЕТОДА

Предлагаемый алгоритм позволяет для произвольного события j сетевой модели со стохастической структурой определить оценки математического ожидания M*[Tj] и дисперсии D*[Tj)] времени его свершения Tj), построить гистограмму f ■ (t) случайной величины Tj), а также определить вероятность Pj) свершения события j.

Реализации алгоритма предшествует этап подготовки исходных данных. Сетевая модель должна иметь упорядоченную нумерацию событий (для каждой работы (i, j) выполняется условие i < j) и не содержать контуров. Исходные данные о сетевой модели задаются с помощью списков работ А* и событий С.

Каждая работа а*Т, (т = 1,k) в списке А* характеризуется следующими величинами:

л— {i j Хил — {i j }

где: k — количество работ в сетевой модели; т — номер строки в списке А*; i — номер начального события

Рис. 9. А-модуль определения оценки математического ожидания случайной величины Тр.

работы ат ; j — номер конечного события работы а*т ; P[(i, j)| i] — вероятность реализации работы (i, j) при условии свершения ее начального события

i;, p*!*(iT, jT), % — 1, b, — значение Дго разряда гистограммы продолжительности работы (i, j). Отметим, что список А* должен быть упорядочен по коду начальных событий работ, т.е. для любых двух работ списка

a* = R, i,-> и = {it,it--К где t > г,

всегда выполняется ir < i. При этом i1 = 1 и j = n, т.е. начальное событие работы, расположенной первой в списке А*, является исходным событием сетевой модели, а конечное событие работы, расположенной последней в списке А*, является одним из завершающих событий сетевой модели.

Как указано в [1], гистограммы продолжительностей работ должны иметь одинаковый шаг h. Для удобства реализации алгоритма на компьютере целесообразно также иметь одинаковую разрядность b всех гистограмм. Исследования показали, что для обеспечения приемлемой точности достаточно, чтобы выполнялось условие h < (0, 05 -т 0,1) min{te (i, j) - tH (i, j^,

(i,j)

где t (i, j) и t (i, j) — верхняя и нижняя оценки продолжительности работы (i, j).

Количество разрядов b исходных гистограмм выбирается на основе следующего соотношения:

b >

maX{te (i, j) - tn (i, j)}

(i, j )

где [х] — наименьшее целое число, превышающее х. Если для какой-либо работы (i, j)

bj =

{te (i, j) - tH (i, j)} h

< b,

то для определенности будем считать, что значения разрядов гистограммы f (t) , больших чем b, , равны

0.

Для упрощения реализации алгоритма примем, что гистограммы сдвинуты относительно друг друга на целое число шагов, т.е.

tJvj) = tm(i,,j') + a = 0 i1, ±2, ...; t * r. (2.1)

Список событий С имеет вид:

C = {mf n}; j — 1, n; m ^ n

где: j — номер события; n — количество событий в сетевой модели; mj — количество работ, входящих в событие j; nj — количество работ, при окончании которых свершается событие j.

При m . = nj событие j имеет вход типа 1, при m *1 и 1< n . < m^ событие j имеет вход типа 3.

В процессе реализации алгоритма формируются массивы времен окончания работ и свершения событий, а также массивы полных вероятностей

2 НОМЕР | ТОМ 4 | 2012 | РЭНСИТ

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

алгоритмы анализа сетевой модели 135 со стохастической структурой

реализации работ и свершения событий. Массив времен окончания работ В имеет вид:

Вр = {CnOT, j',1р!° {i„ J\%-, P? {i„ J\%-, Pb° <A=ЛЖ T =1 k, где: t°mm(iT, Jr) — нижняя граница гистограммы

времени окончания работы (i, j), p? (iT, jT) — значение Дго разряда (? = 1, b) гистограммы времени окончания работы (i ,, j)

Массив полных вероятностей реализации работ W имеет вид:

W = №j)}> Т = \k,

где P(i,j) — полная вероятность реализации работы (Д j)

Массив времен свершения событий Вс имеет вид:

Bc = {tmin (Л Pi* (Л ■■■, P** (Л ■■■, рЬ (jУ^, j = 1 П

где: t j) — нижняя граница гистограммы времени свершения событияj; p? (j) — значение Дго разряда ( ? = 1 b) гистограммы времени свершения события j.

Массив полных вероятностей свершения событий W имеет вид:

W = {Pj)}, j = \n

где Pj) — полная вероятность свершения события j.

Перед началом реализации алгоритма массивы Bp, B, Wp и W, обнуляются.

Рассмотрим порядок действия алгоритма анализа сетевой модели со стохастической структурой и случайной продолжительностью работ с помощью численного метода, блок-схема которого приведена на рис. 10а-10б.

Оператор 1 формирует первые строки массивов W и B , Так как событие 1 является исходным событием сетевой модели, то полная вероятность его свершения равна единице, а время свершения — нулю. Следовательно, P(1): = 1, Дет(1) = 0, p? (1) := 0, ?= 1, b.

В результате действия операторов 2-6 формируются строки массивов Wp и B

соответствующие работам, начальным событием которых является исходное событие сетевой модели. Оператор 2 присваивает переменной т значение, равное 1. Работа, которой соответствует первая строка (т = 1) списка Л*, исходит из события 1 сетевой модели. Поэтому полная вероятность ее реализации равна условной вероятности реализации, т.е. P(1, j):= P[(1, jT)/1] (оператор 3), а время окончания этой работы равно ее продолжительности, т.е.

Р?(1,Л):= p*(1,Д), ?= й и С„( 1, jt):= tmin(1,Д)

(оператор 4). Значение P(1, j") заносится в строку т массива Wp, а значения (1, Л) и р?(1, jT), ? = 1, b, - в строку т массива Bp. Оператор 5 увеличивает значение переменной т на 1, в результате чего просматривается очередная строка списка Л*. Если i = 1 (оператор 6), то действие операторов 3-5 повторяется, в противном случае

управление передается оператору 7 и вычисление полной вероятности реализации работы (i, j) и времени ее окончания осуществляется по правилам, которые будут рассмотрены ниже.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Отметим, что выполнение условия i ф 1 (оператор 6) гарантирует отсутствие в последующих строках списка Л* работ, начальным событием которых является исходное событие сетевой модели, так как работы в этом списке упорядочены по коду начальных событий. Упорядоченная запись работ в списке Л* позволяет существенно упростить алгоритм за счет исключения многократного просмотра списка Л*.

После просмотра всех работ в списке Л*, начальным событием которых является исходное событие сетевой модели, оператор 6 передает управление оператору 7, в результате действия которого начинается просмотр списка событий С. Переменной j присваивается значение, равное

2. Поскольку i < j' т = 1, к, гарантировано, что на предыдущих этапах вычислены полные вероятности реализации входящих в событие j работ, а также построены гистограммы времен их окончания. Это позволяет перейти к вычислению полной вероятности свершения события j и построению гистограммы fj'(t) времени его свершения.

Как указывалось ранее, для построения гистограммы времени свершения события j с входом любого типа необходимо сначала сформировать статистические функции распределения Fi° (t), V = 1, Шр времен окончания входящих в событие j работ. Формирование Fi° (t) начинается с формирования вспомогательных статистических функций распределения Fi° (t), v = 1, , которое

осуществляется оператором 8 в следующей последовательности.

Первоначально из массива Bp формируется вспомогательная строка N0, содержащая mj элементов. Элементами этой строки являются нижние границы

tmin (iV,j),v = 1 mj , времен окончания входящих в событие j работ. Вычисляются нижняя tmin(j) и верхняя tmax(j) границы времен свершения события j по формулам:

4т(j) = min{tm in(iv, j)}; j

4ax (j) = mfx{tm in (iv , j) + bh}•) (2.2)

Затем вычисляется максимальная разрядность bp статистической функции распределения F*(t) времени свершения события j по формуле

b tmax (j) tmin (J) ^ ^

Для формирования статистических функций распределения времен окончания входящих в

РЭНСИТ | 2012 | ТОМ 4 | НОМЕР 2

136

Баришполец В.А.

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

Рис.

событие у работ вводится вспомогательный массив В размерностью (m. x b), v-я строка которого имеет вид:

В0(v) = {dx (iv, jdw(iv, jdbj (iv, j)},

где

, , . л f P7 (iv , j), еСЛИ Clin (j) + Vh = Cm (iv , j) +

dV(lv , j ) 4/

[0 в остальных случаях.

После того, как массив BQ сформирован, начинается его построчная корректировка:

Bo(v,y) := Bo(v_¥) + dv(iv, j); (2.4)

v = 1,mj w = 1bj , B0V 1) = d,(w). 2

10a

Согласно выражениям (2.1) и (2.4) величина Ba{v,y) представляет собой значение W -го

разряда вспомогательной статистической функции распределения F j (t) времени окончания работы (ij

Функция F* (t) наотрезке [tmin (iv, ji tmin (iv, j)+щ совпадает со статистической функцией распределения F*°(t) времени окончания работы (i, j). При t <

Cn(iv, j) имеем ^0 (t) = ° а при t > Cn(iv , j) -

значения Fi° (t) = 1. Введение вспомогательных

функций F*° (t) существенно упрощает построение гистограммы времени свершения события j.

2 НОМЕР | ТОМ 4 | 2012 | РЭНСИТ

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

алгоритмы анализа сетевой модели 137 со стохастической структурой

Рис. 106

В результате действия оператора 9 формируется вспомогательная строка W0 = (P(iy)}, v = 1, m ■ где — полная вероятность реализации работы (ij). Затем осуществляется переход к оператору 10.

Операторы 10 и 11 определяют тип входа события j. Если событиеjимеет вход типа 1, то осуществляется переход к оператору 12, который вычисляет полную вероятность свершения события j по формуле

mj

P( j) = UW- (v)

v=1

Значение Pj заносится в j-ю строку массива W.

Затем оператор 13 рассчитывает значения разрядов вспомогательной статистической функции распределения Fj (t) времени свершения события j по формуле

РЭНСИТ | 2012 | ТОМ 4 | НОМЕР 2

138

Баришполец В.А.

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

К (j) = п в0(у,/),/ = 1, bj.

v = 1

Значения рДj) заносятся во вспомогательную строку Впосле осуществляется переход к оператору 17.

Если событие j имеет вход типа 3 со значением ж. = 1, то оператор 11 осуществляет переход к оператору 14, который рассчитывает полную вероятность свершения события j по формуле

mj

р (j) = l-П[1 - W»].

v = 1

Значение Pj заносится в j-ю строку массива W.

Далее оператор 15 рассчитывает значения разрядов вспомогательной статистической функции распределения F. (t) времени свершения события j по формуле

mj ___

К (j) = 1 - П [1 - W (v)Bo (V, /)], / = 1, bj.

v= 1

Значения рДj) заносятся во вспомогательную строку В1, после осуществляется переход к оператору 17.

Если событие j имеет вход типа 3 со значением ж > 1, то оператор 11 осуществляет переход к оператору 16. Процедура расчета полной вероятности свершения события с входом типа 3 и значением ж. > 1, а также формирования вспомогательной функции F *(t) усложняется. Подробная блок-схема оператора 16 приведена на рис. 11. Рассмотрим работу оператора 16 в соответствии с этой блок-схемой.

На первом шаге полная вероятность Pj) свершения событияj принимается равной нулю, также обнуляется дополнительная строка В1 и формируется вектор aq = (aq ,...,о^ ,...,®Чт ) q-го исхода реализации входящих в событие j работ:

^1,если при q-м исходе реализуется работа (i , j), v=1,m.;

Pq (.j) = П W (V)n [1 - Wo (V)].

v [0 в противном случае.

Очевидно, что суммарное число возможных исходов реализации входящих в событие j работ равно 2mj .

На шаге 2 формируется начальное значение

О, = (0,...,0, 1,...,1). Т й б

вектора 4 *----* -----* Такой выбор

L mj-nj nj L

начального вектора позволяет не анализировать

(2nj -1) исходов, при которых событие j заведомо не свершится.

На шаге 3 анализируется возможность свершения события j при q-м исходе реализации входящих в

него работ. Если событие j свершается - nj, то

на шаге 4 вычисляется вероятность P j q-го исхода по формуле 2

где: v+ — множество номеров единичных элементов вектора d)q; Vq — множество номеров нулевых элементов вектора О,.

На шаге 5 оценивается вероятность P*( j) того, что при q-м исходе реализации входящих в событие j работ оно свершится к моменту времени t ■ (j) + /h:

К (j) = Pq 0')П Bo (V’V)’V = W т1П

vevj

На шаге 6 накапливается величина полной вероятности свершения событияj, т.е. Pj):=Pj)+Pqj) .

На шаге 7 в строке В1 накапливается величина вероятности свершения события j к моменту времени

tmn(j) + /h, т.е. P*WU) := Pfa) + KUlV = Ц.

После этого осуществляется переход к шагу 8. К этому шагу осуществляется переход также в том случае, когда анализ на шаге 3 показал невозможность свершения события j при q-м исходе реализации

( mj Л

входящих в него работ

Za < nj

На шагах

8-13 формируется очередной вектор aq . Здесь х — переменная цикла. К значению aq прибавляется

единица. При образовании единицы переноса она прибавляется к значению ®q< } и так до тех пор,

пока не прекратится появление единицы переноса. После этого вновь выполняется шаг 3.

На шаге 12 анализируется возможность завершения расчета полной вероятности свершения события j и построения вспомогательной функции Fj (t). Признаком завершения расчета является равенство нулю всех компонент вектора aq. В этом случае осуществляется переход к оператору 17 алгоритма.

Таким образом, описанная процедура действия оператора 16 алгоритма позволяет за конечное число шагов рассчитать полную вероятность свершения события j с входом типа 3 при ж > 1 и построить вспомогательную статистическую функцию распределения F*(t) времени его свершения, значения которой записаны в строке В1. После этого осуществляется переход к оператору 17 (см. рис. 10а).

Оператор 17 формирует вспомогательную гистограмму f- (t) времени свершения события j по известнойфункции в следующейпоследовательности. На начальном этапе освобождается память, отведенная под вспомогательный массив Вд и вспомогательные строки Ng, W0, aq . Независимо от типа входа события j в строке В находятся значения вспомогательной статистической функции распределения F ■ (t)

времени свершения этого события. Используя

2 НОМЕР | ТОМ 4 | 2012 | РЭНСИТ

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

алгоритмы анализа сетевой модели 139 со стохастической структурой

соотношение Вх (if/) := Вх (if/) — Вх (у/ — 1 ),у/ = 2, Ъ., в строку В1 вносятся значенияpv(j), If/= 1, bj, вспомогательной гистограммы f*(t) времени свершения события j и осуществляется переход к оператору 18.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Согласно выражению (2.2) нижняя граница гистограммы f*(t) равна tmm( j) , а верхняя граница — tmax (j) . Кроме того, как видно из выражения (2.3), по мере перехода от начального события сетевой модели к конечному величина b . возрастает. Поэтому оператор

Рис. 11.

" 18 осуществляет корректировку вспомогательной

гистограммы f. (t) , заключающуюся в следующем. Анализируются значения первого и последнего

разрядов гистограммы f(t) . Отбрасывается тот разряд, значение которого меньше. При этом для определяемой гистограммы f. (t)

{tmin (j), если отбрасывается последний разряд; tmin(j) + h, если отбрасывается первый разряд.

Параллельно накапливается величина&pv(j), равная сумме значений отброшенных разрядов.

РЭНСИТ | 2012 | ТОМ 4 | НОМЕР 2

140

Баришполец В.А.

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

Описанные действия повторяются до тех пор, пока не будет отброшено (b. — b) разрядов. После этого осуществляется нормировка гистограммы

f*(t) по формуле

p/(j) =

/V. J)

1 -AplU)

¥^¥ ,

где / — множество оставшихся после корректировки

разрядов гистограммы f ■ (t) .

Таким образом, в результате корректировки построена гистограмма fj (t) времени свершения события j. Разрядность гистограммы равна b.

Значения tmJj) и p£ ( j), £ = 1, b, записываются в j-ю строку массива В. Освобождается память, отведенная для размещения строки В

Оператор 19 проводит анализ на возможность окончания действия алгоритма. Если список событий С не просмотрен полностью (j ф и), осуществляется переход к оператору 20.

Операторы 20-25 осуществляют расчет полной вероятности реализации всех работ, исходящих из

события i, = j, и формирование гистограмм f j (t) времен их окончания следующим образом.

Оператор 21 выбирает т-й элемент массива Wp, j-й элемент массива W, такой, что j = i, и рассчитывает полную вероятность P(i j") реализации работы (i, Д)

по формуле Щ,.,J) = рД)р[(ДДУ

Затем оператор 22 формирует вспомогательную

гистограмму f j (t) времени окончания работы (i, jТ). Для этого выбирается т-я строка массива Bp и i-я строка массива B^ и рассчитываются значения разрядов гистограммы f *° (t) :

К° (ir, jT) =

=0,5Хpi(т)[p*-i(т,jT)+p/+i-£i(т,/=1,2b;

£ =1

* j S , • N

Значения p/ (iT, JT) заносятся в заранее

подготовленную строку В1.

Разрядность гистограммы f*j (t) вдвое превышает

разрядность гистограмм f,(t) и у (t) , поэтому оператор 23 осуществляет корректировку значений

fiz°z (t). Процедура корректировки совпадает с той, которая была описана выше при рассмотрении действия оператора 18. После завершения корректировки освобождается память, занятая под строку В1, значение P(i,j,) заносится в массив W, а значения fjin (iT, jT) и p*i(iT, jT),£ = 1, b — в i-ю строку массива B .

Если не для всех работ, исходящих из события

К = j , получены_ парамегры р(ф jТ), Ст(Д jv) и p£ (т J) ,£ = 1, ь , то с помощью операторов 24, 25, 20 осуществляется возврат к оператору 21. В противном случае оператор 26 увеличивает значение 2

события j на 1 и осуществляет возврат к оператору 8, после действия которого осуществляется процедура определения значения полной вероятности Pj + 1) и построения гистограммы f.+l (t) , т.е. определения

tmin(j +1), p£(j +1), £ = 1, b и т.д. пока не будут просмотрены все события сетевой модели (оператор 19).

После того, как список событий С просмотрен полностью, оператор 19 передает управление операторам 27, 28 и 29, в результате действия которых для каждого события j (j = 1, n) сетевой модели определяются оценки математического ожидания м У (J)] и дисперсии D [T(j)] времени его свершения Tj) и результаты выдаются на печать.

3. ЗАКЛЮЧЕНИЕ

Таким образом, рассмотренный алгоритм позволяет решить задачу анализа сетевой модели со стохастической структурой и случайной продолжительностью работ с использованием расчетных соотношений, полученных в [1].

ЛИТЕРАТУРА

1. Баришполец ВА. Сетевое моделирование стохастических процессов выполнения комплекса взаимосвязанных операций. РЭНСИТ, 2011, 3(2):49-73.

2. Поспелов ГС, Баришполец ВА, Новиков ЛС.

Программно-целевое планирование и управление созданием комплексов военной техники. М., Информтехника, 1990, 408 с.

Баришполец Виталий Анатольевич

д.т.н, проф, в.н.с, действительный член РАЕН, ВЦ им. А.А. Дородницына РАН 40, ул. Вавилова, 11933 Москва, Россия +7 499 135 2489, [email protected].

2 НОМЕР | ТОМ 4 | 2012 | РЭНСИТ

INFORMATION TECHNOLOGIES

141

ALGORITHMS FOR ANALYZING NETWORK MODELS WITH STOCHASTIC STRUCTURE

Barishpolets V.A.

Dorodnicyn A.A. Computing Centre of the Russian Academy of Sciences,

40, Vavilova str., 119333 Moscow, Russian Federation [email protected] 1 2

In this article we consider algorithms for the analysis of the network model with stochastic structure, rules of construction which the theoretical basis of the analysis set forth in [1]. The first algorithm is presented for obtaining estimates of probability characteristics of the network model with stochastic structure and random duration of work using statistical modeling. This algorithm is appropriate when the construction of a network model with stochastic structure of the event are used with wide logical possibilities for the input and output. The second is an algorithm for determining estimates of probability characteristics of the network model with stochastic structure and random duration of works by a numerical method that can be used when the construction of the network model uses no more than four kinds of events [1]. The basis of this algorithm is based on replacing the density distribution of the duration of each operation by the histogram.

Keywords: network model, algorithm, block diagram, algorithmic module, characteristics of the network model, approximating probability distribution, histogram, statistical series.

UDC 519.95

Bibliographies — 2 references Received 20.01.2012

RENSIT, 2012, 4(2):126-141_________________________________________________________________________

REFERENCES

1. Barishpolets VA. Setevoe modelirovanie stokhasticheskikh protsessov vypolneniya kompleksa vzaimosvyazannykh operatsiy [Network modeling of stochastic processes implementation of the complex of interrelated operations]. RENSIT, 2011, 3(2):49-73.

2. Pospelov GS, Barishpolets VA, Novikov LS.

Programmno-tselevoe planirovanie i upravlenie sogdaniem kompleksov voennoy tekhniki [Program-target planning and management of the creation of complexes of military equipment]. Moscow, Informtekhnika Publ., 1990, 408 p.

РЭНСИТ | 2012 | ТОМ 4 | НОМЕР 2

i Надоели баннеры? Вы всегда можете отключить рекламу.