а—
УДК 519.854
ФОРМИРОВАНИЕ ОПТИМАЛЬНОГО ПОРТФЕЛЯ 03АИМ03А0ИСИМЫХ ПРОЕКТОВ И ЕГО ОПТИМИЗАЦИЯ ПО ВРЕМЕНИ
М.В. Недовесов, З.Г. Руденко
Рассмотрен подход к решению задачи формирования оптимального портфеля взаимозависимых проектов. Предложены алгоритмы формирования оптимального портфеля взаимозависимых по эффекту проектов и его оптимизации по времени, основанные на методах сетевого программирования. Приведен пример решения частного случая указанной задачи.
Ключевые слова: дискретная оптимизация, математическое программирование, управление портфелем проектов, управление проектами.
ВВЕДЕНИЕ
Инвестиционная деятельность предприятий — один из факторов инновационного развития и экономического роста. Увеличение объемов инвестиций и повышение эффективности инвестиционной деятельности обеспечивают экономический рост в долгосрочной перспективе, успешное социально-экономическое развитие общества и повышение эффективности производства.
На практике многие предприятия осуществляют инвестиционную деятельность в форме финансирования проектов. Для эффективного распределения и оптимального планирования ресурсов необходимо учитывать взаимосвязи между проектами. Проекты называются взаимосвязанными, если эффект или затраты одного проекта напрямую зависят от результатов реализации другого.
Среди моделей формирования портфеля проектов выделяют три основных класса: детерминированные модели, модели стохастического программирования и модели принятия решений при наличии элементов неопределенности [1].
В данной работе речь идет о детерминированных моделях, в свою очередь, подразделяющихся на линейные, нелинейные, динамические и модели графических структур. Достаточно широко распространены линейные модели. В них целевая функция и ограничения линейны по управляющим переменным. Наиболее известными являются следующие линейные модели [1]: статическая
модель Дина, одноступенчатая модель Альбаха, многоступенчатая модель Хакса и Вайнгартнера, расширенная модель Ферстнера — Хенна и модель с возможностями выбора установок и дезинвестиций Якоба. В нелинейных моделях зависимости между постоянными и переменными факторами описываются нелинейными функциями. Для таких моделей нет единого метода решения порождаемых ими задач, и большое распространение получили прямые методы, основанные на итеративных процессах вычисления и сравнения значений оптимизируемых функций (семейство градиентных методов, метод наискорейшего спуска, методы дробления шага, метод Гаусса—Зейделя) [2]. В основу динамических моделей положена динамическая оптимизация, основанная на принципе оптимальности и уравнении Беллмана. В качестве достоинств такого рода моделей выделяют: безразличие метода динамического программирования к виду и способу задания целевой функции и ограничений, а также возможность анализа решений на чувствительность к изменению начального состояния моделируемых систем [2]. Кроме того, на практике часто возникает необходимость решения задач, связанных с формированием портфеля, с помощью графических структур. Методы их построения и анализа изучаются в рамках теории графов.
Цель данного исследования заключается в разработке подхода к управлению портфелем проектов с учетом различного рода взаимозависимостей между ними. Такой подход сводится к решению ряда задач дискретной оптимизации, которые ха-
растеризуются тем, что число допустимых решений экспоненциально растет с ростом размерности задач. Для их решения в данной работе применен метод, основанный на методах дихотомического и сетевого программирования [3, 4].
1. ЗАДАЧА ОПТИМИЗАЦИИ ПОРТФЕЛЯ ПРОЕКТОВ С ОГРАНИЧЕНИЕМ НА ОБЩИЕ ЗАТРАТЫ
Рассмотрим портфель проектов, эффект от реализации которых зависит от набора финансируемых проектов. Примером такого набора могут служить проект разработки нового товара в рамках существующей линейки продуктов и проект рекламной кампании, направленной на увеличение объемов продаж линейки продуктов. Предполагается, что эффекты от реализации связанных проектов комплементарные, т. е. изменение эффекта от реализации одного проекта ведет к изменению эффекта от реализации другого в том же направлении.
Для описания взаимосвязей между проектами введем п х п-матрицу взаимозависимости [аТ].
Значение элемента аТ. 1 0 показывает дополнительный эффект, который получает проект / от успешной реализации проекта у. Если аТ. = 0, то реализация проекта / не зависит от успешной реализации проекта у. Диагональные элементы а/ / = у, определяют минимальный эффект, получаемый от реализации /-го проекта (независимо от выполнения остальных проектов). Таким образом, эффект
от реализации проекта / равен X а/ где А — мно-
У е А У
жество всех реализованных проектов.
Рассмотрим п проектов, со следующими характеристиками: с1 — затраты, требуемые для выполнения проекта /, Р — ограничение на общий эффект, получаемый от реализации выбранных проектов. Задача формирования портфеля проектов может быть представлена в следующем виде:
X
с- х
{xi},
: 1, П
Ш1П,
п ( п
1х,.
X х I X А /У
I = 1 7 = 1 у
х е {0; 1},
1 Р,
1, п.
(1)
(2)
(3)
Построим сетевое представление задачи (1)—(3), т. е. общее представление целевой функции и ограничений в виде определенной суперпозиции более простых функций. Для этого представим ограничения (2) в виде сети следующим образом: в
Рис. 1. Сетевое представление задачи (1)—(3)
вершины первого слоя помещаем переменные {хД, / = 1, п; в вершины второго слоя — функции {к}:
к(х) = х X а// , / =1, п; на третьем, последнем,
V = 1 У
слое находится единственная вершина С, соответствующая выходу из сети (рис. 1). Число дуг, входящих в вершину / второго слоя соответствует числу ненулевых элементов матрицы [А/ в строке /.
Представим каждый коэффициент с целевой функции задачи (1)—(3) в виде следующей суммы (разбиения):
к
X * / / = 1
/ = 1, п,
(4)
где к — число ребер, выходящих из вершины х1 первого слоя сетевого представления функции ограничений задачи (1)—(3). Далее будет показано, что для каждого такого разбиения может быть получена нижняя оценка целевой функции (1) при ограничениях (2), (3). Формально разбиение (4) может быть сделано различными способами, поэтому для улучшения нижней оценки функции (1) целесообразно поставить задачу определения такого разбиения коэффициентов с на слагаемые, при котором соответствующая нижняя оценка максимальна (двойственная задача).
Для удобства вычислений введем п коэффициентов * для каждого с, где (п — к) коэффициентов равны нулю (вершины ку. второго слоя сетевого представления, у которых отсутствуют входящие ребра из вершины /).
с
п
1
Тогда для каждой вершины к{ второго слоя будет решаться следующая задача оптимизации:
рим вектор г — линейную комбинацию векторов г и г: г = а г + (1 — а) г, 0 < а < 1. Имеем:
£ гх {х},} — 1, п ) — 1 '
шт,
(5)
( п Л
Чх) = х X } 1 р. (6)
V = 1 ;
Так как х. е {0, 1}, то задача (5), (6) сводится к задаче:
х г
х
}=1
} } {х}} = 1, п
шт,
к I(х) = X }1 Рр }—1
(7)
(8)
где X Р т р.
г — 1
Пусть р) — значение целевой функции задачи (7), (8) в ее оптимальном решении для каждого разбиения (4) коэффициентов с. на слагаемые
1 к
, ..., . Тогда на последнем (третьем) слое сетевого представления задачи (1)—(3) будет решаться следующая задача:
X Чг> р)
г = 1
, . . -¡— * шт,
{Р,}, г = 1, п
X Р 1 р.
г = 1
(9)
(10)
В общем случае значение целевой функции за-
дачи (9), (10) Ф(г, Р), где г = {г}} в оптимальном решении, является оценкой снизу целевой функции задачи (1)—(3).
Двойственная задача: определить г:
шах Ф(г, Р),
X г; } — 1
} = с, I = 1, п .
(11) (12)
Теорема. Ф(г, Р) — вогнутая функция.
Доказательство. Пусть векторы г и г — решения двойственной задачи (11), (12). Рассмот-
Ф(г, Р) = ш1п <! X ш1п
{Р,} {х,}
X аг}хг + (1 - а)г\.
■г = 1
1
1 ш1п 1 X
{р,} 1 д
шт
X а г
} х +
{х,}, р,{г \ }/ = 1
+ шт X (1 — а) г
{х,-}> Р,{% },- — 1
х
1
1
шт 1 X шт X а г
{р,} I , {х,} ^ } _ 1 г — 1
} х,. +
{р,}
+ ш1п 1 X ш1п X (1 — а)
{Рл ^ {хл^ ' 1
, -¡х, > =
} — 1 — 1 = аФ(г , Р) + (1 - а)ф(г, Р). Следовательно,
Уа е [0, 1]
Ф(аг + (1 - а)г, Р) 1 аФ(г , Р) + (1 - а)Ф(г, Р). А значит, функция Ф(г, Р) — вогнутая.
2. ЗАДАЧА ОПТИМИЗАЦИИ ПОРТФЕЛЯ ПРОЕКТОВ ПО ВРЕМЕНИ
Для решения задачи оптимизации портфеля проектов по времени воспользуемся алгоритмом, описанным в работе [5]. Представим портфель взаимозависимых по времени выполнения проектов в виде сетевого графика. Вершины соответствуют проектам портфеля, дуги — рекомендательным зависимостям между ними. Под зависимостями между проектами будем понимать определенные ограничения на порядок их выполнения: наличие зависимости (/, у) подразумевает начало выполнения проекта у после завершения проекта I. Такая зависимость носит рекомендательный характер, т. е. может нарушаться, однако в этом случае время выполнения проекта у увеличивается.
Введем следующие обозначения: тг — базовая
длительность проекта; а.. 1 0 — увеличение про}
должительности проекта у, если зависимость (/, у) нарушается.
Задача заключается в определении календарного плана с минимальной общей продолжительностью. Введем переменные усоответствующие
}
зависимостям (/', у): у.. = 0, если зависимость (/, у)
п
п
п
п
п
п
п
п
п
п
п
п
п
г
п
нарушается, и y.. = 1 — иначе. Теперь задачу фор-
j
мально можно записать следующим образом:
max t.-=—min,
i = 1, n {ytj}, i = 1, n, j = 1, n
t. = т. + max t, j j i: yj = 1 г
T = Tj + Z j - yp,
т. > 0, i = 1, n , a.. l 0, 1, n ,
l IJ
ylj = {0; 1}, i = 1, n, j = 1, n.
Для решения может быть применен следующий алгоритм.
Шаг 1. Присваиваем всем проектам начальные индексы X. = т, i = 1, n .
Общий шаг. Рассматриваем каждый проект. Обозначим через Q. — множество проектов, предшествующих проекту i, т. е. в сетевом графике существует дуга (j, i) для j е Q.. Обозначим через m. — число дуг, заходящих в вершину i (число элементов множества Q). Рассмотрим все подмножества из m. элементов (их число равно 2 ). Для каждого Rl — подмножества Ql — вычисляем
t(R) = Ti + max Xj. + £ a
J e Ri J j TR1 J
Определяем новый индекс вершины i
X = min t.(R.).
Ri
Алгоритм заканчивается, когда все индексы установятся.
Конечность алгоритма следует из того, что последовательность индексов для каждого i возрастающая. С другой стороны, индексы i ограничены сверху величиной
m Ti + X j j e Qi
а минимальное приращение — снизу величиной
min(min X, min a).
j J i,j J
Исходя из построения последовательности индексов полученные на выходе алгоритма их значения определяют минимальные сроки завершения проектов, поскольку на каждом шаге значения X. представляют собой нижние оценки сроков завершения соответствующих проектов.
Заметим, что в результате последовательного применения общего шага ко всем вершинам сетевого графика (всего — п вершин) устанавливается, по крайней мере, один новый индекс (это следует из того, что в финальном сетевом графике портфеля проектов отсутствуют контуры). Следовательно, для завершения алгоритма, необходимо приме-
п
нить общий шаг не более чем X / = п(п + 1)/2 раз,
I = 1
выполняя на каждом шаге перебор 21 подмножеств, где / — максимальная степень вхождения вершины в исходном сетевом графике (/ < п). Таким образом, алгоритм заканчивается не более,
чем за On(n + 1)2' 1 операций, где O — некоторая постоянная величина.
3. ПРИМЕР
Рассмотрим пять проектов со следующей матрицей взаимозависимостей между ними:
' 1 0 1 0 2 А
[dj =
0 10 2 0 1 0 4 0 0
0 2 0 3 0
1 0 0 0 1
Затраты на выполнение проектов составляют (c1; c2, c3, c4, c5) = (6, 2, 4, 3, 2). Ограничение на общий эффект от портфеля P = 11. Решим предложенным способом следующую задачу:
(6x, + 2x, + 4x, + 3x. + 2x) -=*- min, (13)
12345 (Xj), i = 1,5
x1(1 + x3 + 2x5) + x2(1 + 2x4) + x3(x1 + 4) +
+ x4(2x2 + 3) + x5(x1 + 1) l 11, (14)
x,. =
1, если проект i выполняется, 0 — иначе; i = 1, 5.
(15)
В вершинах второго слоя сетевого представления задачи (13)—(15) будут решаться следующие задачи оптимизации:
1) (2x1 + x3 + x5) ^ min, 2) (2x2 + x4) ^ min,
x1(1 + x3 + 2x5) l p1; x2(1 + 2x4) l p2;
3) (2x1 + x3) ^ min, 4) (2x2 + x4) ^ min, 5) (2x1 + x5) ^ min,
x3(x1 + 4) l p3; x4(2x2 + 3) l p4; x5(x1 + 1) l p5;
P + P2 + P + P4 + P l 5.
В табл. 1 приведены решения данных задач в зависимости от значения параметра р. Полужирным выделены наборы (р, x1, x2, x3, x4, x5), входящие в состав оптимального решения задачи (13)—(15).
Решение (x1, x2, x3, x4, x5) = (1, 0, 1, 0, 1) является общим решением пяти приведенных задач и удовлетворяет ограничению (14), следовательно, оно является решением исходной задачи (13)—(15).
n
1
Таблица 1
Решения задач оптимизации на втором слое сетевого представления
Задача Рг Х1 Х2 Х3 Х4 Х5
Более 4 — — — — —
4 1 (0; 1) 1 (0; 1) 1
1 1 3 1 (0; 1) 0 (0; 1) 1
2 1 (0; 1) 0 (0; 1) (0; 1)
1 1 (0; 1) 0 (0; 1) 0
0 0 (0; 1) 0 (0; 1) 0
Более 3 — — — — —
3 (0; 1) 1 (0; 1) 1 (0; 1)
2 2 (0; 1) 1 (0; 1) 1 (0; 1)
1 (0; 1) 1 (0; 1) 0 (0; 1)
0 (0; 1) 0 (0; 1) 0 (0; 1)
Более 5 — — — — —
5 1 (0; 1) 1 (0; 1) (0; 1)
4 0 (0; 1) 1 (0; 1) (0; 1)
3 3 0 (0; 1) 1 (0; 1) (0; 1)
2 0 (0; 1) 1 (0; 1) (0; 1)
1 0 (0; 1) 1 (0; 1) (0; 1)
0 0 (0; 1) 0 (0; 1) (0; 1)
Более 5 — — — — —
5 (0; 1) 1 (0; 1) 1 (0; 1)
4 (0; 1) 1 (0; 1) 1 (0; 1)
4 3 (0; 1) 0 (0; 1) 1 (0; 1)
2 (0; 1) 0 (0; 1) 1 (0; 1)
1 (0; 1) 0 (0; 1) 1 (0; 1)
0 (0; 1) 0 (0; 1) 0 (0;1)
Более 2 — — — — —
5 5 2 1 (0; 1) (0; 1) (0; 1) 1
1 0 (0; 1) (0; 1) (0; 1) 1
0 0 (0; 1) (0; 1) (0; 1) 0
Шаг 1. Присваиваем всем проектам начальные индексы X, = т,, I = 1, п (табл. 2):
Таблица 2
Начальные индексы вершин на первом шаге
1 1 3 5
X, 2 5 4
Для решения задачи оптимизации полученного портфеля проектов по времени необходимо задать соответствующие параметры. Пусть базовые длительности проектов и их взаимосвязи заданы сетевым графиком рис. 2. Вершины соответствуют рассматриваемым проектам, дуги — рекомендательным зависимостям между ними.
Рис. 2. Пример сетевого графика с рекомендательными зависимостями
Рассматриваем вершину 3: в нее заходят дуги (1, 3) и (5, 3).
Таблица 3
Возможные реализации проектов на первом шаге
(1, 3) (3, 5) тах X, + V а И ■ о / ^ /1 ] е 0 / ё Т. + ^Х/ + ^ а/7 ] е 0 / ё Я;
0 0 11 16
0 1 8 13
1 0 9 14
1 1 4 9
Все возможные реализации проектов с учетом этих дуг представлены в табл. 3. В столбцах, соответствующих дугам, 1 указывает на то, что дуга учитывается, 0 — не учитывается. Таким образом, на данном этапе выгоднее учитывать обе зависимости. Новый индекс для третьей вершины равен Х3 = 9. На этом шаг 1 алгоритма закончен.
Шаги 2—4. Аналогично производим расчеты для шагов 2, 3 и 4. Результаты приведены в табл. 4 и 5.
Таблица 4
Возможные реализации проектов
т. + тах X+
Шаг Вер- Входящие тах X / + V а/1 1 ]е 0 /
шина дуги ] е 0 / /ёЯ; / + V ал
/ ё Я /
(1, 5) (3, 5) — —
0 0 16 20
2 5 0 1 14 18
1 0 13 17
1 1 9 13
(1, 3) (5, 3) — —
0 0 11 16
3 3 0 1 17 22
1 0 9 14
1 1 13 18
(1, 5) (3, 5) — —
0 0 16 20
4 5 0 1 19 23
1 0 13 17
1 1 14 18
(1, 3) (5, 3) — —
0 0 11 16
5 3 0 1 21 26
1 0 9 14
1 1 17 22
Таблица 5
Значения индексов для каждого проекта
Шаг 5. На данном шаге индексы установлены, и алгоритм закончен. Из табл. 4 следует, что в оптимальной реализации учитываются зависимости (1, 3) и (1, 5) и не учитываются зависимости (3, 5) и (5, 3). Сетевой график, соответствующий оптимальной реализации приведен на рис. 3.
Рис. 3. Сетевой график оптимальной реализации портфеля проектов
Итак, минимальное время реализации портфеля 17. Продолжительность проекта 3 увеличилась на 7, а проекта 5 — на 11.
ЗАКЛЮЧЕНИЕ
Рассмотрен подход к оптимизации портфеля взаимозависимых в части доходов проектов, основанный на применении метода сетевого програм-
мирования, и предложен алгоритм формирования оптимального по времени портфеля проектов. Перспективными представляются следующие направления дальнейших исследований:
— рассмотрение алгоритма решения двойственной задачи;
— анализ качества полученной оценки снизу целевой функции задачи формирования портфеля проектов;
— применение сетевых методов для решения задачи формирования оптимального портфеля ресурсно-взаимозависимых проектов и построения плана реализации такого портфеля.
ЛИТЕРАТУРА
1. Матвеев А.А., Новиков Д.А., Цветков А.В. Модели и методы управления портфелями проектов. — М.: ПМСОФТ, 2005. — 206 с.
2. Царев В.В. Оценка экономической эффективности инвестиций. — СПб.: Питер, 2004. — 464 с.
3. Бурков В.Н., Буркова И.В. Метод дихотомического программирования // Теория активных систем / Тр. между-нар. науч.-практ. конф. (17—19 ноября 2003 г., Москва, ИПУ РАН). — М., 2003. — Т. 1. — С. 25—26.
4. Бурков В.Н., Буркова И.В. Метод сетевого программирования // Проблемы управления. — 2005. — № 3. — С. 25—27.
5. Математические основы управления проектами / С.А. Бар-калов, В.Н. Бурков, И.В. Буркова и др. — М.: Высшая школа, 2005.
Статья представлена к публикации членом редколлегии
В.Н. Бурковым.
Недовесов Максим Васильевич — аспирант,
Руденко Зоя Геннадьевна — аспирант,
Институт проблем управления им. В.А. Трапезникова РАН,
г. Москва.
Шаг Проект 1 Проект 3 Проект 5
2 2 9 4
3 2 9 13
4 2 14 13
5 2 14 17
С 24 по 26 октября 2012 г. в Москве состоится VI международная конференция «Параллельные вычисления и задачи управления» (РАСО'2012). Конференция проводится Институтом проблем управления им. В.А. Трапезникова РАН при поддержке Отделения энергетики, машиностроения, механики и процессов управления РАН, Российского национального комитета по автоматическому управлению, Научного совета РАН по теории управляемых процессов и автоматизации, Российского фонда фундаментальных исследований, ЗАО «Оракл Компьютерное Оборудование» и компании «РОЙ Интернэшнл Кон-салтанси, Инк».
Научные направления конференции
• Математические модели и вычислительные методы распараллеливания вычислений
• Технологии программирования параллельных и распределенных систем
• Параллельные и распределенные вычисления в задачах моделирования, идентификации, анализа, управления и оптимизации
• Проблемы интеграции данных, программ, процессов и систем в глобальной компьютерной среде
• Мультиагентная парадигма организации параллельных вычислений и распределенной обработки информации
• Надежные вычисления и защита информации в распределенных компьютерных средах
• Проекты вычислительных и управляющих систем с параллельной и/или распределенной обработкой информации
• Архитектуры распределенных вычислительных и управляющих систем в компьютерных сетях
Более подробную информацию можно найти на сайте http://paco.ipu.ru.