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












