Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2793.Методы оптимизации..pdf
Скачиваний:
175
Добавлен:
15.11.2022
Размер:
33.68 Mб
Скачать

6. АЛГОРИТМЫ ПРЯМОГО ПОИСКА

Вметодах прямого поиска минимума целевой функции (или

мет одах нулевого порядка) используют информацию только о

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

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

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

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

6.1. Особенности прямого поиска минимума

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

Опишем один из наиболее простых алгоритмов минимиза­ ции функции /(ж), определенной в W1. Выберем в Шп точку ж0, называемую обычно базовой. Вычислим в ней значение f(x°) функции /(ж ), а затем построим n-мерный куб с цен­ тром в этой точке и с ребрами длиной Z, параллельными ортам базиса. Множество вершин этого куба вместе с точкой ж0 со­ ставляют так называемый шаблон (или образец). Вычислив значения функции в вершинах куба, выберем в качестве но­ вой базовой точки ту из вершин, в которой значение функции меньше /(ж 0), и повторим описанную процедуру построения шаблона и выбора следующей базо­ вой точки. Если же такой верши­ ны не оказалось, то оставим преж­ нюю базовую точку ж0 и построим шаблон с уменьшенной (например, вдвое) длиной ребер куба. Про­ цесс поиска закончим, когда длина ребра куба станет меньше задан­ ного числа е > 0. Геометрическая иллюстрация описанного алгорит­ ма, называемого обычно поиском при помощи шаблона (или образ­ ца), представлена на рис. 6.1 в дву­ мерном случае.

Основной недостаток поиска при помощи шаблона состо­ ит в резком росте количества вычислений значений целевой функции при увеличении размерности п (порядка 2П), а глав­ ное преимущество — в простоте алгоритма. Эффективность этого алгоритма можно повысить за счет использования инфор­ мации о ранее вычисленных значениях функции, что позволяет уменьшить число рассматриваемых точек путем отбрасывания тех точек, в которых значения функции не существенны для выбора следующей базовой точки. Геометрически это соответ­ ствует процедуре построения вокруг базовой точки в качестве шаблона не n-мерного куба, а конфигурации с меньшим коли­ чеством вершин, в которых вычисляют значения функции.

Реализация этой идеи привела к разработке методов сим­ плексного поиска, получивших к началу 1970-х годов широ­ кое распространение. Симплекс (от латинского слова simplex — простой) — это простейший выпуклый многогранник в Rn с п + 1 вершинами (в R2 — треугольник, в R3 — тетраэдр). Каждую вершину этого многогранника называют вершиной симплекса. Идея построения алгоритма симплексного поиска состоит в следующем: в вершинах симплекса вычисляют значе­ ния минимизируемой функции, наихудшую из вершин — ту, в которой значение функции наибольшее, — заменяют по опре­ деленному правилу новой вершиной, образуя тем самым новый симплекс. Затем эту процедуру повторяют.

В одном из первых разработанных вариантов симплексного поиска был использован регулярный симплекс, у которого все вершины равноудалены друг от друга (в R2 — равносторон­ ний треугольник, в R3 — правильный тетраэдр). Дж. Нелдер и Р. Мид* в 1965 году впервые рассмотрели произвольный (нерегулярный) симплекс и предложили способ изменения ско­ рости его движения путем расширения или сжатия симплекса в зависимости от того, удачно ли был выбран шаг поиска в направлении убывания функции или нет. Позднее в исходные

*См.: Базара М., Шетти К.