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

Глава 8. Многомерная локальная безусловная оптимизация. Методы случайного поиска

Метод с возвратом при неудачном шаге. Метод наилучшей пробы

Рассматривается следующая многомерная задача локальной безусловной оптимизации: найти минимум критерия оптимальности (), определенного в-мерном евклидовом пространстве,

 (1)

При решении задачи (1) методом с возвратом при неудачном шаге (одношаговый метод оптимизации) используется итерационная формула

 (2)

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

Схема метода с возвратом при неудачном шаге.

  1. Задаем начальную точку , начальную длину шагаи полагаем счетчик числа итераций=0.

  2. Задаем начальное значение счетчика числа неудачных попыток =1.

  3. Получаем реализацию случайных чисел - компонент вектораи по формуле (2) находим пробную точку.

  4. Вычисляем значение () функции() в точке.

  5. Если , то полагаеми переходим к п.3. Иначе – переходим к п.6.

  6. Полагаем . Если, то переходим к п.3. Иначе – переходим к п.7. Здесь– предельное количество неудачных попыток (свободный параметр метода). Рекомендуется.

  7. Проверяем условие окончания поиска (см. ниже). Если условие окончания поиска выполнено, то полагаем и завершаем итерации. Иначе – полагаем,и переходим к п. 2. Здесь- коэффициент уменьшения шага (свободный параметр метода)

В качестве условия окончания поиска можно использоваться одно из стандартных условий окончания итераций:

 (3)

где - константа, определяющая требуемую точность решения по;

 (4)

где - константа, определяющая требуемую точность решения по.

Метод с возвратом при неудачном шаге иллюстрирует рис. 1, на котором показан фрагмент линий уровня функции Химмельблау.

Рис. 1.  Траектория поиска минимума функции Химмельблау методом с возвратом при неудачном шаге. Пунктиром на рисунке показаны неудачные шаги.

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

Схема метода наилучшей пробы.

  1. Задаем начальную точку , начальную длину шагаи полагаем счетчик числа итераций=0.

  2. Генерируем случайных векторови по формуле (2) находим пробные точки

  3. Вычисляем значения () функции() в пробных точках,[1,] и находим минимальное из этих значений

  4. Если ()<(), то полагаем=+1 и переходим к п.2. Иначе – переходим к п.5.

  5. Проверяем условие окончания поиска (см. (3), (4)). Если условие окончания поиска выполнено, то полагаем и завершаем итерации. Иначе – полагаем=+1,=и переходим к п.2. Здесь- коэффициент уменьшения шага (свободный параметр метода)

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

Рис. 2.  Траектория поиска минимума функции Химмельблау методом наилучшей пробы. Пунктиром на рисунке показаны неудачные пробы.

Метод комплексов

Рассматривается следующая многомерная задача локальной безусловной оптимизации: найти минимум критерия оптимальности (), определенного в-мерном евклидовом пространстве,

 (1)

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

При решении задачи (1) методом комплексов используются следующие операции:

  • генерация случайного комплекса;

  • отражение вершины комплекса с растяжением;

  • сжатие комплекса.

Генерация случайного комплекса. В пространстве координаты вершин случайного комплекса свершинами могут быть найдены по формуле

 (2)

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

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

 (3)

где - коэффициент растяжениякомплекса (рекомендуемое значение - ),- вектор координат центра тяжести комплекса:

 (4)

Рис. 1.  Отражение вершины X1r комплекса Cr через центр его тяжести с растяжением. Пунктиром показан новый комплекс Cr+1.

Сжатие комплекса. Положим, что в пространстве тем или иным способом заданкомплекс свершинами, и его вершинунеобходимо переместить ближе к центру тяжести комплекса- выполнить сжатие комплекса. В новом комплексевсе вершины, кроме-ой, совпадают с соответствующими вершинами исходного комплекса, а-я вершина находится на прямой, проходящей через центр тяжести этого комплекса и его вершину(см. рис. 2). Обозначим координаты вершин нового комплекса,[1,]. Тогда имеем

 (5)

где - коэффициентсжатия комплекса (рекомендуемое значение - 2), - вектор координат центра тяжестикомплекса (см. (4)).

Рис. 2.  Сжатие комплекса Cr Пунктиром показан новый комплекс Cr.

Схема простейшего варианта метода комплексов.

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

  2. Генерируем случайных векторови по формуле (2) находим координатывершинкомплекса .

  3. Вычисляем значения () функции() во всех вершинахкомплекса .

  4. Находим максимальное из значений функции () в вершинахкомплекса

  5. По формулам (3), (4) для комплекса выполняемотражение вершины комплекса с растяжением - получаем вершинуи новый комплекс.

  6. Вычисляем значение () функции() в вершине.

  7. Если , то полагаем=+1 и переходим к п.8. Иначе – по формулам (5), (4) выполняемсжатие симплекса в направлении, полагаеми переходим к п.6.

  8. Проверяем условие окончания поиска (см. ниже). Если условие окончания поиска выполнено, то в качестве точки полагаем вершинукомплекса , к которой функция() имеет наименьшее значение и завершаем итерации. Иначе – переходим к п. 4

В качестве критерия окончания поиска может использоваться следующее условие: максимальная длина ребра комплекса не превышает- требуемую точность решения по. Может использоваться также следующее аналогичное условие: максимальная разность значений функции() в двух вершинах комплексане превышает- требуемую точность решения по.

Могут использоваться также более сложные условия окончания поиска

 (6)

 (7)

В формуле (6) векторная норма означает расстояние вершины до центра тяжестикомплекса , а сама формула (6) определяет среднее расстояние вершин комплексадо его цента тяжести.

В формуле (7) есть среднее значение функции() в вершинахкомплекса , а сама формула (7) определяет среднее отклонение значений функции() в вершинах комплексаот этого среднего значения.

Метод комплексов иллюстрирует рис. 3, на котором показан фрагмент линий уровня функции Химмельблау. На рисунке исходный комплекс имеет вершины,[1, 4]. После отражения с растяжением вершиныэтого комплекса, в которой функция имеет максимальное значение, получаем комплексс вершинами,[1, 4]. После отражения с растяжением вершиныкомплекса, в которой функция имеет максимальное значение, получаем комплексс вершинами,[1, 4].

Рис. 3.  Траектория поиска минимума функции Химмельблау методом комплексов.

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

Метод повторяющегося случайного поиска

Рассматривается следующая многомерная задача локальной безусловной оптимизации: найти минимум критерия оптимальности (), определенного в-мерном евклидовом пространстве,

 (1)

В методе повторяющегося случайного поиска (трех-шаговый метод) используется итерационная схема (см. рис. 1)

 (2)

где - величина шага (скаляр) на-ой итерации,- (*1)-вектор, определяющий направление шага на-ой итерации:

 (3)

Здесь - вектор «предыстории», определяющий среднее направление поиска на двух предыдущих шагах;- некоторая векторная норма;--мерный вектор псевдослучайных чисел, равномерно распределенных в интервале; скаляр- коэффициент, задающий относительные веса детерминированной и случайной компонент в векторе(свободный параметр метода); скаляр- коэффициент, задающий относительные веса векторовв векторе(свободный параметр метода).

Заметим, что отношение представляет собой единичный вектор направления, а отношение- единичный вектор направления.

Рис. 1.  К итерационной схеме метода повторяющегося случайного поиска.

Принято ,,, так чтои.

Упрощенная схема метода повторяющегося случайного поиска.

  1. Задаем начальную точку , начальный шаг, значения коэффициентов,и полагаем счетчик числа итераций=2.

  2. Тем или иным способом, например, с помощью одношагового метода наилучшей пробы определяем точки ,- этап «разгона» метода.

  3. Генерируем -мерный случайный вектори по формулам (2), (3) вычисляем координаты точкии значение() функции() в этой точке.

  4. Если , то проверяем условие окончания итераций (см. ниже). Если условие окончания выполнено, то полагаеми завершаем итерации. Если условие окончания итераций не выполнено, то некоторому правилу увеличиваем длину шага, например, полагая, принимаеми переходим к п.3. Если, то переходим к п. 5.

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

В качестве условия окончания поиска можно использоваться одно из стандартных условий окончания итераций

где - константа, определяющая требуемую точность решения по;

где - константа, определяющая требуемую точность решения по.

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

Метод повторяющегося случайного поиска иллюстрирует рис. 2, на котором показан фрагмент линий уровня функции Химмельблау.

Рис. 2.  Траектория поиска минимума функции Химмельблау методом повторяющегося случайного поиска.

На рисунке принято ,,,,, так чтои. Пунктиром показаны отвергнутые векторы.

Метод случайного поиска с постоянным радиусом поиска и случайными направлениями

Рассматривается следующая многомерная задача локальной безусловной оптимизации: найти минимум критерия оптимальности (), определенного в-мерном евклидовом пространстве,

 (1)

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

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

  • генерируем случайных чисел, равномерно распределенных в интервале;

  • вычисляем направляющие косинусы вектора;

  • находим координаты искомой точки .

Упрощенная схема метода случайного поиска с постоянным радиусом поиска и случайными направлениями.

  1. Задаем начальную точку , начальный радиус гиперсферы, и полагаем счетчик числа итераций=0.

  2. Генерируем случайные точки ,[1,] равномерно распределенные по поверхности гиперсферы радиусас центром в точке. Здесь– количество точек – свободный параметр метода.

  3. Вычисляем значения минимизируемой функции () в полученных точках и находим точку, в которой достигается минимальное значение функции():

  4. Каким-либо из рассмотренных в главе 4 одномерных методов оптимизации (например, методом Паулла) находим минимум функции () в направлении:

  5. Проверяем условие окончания итераций (см. ниже). Если условие окончания выполнено, то полагаем и завершаем итерации. Иначе - принимаем=+1 и переходим к п.2

В качестве условия окончания поиска можно использоваться одно из стандартных условий окончания итераций:

где - константа, определяющая требуемую точность решения по;

где - константа, определяющая требуемую точность решения по.

Могут быть использованы также другие критерии окончания поиска, например, условие не превышения текущим радиусом гиперсферы величины :

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

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

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

Рис. 1.  Траектория поиска минимума функции Химмельблау методом случайного поиска с постоянным радиусом поиска и случайными направлениями (n=2).

На рисунке точки, лежащие на окружности с центром в точке , соответствуют случайным точкам,[1,].

Примечание 1

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

(см. параграф 6.4).

Рис. 2.  Один шаг поиска в направлении антиградиента минимизируемой функции (∇Φ(Xr)) приводит на линию уровня (1.5). В то же время одна итерация по методу случайного поиска с постоянным радиусом поиска и случайными направлениями – на линию уровня ~0.2. Точки на окружности с центром в точке Xr соответствуют случайным точкам. Любое направление поиска в секторе β лучше, чем направление антиградиента.