Научная статья на тему 'Компьютерный метод вычисления корней кратности два'

Компьютерный метод вычисления корней кратности два Текст научной статьи по специальности «Математика»

CC BY
217
49
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
УРОВЕНЬ ВНУТРЕННЕЙ ДОХОДНОСТИ ФИНАНСОВЫХ ОПЕРАЦИЙ / КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ / МЕТОД НЬЮТОНА / РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ / LEVEL OF INTERNAL RATE OF RETURN OF FINANCIAL TRANSACTIONS / COMPUTER MODELING / NEWTON''S METHOD / THE SOLUTION OF NONLINEAR EQUATIONS

Аннотация научной статьи по математике, автор научной работы — Тубольцев М.Ф., Маторин С.И., Тубольцева О.М.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Procedures for calculating the parameters of three-phase financial transactions in optimization problems make it necessary to compute the roots of the characteristic function of multiplicity two.In such situations, the classical mathematical methods for calculating the roots of nonlinear equations posed on a computer are not effective enough, since computer calculations are performed with the ultimate precision that, in conjunction with the multiplicity of the root generates poorly controlled computing process. This gives grounds to the use of new techniques, taking into account the multiplicity of the root.

Текст научной работы на тему «Компьютерный метод вычисления корней кратности два»

НАУЧНЫЕ ВЕДОМОСТИ

Серия История. Политология. Экономика. Информатика. 2015. №1 (198). Выпуск 33/1

79

УДК 303.732.4

КОМПЬЮТЕРНЫЙ МЕТОД ВЫЧИСЛЕНИЯ КОРНЕЙ КРАТНОСТИ ДВА1

М.Ф. ТУБОЛЬЦЕВ С.И. МАТОРИН О.М. ТУБОЛЬЦЕВА

Белгородский

государственный

национальный

исследовательский

университет

Процедуры расчёта параметров трёхфазных финансовых операций в задачах оптимизации приводят к необходимости вычисления корней характеристической функции кратности два.

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

e-mail: Ключевые слова: уровень внутренней доходности финансовых операций,

tuboltsev@bsu.edu.ru компьютерное моделирование, метод Ньютона, решение нелинейных

matorin@bsu.edu.ru уравнений.

Классические финансовые и инвестиционные операции имеют двухфазовые финансовые потоки. Однако в настоящее время всё чаще возникает необходимость анализировать знакопеременные финансовые потоки CF (Cash Flow), в которых смена знака происходит не один раз, а - многократно [1]. Наиболее простыми в теоретическом плане и востребованными на практике являются модели трёхфазных финансовых операций.

В наиболее простом случае трёхфазный финансовый поток имеет вид как на рис. 1 (такой финансовый поток возникает при разработке полезных ископаемых с последующей рекультивацией земель, консервацией скважин при окончании добычи нефти или газа, и т.д.):

D D

D

1 2

П1

ni +n2+ 1

ni +n2+n3

---------1 *

n1+1 n1+2 n1+n

A A

A

B B

B

Рис. 1. Простейший трёхфазный финансовый поток

Для определённости, в качестве базового периода брать такой временной интервал, в котором характеристическая функция его финансового потока {(xi,ti))^ имеет вид полинома от множителя дисконтирования:

X(V = N V (fc л, ))]ivIi.V-1 -l)= f x,

(1)

i=1

Модель трёхфазной финансовой операции задаётся следующей системой уравнений [2], в которую входит характеристическая функция финансового потока и её первая производная, вычисленные в некоторой одной фиксированной точке V е (0, 1 ) :

Исследования поддержаны грантом РФФИ 14-07-00149

80

НАУЧНЫЕ ВЕДОМОСТИ

Серия История. Политология. Экономика. Информатика. 2015 № 1 (198). Выпуск 33/1

| X(V) = 0

\x(V) = 0

(2)

Выполнение уравнений (2) гарантирует существование на сегменте [о, 1] единственного корня кратности 2 в точке V е [0,1], а других корней на сегменте [0, 1] согласно теореме Декарта быть не может [3, с.109]. Поэтому сохраняется возможность традиционной трактовки параметра r = V 1 -1, выражающего через корень системы уравнений

(2), как уровня внутренней доходности финансового потока трёхфазной финансовой операции.

Для использования на практике нужно в систему (2) подставить явное выражение характеристической функции и её производной, задав предварительно все входные параметры модели. На выходе модель финансовой операции позволяет получить 2 параметра, как решение системы уравнений (2). В большинстве интересных с практической точки зрения задач [4], одним из выходных параметров модели являются параметр V, необходимый для вычисления доходности операции, и один из параметров, характеризующий вложения средств, входящий в уравнения линейно.

Этот параметр можно выразить их второго уравнения системы (2) и подставить в первое уравнение, получив одно нелинейное уравнение относительно ключевого параметра V, локализованного на сегменте [о, 1]. Значение этого параметра является корнем кратности два для уравнения f(V)=0, полученного после исключения второго выходного параметра.

Проблематика вычисления корней уравнения

f (x) = 0 (3)

хорошо изучена в теоретическом плане. Однако, основные методы решения уравнения (3): метод деления отрезка пополам и метод Ньютона (а также их модификации) не учитывают кратность корня и особенности компьютерной реализации (конечную точность вычислений). Метод деления пополам в принципе не может быть применён для вычисления корней чётной кратности, поскольку в малой окрестности корня функция f(x) не меняет знак. Метод Ньютона, порождает вычислительный процесс по формуле:

x

П

= x„

f ( xc)

f ’ ( Xc Г

(4)

где xn (new) новое приближённое значение корня, а Xc (current) - текущее. В математических рассуждениях, неявно предполагающих абсолютную точность вычислений, проблем не возникает и доказано, что метод обладает локальной сходимостью к корню любой кратности.

Однако при реализации вычислений на компьютере для корней кратности 2 возникают сложности, связанные с наличием в правой части формулы (4) неопределённости, поскольку f '(x) стремится к нулю также как и функция f (x) . В результате, процесс вычислений по методу Ньютона становится плохо обусловленным со всеми вытекающими из этого последствиями. Это широко известный факт.

Не так давно в статье «О вычислении простых и кратных корней нелинейного уравнения» 2008 года известный специалист по численным методам Н.Н.Калиткин предложил модификацию метода Ньютона [5], на основе формулы

x,+i=x, -xpx \ (p(x)=f (x)/f,(4 0 <x ^1 (5)

НАУЧНЫЕ ВЕДОМОСТИ

Серия История. Политология. Экономика. Информатика. 2015. №1 (198). Выпуск 33/1

81

Значения Ts выбирают так, чтобы вдали от корня они были небольшими, а при

попадании в малую окрестность корня стремились бы к 1. Там же предлагается использовать шаг:

т

s

f 2(x) + 0f2(Xs -КXs)) f 2(X) + f \Xs -V(Xs)) ’

0 <0< 1.

(6)

Здесь 0 - управляющий параметр метода. В работе даётся рекомендация начинать расчёт при 0 = 1, т.е. классическим методом Ньютона, а если S итераций не обеспечивают

сходимости, то параметр 0 рекомендуется уменьшить в лЯО раз и снова выполнить не более S итераций и т.д. Там же декларируется, что предложенный метод вычислений превосходит ряд известных стандартных программ (FSOLVE и FZERO пакета MATLAB 6.5, SOLVE пакета MAPLE).

Из приведённого краткого описания модифицированного метода Ньютона видно, что он является далеко не тривиальным и требует «ручного» управления со стороны специалиста, осуществляющего расчёт.

Такой подход в нашем случае совершенно неприемлем, поскольку:

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

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

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

Xn = Xc +

2f(Xc )

f "(xc)

(7)

где обозначения те же, что в формуле (3).

Базовое отличие от метода Ньютона в том, что не возникает никакой неопределенности при приближении к корню, поскольку кратность корня в точности равна двум. Знак «-» берётся в том случае, если начальное приближение больше корня, а знак «+» - в противоположном случае. В некоторых случаях это обстоятельство может осложнить применение метода, но в контексте финансовых расчётов всегда можно начинать с V=1, поскольку V е [0,1] и использовать в формуле (7) знак «-».

Хотя формула (7) не имеет строгого математического обоснования, но некоторое представление о том, насколько она может быть эффективной, даёт её сравнение с формулой Ньютона.

Проведём сравнение формул (3) и (7) на примере простейшей функции, имеющей корень кратности 2: f(x)=x2. При подстановке в формулу (3) получаем:

f (Xc )

fXXc )

xc_=X

2Xc 2

2

(8)

Получаем линейную, как и положено по теории для кратных корней, скорость сходимости метода Ньютона. Подстановка в формулу (7) даёт:

82

НАУЧНЫЕ ВЕДОМОСТИ

Серия История. Политология. Экономика. Информатика. 2015 № 1 (198). Выпуск 33/1

2/( xc)

/ "( X )

ll

2 X,

= Xc - Xc = 0.

(9)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Формула (8) порождает бесконечный, хотя и сходящийся процесс, а формула (9) в данном конкретном примере даёт правильный ответ за 1 шаг, хотя, в общем случае, процесс вычислений также будет бесконечным.

На рис.2 приведён пример расчёта корня кратности 2 для трансцендентной целой функции f (x) = exp( x) — cos(x) — sin( x).

Рис. 2. Результаты расчётов корня кратности 2 функции f (x) = exp(x) — cos(x) — sin(x)

Xn = xc -

2

Предлагаемый эвристический метод дал результат за 4 итерации. Дальнейшие итерации не имеют смысла ввиду того, что значение функции равно машинному нулю (при вычислениях произошла потеря точности) и вычисления по формуле (7) стабилизируются.

НАУЧНЫЕ ВЕДОМОСТИ

Серия История. Политология. Экономика. Информатика. 2015. №1 (198). Выпуск 33/1

83

На рис.3 приведён пример расчёта корня кратности 2 для трансцендентной целой функции f (x) = exp( x) - cos(x) - sin( x) методом Ньютона. Ввиду того, что число итераций равно 27 на рис.3 показана информация о заключительных итерациях.

Сравнительный анализ протоколов вычислений, приведённых на рис.2 и рис.3, показывает, что на расчёт корня эвристический алгоритм потребовал в почти 7 раз меньше итераций, чем метод Ньютона. При этом, эвристический алгоритм дал значение корня (истинное значение корня равно нулю) x = 4.711156312070183e-10, а алгоритм Ньютона х = 9.352676789243724e-9. Таким образом, эвристический алгоритм вычислил значение корня примерно в 20 раз точнее, чем метод Ньютона.

10 0.0025601940097159043 0.0000065601870443687815 0.001280642522638744

11 0.001280642522638744 0.0000016407453747868672 0.000640457844265738

12 0.00064045784426573Ё 4.1027381925129447е-7 0.00032026309340178614

13 0.00032026309340178614 1.02579398 64199983е-7 0.0001601400926763723

14 0.0001601400926763723 2.5646218149155686е-8 0.00008007218341296972

15 0.00008007218341296972 6.411725705923743е-9 0.000040036625854264986

16 0.000040036625854264986 1.6029527705185842е-9 0.00002001844689247537

17 0.00002001844689247537 4.0074099594278323е-10 0.00001000925419560327

18 0.00001000925419560327 1.001854155191495е-10 0.000005004639Ё570509Ё75

19 0.0000050046398570509875 2.504652041324107е-11 0.0000025023161679819323

20 0.0000025023161679819323 6.261657858885883е-12 0.000001251145331852551

21 0.000001251145331852551 1.5654144647214707е-12 6.255531461786714е-7

22 6.255531461786714е-7 3.9124259387790516е-13 3.128359342807961 е-7

23 3.128359342807961 е-7 9.781064846947629е-14 1.565069732112б79е-7

24 1.565069732112б79е-7 2.4424906541753444е-14 7.847561095681326е-8

25 7.847561095681326е-8 6.217248937900877е-15 3.886299360705162е-8

26 3.886299360705162е-8 1.4432899320127035е-15 2.029404449434393 е-8

27 2.029404449434393 е-8 4.4408 92098500626е-16 9.352676789243724е-9

28 9.352б7б789243724е-9 0 9.352676789243724е-9

Рис. 3. Результаты расчётов корня кратности 2 функции f (x) = exp(x) — cos(x) — sin(x) методом

Ньютона

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

84

НАУЧНЫЕ ВЕДОМОСТИ

Серия История. Политология. Экономика. Информатика. 2015 № 1 (198). Выпуск 33/1

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

Подводя итог, можно отметить, что проведённые многочисленные расчёты показали лучшие по сравнению с методом Ньютона характеристики эвристического метода по точности определения корня более, чем на порядок, а по количеству шагов итерационного процесса - более, чем в 3-5 раз. Причем преимущество эвристического метода тем больше, чем хуже начальное приближение корня. При использовании эвристического метода для решения практических задач финансового анализа время вычисления выходных параметров модели заметно сокращалось.

Литература

1. Тубольцев М.Ф., Маторин С.И., Тубольцева О.М. Системный подход к построению комбинированных схем ипотечного кредитования // Труды ИСА РАН, том 62, выпуск 1, 2012. -

С. 91-100.

2. Тубольцев М.Ф., Маторин С.И., Тубольцева О.М. Управление многофазовыми финансовыми потоками на основе математического моделирования финансовых операций //Научные ведомости Белгородского государственного университета, серия «История, Политология, Экономика, Информатика», №1 (172) 2014, выпуск 29/1. - С.135-141.

3. Винберг Э.Б. Курс алгебры. - М.: Факториал пресс, 2001. - 544 с.

4. Тубольцев М.Ф., Маторин С.И., Тубольцева О.М. Моделирование трёхфазных деловых процессов на основе применения процесса восстановления //Научные ведомости Белгородского государственного университета, серия «История, Политология, Экономика, Информатика», №8 (179) 2014, выпуск 30/1. - С.123-127.

5. Н.Н.Калиткин, И.П.Пошивайло. О вычислении простых и кратных корней нелинейного уравнения. // Матем. моделирование, 2008, т. 20, №7, с. 57 - 64.

COMPUTER METHODS OF CALCULATING THE ROOTS OF NONLINEAR EQUATIONS

OF MULTIPLICITY TWO

M.F. TUBOLTSEV S.I. MATORIN O.M. TUBOLTSEVA

Belgorod State National Research University

e-mail:

tuboltsev @bsu.edu.ru matorin@bsu.edu.ru

Procedures for calculating the parameters of three-phase financial transactions in optimization problems make it necessary to compute the roots of the characteristic function of multiplicity two.

In such situations, the classical mathematical methods for calculating the roots of nonlinear equations posed on a computer are not effective enough, since computer calculations are performed with the ultimate precision that, in conjunction with the multiplicity of the root generates poorly controlled computing process. This gives grounds to the use of new techniques, taking into account the multiplicity of the root.

Keywords: level of internal rate of return of financial transactions, computer modeling, Newton's method, the solution of nonlinear equations.

i Надоели баннеры? Вы всегда можете отключить рекламу.