Процесс поиска продолжается до тех пор, пока , , не станут близки к нулю или пока не будет достигнута граница области задания переменных.
В алгоритме с автоматическим уточнением шага величину уточняют так, чтобы изменение направления градиента в соседних точках и улучшающей последовательности составляло (рис 3.7)
Рисунок 3.8 – Изменение направления градиента в соседних
точках
Должно быть
где – скалярное произведение векторов.
;
;
;
Если ;
если ;
если ,
где .
Критерии окончания поиска оптимума:
; (3.14)
,; (3.15)
; (3.16)
; (3.17)
где – норма вектора.
Поиск завершается при выполнении одного из условий (3.14) – (3.17).
Недостатком градиентного поиска (так же и рассмотренных выше методов) является то, что при его использовании можно обнаружить только локальный экстремум функции . Для отыскания других локальных экстремумов необходимо производить поиск из других начальных точек.
3.2.3 Метод наискорейшего спуска
Метод наискорейшего спуска предложен американскими специалистами Дж. Боксом и К. Уилсоном как синтез лучших свойств градиентного метода и метода релаксации.
Недостатком градиентного метода заключается в том, что на каждом шаге надо вычислять все производные функции и определять направление градиента, что при большом числе переменных эта трудоемкая операция. Метод релаксации в том смысле обладает определенным достоинством, так как при движении вдоль выбранного осевого направления не требует вычислений производных после каждого шага. Однако в данном случае движение происходит не в оптимальном направлении, поскольку градиент в общем случае не совпадает с осевым направлением.
Метод наискорейшего спуска (крутого восхождения) сочетает основные идеи методов релаксации и градиента и заключается в следующем. Так же как в градиентном методе, в начальной точке определяет направление градиента и перемещается в этом (при поиске максимума) или в противоположном (при поиске минимума) направлении. Однако перемещаются не на один шаг, а несколько шагов (как в методе релаксации). После каждого шага оценивается только величина критерия , производные не вычисляются (рис. 3.8)
Рисунок 3.9 – Траектория движения к оптимуму в методе наискорейшего спуска
, , (3.18)
где – вектор точки, в которой последний раз вычислялся градиент .
В алгоритме (3.18) знак “+” – принимается при поиске максимума, а знак “-” – при поиске минимума. В направлении градиента выполняют шаги пока выполняется условие (при поиске минимума)
(3.19)
При нарушении условия (3.19) в последней точке определяют новое направление градиента и процедуру поиска повторяют.
Критерием окончания поиска может служить одно из условий (6,14) – (6,17) градиентного спуска.
Рассмотрим возможность улучшения алгоритма поиска Итерационный поиск (6.18) в векторной форме в точке имеет вид
(3.20)
С учетом этого можно определить значение в точке :
(3.21)
Поскольку и определены, то значение целевой функции в следующей точке
оказывается функцией только одного параметра – шага спуска (рис. 6.9). Применяя какой-нибудь метод однометрической оптимизации определяем величину оптимального шага
и координаты новой точки
Рисунок 3.10 – Характер зависимости целевой функции от величины шага поиска
Аналогично находим:
Вычислив в новой точке градиент , имеем
Эта процедура повторяется до выполнения одного из условий (3.14) – (3.17)
Заметим, что центральным звеном рассматриваемого алгоритма является поиск минимума функции одной переменной, что существенно увеличивает быстродействие алгоритма поиска оптимума методом наискорейшего спуска.
Этот метод, также как и другие методы градиентного спуска, определяет локальный минимум функции . Это связано с зависимостью всего пути спуска . Для определения других локальных минимумов необходимо производить поиск из других начальных точек.
До сих пор рассматривались методы поиска оптимума, в которых производился предварительный анализ производных функций цели по всем независимым переменным для определения направления и величины шага поиска. Это связано с необходимостью выполнения большого объёма вычислений, что приводит к увеличению времени поиска.
Кроме того, при оптимизации объекта в условиях отсутствия его математического описания, погрешность вычисления производной как разности значений и критерия оптимальности может достигать до сотен процентов из-за неизбежных погрешностей при измерений величин, характеризующих этот критерий. Причём это может иметь место даже при небольшой относительной погрешности вычислений значения критерия оптимальности. Это может привести к существенным ошибкам в определении направления движения к оптимуму с помощью градиентных методов.
Существует другая группа методов – безградиентные методы, использующие в процессе поиска информацию, получаемую не при анализе производных, а от сравнительной оценки критерия оптимальности в результате выполнения очередного шага. К ним относятся методы сканирования, покоординатного спуска (Гаусса- Зейделя), симплекса.
3.3.1 Метод сканирования
Идея алгоритма перебора крайне проста. Вычисляют значения функции в конечном числе точек области Dx (в узлах координатной сетки).Из вычисленных значений выбирают наименьшее (наибольшее) . Координаты соответствующего узла сетки – это координаты экстремума, определённые с точностью до , где – h шаг сетки (рис. 6.10).
Рисунок 3.11 – Поиск оптимума на сетке переменных
Точность определения точки минимума, причем глобального, зависит от плотности наполнения области Dx дискретным множеством , то есть от величины шага h координатной сетки, тем выше точность определения положения оптимума, однако при уменьшении h быстро растёт объём вычислений. Если интервал изменения каждой переменной разбить К равных частей, то h равно
,
При этом необходимое количество вычислений I(x) равно .
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.