Модификации метода Ньютона. Итерации Ньютона могут не сходиться, если начальное приближение вектора неизвестных х0п+х, контролируемое консультантом консультируемой проблемы, окажется далеким от решения и, следовательно, определенное матрицей Якоби направление сходимости будет значительно отличаться от истинного.
На практике применяют различные модификации метода Ньютона. Так, для демпфирования колебаний составляющих вектора х в процессе итерационного решения систем (8.2) и (8.3) искусственно ограничивают величину шага приращения колеблющихся переменных:
(8.8)
где xi (m+1) — полученное из выражения (8.4) значений i-й компоненты вектора х; λ — демпфирующий параметр, выбираемый при сопоставлении на m-й и (m+1)-й итерации знаков погрешности определения той составляющей вектора х, которая обусловила максимум относительной погрешности на т-й итерации. При этом
λ = λ λ 0, если знак погрешности изменился, в противном случае λ=λ/λ 0. Если при оценке окажется, что λ>1, то выбирается значение λ=1. Начальное значение λ также равно 1, а λ0 выбирается эмпирически
(λ0 ≈0,75).
При статическом анализе консультируемых проблем наряду с вопросами обеспечения сходимости метода Ньютона возникает опасность переполнения разрядной сетки ЭВМ при оценке трансцендентных компонентных зависимостей, используемых, например, для описания формируемых рекомендаций по размещению торговых точек. В этом случае исходная зависимость
i = i0(eθх-1)
заменяется парой уравнений:
![]()
где

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

— знак приращения; r и k—эмпирические константы.
Для повышения сходимости и точности применяются также итерационные методы Ньютона, в соответствии с которыми
(8.10)
где

Если при анализе статического режима метод Ньютона не сходится к решению за заданное максимальное число итераций, то целесообразно перейти к одной из разновидностей метода продолжения решения по параметру. Например, можно осуществить постепенный перевод консультируемой проблемы из априорно известного начального состояния в искомый статический режим введением специального параметра τ≤ (0≤τ≤1). При τ=0 решение уравнений модели проблемы известно, а значение τ=1 соответствует рассчитываемому режиму. Для каждого из фиксированных значений параметра τ решается частная задача статики. Метод Ньютона обладает локальной сходимостью, поэтому можно для достаточно малых значений приращений ∆τ гарантировать сходимость задачи нахождения статического режима, если система уравнений исследуемого проблемы непрерывно дифференцируема на всем интервале изменения τ. Выбор приращений ∆τ целесообразно осуществлять по процедуре, принятой для оценки локальной погрешности метода численного интегрирования.
Решение линейных систем. Для решения базовой линейной системы уравнений вида (8.6)
Ах = b (8.11)
часто используется метод последовательного исключения Гаусса или одна из его модификаций. Если правая часть b в уравнении (8.11) меняется многократно, то рекомендуется применять метод
LU-преобразования, в соответствии с которым матрица А решаемой системы уравнений представляется произведением нижней треугольной матрицы с единичной диагональю L и верхней треугольной матрицы U:
А = LU. (8.12)
При этом элементы матриц L и U определяются с помощью следующей рекурентной процедуры:

где п — размерность решаемой системы уравнений (8.11), а символами а, l, и обозначены элементы матриц A, L и U соответственно. Например, для s= 1, 2, 3 получаем соответственно:

(8.14)
После LU-преобразования матрицы А решение системы (8.11) заменяется последовательным решением двух систем линейных уравнений с треугольными матрицами:
(8.15)
которые решаются простой обратной подстановкой
(8.16)
(8.17)
Пример 1. Рассмотрим процедуру LU - преобразования на примере системы уравнений

Используя выражения (8.12) — (8.14), определяем

На основании формулы (8.15) и (8.16) строим частную систему уравнений для прямого хода решения

и получаем из нее у= [9, —7/2, 188/10]t.
Далее, пользуясь выражениями (8.15) и (8.17), формируем частную систему уравнений для обратного хода решения

из которой находим искомый вектор переменных
х =[4, 1, 2]t.
Во многих случаях решаемые системы линейных уравнений являются разреженными, поэтому при их решении основное внимание уделяется вопросам целесообразного хранения (кодирования) информации о решаемой системе уравнений, поддержанию наибольшей степени разреженности на всех этапах вычислительного процесса и разработке специальных методов оптимальной организации вычислений.
Дополнительно к способам кодирования, рассмотренным в разделе 6, применительно к процедуре LU-преобразования используется кодировка по способу «строк и столбцов». В этом случае массив IС содержит индексы строк НЭ матрицы L и индексы столбцов НЭ матрицы U, а в массиве VA последовательно размещаются НЭ столбцов матрицы L и строк матрицы U. Границы участков массивов IС и VA, соответствующие НЭ отдельных столбцов матрицы L и НЭ отдельных строк матрицы U, фиксируются в массиве IR, длина которого увеличивается вдвое по сравнению с ранее рассмотренными. Дополнительно формируется массив IVА, в котором указываются номера ячеек массива VA, содержимое которых изменяется в процессе LU-преобразования матрицы А. Благодаря измененной форме «упаковки» матрицы, согласованной с последовательностью процесса LU-преобразования, отсутствуют логические операции и процедуры поиска обрабатываемых НЭ на каждом шаге вычислений. При этом формируемые элементы матрицы L и U записываются на позиции «обработанных» элементов матрицы А, что существенно экономит массив используемой памяти.
Необходимость принятия специальных мер для сохранения разреженности уравнений модели консультируемой проблемы в процессе их решения объясняется тем, что при LU-преобразовании матрицы А возможно появление новых ненулевых элементов (ННЭ). Количество ННЭ существенно зависит от того, какие из элементов матрицы A и в какой последовательности будут выбраны в качестве главных (диагональных).
При многократном решении уравнений (8.11) целесообразно процесс LU-преобразования построить так, чтобы по возможности уменьшить количество ННЭ и изменений в уже имеющихся ненулевых элементах (ИНЭ). При этом сокращается число арифметических операций при решении системы (8.11), повышается точность решения и уменьшаются затраты памяти, необходимые для хранения информации о системе уравнений (8.11) и (8.6). Оптимизация процесса LU-преобразования достигается предварительным упорядочением решаемой системы уравнений.
Существует большое количество стратегий упорядочения, представляющих собой n-шаговую процедуру, каждый шаг которой включает:
- выбор среди элементов матрицы А текущего главного элемента, удовлетворяющего критерию упорядочения и условия вычислительной устойчивости;
- перестановку строк и столбцов матрицы А так, чтобы уже выбранные главные элементы лежали на главной диагонали;
- анализ полученной ненулевой структуры с целью определения позиций ННЭ и проведение соответствующей коррекции информационных массивов.
Перестановка строк и столбцов может выполняться и однократно после определения всех главных элементов, при этом на каждом шаге упорядочения новые номера строк и столбцов запоминаются в специальных векторах перестановок.
Одним из наиболее распространенных критериев упорядочения разреженных систем уравнений является критерий Марковица. В соответствии с этим критерием главный элемент выбирается на пересечении тех строк и столбцов матрицы, среди которых главный элемент еще не выбирался и которым соответствует минимальный вес
(8.18)
где rj, сi — число НЭ соответственно в j-й строке и i-м столбце, расположенных в непреобразованной части упорядоченной матрицы А. Вес ωij соответствует максимальному числу ННЭ, которые могут появиться, если в качестве главного будет выбран элемент аji.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |


