Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Математические методы.doc
Скачиваний:
57
Добавлен:
30.07.2019
Размер:
7.16 Mб
Скачать

13.3.2. Методы прямого поиска

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

Методы прямого поиска

Эвристические

Теоретические

(на интуитивных

геометрических

представлениях)

(основанные на фундаментальных математических теоремах)

Поиск по

Сопряженных

симплексу

направлений Пауэлла

Хука-Дживса

Рис. 13.5. Классификация методов прямого поиска

  • относительную простоту соответствующих вычислительных процедур, которые быстро реализуются и легко корректируются;

  • не требуют явного выражения целевой функции в аналитическом виде;

  • могут требовать более значительных затрат времени по сравнению с методами, основанными на производных.

Метод поиска по симплексу

Процедура симплексного метода базируется на регулярном симплексе. Регулярный симплекс в N-мерном пространстве представляет собой многогранник, образованный (N+1)- равностоящими друг от друга точками - вершинами. Так, в задаче с двумя переменными симплексом является равносторонний треугольник, с тремя - тетраэдр.

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

  1. “Накрытие” точки минимума. Если вершина, которой соответствует наибольшее значение целевой функции, построена на предыдущей итерации, то вместо нее берется вершина, которой соответствует следующее по величине значение целевой функции.

  2. Циклическое движение. Если некоторая вершина симплекса не исключается на протяжении более чем М итераций, то необходимо с помощью коэффициента редукции уменьшить размеры симплекса. Новый симплекс следует строить, выбрав в качестве базовой точку, которой соответствует минимальное значение целевой функции. В качестве расчетной формулы для расчета числа итераций (с округлением до целого) использовать следующую эмпирическую зависимость: M = 1,65N + 0,05N2, где N - размерность задачи.

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

Реализация рассматриваемого алгоритма основана на вычислениях двух типов:

  • построении регулярного симплекса при заданных базовой точки xo и масштабном множителе :

где

i и j = 1,2 ... N;

xi - координата i - той вершины.

Приращения 1 и 2 зависят только от размерности задачи N и выбранного масштабного множителя  (выбирается исходя из характера решаемой задачи) и вычисляются по формулам:

;

.

  • расчете координат отраженной точки.

Пусть xj - точка, подлежащая отражению. Центр тяжести остальных N точек расположен в точке

.

Все точки прямой, проходящей через xj и xc, задаются формулой

x = xj + (xc - xj).

При =0 получаем исходную точку xj, =1 - центр тяжести xc.

Для того чтобы построенный симплекс обладал свойством регулярности, отражение должно быть симметричным, следовательно, =2, т.е.

xjновая = 2xc - xjпредыдущая.

Итерации продолжаются до тех пор, пока не потребуется применение правил 1, 2, 3.

Преимущества метода:

  • сравнительная простота логической структуры метода и, соответственно, программы для ЭВМ;

  • используется сравнительно небольшое число заранее установленных параметров;

  • невысокий уровень требований к ЭВМ.

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

Недостатки метода:

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

  • алгоритм работает достаточно медленно, т.к. полученная на предыдущих итерациях информация не используется для ускорения поиска;

  • не существует простого способа расширения симплекса. Требуется перерасчет значений целевой функции во всех точках образца.

Метод поиска Хука-Дживса

Процедура поиска Хука-Дживса представляет собой комбинацию “исследующего поиска” и “ускоряющего поиска по образцу” (рис. 13.6).

Исследующий поиск ориентирован на выявление локального характера поведения целевой функции и определение направлений вдоль “оврагов”. Для проведения исследующего поиска необходимо задать величину шага, которая может быть различной для разных координатных направлений и изменяться в процессе поиска. Поиск начинается в некоторой исходной точке. Если значения целевой функции в пробной точке не превышает значение функции в исходной точке, то шаг поиска рассматривается как успешный. В противном случае необходимо вернуться в предыдущую точку и сделать шаг в противоположное направление с последующей проверкой значения целевой функции. После перебора всех N координат исследующий поиск завершается. Полученную в результате точку называют “базовой точкой”.

Поиск по образцу заключается в реализации единственного шага из полученной базовой точки xk вдоль прямой, соединяющей эту точку с предыдущей базовой точкой xk-1. Новая точка образца xk+1 определяется в соответствии с формулой

xk+1 = xk + (xk - xk-1).

Как только движение по образцу не приводит к уменьшению целевой функции, точка xk+1 фиксируется в качестве временной базовой точки и вновь проводится исследующий поиск. Если в результате получается точка с меньшим значением целевой функции, чем в точке xk, то она рассматривается как новая базовая точка xk+1.

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

Рис. 13.6. Поиск по методу Хука-Дживса

Алгоритм:

Шаг 1. Определить: начальную точку xo; приращения i; i=1,2,...,N; коэффициент уменьшения шага >1; параметр окончания поиска >0.

Шаг 2. Провести исследующий поиск.

Шаг 3. Был ли исследующий поиск удачным: да - к шагу 5; нет - продолжить.

Шаг 4. Проверка на окончание поиска: x<?

  • Если “да” - прекратить поиск. Текущая точка аппроксимирует точку оптимума x*.

  • Если “нет” - уменьшить приращение по формуле: i = i/, i=1,2,...,N. Перейти к шагу 2.

Шаг 5. Провести поиск по образцу: xpk+1 = xk + (xk - xk-1).

Шаг 6. Провести исследующий поиск, используя xpk+1 в качестве базовой точки. Пусть xk+1 - полученная в результате точка.

Шаг 7. W(xk+1)< W(xk)?

  • Если “да” - положить xk-1= xk, xk= xk+1 и перейти к шагу 5.

  • Если “нет” - перейти к шагу 4.

Преимущества метода:

  • несложная стратегия поиска;

  • невысокий уровень требований к ЭВМ;

  • широкое применение в инженерных приложениях.

Недостататок:

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

Метод сопряженных направлений Пауэлла

Метод ориентирован на решение задач с квадратичными целевыми функциями и основывается на фундаментальных теоретических результатах.

Основная идея метода заключается в том, что если построена система сопряженных направлений, то точку оптимума квадратичной функции W(x) можно найти в результате реализации в точности N2 (N - размерность задачи) одномерных поисков. Систему сопряженных направлений можно определить на основе следующего элементарного свойства квадратичных функций.

Свойство параллельного подпространства. Рассмотрим двухмерное пространство (рис. 13.7). Пусть e1=[1,0]T; e2=[0,1]T - единичные координатные вектора. При заданной начальной точке xo вычислим значение o, которому соответствует минимум целевой функции W(xo+ o e1). Положим, x1 = xo + o e1 и вычислим значение 1, которому соответствует минимум W(x1+ 1 e2). Далее вычислим значение 2 , минимум W(xo + o e1) и, положим, x3 = x2 + 2 e1. При этом направление x3-x1 и e1 оказываются сопряженными, а поиск, проводимый из точки x1 или x3 в направлении x1-x3 , обеспечивает получение точки минимума всего за 4 одномерных поиска.

Рис. 13.7. Двухмерный поиск по методу сопряженных направлений Пауэлла

Проведенное построение для двухмерного случая, естественным образом, обобщается на случай задач более высокой размерности. Рассмотрим трехмерный случай (рис. 13.8).

Сначала поиск осуществляется вдоль трех координатных направлений e1, e2 и e3. Затем эти направления заменяются вновь построенными сопряженными направлениями. Серия одномерных поисков из xo проводится в направлении e3, затем e1, e2 и снова e3. В результате построены сопряженные направления e3 и x4-x1. Направление e1 заменяется новым направлением поиска 4. Следующая серия поисков проводится в направлении 4, затем e2, e3 и снова 4. Согласно свойству параллельного подпространства новое направление x8-x5, 5, сопряжено не только с 4, но и с e3. Следовательно, e3, x4-x5 и x8-x5 образуют систему взаимно сопряженных направлений. Поэтому, если провести дополнительный поиск из точки x8 в направлении x8-x5, то будет найдена точка x9, в которой должен достигаться оптимум квадратичной функции трех переменных W(x), поскольку поиск последовательно осуществлялся в трех взаимно сопряженных направлениях.

Рис. 13.8. Трехмерный поиск по методу сопряженных направлений Пауэлла

Алгоритм метода сопряженных направлений Пауэлла

Шаг 1. Задать начальную точку xo и систему N линейно независимых направлений si ; целесообразно принять si = ei, i=1,2,...,N.

Шаг 2. Минимизировать W(x) при последовательном движении по N+1 направлениям; при этом полученная ранее точка минимума берется в качестве исходной, а направление sN используется как при первом, так и при последнем поиске.

Шаг 3. Определить новое сопряженное направление с помощью обобщенного свойства параллельного подпространства.

Шаг 4. Заменить s1 на s2 и так далее. Заменить sN сопряженным направлением. Перейти к шагу 2.

Для применения метода на практике его необходимо дополнить процедурами проверки сходимости и линейной независимости системы направлений. Если целевая функция квадратична и обладает минимумом, то точка минимума находится в результате реализации N циклов, включающих шаги 2-4. Здесь N - число переменных. Если же функция W(x) не является квадратичной, то требуется более чем N циклов.