Смекни!
smekni.com

Нелинейное программирование (стр. 5 из 7)

Методы решения задач безусловной оптимизации отличаются относительно высоким уровнем развития по сравнению с другими методами нелинейного программирования. Ниже речь идет о методах прямого поиска, для реализации которых требуются только значения целевой функции; в следующем разделе рассматриваются градиентные методы и методы второго порядка. Здесь предполагается, что f(x) непрерывна, а

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

Многомерные методы, реализующие процедуру поиска оптиму­ма на основе вычисления значений функции, с общих позиций можно разделить на эвристические и теоретические. Эвристические методы, как это следует из названия, реализуют процедуры поиска с помощью интуитивных геометрических представлений и обеспечи­вают получение частных эмпирических результатов. С другой сто­роны, теоретические методы основаны на фундаментальных математических теоремах и обладают такими операционными свойствами, как сходимость (по крайней мере при выполнении некоторых опре­деленных условий). Ниже подробно рассматриваются три метода прямого поиска:

1) поиск по симплексу, или S2-метод;

2) метод поиска Хука—Дживса;

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

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

4.1.1. Метод поиска по симплексу(S2 -метод)

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


Рис 2. Квадратный образец (частный случай кубического образца)

За­тем «наилучшая» из пяти исследуемых точек выбирается в ка­честве следующей базовой точ­ки, вокруг которой строится аналогичный образец. Если ни одна из угловых точек не имеет преимущества перед базовой, размеры образца следует уменьшить, после чего продолжить поиск.

Этот тип эволюционной опти­мизации был использован Бок­сом и другими исследователями для анализа функционирования промышленных предприятий, когда эффект варьирования значений переменных, описывающих производственные процессы, измеряется с ошибкой. В задачах большой размерности вычисление значений целевой функции проводится во всех вершинах, а также в центре тяжести гиперкуба (гиперкуб – куб в n-мерном евклидовом пространстве, т.е. множество S={x=(

)
|
} , где а и b – заданные числа ) , т. е. в точках так называемого кубического образца. Если количество переменных (размерность пространства, в котором ведется поиск) равно n, то поиск по кубическому образцу требует
+1 вычислений значения функций для одного образца. При увеличении размерности задачи необходимое количество вы­числений значения целевой функции возрастает чрезвычайно быст­ро. Таким образом, несмотря на логическую простоту поиска по кубическому образцу, возникает необходимость использования более эффективных методов прямого поиска для решения возникаю­щих на практике задач оптимизации.

Одна из вызывающих особый интерес стратегий поиска положе­на в основу метода поиска по симплексу, предложенного Спендли, Хекстом и Химсвортом. Следует отметить, что указанный метод и другие подобные методы не имеют отношения к симплекс-методу линейного программирования, а сходство названий носит случай­ный характер. Процедура симплексного поиска Спендли, Хекста и Химсворта базируется на том, что экспериментальным образцом, содержащим наименьшее количество точек, является регулярный симплекс. Регулярный симплекс в n-мерном пространстве пред­ставляет собой многогранник, образованный n+1 равностоящими друг от друга точками-вершинами. Например, в случае двух пере­менных симплексом является равносторонний треугольник; в трех­мерном пространстве симплекс представляет собой тетраэдр. В алго­ритме симплексного поиска используется важное свойство симплек­сов, согласно которому новый симплекс можно построить на любой грани начального симплекса путем переноса выбранной вершины на надлежащее расстояние вдоль прямой, проведенной через центр тяжести остальных вершин начального симплекса. Полученная та­ким образом точка является вершиной нового симплекса, а выбран­ная при построении вершина начального симплекса исключается. Нетрудно видеть, что при переходе к новому симплексу требуется одно вычисление значения целевой функции. Рис 3 иллюстрирует процесс построения нового симплекса на плоскости.



Рис.3.Построение нового симплекса.

а – начальный симплекс

б – новый симплекс

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

Правило 1. «Накрытие» точки минимума

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

Правило 2. Циклическое движение

Если некоторая вершина симплекса не исключается на протя­жении более чем М итераций, то необходимо уменьшить размеры симплекса с помощью коэффициента редукции и построить новый симплекс, выбрав в качестве базовой точку, которой соответствует минимальное значение целевой функции. Спендли, Хекст и Химс-ворт предложили вычислять М по формуле

M=1,65n+0,05

где n — размерность задачи, а М округляется до ближайшего целого числа. Для применения данного правила требуется уста­новить величину коэффициента редукции.

Правило 3. Критерий окончания поиска

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

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

и масштабном мно­жителе
координаты остальных n вершин симплекса в n-мерном пространстве вычисляются по формуле