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

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

CC BY
125
45
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЕТЕВОЙ ГРАФИК / СТОХАСТИЧНОСТЬ / ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ / ПРОГРАММИРОВАНИЕ

Аннотация научной статьи по математике, автор научной работы — Афанасьевский Леонид Борисович, Горин Александр Николаевич, Онуфриенко Валерий Васильевич

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

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

Похожие темы научных работ по математике , автор научной работы — Афанасьевский Леонид Борисович, Горин Александр Николаевич, Онуфриенко Валерий Васильевич

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

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

Афанасьевский Л.Б.1, Горин А.Н.2, Онуфриенко В.В.3

1 ВУНЦ ВВС «Военно-воздушная академия им. проф. Н.Е. Жуковского и Ю.А. Гагарина»,

г. Воронеж, к.т.н., доцент кафедры электрооборудования (и оптико-электронных систем), afleonid@yandex . ru

2 ВУНЦ ВВС «Военно-воздушная академия им. проф. Н.Е. Жуковского и Ю.А. Гагарина»,

г. Воронеж, к.т.н., старший преподаватель кафедры автоматизированных систем управления, algorin.algoral @mail.ru

3 ВУНЦ ВВС «Военно-воздушная академия им. проф. Н.Е. Жуковского и Ю.А. Гагарина»,

г. Воронеж, к.т.н., начальник кафедры электрооборудования (и оптико-электронных систем)

Анализ стохастических сетевых графиков методом имитационного моделирования

КЛЮЧЕВЫЕ СЛОВА

Сетевой график, стохастичность, имитационное моделирование, программирование.

АННОТАЦИЯ

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

При планировании выполнения сложных комплексов работ одной из актуальных задач является анализ рисков, которые можно характеризовать вероятностью Р выполнения работ за заданный директивный срок

_ р(Ткр < Тд), (1)

где Ткр — средняя продолжительность критического пути в сетевом графике, т.е. пути с наибольшей продолжительностью.

Такой подход обусловлен тем, что при планировании на практике наиболее реальной является стохастическая (вероятностная) сетевая модель, в которой время tij, затрачиваемое на осуществление операции aij, в общем случае является непрерывной случайной величиной, где i и j — номера вершин сетевого графика, соответствующие началу и концу операции.

Удовлетворительным вариантом плана считается, если значение вероятности находится в пределах [1,3]:

0,35 < Р(ТКр < Тд) < 0,65.

В выражении (1) продолжительность критического пути вычисляется по формуле [1]

T = у t-

кр ¿Л (2)

где tij — среднее время выполнения работы aj

L^ — критический путь (путь от начального к завершающему событию, имеющий максимальную продолжительность).

Средние продолжительности работ и их дисперсии определяют методом вероятностных оценок [1]

3 t min . 2 t max

t.. =3'tij + 2'tij , (3)

tij 5

=

/ ■ л 2

' tmax _ tmin ^ tij tij

5

V

(4)

, min , max

где t.j , t.j — оптимистическая и пессимистическая оценки

продолжительности работы ач, соответствующие благоприятным и неблагоприятным условиям проведения работ. Вероятность (1) определяют из выражения

P(TKp < Тд) = Ф'

/ — л Т _ Т

д кр ^р

(5)

где Ф*() — функция распределения вероятностей для нормального закона с нулевым математическим ожиданием и единичным среднеквадратичным отклонением;

стткр — среднеквадратичное отклонение для продолжительности критического пути, вычисляемое по формуле

^ 2

~ (6)

Расчеты по формулам (5) и (6) предполагают, что критический путь остается одним и тем же при случайных значениях Ъ), а меняется только его продолжительность.

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

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

• для данной структуры сетевого графика с помощью алгоритмических

датчиков случайных чисел формируются все случайные продолжительности работ ^ которые образуют реализацию сетевого графика;

• в полученной реализации сетевого графика определяется критический путь, для которого вычисляется продолжительность Ткр;

• описанная процедура повторяется достаточно большое количество раз N в результате получается ряд случайных значений для продолжительностей критических путей (в общем случае эти пути являются различными): Ткр1, Ткр2, Трз,..., Трн ;

• каждое значение полученного ряда Т^ сравнивается с директивным сроком выполнения плана Тд и вычисляется количество реализаций т, для которых выполняется неравенство Ткр < Тд;

• вычисляется приближенное значение вероятности выполнения плана в заданный срок в виде относительной частоты успешных испытаний

p(T < Т )-

i V кр д /

N

(7)

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

• выбор закона распределения вероятностей для времени выполнения работ и определение алгоритма генерирования случайных чисел, соответствующих этому закону;

• выбор способа размещения информации о параметрах сетевого графика в памяти.

Генерирование случайных значений времени выполнения работ.

С физической точки зрения для случайного времени выполнения работ можно использовать распределения вероятностей, аппроксимированные либо треугольником, либо двумя параболами (рис. 1).

Y=f(X)

y„

0

x

y =d x+f

J 1 1 1

Y=f(X)

\ /i\ y =d x+f ' /Л ;2 2 2

y =a x2+b x+c -'11 u 1

>X

0

x

x

y =a x2+b x+c

J2 ^ 2 2

► X

xx

min n

x

Рис. 1 — Треугольный и параболический законы распределения вероятностей На рис.1 переменные Xmin, Xn, Xmax считаются известными и имеют

■ min г

смысл минимально допустимого tij , регламентного (номинального,

y

n

... -ч .n .max

наиболее вероятного) t^ и максимально допустимого t ¿j значении

времени выполнения конкретноИ работы ач.

Для получения случайного числа Xi, i=1, 2, ...из совокупности случайных чисел, имеющих заданную функцию плотности распределения вероятностей f(X), необходимо решить относительно Xi следующее интегральное уравнение:

]f (X)dX = , (8)

—ю

т.е. определить такое значение Xi, при котором функция распределения F(Xi) равна £i, где — случайное число из равномерно распределенной в интервале (0; 1) случайной последовательности.

Для аналитического решения уравнения (8) необходимо получить формульное представление функции f(X).

Треугольное распределение характеризуется четырьмя неизвестными параметрами di, fi, d2, f2 (рис. 1), которые необходимо определить через известные значения Xmin, хш Xmax.

Два уравнения, связывающие искомые параметры с известными, могут быть записаны для точек Xmin, Xmax, в которых f(X)=0. Дополнительно для Xn можно записать

yi(Xn) — y2(Xn) = 0.

Четвертое уравнение получается на основе свойства плотности распределения вероятностей

"■и "max

J y1(x)dx + J y2(x)dx = 1.

Решая указанные четыре уравнения, получим для треугольного распределения:

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

У1 = RT.х-RT• хт1П, RT = 2

(хтах хт1п)(хп хт1п)

У 2 = QT • х - • хтах' QT = (---^---) •

(хтах хт1п)(хп хтах)

Для параболического распределения аппроксимирующие кривые на рис. 1 содержат шесть неизвестных параметров ах, Ьх, Сх, а2, Ь2, С2, которые необходимо определить через известные значения Хтш, хп, Хтах.

Для этого распределения четыре уравнения, связывающие искомые параметры с известными, будут теми же, что и для треугольного распределения.

Еще два уравнения можно записать для производных параболических функций в точке экстремума Хп:

¿У1(х)

dx

= 0, i = 1,2.

xn ' '

x

Решая указанные шесть уравнений, получим для параболического распределения:

а1 = Ь1 = -3хпР. С1 = 1,5хт1п (2хп - хт1п)Р.

а2 = Ь2 = -3хпЯ. с2 = 1,5хтах(2хп - хтах)Я.

Р = ,-^-г, Я = 1

(хп хт1п) (хт1п хтах) (хп хтах) (хт1п хтах)

При определении случайного числа Xi в соответствии с интегральным уравнением (8) будут иметь место два случая:

х

1) хт1п < х1 < хп. {У1(х)Их = 51.

хтх х- (9)

п А1

2) хп < х1 < хтах. | Уl(x)dx У2 (х^х =

хтт хп

Интегрируя (9) для треугольного распределения и проводя несложные преобразования, получим относительно простые формулы для вычисления случайных чисел x^

1)х,=-В^В2А-4А•С, А = ^ В = с = -Г.хтп-а,^-5.

2)х,=-В1 ^В12 -4А1^, А1 = В1 = Г2,

1 2А1 2 2

(х )2

С1 = 5 п -^2хп - -51.

Выбор между первой и второй формулами для генерирования случайной величины хь подчиненной треугольному распределению вероятностей, определяется величиной 5п при 0 < 51 < 5п используется первая формула, при 5п < 51 < 1 — вторая, где граничная величина 5п определяется из уравнения

хп

| У1(хЖ = 5 п .

хшш

Для параболического распределения при 51 <5п случайное число Х1 определяется из уравнения

3 3 2

х х х х

^ ^ + Ь1 "2 + °1х1 =51 + а1 ^З1^ + Ь^ + с1хтт, (10)

а для 51 ^ 5п — из уравнения

х3 х х3 х2

а2у + Ъ2у + с2х1 =51 + а^^З1 + + С2хп-5 п. (11)

а1 3 3 Ь 2 2 где ^ п = "3(хп - Хтт) + у(хп - xmin) + С1(хп - xmin) ■

Решение кубических уравнений (10), (11) в программе выполняется методом «золотого сечения», при этом процедура поиска прекращается, если погрешность решения 8 < е-(хтах - хтЬ ), где е < 0,001.

Структуры данных для сетевого графика. Структуру сетевого графика можно задать с помощью двух одномерных массивов Ind1 и Ind2, в которых следует указать индексы работ, являющиеся номерами связываемых вершин. Длина каждого из этих массивов должна быть равна количеству работ в сетевом графике. Исходная нумерация вершин графа может быть произвольной. В программе осуществляется автоматическая перенумерация вершин графа в соответствии с их рангами.

Кроме информации о структуре графа необходимо для каждой работы указать минимальное, номинальное и максимальное значения времени ее выполнения. Эти данные хранятся в двумерном массиве Т[пг,3], где пг — количество работ в сетевом графике.

Пример исходных данных для графа, представленного на рис. 2, приведен в табл. 1. Указанные исходные данные для сетевого графика записываются в файл текстового формата.

6

Рис. 2. Пример сетевого графика работ по техническому обслуживанию радиоэлектронного средства Перенумерация вершин графа. Для относительно сложных структур графов нумерация вершин вручную является довольно громоздкой процедурой и не гарантирует от ошибок. Критерием правильности нумерации является наличие связей только от меньших номеров к большим. В этом случае ненулевые элементы матрицы смежности будут находиться только над главной диагональю и, следовательно, известные методы поиска путей максимальной длины могут применяться корректно.

В программе предусмотрена автоматическая перенумерация вершин графа. В исходных данных номера вершин могут быть взяты произвольно, но при этом должны выполняться два условия:

° исходная вершина должна иметь номер 1;

° номера остальных вершин должны быть целыми положительными числами, выбранными из последовательности 2, 3, ..., тч где тм — количество вершин.

Таблица 1 — Исходные данные для сетевого графика

Номе р рабо ты Исходно е событие (началь ный индекс Ш1) Конечное событие (конечны й индекс Ш2) Минималь ное время выполнен ия работы Г111 дни, СЩ1]) Наиболее вероятное время выполнен ия работы е, дни, ГЩ2]] Максимальн ое время выполнения работы дни, (Т[1,3])

1 1 2 5 7 9

2 1 4 8 10 12

3 2 3 1 2 4

4 2 4 2 3 4

5 3 6 2 3 4

6 3 5 9 10 11

7 6 7 5 6 7

8 5 7 7 8 9

9 7 8 4 5 6

10 8 9 3 4 5

11 4 8 1 2 3

12 4 9 0,8 1 2

Процедура перенумерации предусматривает определение рангов всех событий (вершин графа) сетевого графика и задание больших номеров вершинам с большими рангами. Вершины с одинаковыми рангами нумеруются в произвольном порядке последовательными номерами.

Под рангом события понимается максимальное количество работ, которые должны быть завершены, чтобы наступило данное событие.

Рассмотрим процедуру перенумерации на примере графа, представленного на рис. 3. Около каждой вершины указан ее номер, заданный произвольно.

2

Рис. 3. Пример графа с произвольной нумерацией вершин Матрица смежности для этого графа будет иметь вид:

0 0 0 0 0 0 1 0 1л

001 000000

0 0 0 1 0 0 0 0 0

0 0 0 0 1 0 0 0 0

М = 000000000

0 0 1 0 0 0 0 0 0

0 0 0 1 1 0 0 0 0

0 1 0 0 0 1 0 0 0

Ч0 0 0 1 0 0 1 1 0^

Из рис. 3 легко визуально определить ранги Г всех событий Si, 1=1, 2, ..., ту где ту = 9.

Г1 Г2 Гз Г4 Г5 Гб Г7 Г8 Г9

0 3 4 5 6 3 2 2 1

Тогда в соответствии с определенными рангами исходные номера вершин будут заменены новыми в соответствии с рангами:

Старые номера 1 2 3 4 5 6 7 8 9

Новые номера 1 5 7 8 9 6 3 4 2

Граф с новыми номерами будет иметь вид, представленный на рис. 4.

5

Рис. 4. Граф с перенумерованными вершинами Матрица смежности для графа, изображенного на рис. 4, будет иметь следующий вид:

(01 1 00000 0^

0 0 1 1 0 0 0 1 0

0 0 0 0 0 0 0 1 1

0 0 0 0 1 1 0 0 0

0 0 0 0 0 0 1 0 0

0 0 0 0 0 0 1 0 0

0 0 0 0 0 0 0 1 0

0 0 0 0 0 0 0 0 1

0 0 0 0 0 0 0 0 0

Определение продолжительности критического пути в сетевом графике. Особенность рассматриваемой задачи заключается в том, что критический путь и его продолжительность должна определяться для каждой реализации имитационной модели. Это обусловлено тем, что случайные продолжительности работ могут иметь достаточно широкий разброс, что может приводить к изменению критического пути.

На основе информации о продолжительности критического пути принимается решение о возможности выполнения комплекса работ за заданный директивный срок Тд.

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

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

В программе используется вариант алгоритма поиска в глубину и включает в себя реализацию следующих основных действий:

• просмотр по очереди вершин сетевого графика, начиная со второй;

• определение максимальной продолжительности пути от исходной вершины до просматриваемой и сохранение найденного значения в элементе массива с номером, соответствующем номеру вершины. Сохраненное значение используется в процессе поиска максимальных путей для последующих просматриваемых вершин;

• определение продолжительности критического пути как пути с максимальной продолжительностью от исходной вершины до конечной.

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

директивного срока Для построения графика зависимости вероятности выполнения работ как функции директивного срока определяется диапазон изменения ^ в соответствии с правилом трех сигм [2]

r-pmin

ТКр - 3°

кр

r-pmax

Тд

Ткр +

кр

где Ткр

и

о Т

кр вычисляются по формулам (2)-(4), (6). Диапазон изменения Tд просматривается с некоторым шагом

"Тд = (Тдтах - ТДП1П) / n,

где n — количество точек для построения графика (n=40-60).

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

Результаты работы. В соответствии с изложенными теоретическими положениями разработана программа анализа стохастических сетевых моделей в среде Delphi, позволяющая сформировать график зависимости для вероятности выполнения работ как функцию директивного срока. Окно программы приведено на рис. 5.

Программа используется как для проведения практических расчетов в системе оперативно-календарного планирования ремонтов техники специального назначения, так и для обучения курсантов вопросам сетевого планирования.

шт

Н Рогт2_Ввод исходных данных

С Сетевой график из файла С Справка

Распределение для продолжительностей работ

С Равномерное С Треугольное С Параболическое

Количество реализаций

[8000 Я

Информация из файла DemoNeMlxt

N-N- по п/п Нач. индекс Конеч. инаекс Мин. время Вероят. время Макс, время

1 1 2 4 7 10

2 1 5 5 10 15

3 1 3 4 6 Э

4 2 5 1 3 5

5 2 4 1 2 4

6 3 10 3 7 1В

7 4 7 1 3 В

8 4 6 3 10 17

8 5 Э 1 2 3

10 5 10 0,8 1 2

11 6 8 2 8 14

12 7 8 4 6 В

13 8 3 4 5 В

14 8 10 1 4 7

Зависимость вероятности P(TkrcpeflH<Td) от Td Параболическое распределение

Рис. 5. Окно программы анализа сетевого графика для определения времени выполнения работ с заданной вероятностью

Литература

1. Фадин А.Г. Моделирование радиоэлектронных систем на ЭВМ. — Воронеж: ВИРЭ, 2000. — 493 с.

2. Пугачев В.С. Теория вероятностей и математическая статистика. — М.: Наука. Главная редакция физико-математической литературы, 1979. — 496 с.

3. Абрамов П.Б., Афанасьевский Л.Б., Горин А.Н., Фадин А.Г. Основы компьютерного проектирования и моделирования РЭС. Лабораторный практикум. Под редакцией профессора Фадина А.Г. — Воронеж: ВИРЭ, 2002. -268с.

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