Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Issledovanie_operatsy_kursovaya.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.5 Mб
Скачать

Пример решения задачи нелинейного программирования методом «золотого сечения».

Постановка задачи.

У предприятия имеются свободные средства для инвестирования. Предприятие вложило эти средства в облигации со сроком погашения 6 месяцев. Курсовая стоимость облигации возрастает по мере приближения срока погашения этой облигации. Действия предприятия могут быть различными:

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

  2. продать облигацию по возросшей курсовой стоимости до окончания срока погашения и купить облигации нового выпуска по более низкой курсовой стоимости (такая операция называется реинвестированием).

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

Обозначим:

К - величина расходов на операцию реинвестирования в процентах;

П - потенциал роста стоимости облигаций до погашения в процентах в день;

Т - период оптимального реинвестирования, подлежащий определению.

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

Запишем задачу, как задачу минимизации

и решим ее методом «золотого сечения», задав точность вычислений до 7 дней. При этом величина расходов на операцию реинвестирования в процентах: К=0,4%; потенциал роста стоимости облигаций до погашения в процентах в день: П=0,25%.

Решение.

Данная задача НЛП будет решена методом «золотого сечения».

Алгоритм решения:

ШАГ 0. Задаём значения интервала нашей функции:

a0=0;

b0=180;

Вычисляем координаты точек, осуществляющих золотое сечение исходного отрезка по формулам (2.1):

у0=0+0,382(180-0)=68,76;

z0=0+180-68,76=111,24.

Вычисляем значения целевой функции в этих точках, то есть :

f(y0)=1-(1+(0,25%/100)× 68,76-0,4%/100)180/ 68,76 =

= 1-(1+0,0025× 68,76-0,004) 180/ 68,76 = -0,5012554;

f(z0)=1-(1+0,0025×111,24-0,004) 180/ 111,24 = -0,4799.

Шаг будем определять следующим образом:

0= b0 - y0= z0 - a0 =111,24.

ШАГ 1 . Cравниваем значения f(y0) и f(z0):

-0,5012554< -0,4799 ;

f(y0) < f(z0).

Значит, по формулам (2.2) полагаем:

а10= 0;

b1= z0=111,24;

z1= y0=68,76;

далее по формуле (2.3) определяем:

y1= а1+ b1–z1=0+111,24-68,76= 42,48.

Вычисляем значения целевой функции в этих точках, то есть:

f(y1)= 1-(1+0,0025×42,48 -0,004) 180/ 42,48 = -0,510322;

f(z1)= 1-(1+0,0025×68,76-0,004) 180/ 68,76 = -0,5012554.

Определяем шаг этой итерации:

1= b1 – y1= z1 – a1=111,24 –42,48=68,76.

2 итерация. Cравниваем значения f(y1) и f(z1):

-0,510322 <-0,5012554 ;

f(y1) < f(z1).

Значит, по формулам (2.2) полагаем:

а21= 0;

b2= z1=68,76;

z2= y1=42,48;

далее по формуле (2.3) определяем:

y2= а2+ b2–z2=0+68,76 –42,48 =26,28.

Вычисляем значения целевой функции в этих точках, то есть:

f(y2)= 1-(1+0,0025×26,28–0,004) 180/ 26,28 = -0,506935;

f(z2)= 1-(1+0,0025×42,48-0,004) 180/ 42,48 = -0,510322.

Определяем шаг этой итерации:

2= b2 – y2= z2 – a2=68,76–26,28= 42,48.

3 итерация. Cравниваем значения f(y2) и f(z2):

-0,506935> -0,510322;

f(y2) > f(z2).

Значит, по формулам (2.4) полагаем:

а3= y2=26,28;

b3= b2 =68,76;

y3= z2=42,48;

далее по формуле (2.5) определяем:

z3= а3+ b3– y3=26,28+68,76–42,48= 52,56.

Вычисляем значения целевой функции в этих точках, то есть:

f(y3)= 1-(1+0,0025×42,48-0,004) 180/ 42,48 = -0,510322;

f(z3)= 1-(1+0,0025×52,56–0,004) 180/ 52,56 =-0,50782.

Определяем шаг этой итерации по формуле (2.6):

3= b3 – y3= z3 – a3=68,76–42,48=26,28.

4 итерация. Cравниваем значения f(y3) и f(z3):

-0,510322<-0,50782;

f(y3) < f(z3).

Значит, по формулам (2.2) полагаем:

а43=26,28;

b4=z3=52,56;

z4=y3=42,48;

далее по формуле (2.3) определяем:

y4= а4+ b4–z4=26,28+52,56–42,48 =36,36.

Вычисляем значения целевой функции в этих точках, то есть:

f(y4)= 1-(1+0,0025×36,36–0,004) 180/ 36,36= -0,510624;

f(z4)= 1-(1+0,0025×42,48-0,004) 180/ 42,48 = -0,510322.

Определяем шаг этой итерации по формуле (2.6):

4= b4 – y4= z4 – a4=52,56–36,36=42,48–26,28=16,2.

5 итерация. Cравниваем значения f(y4) и f(z4):

-0,510624< -0,510322;

f(y4) < f(z4).

Значит, по формулам (2.2) полагаем:

а54=26,28;

b5=z4=42,48;

z5= y4=36,36;

далее по формуле (2.3) определяем:

y5= а5+ b5–z5=26,28+42,48–36,36=32,4.

Вычисляем значения целевой функции в этих точках, то есть:

f(y5)= 1-(1+0,0025×32,4–0,004) 180/ 32,4 = -0,509997;

f(z5)= 1-(1+0,0025×36,36-0,004) 180/ 36,36= -0,510624.

Определяем шаг этой итерации по формуле (2.6):

5= b5 – y5= z5 – a5=42,48–32,4=36,36–26,28=10,08.

6 итерация. Cравниваем значения f(y5) и f(z5):

-0,509997> -0,510624;

f(y5) > f(z5).

Значит, по формулам (2.4) полагаем:

а6= y5=32,4;

b6=b5 =42,48;

y6=z5=36,36;

далее по формуле (2.5) определяем:

z6= а6+ b6– y6=32,4+42,48–36,36=38,52.

Вычисляем значения целевой функции в этих точках, то есть:

f(y6)= 1-(1+0,0025×36,36-0,004) 180/ 36,36= -0,510624;

f(z6)= 1-(1+0,0025×38,52–0,004) 180/ 38,52= -0,510664.

Определяем шаг этой итерации по формуле (2.6):

6= b6 – y6= z6 – a6=42,48–36,36=38,52–32,4=6,12.

Данные расчётов по всем итерациям сведены в таблицу 1.

Таблица 1.

П=0,25 % К=0,4 %

ak

bk

yk

zk

f(yk)

f(zk)

шаг

0 итерация

0

180

68,76

111,24

-0,501255

-0,4799

111,24

1 итерация

0

111,24

42,48

68,76

-0,510322

-0,501255

68,76

2 итерация

0

68,76

26,28

42,48

-0,506935

-0,510322

42,48

3 итерация

26,28

68,76

42,48

52,56

-0,510322

-0,50782

26,28

4 итерация

26,28

52,56

36,36

42,48

-0,510624

-0,510322

16,2

5 итерация

26,28

42,48

32,4

36,36

-0,509997

-0,510624

10,08

6 итерация

32,4

42,48

36,36

38,52

-0,510624

-0,510664

6,12

Так как заданная точность вычислений (Е=7) превышает шаг, полученный в 6 итерации (∆6 =6,12), то вычисления прекращаются.

Таким образом, весь алгоритм сходится за 7 итераций, считая и нулевую. Оптимальное значение дохода получается при реинвестировании в течение с 36 до 38 дней.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]