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

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

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

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

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

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

Procedures of calculation of multiphase financial operations for the analysis and result optimization in the need for calculation of the roots of the characteristic function of multiplicity, which is one less than the number of phases.In such situations, the classical mathematical methods for calculating the roots of nonlinear equations based on Newton''s method, implemented on a computer, are not effective enough because the calculation of the root requires disclosure of uncertainties and creates poorly controlled computing process. This gives grounds to the use of new methods that take into account the multiplicity of the root.

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

78

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

Серия Экономика. Информатика. 2015 № 7(204). Выпуск 34/1

УДК 303-732.4

ЭВРИСТИЧЕСКИЙ КОМПЬЮТЕРНЫЙ АЛГОРИТМ ВЫЧИСЛЕНИЯ КРАТНЫХ КОРНЕЙ НЕЛИНЕЙНОГО УРАВНЕНИЯ

HEURISTIC COMPUTER ALGORITHM OF CALCULATION OF MULTIPLE ROOTS OF NONLINEAR EQUATION

М.Ф. Тубольцев, С.И. Маторин, О.М, Тубольцева

M.F.Tuboltsev, S.I. Matorin, O.M.Tuboltseva

Белгородский государственный национальный исследовательский университетРоссия, 308015, Белгород, ул. Победы, 85 Belgorod State National Research University, 85 Pobeda St, Belgorod, 308015, Russia

e-mail: tuboltsev@bsu.edu.ru, matorin@bsu.edu.ru

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

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

Resume. Procedures of calculation of multiphase financial operations for the analysis and result optimization in the need for calculation of the roots of the characteristic function of multiplicity, which is one less than the number of phases.

In such situations, the classical mathematical methods for calculating the roots of nonlinear equations based on Newton's method, implemented on a computer, are not effective enough because the calculation of the root requires disclosure of uncertainties and creates poorly controlled computing process. This gives grounds to the use of new methods that take 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.

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

X(V) = NPv({(xI,tI Ъ^.У-1 -l)= £ x,V‘

xv*'

i=1

(1)

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

x(V) = 0, х(У)=0,

<

(2)

Ут_1)(У) = 0,

где число фаз операции равно m+1. Система уравнений (2) зависит от большого числа параметров, хотя явно указан только один параметр V (множитель дисконтирования). Система уравнений (2) позволяет определить m параметров, задав остальные произвольным образом. Поскольку все параметры х, входят в уравнения системы (2) линейно, то их достаточно просто исключить из системы, сведя задачу к решению нелинейного уравнения от переменной V с корнем кратности m.

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

Серия Экономика. Информатика. 2015. №7 (204). Выпуск 34/1

79

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

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

xn = xc

f ( xc )

f'( Xc )’

(3)

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

Однако при реализации вычислений на компьютере для корней кратности 2 и более возникают сложности, связанные с наличием в правой части формулы (3) неопределённости, поскольку f'(x) стремится к нулю также как и функция f (x) . В результате, процесс вычислений по методу Ньютона становится плохо обусловленным. В статье «О вычислении простых и кратных корней нелинейного уравнения» 2008 года известный специалист по численным методам Н.Н.Калиткин предложил модификацию метода Ньютона [4], на основе формулы

x+1 = x -xp(x X ф(.x) = f (x)/ f'(xX 0 <x ^1 (4)

Отмечается, что предложенный метод вычислений превосходит ряд известных стандартных программ (FSOLVE и FZERO пакета MATLAB 6.5, SOLVE пакета MAPLE). Модифицированный метод Ньютона является далеко не тривиальным и требует «ручного» управления со стороны специалиста, осуществляющего расчёт. Такой подход к задачам анализа финансовых операций не эффективен, поскольку:

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

• метод решения сложен для реализации на компьютере.

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

Частный случай задачи вычисления кратных корней нелинейного уравнения рассматривался ранее [5], где предлагается организовать вычислительный процесс для определения корня кратности два по формуле:

x

n

= x

c

+

2f (xc ) f'( xc )

(5)

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

Базовое отличие от метода Ньютона в том, что не возникает никакой неопределенности при приближении к корню, поскольку знаменатель в формуле (5) не стремится к нулю. При этом в формуле (5) явно учтено, что кратность корня в точности равна 2. Реализуя идею учёта кратности корня, можно предложить следующий метод вычисления корней известной кратности m.

80

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

Серия Экономика. Информатика. 2015 № 7(204). Выпуск 34/1

Пусть функция f(x) имеет в точке Хо корень кратности m. Разлагая функцию по формуле Тэйлора с остаточным членом в форме Лагранжа, получаем:

m-1 f(k)/„ \ f(m)(r\

f(x) = I о) (x- xf + -——^(x- xay

k=0 k! m!

f (m)(c)

m!

(x - Xo)m,

(6)

где c e [x0,x]. Тогда, полагая Хо=Хп, x=xc,c=xc, получаем следующий итерационный процесс:

m!f ( xc )

f (m)( Xc )

, m - нечетное,

m!f ( xc )

f(m)(xc)

, m - четное.

x -m

c

xn =

xc+m

(7)

В случае чётного m знак выбирается так же, как при m=2.

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

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

x

П

= x

c

m

f(xc) _ xc _ m-1

f(xc) xc mxm1-1 xc m

(8)

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

x

П

= x„

m!f (xc) m! x^

f im\xc ) xc m m!

= xc - xc = 0.

(9)

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

Рассмотренный выше пример позволяет надеяться, что реализованный на компьютере итерационный процесс вычисления кратных корней, использующий формулу (7), окажется эффективнее метода Ньютона. Более высокая точность вычислений достигается за счёт того, что явный учёт кратности искомого корня нелинейного уравнения, устраняет ^определённость в методе Ньютона, возникающую вследствие стремления знаменателя к нулю. При подходе к вычислениям на основе формулы Тэйлора, знаменатель в формуле (7) не стремится к нулю, поскольку порядок производной в каждом конкретном случае выбирается должным образом: он равен номеру первой отличной от нуля производной. Расчёты проведём для стандартной функции, имеющей корень хо=0 кратности m [4, с.60]:

f (x) = e

x

m-1 yjk

I

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

k=0

k!

(10)

На рис.1 приведён пример расчёта корня кратности 3 для трансцендентной целой функции f (x) = exp( x) -1- x - x2 /2.

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

Серия Экономика. Информатика. 2015. №7 (204). Выпуск 34/1

81

Рис. 1. Результаты расчётов корня кратности 3 функции f(x) = exp(x) -1 - x - x2 /2 Fig. 1. The results of calculations of the root of multiplicity 3 features f(x) = exp(x)-1 - x - x2/2

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

На рис.2 приведён пример расчёта корня кратности 3 для трансцендентной целой функции

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

Сравнительный анализ протоколов вычислений, приведённых на рис.1 и рис.2, показывает, что на расчёт корня эвристический алгоритм потребовал всего 5 итераций, в то время как метод Ньютона не смог завершить работу за 120 итераций. При проведении вычислений корня уравнения f(x)=0 на компьютере естественным моментом остановки алгоритма следует считать момент потери точности при вычислении функции, т.е. момент стабилизации последовательности приближённых значений корня. При этом, эвристический алгоритм дал приближённое значение корня (истинное значение корня равно нулю) x = 4.681707437904133e-10, а алгоритм Ньютона вообще не стабилизировался.

82

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

Серия Экономика. Информатика. 2015 № 7(204). Выпуск 34/1

Q ВЫЧИСЛЕНИЕ КРАТ! X

Я 6 file :///C:/U sers/tubol/Docume nts/tu b о I/ Н ay ка/Стать и/Статьи В AK/N У_ В 5 U/H В_ Б ел ГУ_2 01

“ГТГ2Г 'J-U'J'J-P'Jl 1 U J'-T'J-r'.J-r'J'J1 Ч-. J ) 1 UUOUJPiJUiUJC-li ■J.UU'JiUl 1-K>U 1

103 0.00020114001256325294 1.3564161341435517е-12 0.0001340903067836778

104 0.0001340903067836778 4.01S2623732600 244 е-13 0.00008939580437696175

105 0.00008939580437696175 1.1898928613490528е-13 0.0000596181387273861

106 0.0000596181387273861 3.5339782455071496е-14 0.00003973301009103931

107 0.00003973301009103931 1.0457203024379859е-14 0.000026485421056960417

108 0.000026485421056960417 3.142874760213718е-15 0.000017524773081676173

109 0.000017524773081676173 9.092902983910245е-16 0.000011603362506514041

ПО 0.000011603362506514041 3.434910093944982е-16 0.000006500951567261683

111 0.000006500951567261683 -6.064699871840282е-17 0.000009370983273508203

112 0.000009370983273508203 1.7656416193968185е-1б 0.000005349738761104782

113 0.000005349738761104782 2.5099902017820576е-17 0.0000035957124245823643

114 0.0000035957124245823643 -7.400665352328907е-17 0.000015043876167117526

115 0.000015043876167117526 5.014244084183009е-16 0.000010612750750807756

116 0.000010612750750807756 2.2109887522985493е-16 0.000006686673011896326

117 0.000006686673011896326 1.5806958285714681е-16 -3.839073058590273е-7

118 -3.839073058590273е-7 5.11б29443879402б7е-17 -0.0006941792106981912

119 -0.0006941792106981912 -5.5742714742680917е-11 -0.0004627727970664474

120 -0.0004627727970664474 -1.651587110359239е-11 -0.0003085094227428307

Web-и асгер: Тубодьцева О.М.

Рис. 2. Результаты расчётов корня кратности 2 функции f(x) = exp(x)-1 - x -x2/2 методом Ньютона Fig. 2. The results of calculations of the root of multiplicity 2 f(x) = exp(x)-1 - x- x2/2 function

by Newton

Анализ протокола вычислений метода Ньютона показывает явную неустойчивость расчётов: в итерации с номером 117 при значении х = 0,000006686673011896326 значение функции составляет f(x) = 1,580695828571468^-16. В следующей итерации при х = -3,839073058590273e-7 значение функции составляет f(x) = 5,1162944387940267e-17, т.е. точность вычисления и корня и функции повысилась. Но в следующей итерации х = 0,000694179210698912, а f(x) = 5,57427147426809^-11. Таким образом, точность вычисления и корня и функции понизилась (на 3 и 6 порядков соответственно), что свидетельствует о нестабильности вычислительного процесса. Можно сказать, что сходимость последовательности вычислений вообще отсутствует.

Можно, подводя итог, отметить, что проведённые многочисленные расчёты на компьютере показали хорошую сходимость эвристического метода, в том случае когда алгоритм согласован с кратностью корня. Если же параметр алгоритма m больше или меньше истинной кратности корня, то процесс вычислений является неустойчивым. Метод Ньютона при кратности корня больше 2 всегда порождал неустойчивый вычислительный процесс при приближении к значению корня менее чем на 10-5.

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

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

Серия Экономика. Информатика. 2015. №7 (204). Выпуск 34/1

83

Список литературы

References

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

Tubol'cev M.F., Matorin S.I., Tubol'ceva O.M. Sistemnyj podhod k postroeniju kombinirovan-nyh shem ipotechnogo kreditovanija// Trudy ISA RAN, tom 62, vypusk 1, 2012. - str. 91-100.

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

Tubol'cev M.F., Matorin S.I., Tubol'ceva O.M. Upravlenie mnogofazovymi finansovymi poto-kami na osnove matematicheskogo modelirovanija finansovyh operacij //Nauchnye vedomosti Belgorod-skogo gosudarstvennogo universiteta, serija «Istorija, Politologija, Jekonomika, Informatika», №1 (172) 2014, vypusk 29/1.- Belgorod: Izd-vo NIU BelGU, 2014.- str.135-141.

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

Vinberg Je.B. Kurs algebry. - M.: Faktorial press, 2001. - 544 s.

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

N.N.Kalitkin, I.P.Poshivajlo. O vychislenii prostyh i kratnyh kornej nelinejnogo uravnenija // Matem. modelirovanie, 2008, t. 20, №7, s. 57 - 64.

5. Тубольцев М.Ф., Маторин С.И., Тубольцева О.М. Компьютерный метод вычисления корней нелинейного уравнения кратности два //Научные ведомости Белгородского государственного университета, серия «Экономика, Информатика», №1 (198) 2015, выпуск 33/1.- Белгород: Изд-во НИУ БелГУ, 2015.- стр.79-84.

Tubol'cev M.F., Matorin S.I., Tubol'ceva O.M. Komp'juternyj metod vychislenija kornej neli-nejnogo uravnenija kratnosti dva //Nauchnye vedomosti Belgorodskogo gosudarstvennogo universiteta, serija «Jekonomika, Informatika», №1 (198) 2015, vypusk 33/1.- Belgorod: Izd-vo NIU BelGU, 2015.- str.79-84.

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