Следовательно, за один цикл
Значит, когда число циклов
Первые производные одновременно обращаются в нуль в точке минимума и вблизи него являются линейными однородными функциями приращений координат. Поэтому координаты точек спуска линейно стремятся к координатам точки минимума, т. е. в данном случае спуск по координатам сходится, причем линейно.
Случай (15) заведомо реализуется в достаточно малой окрестности невырожденного минимума, ибо эти условия эквивалентны требованию положительной определенности квадратичной формы (12). Такими образом, вблизи невырожденного минимума достаточно гладкой функции спуск по координатам линейно сходится к минимуму. В частности, для квадратичной функции этот метод сходится при любом нулевом приближении.
Фактическая скорость сходимости будет неплохой при малых
Если сходимость медленная, но траектория уже попала в близкую окрестность минимума, то итерации можно уточнять процессом Эйткена; разумеется, при этом надо брать в качестве исходных значения не на трех последних спусках, а на трех циклах спусков (т. е. не точки
Разрешимый овраг напоминает сильно вытянутую котловину (см. рис. 3, б). При попадании траектории спуска в такой овраг сходимость становится настолько медленной, что расчет практически невозможно вести. Отметим, что в стохастических задачах наличие ошибок эквивалентно превращению истинных оврагов и гребней в разрешимые; расчет при этом можно продолжать, хотя практическая ценность такого расчета невелика: сходимость очень медленная.
Метод спуска по координатам несложен и легко программируется на ЭВМ. Но сходится он медленно, а при наличии оврагов – очень плохо. Поэтому его используют в качестве первой попытки при нахождении минимума.
Пример. Рассмотрим квадратичную функцию
Уточнение по Эйткену дает
2.3 Наискорейший спуск
Спускаться можно не только параллельно осям координат. Вдоль любой прямой
Наиболее известным является метод наискорейшего спуска, когда выбирается
Однако этот метод значительно сложнее спуска по координатам, ибо требуется вычислять производные и градиент и переходить к другим переменным. К тому же, по сходимости наискорейший спуск не лучше спуска по координатам. При попадании траектории в истинный овраг спуск прекращается, а в разрешимом овраге сильно замедляется.
Если функция является положительно определенной квадратичной функцией
то формулы наискорейшего спуска приобретают несложный вид. Вдоль прямой
Из уравнения
дающий нам следующую точку спуска:
направление наискорейшего спуска определяется градиентом квадратичной функции (16):
Подставляя это значение в формулы (18) – (19), получим окончательные выражения для вычисления последовательных спусков.
Если воспользоваться разложением всех движений по базису, состоящему из собственных векторов матрицы
здесь
Есть такие начальные приближения (рис. 4), когда точно реализуется наихудшая возможная оценка, т. е. в (21) имеет место равенство.
Причины нетрудно понять. Во-первых, в данной точке любую прямую, в том числе невыгодную для спуска, можно сделать направлением градиента, если специально подобрать изменение масштабов по осям. Во-вторых, каждый спуск кончается в точке, где его направление касается линии (поверхности) уровня. Градиент перпендикулярен поверхности уровня. Следовательно, в методе наискорейшего спуска каждый спуск перпендикулярен предыдущему. В двумерном случае это означает, что мы совершаем спуск по координатам, повернутым так, что одна ось параллельна градиенту начальной точки.
Для улучшения метода наискорейшего спуска предлагают «кухонные» поправки к алгоритму – например, совершают по каждому направлению спуск не точно до минимума. Наиболее любопытным представляется такое видоизменение алгоритма. Будем делать по направлению, противоположному градиенту, только бесконечно малый шаг и после него вновь уточнять направление спуска. Это приводит к движению по кривой
Вдоль этой кривой
Однако от идеи метода еще далеко до надежного алгоритма. Фактически систему дифференциальных уравнений (22) надо численно интегрировать. Если интегрировать с большим шагом, то численное решение будет заметно отклоняться от линии градиента. А при интегрировании малым шагом сильно возрастает объем расчетов. Кроме того, если рельеф имеет извилистые овраги, то трудно ожидать хорошей сходимости этого метода.
Алгоритмы наискорейшего спуска и всех его видоизменений сейчас недостаточно отработаны. Поэтому метод наискорейшего спуска для сложных нелинейных задач с большим числом переменных (