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

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

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

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

 (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.  Траектория поиска минимума функции Химмельблау методом наилучшей пробы. Пунктиром на рисунке показаны неудачные пробы.

8.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.  Траектория поиска минимума функции Химмельблау методом комплексов.

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

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

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

 (1)

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

 (2)

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

 (3)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 (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 соответствуют случайным точкам. Любое направление поиска в секторе β лучше, чем направление антиградиента.