Смекни!
smekni.com

Методы поисковой оптимизации (стр. 1 из 2)

1. Назначение и классификация методов поисковой оптимизации

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

Исходными данными в методах поиска являются требуемая точность метода и начальная точка поиска Х 0.

Затем выбирается величина шага поиска h, и по некоторому правилу происходит получение новых точек Х k+1 по предыдущей точке Х k , при k = 0,1,2,… Получение новых точек продолжают до тех пор, пока не будет выполнено условие прекращения поиска. Последняя точка поиска считается решением задачи оптимизации. Все точки поиска составляют траекторию поиска.

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

Для методов, использующих постоянную величину шага, h следует выбирать значительно меньше точности h » Öe). Если при выбранной величине шага h не удается получить решение с требуемой точностью, то нужно уменьшить величину шага и продолжить поиск из последней точки имеющейся траектории.

В качестве условий прекращения поиска принято использовать следующие:

все соседние точки поиска хуже, чем предыдущая;

çФ(Xk+1 ) - Ф(X k)ç£ e, то есть значения целевой функции Ф(Х) в соседних точках (новой и предыдущей) отличаются друг от друга на величину не больше, чем требуемая точность e;

то есть все частные производные в новой точке поиска практически равны 0 или отличаются от 0 на величину, не превышающую заданной точности e.

Алгоритм получения новой точки поиска Хk+1 по предыдущей точке Хk свой для каждого из методов поиска, но всякая новая точка поиска должна быть не хуже предыдущей: если задача оптимизации является задачей поиска минимума, то Ф(Хk+1) £ Ф(Хk).

Методы поисковой оптимизации принято классифицировать по порядку производной целевой функции, используемой для получения новых точек. Так, в методах поиска нулевого порядка не требуется вычисления производных, а достаточно самой функции Ф(Х). Методы поиска первого порядка используют первые частные производные, а методы второго порядка используют матрицу вторых производных (матрицу Гессе).

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

Эффективность поискового метода определяют по числу итераций и по количеству вычислений целевой функции Ф(Х) на каждой итерации метода (N). Рассмотрим наиболее распространенные методы поиска, расположив их в порядке уменьшения числа итераций.

Для методов поиска нулевого порядка справедливо следующее: в методе случайного поиска нельзя заранее предсказать количество вычислений Ф(Х) на одной итерации N, а в методе покоординатного спуска N £ 2×n, где n- количество управляемых параметров X = ( x1, x2.,…,xn).

Для методов поиска первого порядка справедливы следующие оценки: в градиентном методе с постоянным шагом N=2×n; в градиентном методе с дроблением шага N = 2×n + n1, где n1 – число вычислений Ф(Х), необходимых для проверки условия дробления шага; в методе наискорейшего спуска N=2×n+n2, где n2 – число вычислений Ф(Х), необходимых для расчета оптимальной величины шага; а в методе Давидона – Флетчера - Пауэлла (ДФП) N = 2× n + n3, где n3 – число вычислений Ф(Х), необходимых для расчета матрицы, приближающей матрицу Гессе ( для величин n1, n2, n3 справедливо соотношение n1 < n2 << n3 ).

И, наконец, в методе второго порядка - методе Ньютона N = 3×n2. При получении данных оценок предполагается приближенное вычисление производных по формулам конечных разностей / 6 /:

то есть для вычисления производной первого порядка нужно знать два значения целевой функции Ф(Х) в соседних точках, а для второй производной – значения функции в трех точках.

На практике широкое применение нашли метод наискорейшего спуска и метод ДФП, как методы с оптимальным соотношением числа итераций и их трудоемкости.


2. Методы поиска нулевого порядка

2.1. Метод случайного поиска

В методе случайного поиска исходными данными являются требуемая точность метода e, начальная точка поиска Х0 = ( x10, x2. 0,…,xn0) и величина шага поиска h. Поиск новых точек производится в случайном направлении, на котором и откладывается заданный шаг h (рис. 2.1), таким образом получают пробную точку Х^ и проверяют, является ли пробная точка лучшей, чем предыдущая точка поиска. Для задачи поиска минимума это означает, что

Ф(Х^) £ Ф(Хk), k = 0,1,2… (2.4)

Если условие (2.4) выполнено, то пробную точку включают в траекторию поиска Х k+1 = Х^. В противном случае, пробную точку исключают из рассмотрения и производят выбор нового случайного направления из точки Х k, k = 0,1,2,.

Несмотря на простоту данного метода, его главным недостатком является тот факт, что заранее неизвестно, сколько случайных направлений потребуется для получения новой точки траектории поиска Хk+1, что делает затраты на проведение одной итерации слишком большими. Кроме того, поскольку при выборе направления поиска не используется информация о целевой функции Ф(Х), число итераций в методе случайного поиска очень велико.

В связи с этим метод случайного поиска используется для исследования малоизученных объектов проектирования и для выхода из зоны притяжения локального минимума при поиске глобального экстремума целевой функции /6/.

2.2. Метод покоординатного спуска

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

Исходными данными в методе покоординатного спуска являются величина шага h и начальная точка поиска Х0 = ( x10, x2. 0,…,xn0). Движение начинаем из точки Х0 вдоль оси x1 в сторону увеличения координаты. Получим пробную точку Х^ с координатами ( x10+h, x20,…,xn0), при k = 0.

Сравним значение функции Ф(Х^) с значением функции в предыдущей точке поиска Хk. Если Ф(Х^) £ Ф(Хk) (мы предполагаем, что требуется решить задачу минимизации целевой функции Ф(Х)), то пробную точку включают в траекторию поиска ( Х k+1 = Х^).

В противном случае, пробную точку исключаем из рассмотрения и получаем новую пробную точку, двигаясь вдоль оси x1 в сторону уменьшения координаты. Получим пробную точку Х^ = ( x1k-h, x2. k,…,xnk ). Проверяем, если Ф(Х^) > Ф(Хk), то продолжаем движение вдоль оси x2 в сторону увеличения координаты. Получим пробную точку Х^ = ( x1k, x2.k+h,…,xnk) и т.д. При построении траектории поиска повторное движение по точкам, вошедшим в траекторию поиска, запрещено. Получение новых точек в методе покоординатного спуска продолжается до тех пор, пока не будет получена точка Хk, для которой все соседние 2×n пробных точек (по всем направлениям x1, x2.,…,xn в сторону увеличения и уменьшения значения каждой координаты) будут хуже, то есть Ф(Х^) > Ф(Хk). Тогда поиск прекращается и в качестве точки минимума выбирается последняя точка траектории поиска Х* = Хk.


3. Методы поиска первого порядка

3.1. Структура градиентного метода поиска

В методах поиска первого порядка в качестве направления поиска максимума целевой функции Ф(Х) выбирается вектор градиент целевой функции grad (Ф(Хk)), для поиска минимума – вектор антиградиент -grad (Ф(Хk)). При этом используется свойство вектора градиента указывать направление наискорейшего изменения функции:

Для изучения методов поиска первого порядка важно также следующее свойство: вектор градиент grad (Ф(Хk)) направлен по нормали к линии уровня функции Ф(Х) в точке Хk (см. рис. 2.4). Линии уровня – это кривые, на которых функция принимает постоянное значение (Ф(Х) = соnst).

В данной главе мы рассмотрим 5 модификаций градиентного метода:

градиентный метод с постоянным шагом,

градиентный метод с дроблением шага,

метод наискорейшего спуска,

метод Давидона-Флетчера-Пауэлла,

двухуровневый адаптивный метод.

3.2. Градиентный метод с постоянным шагом

В градиентном методе с постоянным шагом исходными данными являются требуемая точность e, начальная точка поиска Х0 и шаг поиска h.

Получение новых точек производится по формуле:

Формула (2.7) применяется, если для функции Ф(Х) необходимо найти минимум. Если же задача параметрической оптимизации ставится как задача поиска максимума, то для получения новых точек в градиентном методе с постоянным шагом используется формула: