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

Алгоритм вычесления нечёткого критического пути - Федорова И.В

..pdf
Скачиваний:
40
Добавлен:
24.05.2014
Размер:
103.08 Кб
Скачать

АЛГОРИТМ ВЫЧИСЛЕНИЯ НЕЧЁТКОГО КРИТИЧЕСКОГО ПУТИ

Фёдорова И. В.1

(Воронежский государственный архитектурно строи- тельный университет, Воронеж)

FEDOROVA_I@list.ru

Рассмотрим проект, состоящий из набора операций (работ), представленный в виде сети (U, D), |U| = n без контуров с правиль- ной нумерацией вершин. Среди множества вершин выделены

входы сети U0 и выходы сети Un . При этом дуги сети соответст-

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

операции (i; j) задана её продолжительность tij . Методы описания

и исследования сетевых графиков изучаются в теории календарно- сетевого планирования и управления [2,3,4].

Предположим, что выполнение комплекса операций (проекта) начинается в нулевой момент времени. Обозначим Ui- множест-

во событий (вершин) j сети, для которых существует дуга ( j, i); Ui+

- множество событий (вершин) j сети, для которых существует дуга

( i, j).

В [1] рассмотрен нечёткий случай, при котором относительно продолжительностей операций имеется нечёткая информация,

заданная функциями принадлежности μij (·) : Â+ ® [0;1] нечёт-

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

В [1] для функций принадлежности нечёткого раннего времени свершения события i U - μi(t) , нечёткой длины критического пути μT (T ) ,нечёткого позднего времени свершения события i U - μi+ (t) , нечёткой длины максимального пути из вершины i -

1 Научный руководитель д.т.н., профессор Баркалов С. А.

μimax (t) и нечётких полных резервов времени - μi t (t) были при-

ведены следующие формулы (ранние времена свершения событий - входов сети предполагались чёткими и равными нулю):

(1) μi(t) =

max

min[min((μ ji (t ji );μj (t j ))];

{(t j ,t ji ), j Ui|max (t j +t ji )=t} j Ui

 

 

 

 

 

(2) μT (T ) =

 

j Ui

min[μ j (t j )];

 

 

 

 

 

max

 

 

 

 

 

{(t j ), j U n |max t j =T j U n

 

 

 

 

 

(3) μi+ (t) =

 

j Un

 

 

 

 

 

 

max

min[μT (T );μimax (t j )], где

 

 

 

{(T ,t j )|T t j =t}

 

 

 

 

 

 

(4) μmax (t) =

 

max

min[min(μ

 

(t );μmax (t

 

))];

i

{(t j ,tij ), j Ui+|max (t j +tij )=t} j Ui+

ij

ij

j

j

 

 

 

+

 

 

 

 

 

 

 

 

j Ui

 

 

 

 

 

 

(5) μi t (t) =

max

min[μi+ (yi ,); μi(ti )].

 

 

 

 

{( yi ,ti )|yi ti =t}

 

 

 

 

 

 

Во всех

формулах

предполагается,

 

что

ti ³ 0,tij ³ 0 для

"i ÎU, j ÎUi+ .

Введём обозначение Ωi

= {(t j ,t ji ), j ÎUi| max(t j + t ji ) = t}.

 

 

j Ui

 

(6) max min[min(μ ji (t ji ); μ j

(t j ))] ³ min[min(μ ji (t ji ); μj (t j ))]

для

Ωi

j Ui

j Ui

 

"(t j ,t ji ) Î Ωi.

Рассмотрим

Aj = min(μ ji (t¢¢ji );μ

"j ÎUi.

 

 

вектор

(t′′,t′′ )

такой,

что

 

 

 

j ji

 

 

j

(t¢¢j

)) = max[min(μ ji (t ji );μ j

(t j ))]

для

 

 

t j +t ji t

 

 

 

 

Если (t¢¢,t¢¢ ) Ï Ω

, то есть t

′′ + t′′ < t для "j ÎU ,

то постро-

 

j

ji

 

 

i

 

 

 

 

~

j

 

ji

 

 

 

 

 

 

i

 

 

 

 

 

им по вектору

(t′′,t′′ )

вектор

 

~

) Î Ω

. Для этого найдём

t

'

и

(t

, t

ji

i

l

 

 

j

 

ji

 

 

 

 

 

j

 

 

 

 

 

 

 

 

 

 

 

 

t'

такие, что B= min(μ

li

(t' ); μ

(t

' )) = max[min(μ

li

(t

li

);μ (t

))] =

 

li

 

 

 

 

 

li

 

l

l

 

 

tl +tli =t

 

 

l

l

 

 

 

 

= max max[min(μ

 

 

 

); μ (t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ji

(t

ji

j

))]. Ясно, что

B £ A .

 

 

 

 

 

 

 

 

j Uit j +t ji =t

 

 

 

j

 

 

 

 

 

 

 

 

 

l

 

 

 

 

 

 

 

 

~

 

 

~

 

 

 

 

~

 

~

 

 

~ ~

 

 

 

 

 

 

Полагаем

 

 

 

 

 

 

'

'

 

 

Ес-

 

tj = t¢j¢, tji = t¢ji¢

 

j ¹ l; tl

= tl

, tli

= tli .

(tj

, tji ) Î Ωi .

1

2

ли B ³ min Aj , то

 

 

 

 

 

 

 

 

 

 

 

 

j Ui

 

~

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

min min(μ ji (tji ); μ j

(tj ))

= min[Aj , j ÎUi \ {l}; B] = min Aj ;

j Ui

 

 

 

~

 

~

 

 

 

 

 

 

 

 

j Ui

 

 

 

 

)) = B .

 

 

 

 

 

иначе min min(μ ji (tji ); μ j

(tj

 

 

 

 

 

j Ui

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Поэтому,

так

как

 

неравенство

 

(6)

выполняется и для

~ ~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(tj , tji ) Î Ωi , то

 

 

 

 

 

 

 

 

 

 

 

 

(7) max min[min(μ ji (t ji ); μ j (t j ))] ³

 

 

 

 

 

Ωi

j Ui

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

émax max[min(μ ji (t ji );μ j

(t j ))]ù

 

 

ê j Ui

t j +t ji =t

 

 

 

 

 

 

 

 

 

ú

 

³ minêmin max[min(μ

 

(t

 

);μ

(t

 

))]

ú .

 

 

ê j Ui

t j +t ji t

 

 

ji

 

ji

j

 

j

 

ú

 

 

ë

 

 

 

 

 

 

 

 

 

 

 

 

û

 

С другой стороны,

 

 

 

 

 

 

 

 

 

 

 

min[min(μ ji (t ji ); μ j (t j ))] £ min(μ ji (t ji );μ j (t j ))

для

j Ui

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

"j ÎUi,"(t j ,t ji ) Î Ωi.

 

 

 

 

 

 

 

 

 

 

 

Þ min[min(μ ji (t ji ); μ j (t j ))] £ max[min(μ ji (t ji );μ j

(t j )) ]

 

j Ui

 

 

 

 

 

 

 

 

t j +t ji t

 

 

 

"j ÎUi.Þ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(8) max min[min(μ ji (t ji ); μ j (t j ))] £

 

 

 

 

 

Ωi

j Ui

 

 

 

(t ji );μ j

 

 

 

 

 

 

£ min max[min(μ ji

(t j ))].

 

 

 

 

j Uit j +t ji t

 

 

 

 

 

 

 

 

 

 

 

 

 

Пусть для произвольного вектора (t¢j ,t¢ji ) Î Ωi, l

это номер,

для которого t

+ t

= t . Тогда:

 

 

 

 

 

 

 

 

li

 

l

 

 

 

 

 

 

 

 

 

 

 

 

min[min(μ ji (t ji ); μ j (t j ))] £ min(μli (tli¢ ); μl(tl¢)) £

 

j Ui

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

£ max[min(μli (tli ); μl(tl

))] £ max max[min(μ ji (t ji );μj (t j )) .

tli +tl =t

 

 

 

 

 

 

 

j Uit ji +t j =t

 

 

 

 

Þ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(9) max min[min(μ ji (t ji ); μ j (t j ))] £

 

 

 

 

 

Ωi

j Ui

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

£ max max[min(μ ji (t ji

);μ j (t j ))]

 

 

 

 

j Ui

t j +t ji =t

 

 

 

 

 

 

 

 

 

 

(8),(9) Þ

 

 

 

 

 

 

 

 

 

 

(10) max min[min(μ ji (t ji ); μ j (t j ))] £

 

 

 

 

Ωi

j Ui

 

 

 

 

 

 

 

 

 

 

 

 

émax max[min(μ ji (t ji ); μ j (t j

))]ù

 

£ min

ê j Uit j +t ji =t

 

 

 

 

 

 

 

 

ú

 

êmin max[min(μ

 

(t

 

); μ (t

 

))] ú

 

 

 

 

 

 

 

 

 

ê j Uit j +t ji t

ji

 

ji

 

j

 

j

 

ú

 

 

 

ë

 

 

 

 

 

 

 

 

û

 

(7),(10) Þ

 

 

 

 

 

 

 

 

 

 

max min[min(μ ji (t ji ); μ j (t j ))] =

 

 

 

 

Ωi

j Ui

 

 

 

 

 

 

 

 

 

 

 

 

émax max[min(μ ji (t ji ); μ j (t j ))]ù

 

= min

ê j Uit j +t ji =t

 

 

 

 

 

 

 

 

ú

.

êmin max[min(μ

 

(t

 

 

);μ

(t

 

))]ú

 

 

 

 

 

 

 

 

 

ê j Uit j +t ji t

ji

 

ji

 

j

 

j

ú

 

 

 

ë

 

 

 

 

 

 

 

 

û

 

Таким образом формула (1) может быть записана в следующем виде:

 

 

 

émax max[min(μ ji (t ji ); μ j

(t j

))]ù

 

 

(t) = min

ê j Ui

t j +t ji =t

 

 

 

 

 

 

 

 

 

 

 

 

ú

=

(11) μi

êmin max[min(μ

 

(t

 

); μ (t

 

))]ú

 

 

 

 

ê j Ui

t j +t ji t

ji

 

 

ji

 

j

 

 

j

 

 

 

ú

 

 

 

 

 

ë

 

 

 

 

 

 

 

 

 

 

 

 

 

 

û

 

 

 

émax max{min(μ ji (t - t j ); μ j

(t j ))}

 

 

 

ù

 

 

ê

j Ui

t j t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ú

= minê

min max{min(

max (μ

 

(t

 

));μ

(t

 

 

ú .

 

 

 

 

 

 

 

 

))}

 

 

ê j Ui

t j t

 

t ji [0;tt j ]

 

ji

 

 

ji

 

 

j

 

 

 

j

 

ú

 

 

ë

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

û

Формулы (2) - (5) принимают следующий вид:

 

(12) μ

T

(T ) = minémax μ

(t); min max μ (t

j

)ù

;

 

 

 

 

 

 

ê

j

j Un

t j t

 

 

j

 

ú

 

 

 

 

 

 

 

 

ë j Un

 

 

 

 

 

 

û

 

 

 

 

(13) μi+ (t) = max min[μT (T ); μimax (T - t)],

T

где после преобразований аналогичных преобразованиям для формулы (1),

4

 

 

 

émax max{min(μij (t - t j ); μ maxj (t j ))};

ù

 

 

max

(t) = min

ê j Ui+ t j t

 

 

 

 

 

 

ú

;

 

(14) μi

 

êmin max{min( max (μ

 

(t

 

)); μ max (t

)}ú

 

 

 

 

ê j Ui+ t j t

tij [0;tt j ]

ij

 

ij

 

j

j ú

 

 

 

 

 

ë

 

 

 

 

 

 

û

 

 

(15) μi

t (t) = max min[μi+ (t + ti , ); μi(ti )].

 

 

 

 

 

 

 

 

 

 

ti

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

émax Bj (t)ù

 

В формулах (11), (14)

при вычислении

minê

j

 

ú

для

 

 

 

 

 

 

 

 

êmin Aj (t) ú

 

 

 

 

 

 

 

 

 

ë

j

 

û

 

каждого допустимого j при фиксированном t происходит оптими- зация по одной переменной при нахождении Bj (t) и оптимизация

по двум переменным при нахождении Aj (t) , что позволяет реали-

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

μi(t) и μimax (t) .

Величину μi t (0) Î[0;1] можно интерпретировать как степень

принадлежности i-го события критическому пути, i U. Тогда при

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

Рассмотрим иллюстративный пример нахождения функции принадлежности нечёткого критического пути для сети, представ- ленной на рис. 1.

 

μ13 (t) = 0.9 ×

 

 

1

 

 

+ 0.5 ×

1

 

 

 

;

 

 

 

 

1+ (t - 6)4

 

 

1 + (t - 11)4

 

 

 

 

μ02 (t) = 0.9 ×

é

 

1

 

 

 

+

 

1

 

ù

;

 

 

 

 

 

ê

 

 

 

 

 

 

 

 

ú

 

 

 

 

 

 

+ (t - 2)

4

 

1+

(t - 6)

4

 

 

 

 

 

 

 

ë1

 

 

 

 

 

û

 

 

 

 

 

 

для остальных дуг μij (t) =

 

1

 

 

 

~

 

~

 

 

 

~

 

4

, где t01

= 1;

t12

= 4 ;

~

 

 

 

 

 

 

 

 

1 + (t - tij )

 

 

 

 

 

 

 

= 3 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t23

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

3

 

2

 

Рис. 1

На рис. 2 - 3 изображены графики функций

μmax (t) = max max[min(μ (t ); μ(t ))];

j Uit j +t ji =t ji ji j j

μmin (t) = min max[min(μ (t );μ (t ))] для вершины i=2, а на

j Uit j +t ji t ji ji j j

рис. 4 - 5 для вершины i=3. На рис. 6 - 7 приведены графики μ2(t)

иμ3(t) соответственно. В данном случае μT (t) = μ3(t) .

μmax (t)

t

Рис. 2

5

6

μmin (t)

μ2(t)

t

t

Рис. 3

Рис. 6

μmax (t)

μ3(t)

t

t

Рис. 4

Рис. 7

 

μmin (t)

Литература

 

1. БАЛАШОВ В. Г., ЗАЛОЖНЕВ А. Ю., ИВАЩЕНКО А. А.,

 

НОВИКОВ Д. А. Механизмы управления организационными про-

 

ектами. М.: ИПУ РАН, 2003. – 84 с.

 

2. БУРКОВ В. Н., ЗАЛОЖНЕВ А.Ю., НОВИКОВ Д. А. Теория

 

графов в управлении организационными системами. М.: Синтег,

 

2001.-124 с.

t

3. БУРКОВ В. Н., ЛАНДА Б. Д., ЛОВЕЦКИЙ С. Е., ТЕЙМАН

 

А. И., ЧЕРНЫШЕВ В. Н. Сетевые модели и задачи управления. М.:

Рис. 5

Советское радио, 1967.-144 c.

7

8

4.ДЕБАЗЕЙ Г., КОФМАН А. Сетевые методы планирования

иих применение. Изд во «Прогресс», 1968. –182 с.

9

Соседние файлы в предмете Экономика