Шаг 117.
Задача инвестирования

    На этом шаге мы рассмотрим задачу инвестирования.

    Предположим, что в начале каждого из следующих n лет необходимо сделать инвестиции P1, P2,..., Рn. Вы имеете возможность вложить капитал в два банка: первый банк выплачивает годовой сложный процент r1, а второй - r2. Для поощрения депозитов оба банка выплачивают новым инвесторам премии в виде процента от вложенной суммы. Премиальные меняются от года к году, и для i-го года равны qi1 и qi2 в первом и втором банках соответственно. Они выплачиваются в конце года, на протяжении которого сделан вклад, и могут быть инвестированы в один из двух банков на следующий год. Это значит, что лишь указанные проценты и новые деньги могут быть инвестированы в один из двух банков. Размещенный в банке вклад должен находиться там до конца рассматриваемого периода. Необходимо разработать стратегию инвестиций на следующие n лет.

    Элементы модели динамического программирования таковы.

  1. Этап i представляется порядковым номером года i, i = 1, 2,..., n.
  2. Вариантами решения на i-м этапе (для i-го года) являются суммы Ii и Ii инвестиций в первый и второй банк соответственно.
  3. Состоянием хi на i-м этапе является сумма денег на начало i-го года, которые могут быть инвестированы.
Заметим, что по определению Следовательно,


    где i = 2, 3, ..., n. Сумма денег xi которые могут быть инвестированы, включает лишь новые деньги и премиальные проценты за инвестиции, сделанные на протяжении (i - 1)-го года.

    Пусть fi(xi) — оптимальная сумма инвестиций для интервала от (i-го до n-го года при условии, что в начале i-го года имеется денежная сумма xi. Далее обозначим через si накопленную сумму к концу n-го года при условии, что Ii и (xi - Ii) - объемы инвестиций на протяжении i-го года в первый и второй банк соответственно. Обозначая αi = (1 + ri), i = 1,2, мы можем сформулировать задачу в следующем виде.


    Поскольку премиальные за n-й год являются частью накопленной денежной суммы от инвестиций, в выражения для sn добавлены qn1 и qn2.

    Итак, в данном случае рекуррентное уравнение для обратной прогонки в алгоритме динамического программирования имеет вид


    где xi+1 выражается через xi в соответствии с приведенной выше формулой, а fn+1(xn+1) ≡ 0.

    На следующем шаге рассмотрим применение задачи инвестирования.




Предыдущий шаг Содержание Следующий шаг