MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем

Optimization Toolbox 2.2 Руководство пользователя

А.Г.Трифонов. Системы нелинейных уравнений

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

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

Метод Ньютона-Гаусса

Одним из возможных подходов к решению данной задачи состоит в использовании нелинейного решателя для метода наименьших квадратов, как это описано в разделе Оптимизация методов наименьших квадратов. Поскольку мы предположили, что корни решения система существуют, то она должна иметь и наименьшую невязку и поэтому в данном случае может быть эффективным Ньютона-Гаусса. При этом на каждой итерации необходимо решать некую линейную задачу на метод наименьших квадратов, согласно уравнению (3-21), и определять направление поиска. Более подробно см. раздел Метод Ньютона-Гаусса.

Метод ломаных доверительных областей

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

где Якобиан размерностью n-х-n

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

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

Но минимум для не обязательно должен быть корнем .

Ньютоновский шаг является корнем

и поскольку это также является минимумом и для , где

 

(3-24)

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

 

(3-25)

При условии, что . Такая внутренняя подзадача может быть успешно решена при помощи стратегии ломаных направлений. Более подробно о методе доверительных областей можно найти в работах Кона [5] и Носеда [33].

Реализация решения нелинейных уравнений.

Оба метода Ньютона-Гаусса и ломаных доверительных областей внедрены в тулбоксе Optimization. Детали такой реализации приводятся ниже.

Реализация Ньютона-Гаусса

Реализация метода Ньютона-Гаусса выполнена аналогично как при оптимизации методом наименьших квадратов и ее описание приведено в разделе Реализация метода Ньютона-Гаусса.

Реализация метода ломаных доверительных областей

Ключевой особенностью рассматриваемого алгоритма является использование методики ломаных направлений Пауэлла для расчета с минимизацией согласно уравнению (3-25). Детально метод приведен в работе Пауэлла [36].

Шаг строится на основе выпуклой комбинации шага Коши (шаг вдоль направления наискорейшего спуска) и шага Ньютона-Гаусса для . Шаг Коши определяется как

где выбрано из минимума согласно уравнению (3-24).

Шаг Ньютона-Гаусса находится из решения уравнения

посредством оператора MATLAB \ (левое матричное деление).

Отсюда выбираемый шаг будет

где есть наибольшее значение на интервале [0,1] такое, что . Если является (примерно) сингулярным, то как раз будет направлением Коши.

Алгоритм ломаных направлений более эффективен, поскольку для него на каждой итерации требуется только одно обращение к линейному решателю (для расчета шага Ньютона-Гаусса). Кроме того, он может быть и более устойчивым за счет использования метода Ньютона-Гаусса для линейного поиска.

 

Поиск по сайту:

Система Orphus

Яндекс.Метрика