Устойчивость решения в задаче о критическом пути с нечёткими параметрами

УДК 519.876.3

УСТОЙЧИВОСТЬ РЕШЕНИЯ В ЗАДАЧЕ О КРИТИЧЕСКОМ ПУТИ С НЕЧЁТКИМИ

ПАРАМЕТРАМИ

Я.А. Воронцов, М.Г. Матвеев

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

Ключевые слова: критический путь, устойчивость, модифицированные нечёткие числа, Ь-преобразование

Рассмотрим задачу поиска критического пути в сетевом графике О = (V, Е), \у\ = п , |е| = т с

нечёткими оценками продолжительности работ. Решению этой задачи посвящено множество отечественных и зарубежных публикаций, например, [1-3], однако получаемые в них результаты обладают следующими существенными недостатками:

1) громоздкость вычислений - в [1] используется принцип обобщения Заде для получения функций принадлежности времён начала и завершения операций. В [2] и [3] используется сложный механизм вычисления степени критичности критического пути с использованием функций ранжирования Ягера;

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

3) вводимые алгебры для нечётких чисел приводят к неоправданному расширению носителя результата, которое затрудняет практическое его применение. Кроме того, большинство алгебр нарушает выполнение естественных математических отношений (например, для нечёткого числа г не будет выполняться равенство ^ - ^ = 0 ).

В [1-4] отмечается, что задача поиска критического пути в графе О может быть решена как алгоритмически, так и с использованием методов линейного программирования. Алгоритм поиска критического пути подробно описан в [4, 5] и представляет собой алгоритм Дейкстры с обращённой функцией релаксации. Однако такой подход осложняет проведение исследования задачи, т.к. отсутствует аналитическая зависимость результата от входных данных. Поэтому в рамках

Воронцов Ярослав Александрович - ВГУ, аспирант, e-mail: voroncov_ya@sc.vsu.ru

Матвеев Михаил Григорьевич - ВГУ, д-р техн. наук, профессор, e-mail: mgmatveev@yandex.ru

данной статьи интерес представляет решение задачи поиска критического пути как задачи линейного программирования.

Для постановки задачи поиска критического пути в условиях нечёткой неопределённости рассмотрим известную постановку чёткой задачи из [6]. Пусть T - время выполнения проекта; каждой дуге графа e , j = 1, m сопоставлена длительность

работы т ; каждой вершине v , t = 1, n сопоставлено время наступления события / . Требуется решить задачу

fT = t - t ^ min

У П — .

уtj - ? - т; s = i,m

Решением задачи (1) является вектор времён t = ,гг...tR}, называемый календарным планом, а также соответствующее вектору t множество критических операций ^ с {s} с нулевым резервом времени: v^ е ^ г -1 - ts = 0 .

Пусть в задаче (1) для временных оценок длительностей операций используются нечёткие треугольные числа f , задаваемые в виде троек

(а-, m , h ) , где m- - мода числа, а а -, - 0 -

величины левого и правого коэффициентов нечёткости соответственно. Для упрощения постановки и решения задачи воспользуемся алгеброй нечётких треугольных чисел, основанной на L -преобразовании а -интервалов нечёткого числа[7].В рамках данного подхода исходная нечёткая задача рассматривается и решается как совокупность чётких при различных а е [0;1], после

чего полученные на каждом а -уровне чёткие значения объединяются в итоговый нечёткий результат. Схожие подходы (получение чётких оценок и финальная фаззификация результата) применяются в [2, 3].

Для выбора чёткого значения на каждом из а -интервалов используется линейное параметрическое преобразование L [7]

L(т (а)) = т (а, А) = Atl(а) + (1 — A)tr (а ),

где

\TL(a) = m~ —а- + a~ а j ' v '

^г* (а ) = m- + b- - b- а - функции, обратные к левой и правой ветвям функции принадлежности (л-) числа f

соответственно. Параметр Ле[ 0;1] позволяет изменять положение точкиF(а, Л) в рамках а -интервала.

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

[T(а, Л) = t - t ^ min

У —

Уtj - tt ^^ (а, Л), Vs = 1, m.

Для каждого нечёткого числа параметр Л выбирается индивидуально согласно

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

полученное в [7] значение параметра я*

! + b

при

котором информативность числа изменяется минимально - неизменными остаются мода и

Ь - а

степень асимметрии числа AS =

2

[7].

Результатом решения задачи (2) на конкретном а -уровне является вектор времён t(а) = {/0(а,Я),...,tn(а,Я)} , который является календарным планом а -уровня, а также множество критических операций ^(а)с{я} .Нечеткость оценок т. обусловливает проблему устойчивости решений задачи (2) в смысле [8]. Для неустойчивой задачи на различных а -уровнях решения соответствуют различным критическим путям, и возникает проблема объединения разнородных а -уровневых решений ^ (а ) .Очевидно, что задача

будет устойчива, если критический путь не меняется при переходе с одного а -уровня на другой. Поэтому в данной ситуации целесообразно исследовать задачу (2) на устойчивость и выяснить, при каких значениях параметра Я критический путь одинаков на всех а -уровнях.

Поскольку (2) является задачей линейного программирования, для уточнения понятия устойчивости воспользуемся определениям, данными в [8]. Задача линейного программирования Г max {c, x^ [ Ax < b

которая имеет решение x', называется устойчивой, если существует такое 80 > 0, что для любых s е [0;8 ] задача

jmax

называемая возмущённой, где для параметров справедливы неравенства

имеет решение х*

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

Задача

3 x такое, что

'(S)-

. По своей сути, это

определение устойчивости эквивалентно определению устойчивости по Ляпунову.

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

качестве метрики сходства решений целесообразно выбрать мощность симметрической разности двух таких множеств на различных а -уровнях. Очевидно, что если для Vа1 ,а2 е [0;1]; а * аг

^ (а) = (а2), то мощность симметрической разности этих множеств (а) л(а) равна нулю, т.е. критические пути на разных а -уровнях совпадают.

Таким образом, задачу поиска критического пути на а -уровне будем считать устойчивой по решению, если она устойчива и если

Va1 ,а2 е [ 0;1]; а, * а ^ К) А ^ (а) = 0, (4) т.е. на всех а -уровнях критический путь не изменяется и проходит по одним и тем же дугам.

Стоит отметить, что условие устойчивости выполняется автоматически, поскольку в сетевом графике всегда существует хотя бы один путь от истока к стоку, следовательно, независимо от величин весов рёбер всегда существует хотя бы один путь максимальной длины [5].

В работе [7] показывается, что преобразование Ь позволяет сохранять форму треугольных чисел при любых арифметических операциях над ними. Кроме того, в [7] показано, что для восстановления функции принадлежности модифицированного числа достаточно знать его значения при а = 1 и а = 0 . В связи с этим достаточно для получения итогового нечёткого времени выполнения проекта Т решить задачу (2) при указанных значениях а, после чего восстановить линейную функцию принадлежности /лт по двум точкам.

a

Решение задачи (2) при а = 1 даёт активные ограничения на критические операции. Очевидно, что для того, чтобы критический путь не изменился при а , отличных от 1, необходимо зафиксировать эти ограничения в виде строгих равенств. Поэтому при а = 0 нужно решить видоизменённую задачу

fT(а, Л) = tn - tj ^ min,

' ty - t =T

У^ - ? -Т (а, Л ), Vs £ S1 (1), s = 1, m.

Однако решение задачи (5) без дополнительных ограничений на параметры Л

приводит к тому, что v s = 1, m Л = 1. Это означает, что значения Г(а,Л) «сбиваются» в сторону минимума, т.е. левых ветвей функций принадлежности. Для устранения данного нежелательного эффекта введём ограничения на Л

Критерии (6), которые позволяют минимизировать потери экспертной информации, и критерий задачи (5) противоречивы. Кроме того, эти функции относятся к классу выпуклых. Возникает задача векторной оптимизации, для решения которой воспользуемся свёрткой критериев

T "

s = 1

Семантика модифицированной целевой функции (7) следующая: производится поиск времени выполнения проекта таким образом, чтобы коэффициенты Л для каждой из нечётких временных оценок позволили максимально сохранить информативность нечёткого числа после преобразования L . Безразмерный коэффициент у используется для приведения значений свёртки к одному порядку со значением разности tn - ^. В качестве значения у целесообразно брать величину порядка разности максимального и минимального чётких времён ттах - тШп.

В итоге имеем следующий алгоритм решения задачи (2) с получением устойчивого решения.

1. Решается невозмущённая задача (2) при а = 1. Поскольку преобразование L не меняет моды [6], данное решение будет соответствовать модифицированному решению (т (1), t (1), S (1)).

Фиксируется множество S (1) операций, образующих критический путь.

2. Решение S (1) даёт активные ограничения

на критические операции. Для фиксации критического пути при всех а, отличных от 1, в

для Vs е S (а ) нестрогие неравенства меняются на

равенства. Данный шаг позволяет выполнить условие устойчивости по решению (4).

3. Решается возмущённая задача линейного программирования с целевой функцией (7) при

а = 0

Т'(а, Л) = tn - ^ -Л) ^

s = 1

ty - t = Г (а, Л), Vs е S (1) |t, - / -Г (а, Л), V s £ S (1), s = 1, m

l

В результате данного шага получается решение

{т (0),/(0), х).

4. Решение исходной задачи представляет из

себя тройку где Л - вектор параметров

преобразования I. Функция принадлежности

общего времени Т восстанавливается по значениям

Т (О ) и Т (1). либо число Т оставляется в

модифицированном виде [7].

Рассмотрим алгоритм решения на следующем примере. Пусть дан проект, заданный следующей таблицей.

Операция Предшествую- Длительность

щие операции а m b

A - 1 2 3

B - 2 4 1

C A 4 7 2

D B 2 6 3

E B 1 10 2

F C 1 5 1

G D,E 4 5 1

H F,G 2 4 3

Требуется определить критические операции проекта и общее нечёткое время выполнения проекта.

Вначале выпишем Ь -преобразование для каждого нечёткого числа:

к (а) = хл («+ 1 ) + (1 )(5 - 3«).

~(а) = Лв (2 + 2а ) + (1 - Хв )(5-а),

:(а) = Лс (3 + 4а) + (1 - Лс )(9 - 2а),

~(а) = Лв (4 + 2а) + (1 - Лв )(9 - 3а),

~(а) = ЛЕ (9 + а ) + (1 -Ле )(12 - 2а),

~(а) = Л„ (4 + а ) + (1 - Лр )(6-а),

~(а) = Ла (1 + 4а ) + (1 -Ло )(6-а),

(а ) = Лн (2 + 2а ) + (1 -Лн )(7 - 3а ).

Соответствующий сетевой график изображён на рисунке. Из него видно, что для корректного отображения зависимостей между операциями введена фиктивная операция Ф1 длительностью 0 дней.

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

Для решения задачи линейного программирования воспользуемся надстройкой «Поиск решения» в Microsoft Excel. Решая задачу (2) с учётом (9) при а = 1, получаем:

T (1) = 23, t (1 ) = { 0;7;4;14;14;14;19;23} , S1 (1 ) = { B, E, G, H } .

После этого решаем задачу (8), которая с учётом (9) при а = 0 принимает вид

T ( 0 ) = t8 -

1 + 7 2 (Л, " Л ) ^ min;

5=1

- t, * 5 - 4ЛЛ,

- A = 5 - 3ЛЯ ,

- 12 > 9 - 6 Лс,

- 13 > 9 - Л ,

- t3 = 12 - 3Лг,

- t4 > 0,

- 16 > 6 - 2Л,

- 15 = 6 - 5Л0,

- и = 7 - 5 Л .

Значение

выбирается порядка 10. В

результате решения задачи (10) получаем, что

Т* (0) = 20,83, г(0) = {0; 4,23; 2,96;13,92; 13,92; 9,97;15,79; 20,67}, ^ (0 )= {В, Е, О, Н }, Я = {0,25; 0,68; 0,67; 0,4; 0,35; 0,5; 0,83; 0;43}. В итоге имеем критический путь 51 = { В, Е, О, Н} и нечёткое время выполнения

Т (а) = 20,67 + 2,33а .

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

При этом достаточно решить только две чёткие задачи при а = 1 и а = 0 , в рамках первой из которых фиксируются критические операции, а при решении второй находятся коэффициенты Яз

преобразования L .

Работа выполнена при поддержке гранта РФФИ № 13-08-00532.

Литература

1. Механизмы управления организационными проектами [Текст] / В.Г. Балашов, А.Ю. Заложнев, А.А. Иващенко, Д.А. Новиков. -М.: ИПУ РАН, 2003. - 84 с.

2. Usha Maduri, K. Fuzzy Linear Programming model for critical path analysis [Электронный ресурс] / K. Usha Maduri, Pardha B.Sarahdi, N. Ravi Shankar // International journal of contemporary mathematical sciences. - 2013. - Vol. 8, № 2.- P. 93-116. - Режим доступа: http://www.m-hikari.com/ijcms/ijcms-2013/1 -4-2013/ravishankarIJCMS 1 -4-2013.pdf.

3. Chen S.-P. A simple approach to fuzzy critical path analysis in project networks [Электронный ресурс] / S.-P. Chen, Y.-J. Hsueh // Applied Mathematical Modelling. - 2008.-№ 32. - P. 1289-1297.- Режим доступа: http://www.sciencedirect.com/science/article/pii/S0307904X07 001047

4. Таха, Х. А. Введение в исследование операций [Текст] / Х. А. Таха. -7-е изд. - М.: Издательский дом «Вильямс», 2005. - 912 с.

5. Алгоритмы: построение и анализ[Текст] / Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн.- 2-е изд. -М.: Издательский дом «Вильямс», 2005. - 1296 с.

6. Косоруков, О.А. Исследование операций: учебник [Текст] / О.А. Косоруков, А.В. Мищенко. - М.: Издательство «Экзамен», 2003. - 448 с.

7. Воронцов, Я.А. Алгебраические операции с нечёткими LR-числами с использованием преобразования L [Текст] / Я.А. Воронцов, М.Г. Матвеев // Программная инженерия.- 2014. - №8/2014.- С. 23-29.

8. Ашманов, С.А. Линейное программирование [Текст] / С.А. Ашманов.- М.: Наука, главная редакция физико-математической литературы, 1981. - 340с.

9. Подвальный, С.Л. Многоальтернативные системы: обзор и классификация [Текст] / С.Л Подвальный // Системы управления и информационные технологии. -2012. - Т. 48, № 2. - С. 4-13.

10. Podval'Ny S.L., Intelligent modeling systems: design principles [Text] / S.L. Podval'Ny, T.M. Ledeneva // Automation and Remote Control. - 2013. - Т. 74, № 7. - С. 1201-1210.

11. Акинин, А.А. Сравнительная оценка вычислительных алгоритмов полиномиального преобразования булевых функций [Текст] / А.А. Акинин, С.Л. Подвальный // Вестник Воронежского государственного технического университета. - 2013. - Т. 9, № 1. - С. 31-35.

Воронежский государственный университет

STABILITY OF SOLUTION IN A NETWORK PLANNING AND DESIGN PROBLEM

WITH FUZZY PARAMETERS Ya.A. Vorontsov, M.G. Matveev

This article reviews the network planning and design problem in a project network with fuzzy time estimates. Authors suggest a solution method, which is based on the usage of modified fuzzy numbers. They also formulate the definitions of stability and stability of solution for the suggested method and propose an algorithm, which allows obtaining stable solutions of fuzzy network planning and designing problems. The proposed algorithm is illustrated on an example Key words: critical path, stability, modified fuzzy numbers, L-transform

7