Мир объектов Excel 2000

Формальная постановка задачи


Введем обозначения:

  • n - число этапов, на которых принимаются решения о вложении денег в тот или иной проект. В нашем примере такие решения принимаются каждый месяц и потому n= 6.
  • m - число проектов. В примере m =4.
  • Pi - проекты, где i = 1 …m.
  • Ri - величина риска проекта Pi.
  • qi - число этапов проекта Pi.
  • Si j - сумма денег, вкладываемая в проект Pi на j -м этапе. Si j - это и есть наши искомые переменные, значения которых предстоит найти в ходе решения задачи. Заметьте, что здесь i = 1 ... m, j = 1 ... qi
  • N - общее число искомых переменных, которое определяется формулой N =
    qi
  • K - первоначальный капитал фонда.
  • Rc- допустимый средний риск.
  • Tc -допустимая средняя длительность проекта.

Перейдем теперь к формулировке оптимизационной задачи:

Необходимо минимизировать первоначальный капитал фонда

K => min

при выполнении четырех групп ограничений:

Ограничения баланса: Bi = 0 i = 1…n

Ограничения среднего риска: Ri <= Rc i = 1…n

Ограничения средней длительности проекта: Ti <= Tc i = 1…n

Ограничения на положительность значений: Si j >= 0 i = 1 ... n, j = 1 ... qi

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

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

Я не стану выписать балансовые ограничения в явном виде, поскольку, с одной стороны, они достаточно понятны, с другой стороны их формальная запись для общего случая довольно громоздка из-за динамического характера решаемой задачи. Ограничусь тем, что приведу краевые уравнения баланса и уравнение для одного из месяцев. Вот как выглядит уравнение баланса на начальном этапе:

K = S1 1 + S2 1 + S3 1 + S4 1


Это уравнение задает целевую функцию - начальный капитал K, значение которого предстоит определить. Уравнение баланса говорит о том, что весь начальный капитал должен быть вложен в инвестиционные проекты.

Баланс по завершении работы фонда имеет вид:

1.015* S1 6 + 1.035* S2 3 + 1.06* S3 2 + 1.11* S4 1 = Capital

Это уравнение говорит, что деньги, полученные в конце шестого месяца от всех проектов, должны давать сумму, равную требуемому капиталу.

Баланс после истечения двух месяцев с учетом выплаты аванса имеет вид:

1.015* S1 2 + 1.035* S2 1 - D1 = S1 3 + S2 2

Вторую группу составляют ежемесячные ограничения среднего риска. Если обозначить через Li k сумму инвестиций i -го проекта в k - м месяце, то эти ограничения в общем случае имеют вид:

m                 m

Li,k * Ri 
 Rc *
Li,k

i                 i

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

R1* S1 4 + R2* S2 2 + R3* S3 2 + R4* S4 1 <= Rc*(S1 4 + S2 2 + S3 2 + S4 1)

Третью группу составляют ежемесячные ограничения средней длительности проектов. Общая формула имеет вид:

m                   m

Li,k * Ti,k 
 Tc *
Li,k

i                   i

В построении ограничений участвует опять таки средневзвешенная, но теперь уже с учетом длительности проектов сумма инвестиций i -го проекта в k - м месяце. Формулы становятся чуть более сложными, поскольку в текущем месяце используются не постоянные коэффициенты, как в случае с подсчетом рисков, а динамически пересчитываемые коэффициенты, задающие время до окончания этапа проекта. Опять таки, ограничимся тем, что приведем только одно ограничение для того же четвертого месяца нашего примера:

T1 4* S1 4 + T2 4* S2 2 + T3 4* S3 2 + T4 4* S4 1 <= Tc*(S1 4 + S2 2 + S3 2 + S4 1)

В нашем примере: T1 4 = 1; T2 4 =1; T3 4 = 3; T4 4 = 3.

С точки зрения математика полученная задача является довольно простой задачей линейного программирования. Ее решение может быть получено в Excel вручную, используя возможности мощного инструментального средства, встроенного в Excel, - решателя Solver. Однако понятно, что даже опытный пользователь, вряд ли сумеет без ошибок выписать все ограничения задачи, особенно при увеличении числа инвестиционных проектов.


Содержание раздела