УДК: 330.46
МНОГОКРИТЕРИАЛЬНАЯ ОПТИМИЗАЦИЯ ИНВЕСТИЦИОННОЙ ДЕЯТЕЛЬНОСТИ
Моисеев Г.В., к.т.н.
Финансовый университет при Правительстве Российской Федерации, Москва, Россия
E-mail: [email protected]
Аннотация. Рассматривается задача оптимизации выбора проектов для инвестиционных вложений по критериям максимальной доходности и минимального срокам окупаемости. Предлагается уникальный метод решения задачи путем использования методологии классической «задачи о рюкзаке», применённой к двухкритериальному выбору содержимого «рюкзака». Метод основан на сведении к однокритериальной задаче путем линейной свертки критериев с переменным параметром сворачивания. Для каждого значения параметра свертки решается задача линейного программирования эвристическим методом на основе «жадного» алгоритма. Полученное множество паретооптимальных решений, состоящее из решений «задачи о рюкзаке» для каждого значения параметра свертки, предлагается лицу, принимающему решение для выбора одного из вариантов инвестирования проектов. Для рекомендации единственного решения применяется «метод идеальной точки». Задача содержит пример, иллюстрирующий алгоритм работы метода для наилучшего понимая. Приводится методика решения задачи в виде словесного алгоритма, облегающего постановку задачи для программиста с целью проведения вычислительных экспериментов и применения метода для решения практических задач.
Ключевые слова: инвестирование, доходность, окупаемость, многокритериальная оптимизация, линейная свертка, задача о рюкзаке, жадный алгоритм, идеальная точка.
MULTICRITERIAL OPTIMIZATION OF INVESTMENT ACTIVITY
Moiseev G. V., Ph.D. tehn. sciences
Financial University under the Government of the Russian Federation, Moscow, Russia
Email: [email protected]
Annotation. The problem of optimizing the selection of projects for investment investments by the criteria of maximum profitability and minimum payback periods is considered. A unique method for solving the problem is proposed by using the methodology of the classic "backpack problem" applied to the two-criteria selection of the contents of the "backpack". The method is based on a reduction to a single-criterion problem by linearly convolving criteria with a variable folding parameter. For each value of the convolution parameter, the linear programming problem is solved with the heuristic method based on the "greedy" algorithm. The resulting set of Pareto-optimal solutions, consisting of solutions to the "backpack problem" for each value of the convolution parameter, is offered to the decision maker for choosing one of the investment options for projects. To recommend a single solution, the "ideal point method" is used. The task contains an example illustrating the algorithm of the method for best understanding. A method for solving the problem is presented in the form of a verbal algorithm that facilitates the statement of the problem for the programmer in order to conduct computational experiments and apply the method to solve practical problems.
Keywords: investment, profitability, payback, multicriteria optimization, linear convolution, backpack problem, greedy algorithm, ideal point.
Постановка задачи
Пусть имеется некоторая инвестиционная организация (банк, фонд), которая имеет объем средств в млн. руб. для вложения в проекты. Будем считать, что инвестор выбрал для вложения этих средств п проектов.
Каждый 7-й проект характеризуется следующими показателями:
• объем а7 вкладываемых средств (млн.
руб.);
• доходность (прибыль) С7 от реализации проекта (млн. руб.);
• время окупаемости проекта ^7 (мес.).
При этом имеет место условие:
п
X а > ь, (1)
г=1
которое означает, что имеющего у инвестора объема средств Ь не достаточно для вложения во все п отобранных проектов.
Требуется выбрать конкретные проекты, обеспечивающие инвестору при имеющемся объеме вкладываемых средств максимальное
значение прибыли и минимальные сроки реализации.
Для решения этой задачи предлагается использовать формализм классической «задачи о рюкзаке» [1] и паретооптимальный подход к решению многокритериальных задач [2].
Введем булевские переменные Х1, Х2,..., хп. Каждая из этих переменных может принимать значения 0 или 1:
X е {0; 1}, / = (М). (2)
Это означает, что, если переменная х, = 1, то для реализации выбирается 7-й проект, в противном случае такой выбор не производится. На переменные (2) накладывается ограничение вида:
Z -b,
(3)
i= 1
которое означает, что вложения в выбранные проекты не должны превышать объем средств, имеющихся у инвестора.
Общая прибыль от вложенных средств представляется критерием вида:
C = Z cixi
c,x, ^ max.
4)
i=1
Общие затраты времени окупаемости вложенных средств описываются следующим критерием:
T = Z t
iX ^ min.
X,
(5)
Однокритериальные задачи (2), (3), (4) и (2), (3), (5) являются классическими «задачами о рюкзаке», для которых к настоящему времени разработано значительное число точных и эвристических численных методов [2].
К числу первых относятся такие достаточно трудоемкие численные методы, как метод динамического программирования [3], метод «ветвей и границ» и метод «отсечений» [1]. Поэтому при решении практических задач используют эвристические методы, в основном реализующие «жадные алгоритмы» [1].
Многокритериальные задачи этого класса в доступной литературе отсутствуют. Алгоритм решения задачи
Рассмотрим достаточно простой
эвристический алгоритм решения
двухкритериальной задачи (2)-(5) для определения оптимального по Парето [1] вложения средств в некоторые из n имеющихся проектов.
Известно, что:
min F(x) = - max F(x).
X X
Тогда линейная свертка критериев (4) и (5) будет иметь вид:
n
L(X) = XC - (1 - X)T = Z(X - (1 - X)tt)X , (6)
i=1
где X e [0; 1] - параметр свертки. Обозначим коэффициенты свертки (6) как:
у (X) = Xct - (1 -X)tt, i = in), X e [0,1]. (7) Здесь c и t - нормированные значения коэффициентов целевых функций С и Т, которые имеют значения, лежащие в интервале (0; 1].
Пусть сmax и tmax - максимальные значения коэффициентов, входящих в выражения (4) и (5). Тогда имеем, что:
с, = -с-; h =-±-, i = (Щ).
Cmax ^max
Паретооптимальное решение
сформулированной выше задачи получается как решение при у e [0; 1] однокритериальной параметрической задачи вида:
n
L(X, X1, x2,...,Xn ) = Z У (X)x, ^ max, (8)
i=1
n _
Z ax - b, xt e {0; 1}, i = (1, n) . i=1
Отметим, что вектор ее оптимального решения в пространстве решений будет иметь вид:
x0(X) = (x0(X), X20(X),...,X„0(X)), (9)
который получается путем варьирования параметра X в интервале от 0 до 1.
При X = 0 имеем решение задачи (5), (2), (3), а при X = 1 - задачи (4), (2), (3).
В пространстве критериев задачи будем иметь вектор:
K(X) = (C°(X), T°(X)), (10)
X
i= 1
компоненты которого вычисляются с использованием выражений (4), (5), (9).
При построении решений вида (9) для каждого значения X е [0; 1] будем использовать эвристический метод на базе «жадного» алгоритма [1].
Введем следующую сетку с шагом к значений параметра свертки:
0 = XI > Х2 > ... > X > ••• > Хт = 1. (11)
X = }к, ] = (0, т).
Здесь к - шаг сетки (11). Отсюда т = 1/к .
Алгоритм метода включает в себя следующие этапы:
1. Положим - = 0;
2. Положим 7 = 1;
3. Вычислим значения у^ = — (1 - ]К)11;
4. Положим 7 = 7 + 1;
5. Если 7 < п - переход к п. 3°. В противном случае - к п. 6°;
6. Упорядочим у- по убыванию их значений
у..>у..> > у. . > > у. . •
' ilj — ' i2j-----' ^-----' inj '
С А
С
ИТ
7. Последовательно вычисляем значения сумм вида:
^ = ; ^ = % + а^;••• ^ = % + •••+,к =(1,п)
8. Сравниваем каждое значение Бк-- со значением Ь. Если для некоторого «к» выполняются условия Бк- < Ь; Бк+\- > Ь, то формируем оптимальные решения вида:
1, для / = (1,к);
% =
0, для / = (к +1, п)
для конкретного X е [0; 1]; 9. Вычисляем значения критериев:
п п
со=2>£; Т0,
(13)
(14)
где х° задается выражением (13);
10. Положим - = - + 1;
11. Если - < т - переход к п. 2°. В противном случае - к п. 12°;
12. Конец.
Построим паретооптимальное решение задачи в пространстве критериев, представленное на^®). 1.
Р0
К^т, ^т)
(7)0,С,0)
'(С С)
Тт
т
Рис. 1
На этом рисунке приведены неповторяющиеся значения Т® и С0 , j = (0, т). При этом минимальное значение критерия (5) Ттп = Т00, а максимальному значению критерия
(4) соответствует координата Стах = Ст .
Данное множество выдается ЛПР, который выбирает по неформальным соображениям
(^ С1)
и
устраивающую его точку
соответственно перечень проектов вложения средств, который задается переменными
х,
, i = (1, п), из выражения (13).
Если ЛПР затрудняется в процессе выбора подходящего решения по конкретному вложению средств в имеющиеся проекты, то можно сформировать единственное
i=1
i=1
т
«квазиоптимальное» решение по методу «идеальной точки» (ИТ) [1].
В качестве такой недостижимой в рассматриваемой задаче точки в пространстве критериев рассматривается точка с координатами (rmm,Cmax).
Согласно рис. 1 эти координаты конкретизируются как:
ГГг _ грО . _
T min — T О ; Cmax — Cm .
Вычислим расстояния от ИТ до каждой точки парооптимального множества решений в пространстве критериев, представленных на этом рисунке, следующим выражением:
Р =y¡(C0 - ф2 + (Tj - T0)2, j = (0,m). (15)
Определим минимальное значение полученных величин:
Рк = щт р}.
В этом случае наиболее близкой к ИТ будет точка, у которой индекс у = к.
Тогда «квазиоптимальное» решение задачи
будет определяться переменными х°, а значения
ее критериев будут соответственно равны С° и
то тк .
Пример решения задачи
Пусть Ь = 200 млн. руб.; п = 6; к = 0,25; т = 5;
Таблица 1. Исходные данные для решения задачи
№ i 1 2 3 4 5 6
1 ai, млн. руб. 40 20 80 100 30 60
2 с i, млн. руб. 10 6 12 4 16 20
3 ti, месяц 3,6 18 25,2 36 7,2 14,4
4 0,5 0,3 0,6 0,2 0,8 1
5 й 0,1 0,5 0,7 1 0,2 0,4
В этой таблице значения сг и Ц в четвертой и строки), ¿тах = 36 (наибольшее значение и из пятой строках получены по формулам (16), где третьей строки).
Стах = 20 (наибольшее значение с, из второй ПолагаемУ = ° тогда = Аю = ук =
Рассчитываем угу = ую = А,0-сг- - (1 -АюН, получаем массив для шести значений ую. i 1 2 3 4 5 6
у> -0,1 -0,5 -0,7 -1 -0,2 -0,4
Упорядочиваем его по убыванию, получаем:
il 1 5 6 2 3 4
Уи -0,1 -0,2 -0,4 -0,5 -0,7 -1
Формируем суммы Si,o: Si,o = öi = 40 < 200; S2,o = Ö1 + Ü5 = 40 + 30 = 70 < 200; Ss.o = ai + ü5 +a6 = 40 + 30 + 60 = 130 < 200; S4,o = ai + a5 +a6 + a2 = 40 + 30 + 60 + 20 = 150 < 200;
S5,0 = ai + a5 +a6 + a2 + a3 = 40 + 30 + 60 + 20 + 80 = 230 > 200;
S5,0 оказался больше b = 200, поэтому приравниваем единице первые четыре значения
Таблица 2. Зна
х7 в соответствии с первой строкой предыдущей таблицы:
XI = 1; Х2 = 1; хз = 0; Х4 = 0; Х5 = 1; Хб = 1.
Подсчитываем целевые функции для этих значений х, по формулам (14):
С = 2,6; Т = 1,2.
Полагаем у = 1, тогда А = 0,25.
При этом свертка уу = уц = А,1-сг- - (1 - А\)47 и упорядоченная по убыванию ее величина имеет следующие значения: ие свертки при у=1
i 1 2 3 4 5 6
У> 0,05 -0,3 -0,375 -0,7 0,05 -0,05
il 1 5 6 2 3 4
Уь 0,05 0,05 -0,05 -0,3 -0,375 -0,7
Номера 71 совпадают с номерами при X = 0, Полагаем - = 2, тогда X = 0,5. Значения поэтому этот вариант пропускаем, а значения свертки и ее упорядоченная величина - в целевых функций повторяем: следующей таблице:
С2 = 2,6; Т2 = 1,2.
Таблица 3. Значение свертки при]=2
i 1 2 3 4 5 6
h 0,2 -0,1 -0,05 -0,4 0,3 0,3
il 5 6 1 3 2 4
П 0,3 0,3 0,2 -0,05 -0,1 -0,4
Формируем суммы Six Si,3 = a5 = 30 < 200; S2,3 = as + a6 = 30 + 60 = 90 < 200; S3,3 = as + a6 +ai = 30 + 60 + 40 = 130 < 200; S4,3 = as + a6 +ai + a3 = 30 + 60 + 40 + 80 = 210 > 200;
Таким образом, единице будут равны Х5, Хб и х1, остальные х2 = 0, х3 = 0, х4 = 0. Значения критериев в этом случае следующие: Сз = 2,3; Тз = 0,7.
Для - = 3 (X = 0,75), действуя аналогично, получаем:
Таблица 4. Значение свертки при-=3
i 1 2 3 4 5 6
h 0,35 0,1 0,275 -0,1 0,55 0,65
il 6 5 1 3 2 4
h 0,65 0,55 0,35 0,275 0,1 -0,1
Пятый и шестой проекты поменялись С4 = 2,3; Т4 = 0,7.
местами по сравнению с предыдущим вариантом И наконец, при - = 4 (X = 1) получаем: при - = 2. Поэтому все дальнейшие вычисления для этого варианта можно опустить. Здесь:
Таблица 5. Значение свертки при]=4
i 1 2 3 4 5 6
h 0,5 0,3 0,6 0,2 0,8 1
il 6 5 3 1 2 4
1 0,8 0,6 0,5 0,3 0,2
Б15 = аб = 60 < 200; 82,5 = аб + а5 = 60 + 30 = 90 < 200; 83,5 = аб + а5 +а3 = 60 + 30 + 80 = 170 < 200; 84,5 = а6 + а5 +а3 + а: = 60 + 30 + 80 + 40 = 210 > 200;
Для X = 1 имеем:
Х1 = 0; Х2 = 0; Х3 = 1; Х4 = 0; Х5 = 1; Х6 = 1.
С5 = 2,4; Т5 = 1,3.
С0 52
50 48 46
P1,2
\P5
en Q_
i
20
30 40 Рис. 2
Т
Для получения реальных (не нормированных) значений С° и Т£ умножим Ск на Стах, а Тк на
Ттах.
Таким образом, паретооптимальное множество в пространстве критериев имеет вид, показанный в табл. 6 и на рис. 2.
Таблица 6. Решение задачи
к Ск Тк С° W то 1к
1 2,6 1,2 52 43,2
2 2,6 1,2 52 43,2
3 2,3 0,7 46 25,2
4 2,3 0,7 46 25,2
2,4
1,3
48
46,8
5
На рис. 2 показана ИТ с координатами ГШ°1П = определяется по ф°рмуле (15). В результате 0 имеем:
25,2 мес. и Сщах = 52 млн. руб. Расстояния от нее
до паретовских точек в пространстве критериев
Таблица 7. Расстояние до «идеальной точки»
Номер точки (к) 1 2 3 4 5
Координаты к-й точки (43,2; 52) (43,2; 52) (25,2; 46) (25,2; 46) (46,8; 48)
Рк 18 18 6 6 21,967
Ближайшая к ИТ точка - третья, она же четвертая, в которой общая прибыль от вложенных средств составила С = 46 млн. руб, время окупаемости Т = 25,2 мес. При этом наилучшее из паретооптимальных решений представляет собой такое решение, при котором вкладываться нужно в первый, пятый и шестой проекты (Х1 = 1; Х5 = 1; Х6 = 1).
Литература
[1] Сигал И.Х., Иванова А.П. Введение в прикладное дискретное программирование: модели и вычислительные алгоритмы: Учеб. пособие. - М.: ФИЗМАТЛИТ, 2002. - 240 с.
[2] Федорин А.Н. Многокритериальные задачи ранцевого типа: разработка и сравнительный анализ алгоритмов. Автореферат диссертации на соискание ученой степени кандидата технических наук. Нижний Новгород, 2010.
[3] Вентцель Е.С. Элементы динамического программирования. М.: Наука, 1964. - 176 с.
V V ===================================