Алгоритм вычесления нечёткого критического пути - Федорова И.В
..pdfАЛГОРИТМ ВЫЧИСЛЕНИЯ НЕЧЁТКОГО КРИТИЧЕСКОГО ПУТИ
Фёдорова И. В.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 Ui− t 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 Ui− t 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 Ui− t 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 Ui− t j +t ji =t |
|
|
|
|
|
|
|
|
ú |
|
|
êmin max[min(μ |
|
(t |
|
); μ − (t |
|
))] ú |
|
|||||
|
|
|
|
|
|
|||||||
|
|
ê j Ui− t 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 Ui− t j +t ji =t |
|
|
|
|
|
|
|
|
ú |
. |
|
êmin max[min(μ |
|
(t |
|
|
);μ |
− (t |
|
))]ú |
||||
|
|
|
|
|
|
|
||||||
|
|
ê j Ui− t 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;t−t 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;t−t 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 Ui− t j +t ji =t ji ji j j
μmin (t) = min max[min(μ (t );μ − (t ))] для вершины i=2, а на
j Ui− t 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