
- •Глава 1. Математическая формулировка задачи непрерывной оптимизации в конечномерном пространстве
- •Глава 2. Условия существования минимума в детерминированных задачах оптимизации
- •Глава 3. Классификация поисковых методов оптимизации и методология их сравнения
- •Глава 12. Задачи оптимального управления и методы их приближенного решения
- •Глава 1. Математическая формулировка задачи оптимального проектирования.
- •Глава 2. Условия существования минимума в детерминированных задачах оптимизации.
- •Глава 3. Классификация поисковых методов оптимизации и методология их сравнения.
- •Глава 4. Методы поиска локального минимума одномерных функций.
- •Глава 5. Методы поиска глобального минимума одномерных функций.
- •Глава 6. Многомерная локальная безусловная оптимизация. Детерминированные прямые методы.
- •Глава 7. Многомерная локальная безусловная оптимизация. Детерминированные методы первого и второго порядков.
- •1. Постановка задачи.
- •2. Итерационная формула.
- •Глава 8. Многомерная локальная безусловная оптимизация. Методы случайного поиска (прямые методы).
- •Глава 9. Многомерная локальная условная оптимизация.
- •Глава 10. Многомерная глобальная условная оптимизация.
- •Глава 11. Задачи многокритериальной оптимизации и методы их решения.
- •Глава 12. Задачи оптимального управления и методы их приближенного решения.
Глава 8. Многомерная локальная безусловная оптимизация. Методы случайного поиска (прямые методы).
8.1 Метод с возвратом при неудачном шаге. Метод наилучшей пробы
Рассматривается
следующая многомерная задача
локальной безусловной оптимизации:
найти минимумкритерия
оптимальности
(
),
определенного в
-мерном
евклидовом пространстве
,
|
(1) |
При решении задачи (1) методом с возвратом при неудачном шаге(одношаговый метод оптимизации) используется итерационная формула
|
(2) |
где
-
величина шага на
-ой
итерации,
-
реализация
-мерного
случайного вектора,
-
некоторая векторная норма. Обычно в
качестве координат вектора
используют
независимые случайные величины,
равномерно распределенные в интервале
.
Схема метода с возвратом при неудачном шаге.
Задаем начальную точку
, начальную длину шага
и полагаем счетчик числа итераций
=0.
Задаем начальное значение счетчика числа неудачных попыток
=1.
Получаем реализацию случайных чисел
- компонент вектора
и по формуле (2) находим пробную точку
.
Вычисляем значение
(
) функции
(
) в точке
.
Если
, то полагаем
и переходим к п.3. Иначе – переходим к п.6.
Полагаем
. Если
, то переходим к п.3. Иначе – переходим к п.7. Здесь
– предельное количество неудачных попыток (свободный параметр метода). Рекомендуется
.
Проверяем условие окончания поиска (см. ниже). Если условие окончания поиска выполнено, то полагаем
и завершаем итерации. Иначе – полагаем
,
и переходим к п. 2. Здесь
- коэффициент уменьшения шага (свободный параметр метода)
В качестве условия окончания поиска можно использоваться одно из стандартных условий окончания итераций:
|
(3) |
где
-
константа, определяющая требуемую
точность решения по
;
|
(4) |
где
-
константа, определяющая требуемую
точность решения по
.
Метод с возвратом при неудачном шагеиллюстрирует рис. 1, на котором показан фрагмент линий уровняфункции Химмельблау.
|
Рис. 1. Траектория поиска минимума функции Химмельблау методом с возвратом при неудачном шаге. Пунктиром на рисунке показаны неудачные шаги.
Модификацией метода с возвратом при неудачном шагеявляетсяметод наилучшей пробы(такжеодношаговый метод оптимизации).
Схема метода наилучшей пробы.
Задаем начальную точку
, начальную длину шага
и полагаем счетчик числа итераций
=0.
Генерируем
случайных векторов
и по формуле (2) находим пробные точки
Вычисляем значения
(
) функции
(
) в пробных точках
,
[1,
] и находим минимальное из этих значений
Если
(
)<
(
), то полагаем
=
+1 и переходим к п.2. Иначе – переходим к п.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.
Схема простейшего варианта метода комплексов.
Задаем начальную точку
, исходя из которой должен быть построен комплекс
, начальное значение величины
и полагаем счетчик числа итераций
.
Генерируем
случайных векторов
и по формуле (2) находим координаты
вершин комплекса
.
Вычисляем значения
(
) функции
(
) во всех вершинах комплекса
.
Находим максимальное из значений функции
(
) в вершинах комплекса
По формулам (3), (4) для комплекса
выполняем отражение вершины комплекса с растяжением
- получаем вершину
и новый комплекс
.
Вычисляем значение
(
) функции
(
) в вершине
.
Если
, то полагаем
=
+1 и переходим к п.8. Иначе – по формулам (5), (4) выполняем сжатие симплекса
в направлении
, полагаем
и переходим к п.6.
Проверяем условие окончания поиска (см. ниже). Если условие окончания поиска выполнено, то в качестве точки
полагаем вершину комплекса
, к которой функция
(
) имеет наименьшее значение и завершаем итерации. Иначе – переходим к п. 4
В
качестве критерия окончания поиска
может использоваться следующее условие:
максимальная длина ребра комплекса
не
превышает
-
требуемую точность решения по
.
Может использоваться также следующее
аналогичное условие: максимальная
разность значений функции
(
)
в двух вершинах комплекса
не
превышает
-
требуемую точность решения по
.
Могут использоваться также более сложные условия окончания поиска
|
(6) |
|
(7) |
В
формуле (6) векторная норма означает
расстояние вершины
до
центра тяжести комплекса
,
а сама формула (6) определяет среднее
расстояние вершин комплекса
до
его цента тяжести.
В
формуле (7)
есть
среднее значение функции
(
)
в вершинах комплекса
,
а сама формула (7) определяет среднее
отклонение значений функции
(
)
в вершинах комплекса
от
этого среднего значения.
Метод
комплексовиллюстрирует рис. 3, на
котором показан фрагмент линий уровняфункции
Химмельблау. На рисунке исходныйкомплекс
имеет
вершины
,
[1,
4]. После отражения с растяжением вершины
этого
комплекса, в которой функция имеет
максимальное значение, получаем комплекс
с
вершинами
,
[1,
4]. После отражения с растяжением вершины
комплекса
,
в которой функция имеет максимальное
значение, получаем комплекс
с
вершинами
,
[1,
4].
|
Рис. 3. Траектория поиска минимума функции Химмельблау методом комплексов.
Известно множество модификаций рассмотренного метода комплексов, направленных, в частности, на преодоление «уплощения»комплексав процессе поиска. С этой целью через фиксированное количество итераций находятся максимальная и минимальная диагонали комплекса и, если их отношение превышает заданное, то по рассмотренной схеме производится построение нового комплекса.
8.3 Метод повторяющегося случайного поиска
Рассматривается
следующая многомерная задача
локальной безусловной оптимизации:
найти минимумкритерия
оптимальности
(
),
определенного в
-мерном
евклидовом пространстве
,
|
(1) |
В методе повторяющегося случайного поиска(трех-шаговый метод) используется итерационная схема (см. рис. 1)
|
(2) |
где
-
величина шага (скаляр) на
-ой
итерации,
-
(
*1)-вектор,
определяющий направление шага на
-ой
итерации:
|
(3) |
Здесь
-
вектор «предыстории», определяющий
среднее направление поиска на двух
предыдущих шагах;
-
некоторая векторная норма;
-
-мерный
вектор псевдослучайных чисел, равномерно
распределенных в интервале
;
скаляр
-
коэффициент, задающий относительные
веса детерминированной и случайной
компонент в векторе
(свободный
параметр метода); скаляр
-
коэффициент, задающий относительные
веса векторов
в
векторе
(свободный
параметр метода).
Заметим,
что отношение
представляет
собой единичный вектор направления
,
а отношение
-
единичный вектор направления
.
|
Рис. 1. К итерационной схеме метода повторяющегося случайного поиска.
Принято
,
,
,
так что
и
.
Упрощенная схема метода повторяющегося случайного поиска.
Задаем начальную точку
, начальный шаг
, значения коэффициентов
,
и полагаем счетчик числа итераций
=2.
Тем или иным способом, например, с помощью одношагового метода наилучшей пробыопределяем точки
,
- этап «разгона» метода.
Генерируем
-мерный случайный вектор
и по формулам (2), (3) вычисляем координаты точки
и значение
(
) функции
(
) в этой точке.
Если
, то проверяем условие окончания итераций (см. ниже). Если условие окончания выполнено, то полагаем
и завершаем итерации. Если условие окончания итераций не выполнено, то некоторому правилу увеличиваем длину шага
, например, полагая
, принимаем
и переходим к п.3. Если
, то переходим к п. 5.
Некоторое фиксированное количество раз делаем попытку, исходя из той же точки
, не меняя длины шага
, добиться уменьшения значения функции
(
) путем только изменения вектора
, т.е., не меняя
и
, переходим на п. 3. Если это фиксированное количество попыток не привело к успеху, то, исходя из той же точки
,по некоторому правилу уменьшаем длину шага
, например, полагая
, и переходим к п.3
В качестве условия окончания поиска можно использоваться одно из стандартных условий окончания итераций
где
-
константа, определяющая требуемую
точность решения по
;
где
-
константа, определяющая требуемую
точность решения по
.
Известно
множество модификаций рассмотренной
простейшей схемы метода
повторяющегося случайного поиска.
Например, в процессе поиска могут
изменяться по некоторым правилам не
только длина шага
,
но и коэффициенты
,
.
Метод повторяющегося случайного поискаиллюстрирует рис. 2, на котором показан фрагмент линий уровняфункции Химмельблау.
|
Рис. 2. Траектория поиска минимума функции Химмельблау методом повторяющегося случайного поиска.
На
рисунке принято
,
,
,
,
,
так что
и
.
Пунктиром показаны отвергнутые векторы
.
8.4 Метод случайного поиска с постоянным радиусом поиска и случайными направлениями
Рассматривается
следующая многомерная задача
локальной безусловной оптимизации:
найти минимумкритерия
оптимальности
(
),
определенного в
-мерном
евклидовом пространстве
,
|
(1) |
Метод
случайного поиска с постоянным радиусом
поиска и случайными направлениямииспользует процедуру генерации случайных
точек, равномерно распределенных по
поверхности гиперсферы в пространстве
.
Пусть
-
вектор координат центра гиперсферы,
-
радиус гиперсферы,
-
вектор с началом в точке
и
концом в искомой точке на поверхности
гиперсферы,
-
углы между вектором
и
ортами координатных осей
.
Во
введенных обозначениях схема алгоритма
генерации случайных точек, равномерно
распределенных по поверхности гиперсферы
радиуса
,
может быть представлена в следующем
виде:
генерируем
случайных чисел, равномерно распределенных в интервале
;
вычисляем направляющие косинусы
вектора
;
находим координаты искомой точки
.
Упрощенная схема метода случайного поиска с постоянным радиусом поиска и случайными направлениями.
Задаем начальную точку
, начальный радиус гиперсферы
, и полагаем счетчик числа итераций
=0.
Генерируем случайные точки
,
[1,
] равномерно распределенные по поверхности гиперсферы радиуса
с центром в точке
. Здесь
– количество точек – свободный параметр метода.
Вычисляем значения минимизируемой функции
(
) в полученных точках и находим точку, в которой достигается минимальное значение функции
(
):
Каким-либо из рассмотренных в главе 4 одномерных методов оптимизации(например,методом Паулла) находим минимум функции
(
) в направлении
:
Проверяем условие окончания итераций (см. ниже). Если условие окончания выполнено, то полагаем
и завершаем итерации. Иначе - принимаем
=
+1 и переходим к п.2
В качестве условия окончания поиска можно использоваться одно из стандартных условий окончания итераций:
где
-
константа, определяющая требуемую
точность решения по
;
где
-
константа, определяющая требуемую
точность решения по
.
Могут
быть использованы также другие критерии
окончания поиска, например, условие не
превышения текущим радиусом гиперсферы
величины
:
В
процессе поиска радиус гиперсферы может
меняться, увеличиваясь при удачных
шагах (вдали от точки
)
и уменьшаясь при неудачных шагах (вблизи
от точки
).
Поиск может быть ускорен, если точки на гиперсфере выбирать (случайным образом) в некотором секторе по отношению к предыдущему направлению. Угол раскрыва этого сектора может меняться в процессе поиска.
Метод случайного поиска с постоянным радиусом поиска и случайными направлениямииллюстрирует рис. 1, на котором показан фрагмент линий уровняфункции Химмельблау.
|
Рис. 1. Траектория поиска минимума функции Химмельблау методом случайного поиска с постоянным радиусом поиска и случайными направлениями (n=2).
На
рисунке точки, лежащие на окружности с
центром в точке
,
соответствуют случайным точкам
,
[1,
].
Примечание 1
Одна итерация по методу случайного поиска с постоянным радиусом поиска и случайными направлениямиможет привести к уменьшению минимизируемой функции в большей степени, чем один шаг поиска в направлении антиградиента этой функции. Данное утверждение иллюстрирует рис. 2, на котором показаны лини уровня двумерной квадратичной функции
(см. параграф 6.4).
|
Рис. 2. Один шаг поиска в направлении антиградиента минимизируемой функции (∇Φ(Xr)) приводит на линию уровня (1.5). В то же время одна итерация по методу случайного поиска с постоянным радиусом поиска и случайными направлениями – на линию уровня ~0.2. Точки на окружности с центром в точке Xr соответствуют случайным точкам. Любое направление поиска в секторе β лучше, чем направление антиградиента.