
- •Глава 1. Математическая формулировка задачи непрерывной оптимизации в конечномерном пространстве
- •Глава 2. Условия существования минимума в детерминированных задачах оптимизации
- •Глава 3. Классификация поисковых методов оптимизации и методология их сравнения
- •Глава 12. Задачи оптимального управления и методы их приближенного решения
- •Глава 1. Математическая формулировка задачи оптимального проектирования.
- •Глава 2. Условия существования минимума в детерминированных задачах оптимизации.
- •Глава 3. Классификация поисковых методов оптимизации и методология их сравнения.
- •Глава 4. Методы поиска локального минимума одномерных функций.
- •Глава 5. Методы поиска глобального минимума одномерных функций.
- •Глава 6. Многомерная локальная безусловная оптимизация. Детерминированные прямые методы.
- •Глава 7. Многомерная локальная безусловная оптимизация. Детерминированные методы первого и второго порядков.
- •1. Постановка задачи.
- •2. Итерационная формула.
- •Глава 8. Многомерная локальная безусловная оптимизация. Методы случайного поиска (прямые методы).
- •Глава 9. Многомерная локальная условная оптимизация.
- •Глава 10. Многомерная глобальная условная оптимизация.
- •Глава 11. Задачи многокритериальной оптимизации и методы их решения.
- •Глава 12. Задачи оптимального управления и методы их приближенного решения.
Глава 10. Многомерная глобальная условная оптимизация.
10.1 Метод сведения к совокупности вложенных задач глобальной одномерной минимизации
Рассматривается
следующая многомерная задача
глобальной условной оптимизации:
найти минимумкритерия
оптимальности
,
определенного во множестве
пространства
,
|
(1) |
где множество допустимых значений
|
(2) |
Положим,
что множество
допустимых значений
задается
только с помощью ограничений типа
неравенств и представляет собой
гиперпараллелепипед
|
(3) |
Метод сведения к совокупности вложенных одномерных задач глобальной оптимизации состоит в решении вместо задачи (1), (3) следующей совокупности вложенных одномерныхзадач условной оптимизации.
|
(4) |
где
множества
,
представляют собой соответствующие
сечения множества
(см.
ниже).
Поясним смысл метода с помощью примера.
Пример 1
Положим,
что
и
,
т.е.
.
Вложенные одномерные задачи
глобальной оптимизации(4) в этом
случае можно представить в виде (см.
рис. 1)
|
(5) |
|
(6) |
где
—
сечение области
прямой,
параллельной оси
.
Задача (5) представляет собой одномерную
задачу
глобальной оптимизациикритерия
оптимальности
по
параметру
,
для вычисления значения которого при
данном фиксированном
необходимо
решить одномерную задачу глобальной
оптимизации критерия оптимальности
по
параметру
|
Рис. 1. К прим. 1. При решении задачи (5) вычисление значения критерия оптимальности Ф(Х) при некотором x = x1 требует решения задачи минимизации (6) на множестве D(x1).
Положим,
что для решения всех вложенных одномерных
задач
глобальной оптимизации(4) используетсяметод
случайного поиска. Обозначим
число
испытаний,
необходимых для отыскания методом
перебора с заданной точностью глобального
минимума функции
по
параметру
(когда
параметры
фиксированы).
Тогда общее количество испытаний для
решения задачи
,
равно,
очевидно,
Поэтому
при
такой
алгоритм становится неэффективным. При
надежность
алгоритма достаточно высока, а затраты
на поиск значительно меньше затрат на
полный перебор на той же сетке.
Метод решения многомерной задачи глобальной условной оптимизациипутем сведения к совокупности вложенных одномерныхзадач глобальной оптимизацииможет быть скомбинирован со всеми рассмотренными в главе 5 методами решения одномерных задач глобальной оптимизации. Рассмотрим комбинацию этого метода сметодом случайного поискадля двумерной задачи (1), (3).
Схема комбинации метода с методом случайного поиска (n = 2).
Задаем величины
– количества испытанийпри решении задач (5), (6), соответственно. Полагаем
.
Генерируем с помощью какого-либо программного генератора случайных чисел, равномерно распределенных в интервале
, случайное число
.
Методом случайного поискарешаем задачу (6) при
– находим точку
и вычисляем значение критерия оптимальности
.
Аналогично п.2 генерируем случайное число
.
Методом случайного поискарешаем задачу (6) при
– находим точку
и вычисляем значение критерия оптимальности
.
Если
, то выполняем присваивания
.
Если
, то выполняем присваивание
и переходим на п.4. Иначе принимаем точку
в качестве приближенного значения точки глобального минимума функции
в области
или каким-либо из рассмотренных ранее методов организуем в окрестности указной точки поиск локального минимума функции
и заканчиваем вычисления
Отметим еще раз, что рассмотренный метод, как и любой другой метод глобальной оптимизации, при отсутствии априорной информации о свойствах минимизируемой функции не гарантирует нахождение глобального минимума.
Комбинацию
рассматриваемого метода с методом
случайного поискадля двумерной
задачи иллюстрирует рис. 2, на котором
показан фрагмент линий уровняфункции
Химмельблау.
Принято, что X*
— точка минимума функции Ф(X) в области
D после (r — 1)-ой итерации. Точки на прямой
x1
= xr1
случайным образом сгенерированы на
r-ой итерации. После завершения r-ой
итерации, очевидно, X*
=
xr1,
xr1
.
|
Рис. 2. Итерация номер r комбинации метода сведения с методом случайного поиска для двумерной задачи.
Линии уровня на рис. 1 получены с помощью следующей MATLAB-программы:
x = -6 : 0.05 : 6;
y = x;
[X, Y] = meshgrid(x);
Z = (X.^2 + Y - 11).^2 + (X + Y.^2 - 7).^2;
V = [1, 4, 8, 16, 32, 64, 100, 150, 200, 250];
[C, h] = contour(X, Y, Z, V);
clabel(C, h);
10.2 Метод сведения к задаче одномерной глобальной оптимизации с помощью развертки Пеано
Рассмотрим многомерную задачу глобальной условной оптимизации
|
(1) |
где
множество
допустимых значений
задается
только с помощью ограничений типа
неравенств и представляет собой гиперкуб
с длиной ребра, равной 1,
|
(2) |
Отметим,
что произвольный гиперпараллелепипед
с помощью линейного преобразования
может быть сведен к гиперкубу (2), так
что рассмотрение в качестве множества
гиперкуба
(2), а не гиперпараллелепипеда, не сужает
общности рассуждений.
Рассматриваемый
метод основан на использовании
непрерывного отображения гиперкуба
на
отрезок вещественной оси.
Разбиение гиперкуба. Развертка Пеано.
Шаг
1
.
Координатными плоскостями гиперкуб
разбивается
на
гиперкубов
первого разбиения с длиной ребра, равной
(см.
рис. 1а). Пронумеруем их с помощью
переменной
таким
образом, чтобы гиперкубы с номерами,
отличающимися на единицу, имели общую
грань. Соединим центры гиперкубов
ломаной
в
порядке введенной нумерации. Гиперкуб
первого разбиения с номером
обозначим
.
Шаг
2
.
По рассмотренной схеме каждый гиперкуб
первого разбиения разобьем плоскостями,
параллельными координатным плоскостям
и проходящими через его центр, на
гиперкубов
второго разбиения с длиной ребра, равной
(см.
рис. 1б). Пронумеруем полученные
гиперкубы с помощью переменной
по
тому же правилу, что и гиперкубы первого
разбиения, с тем отличием, что нулевой
гиперкуб второго разбиения, входящий
в гиперкуб
,
должен иметь общую грань с
-м
гиперкубом второго разбиения, входящим
в гиперкуб
.
Соединим центры гиперкубов ломаной
в
порядке введенной нумерации. Обозначим
гиперкубы второго разбиения
.
......
Шаг
s. Аналогично шагу 2 разбиваем гиперкубы
-го
разбиения на гиперкубы
-го
разбиения с длиной ребра, равной
,
нумеруем их с помощью переменной
,
соединяем центры гиперкубов ломаной
в
порядке введенной нумерации и обозначаем
|
Рис. 1. К разбиению гиперкуба (n = 2). а) Первое разбиение. б) Второе разбиение. Стрелками показано направление нумерации гиперкубов.
Ломаная
называется
разверткой
Пеано. В пределе при
ломаная
называется
кривой
Пеано. Кривая Пеано обладает тем
свойством, что проходит через все точки
гиперкуба и имеет в каждой точке излом
Разбиение отрезка [0, 1].
Шаг
1 (s=1). Разобьем отрезок
на
равных
частей длиной
(см.
рис. 2а), пронумеруем их слева направо
с помощью переменной
и
обозначим
.
Шаг
2 (s=2). Каждый из отрезков
разобьем
на
равных
частей длиной
(см.
рис. 2б), пронумеруем их слева направо
с помощью переменной
и
обозначим
.
.....
Шаг
s. Аналогично шагу 2 каждый из отрезков
-го
разбиения разобьем на 2n
равных частей длиной
,
пронумеруем их слева направо с помощью
переменной
и
обозначим
|
Рис. 2. К разбиению отрезка [0, 1]. а) Первое разбиение. б) Второе разбиение.
Отображение отрезка [0, 1] на гиперкуб.
Определим
отображение точки
отрезка
на
гиперкуб
следующим
образом: если точка
,
то соответствующая точка
является
центром гиперкуба
.
Обозначим введенное отображение
.
Таким обозом, если
,
то
(см.
рис. 3).
На
рис. 3 любая точка ν1
(0,
2) отображается в центр гиперкуба
-
точку
.
Аналогично, любая точка ν2
(1,
3) отображается в точку
и
любая точка ν3
(2,
1) отображается в точку
.
В
пределе при
введенное
отображение отображает отрезок
на
кривую
Пеано. Можно показать, что в пределе
при
построенное
отображение является непрерывным и
взаимнооднозначным.
|
Рис. 3. К отображению отрезка [0, 1] на гиперкуб.
Пусть
—
двоичное представление числа
,
т.е.
.
Утверждение
1 Если
,
то первые
двоичных
цифр числа
определяют
разбиение
отрезка
:
...
Здесь
*
- операция преобразования двоичного
числа в десятичное
Пример 1
Пусть
область
представляет
собой квадрат
.
На отрезке [0,1] рассмотрим точки
,
,
–
см. рис. 4.
Преобразуем
в
двоичную систему счисления:
—запоминаем
целую часть 0;
—запоминаем
целую часть 1;
—запоминаем
целую часть 0;
—запоминаем
целую часть 0;
—запоминаем
целую часть 0;
—запоминаем
целую часть 0;
—запоминаем
целую часть 1;
Итого,
,
,
.
Таким образом,
.
Аналогично
,
,
.
Таким образом,
.
И
,
,
.
Таким образом,
|
Рис. 4. К прим. 1.
Определим
на отрезке
функцию
.
Отметим, что если функция
является
непрерывной функцией, то функция
также
непрерывна. Однако эта функция является
негладкой и многоэкстремальной, даже
если исходная функция
гладкая
и унимодальная.
Таким образом, с помощью развертки Пеаномногомернаязадача глобальной условной оптимизации(1), (2) сводится к одномерной задаче условной глобальной оптимизации
Ф(
)
= Ф(
)
= Ф∗.
Решение задачи многомерной глобальной условной оптимизации с помощью развертки Пеано.
Метод решения многомерной задачи глобальной условной оптимизациис использованиемразвертки Пеаноназываетсяметодом развертки Пеанои может быть скомбинирован со всеми рассмотренными в главе 5 методами решения одномерныхзадач глобальной оптимизации. При этом тот факт, что фактически решается задача не одномерной, а многомерной оптимизации, вносит следующие особенности в указанные методы:
Должна быть задана требуемая точность
решения исходной задачи (1), (2) по
. Исходя из этой точности, предварительно должно быть определено
— количество разбиений области
(см. ниже).
Вычисления значений критерия оптимальности
должны производиться по следующей схеме:
для заданного
находим
цифр его двоичного представления
;
определяем числа
,
, ... ,
;
в гиперкубе
выбираем его центр
;
вычисляем значение критерия оптимальности
в этой точке, которое и принимаем за значение
.
При
заданной точность
решения
задачи (1), (2) по
необходимое
количество
разбиений
гиперкуба
может
быть найдено из следующих соображений.
Гиперкуб
-го
разбиения
имеет
длину ребра, равную
.
Максимальное расстояние точек этого
гиперкуба до его центра равно половине
диагонали гиперкуба, которая, очевидно,
равна корню квадратному и суммы квадратов
n ребер гиперкуба, т.е.
.
Таким образом,
может
быть найдено из условия
.
Отметим еще раз, что рассмотренный метод, как и любой другой метод глобальной оптимизации, при отсутствии априорной информации о свойствах минимизируемой функции не гарантирует нахождение глобального минимума.
10.3 Метод Монте-Карло
Рассмотрим многомерную задачу глобальной условной оптимизации
|
(1) |
где множество допустимых значений
|
(2) |
|
(3) |
Метод Монте-Карлоотносится к классу прямыхметодов случайного поиска.
Схема метода Монте-Карло.
Задаем общее количество испытаний
и полагаем счетчик числа итераций
.
С помощью какого-либо программного генератора случайных чисел генерируем
компонент вектора
. .
Вычисляем
и полагаем
,
.
Аналогично п.2 генерируем случайную точку
. Вычисляем соответствующее значение критерия оптимальности
=
.
Выполняем следующие присваивания:
Если
полагаем
и переходим на п.4, иначе принимаем
в качестве приближенного решения задачи и заканчиваем вычисления
Отметим,
что в простейшем случае точки
генерируются
равномерно распределенными в области
.
С целью сокращения вычислительных
затрат и при наличии априорной информации
о положении точки глобального минимума,
целесообразно использовать законы
распределения, в которых вероятность
генерации точки в окрестности
предполагаемого глобального минимума
выше, чем вне этой окрестности.
Для
локализации с помощью метода
Монте-Карлоглобального минимума с
высокой вероятностью и точностью,
требуется очень большое количествоиспытаний
.
Поэтому метод Монте-Карло обычно
комбинируют с каким-либо детерминированным
методом
локальной оптимизации.
Комбинация метода Монте-Карло с детерминированным методом локальной оптимизации.
Задаем общее количество исходных случайных точек
.
С помощью какого-либо программного генератора случайных чисел генерируем
случайных точек
, принадлежащие множеству
.
Полагаем
.
Исходя из точки
, каким-либо многомерным методом условной оптимизации(см. главу 9) находим локальный минимум
функции
в окрестности этой точки и вычисляем
.
Если
полагаем
и переходим на п.4, иначе – переходим к следующему пункту.
Находим минимальное из чисел
. Пусть
Принимаем
в качестве приближенного решения задачи
и
заканчиваем вычисления