Раздел III. Искусственный интеллект и нечеткие
системы
УДК 681.3
Л.С. Берштейн, МЛ. Князева РАЗРАБОТКА АЛГОРИТМА РАССТАНОВКИ МЕТОК ДЛЯ РЕШЕНИЯ ЗАДАЧИ СЕТЕВОГО ПЛАНИРОВАНИЯ В УСЛОВИЯХ НЕЧЕТКОГО КОМПРОМИССА ТИПА «ВРЕМЯ-ЗАТРАТЫ»*
Рассмотрена подзадача сетевого планирования в условиях нечеткого компромисса типа «время-затраты». Строится “прямая функция затрат ” для работ проекта, которая подразумевает описание сложной взаимозависимости между длительностью работ и требуемыми ресурсами. Производится оптимизация по критериям «время-затраты» с помощью потока в сети, разрабатывается алгоритм расстановки меток на сетевом графе, позволяющий итеративно вычислять последовательности более и более “дешевых” разрезов в текущей сети критических работ, с помощью которого снижается длительность выполнения проекта в целом.
Поток в сети; разрез; расстановка меток; нечеткие множества.
L.S. Bershtein, M.V. Knyazeva THE DEVELOPMENT OF LABELLING ALGORITHM FOR FUZZY «TIME-COST» TRADE-OFF FOR THE PROJECT-SCHEDULING PROBLEM
The sub problem of fuzzy“time-cost” trade-off is considered. A “direct activity cost function” is used, which is assumed to describe the complex interaction between the activity duration and the required resources. The optimization subject to criterion “time-cost” is performed with a help of flow in the net-project graph, the algorithm of labeling is examined up to the stated problem, the essence of proposed labeling algorithm is to iteratively calculate a sequence of less and less “cheap” cuts in the current network of critical activities by which the project duration is reduced.
Flow in the network; cut; labeling process.
Анализ компромиссов типа «время-затраты» приводит нас к выводу, что большинство работ, с которыми приходится иметь дело в реальной жизни, могут быть выполнены за меньшее (или большее) время путем увеличения (или уменьшения) количества приписанных для их выполнения ресурсов, таких как рабочая
, , . , длительное время обычно подразумевает сниженные затраты на выполнение этих работ. Мы предполагаем, что наличие ресурсов является бесконечной величиной в плане их количества и, и учитываем их при формировании затрат на выполнение проекта. Для этого используется “прямая функция затрат” на работы, которая подразумевает описание сложной взаимозависимости между длительностью работ и требуемыми ресурсами [2]. Некоторые параметры модели задаются в нечетком виде в связи с тем, что не всегда можно точно определить уровень ресурсов, длительности работ и затраты, необходимые для выполнения проекта.
* Работа выполнена при поддержке РФФИ (проект № 11-01-00011a).
Длительности работ ограничены снизу так называемой нечеткой критической длительностью (соответствующей максимуму ресурсов, выделенных для ), ( -
ветствующей наиболее эффективному размещению ресурсов) [1].
При рассмотрении нашей задачи будем считать, что имеется 1 тип невозоб-,
типа “конец-начало”, дп - нечеткий конечный срок выполнения проекта, прямая
функция затрат является непрерывной.
При этом минимизируется наличие ресурсов, предписываемых для выполнения работ (т.е. минимизация общих затрат проекта) для удовлетворения нечетким конечным срокам выполнения проекта. Для каждой работы, нечеткая нормальная
ui -
ния работы i. Минимальная длительность работы i обозначается как нечеткая
критическая (аварийная) длительность l . А соответствующие ей нечеткие пря-~ l
ci ( ) [1].
допущение заключается в том, что снижение длительности работы выливается в увеличение прямых затрат на работу. Заменим конечный срок завершения проекта
Оп параметром T, который может варьироваться между нижней границей T = (sn /y; = ^), соответствующей минимальной длительности проекта (т.е.
),
выполнения, и верхней границей T = (sn /у; = ui), соответствующей максимальной длительности проекта (т.е. длине критического пути), когда работы имеют нормальную длительность.
Если мы обозначим работы проекта как (;, j)g E, и допустим, что ytj обозначают переменную решения, представляющую собой нечеткую длительность работы (;, j), u{j представляет собой нечеткую нормальную длительность работы, L представляет нечеткую критическую длительность, ai; представляет собой
У У
предельную стоимость снижения длительности работы (i, j) на 1 единицу вре-, , может быть представлена как:
max z = Е a¡y.
(i,;>E j j
Обозначим через fj поток на дуге (i, j) и пусть atj - пропускная способ-(i, j) , g ij -
, hij -
у
ток в превышении пропускной способности ai; .
У
Сформулируем алгоритм следующим образом:
Шаг 1: Определяется приемлемость Т < Т.
Все длительности работ устанавливаются как у] = и] . Узел 1 отмечается
~ 2
(« ,0). Проверяются все дуги, выходящие из узла 1 на отношение 51 ■ = 0, где
'~ч1 = ~ _ ~1 + , и ~] 2 = ~ _ ~ + ~ . (1)
~ 2
Любой узел 1, для которого ?11 = 0, отмечается как («,1). В целом, для любого узла I, отмеченного как = «, проверяются все узлы ] , связанные с
~ 2
ним, как 51 ] = 0 и отмечаются подобные узлы ] как (~,Г). Расстановка меток
продолжается до тех пор, пока конечный узел п не будет отмечен, или п будет отмечен как ^. Случай, когда конечный узел не может быть отмечен, означает,
Т , 2. ,
когда конечный узел помечается как , значение Т невозможно уменьшить, и
. . п
как , это значит, существует поточно-увеличивающийся путь, т.е. путь из первичного узла В конечный, ЧЬИ прямые дуги имеют ПОТОК 0 < < а,■, и чьи об-
] ч
ратные дуги - это дуги, на которых поток повернут в обратном направлении, и этот поток - положительный поток, который в то же время является критическим путем. Если каждая дуга на таком пути имеет длительность, равную критической
длительности I] , ее длительность не может быть уменьшена. Это может случиться, только если и] = I] для критических работ, лежащих на критическом пути. Отсутствие пути с увеличивающимся потоком, где каждое у] = I] в комбинации
с проверкой на 51 ]2 = 0, показывает возможность уменьшения длительности .
Однако этот путь с увеличивающимся потоком не обязательно должен существовать для проверки, является ли Т < Т приемлемым, или нет. Прямая проверка условия, что Т < Т , будет достаточной. Однако увеличивающийся поток служит подготовкой для продолжения алгоритма.
Шаг 2: Расстановка меток
Принимаем первоначально все длительности работ, как ~] = ич], и все по-~ 1 ~ 2
токи как /] = /] = 0. Отмечаем узел 1 как («>,0). Для любого отмеченного узла I, проверяем все неотмеченные узлы ], связанные с ним как:
~11 = 0 И ¿11 < ~] , (2)
или
~1 ]2=°.
Если выполняется условие (2), узел ] отмечается как (д,г), где д . = ш1п(д.,г..)и ~.. = а.. - ~1 . Если выполняется условие (3), то узел ] ] г г] г] г] г] отмечается как (д, г) • Может также случится обратная расстановка меток, которая пускает количество потока в дуге (г, ]) в обратном направлении для последующих действий. Предположим, что дуга (г, ]) направлена как г ^ ] и этот
узел г не по мечен, хотя узел ] отмечен как д . • Проверяем тогда, если ~1 = о и
] г]
71 > 0, то отмечаем узел г как (д., ]), где 1] I
д. = шт(~ .,7.1), (4)
г ] г]
2 ~2
и если = 0 и Лг > 0, то узел г отмечается как:
г] г]
(шт(~],/]), ] ). (5)
, 3-
событий: (а) будет отмечен конечный узел п с определенным ~ ; (Ь) будет отме-
п
чен конечный узел П С ~ = тс ; (с) не будет отмечен конечный узел. Если случит-п
( ), -
, д~ • -
п
ные способности, стираем все метки за исключением тех, у которых тс и возвра-
• (Ь)
,
коротким из возможных. Если (с) событие, то продолжаем шаг 3.
Шаг 3: Изменение времен и выполнения узлов.
Определяем разрез С , который отделяет набор отмеченных узлов от набора неотмеченных, т.е. набор дуг таких, что для каждой дуги один конечный узел находится в наборе отмеченных узлов, а другой конечный узел находится в наборе . С 2 - ( -
тельно исчерпывающих) подмножества дуг, которые мы обозначим, как С1 и С2, и определим следующим образом: С1 = {(i, ]) : г'отмечено, ] не отмечено;
~к < 0}, с2 ={(г,]): г не отмечено, ] отменено; ~к > 0}. В этих определениях
г] 2 и
не учитывается значение ~к = 0. Пусть а = шш(-~к) и а = ш1п(~к), и
г 1 с1 [] 2 с/
установим а = ш1п(^,а ). Для всех узлов ] , которые не были отмечены, изменяем сроки выполнения узла с {~ } на {~ - ~ }. Отбрасываем все метки, отличные от тс и возвращаемся к процессу расстановки меток.
На основании результатов, полученных при решении задачи с помощью представленного алгоритма, то есть вычисленных значений Т_, Т , Т строится график
( . 1).
Рис. 1. График зависимости прямых затрат проекта от времени на а -срезе
Цель рассмотренного алгоритма сводится к итеративному вычислению последовательности более и более “дешевых” разрезов в текущей сети критических работ, с помощью которого снижается нечеткая длительность выполнения проекта. Каждый этап расстановки метки конечному узлу на кривой затрат соответству-
“ ”.
БИБЛИОГРЛФИЧЕСКИЙ СПИСОК
1. Майника Э. Алгоритмы оптимизации на сетях и графах: Пер. с англ. - М.: Мир, 1981. - 323 с.
2. Хемди А. Таха. Введение в исследование операций. - 7-е изд.: Пер. с англ. - М.: Издательский дом «Вильямс», 2005. - 912 с.
Статью рекомендовал к опубликованию д.т.н., профессор В.П. Карелин.
Берштейн Леонид Самойлович
Технологический институт федерального государственного автономного образовательного учреждения высшего профессионального образования «Южный федеральный университет» в г. Таганроге.
E-mail: [email protected].
347928, г. Таганрог, пер. Некрасовский, 44.
Тел.: 88634371743.
Кафедра прикладной информатики; д.т.н.; профессор; заведующий кафедрой.
Князева Маргарита Владимировна E-mail: [email protected].
Тел.: +79185190979.
Кафедра прикладной информатики; аспирант.
Bershtein Leonid Samojlovich
Taganrog Institute of Technology - Federal State-Owned Autonomy Educational Establishment of Higher Vocational Education “Southern Federal University”.
44, Nekrasovskiy, Taganrog, 347928, Russia.
Phone: +78634371743.
The Department of Applied Informatics; Dr. of Eng. Sc.; Professor; Chief of Department.
Knyazeva Margarita Vladinirovna
E-mail: [email protected].
Phone: +79185190979.
The Department of Applied Informatics; Post-graduate Student.