- •Глава 1. Математическая формулировка задачи непрерывной оптимизации в конечномерном пространстве
- •Глава 2. Условия существования минимума в детериминированных задачах оптимизации
- •Глава 3. Классификация поисковых методов оптимизации и методология их сравнения
- •Глава 12. Задачи оптимального управления и методы их приближенного решения
- •Глава 1. Математическая формулировка задачи непрерывной оптимизации в конечномерном пространстве
- •Глава 2. Условия существования минимума в детериминированных задачах оптимизации
- •Глава 3. Классификация поисковых методов оптимизации и методология их сравнения
- •Глава 4. Методы поиска минимума одномерных унимодальных функций
- •Глава 5. Методы поиска глобального минимума одномерных многоэкстремальных функций
- •Глава 6. Многомерная локальная безусловная оптимизация. Детерминированные прямые методы
- •Глава 7. Многомерная локальная безусловная оптимизация. Детерминированные методы первого и второго порядков
- •1. Постановка задачи.
- •2. Итерационная формула.
- •Глава 8. Многомерная локальная безусловная оптимизация. Методы случайного поиска
- •Глава 9. Многомерная локальная условная оптимизация
- •Глава 10. Многомерная глобальная условная оптимизация
- •Глава 11. Задачи многокритериальной оптимизации и методы их решения
- •Глава 12. Задачи оптимального управления и методы их приближенного решения
Глава 10. Многомерная глобальная условная оптимизация
Метод сведения к совокупности вложенных задач глобальной одномерной минимизации
Рассматривается
следующая многомерная задача
глобальной условной оптимизации:
найти минимум критерия
оптимальности
,
определенного во множестве
пространства
,
|
|
(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);
Метод сведения к задаче одномерной глобальной оптимизации с помощью развертки Пеано
Рассмотрим многомерную задачу глобальной условной оптимизации
|
|
(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 ребер гиперкуба, т.е.
.
Таким образом,
может
быть найдено из условия
.
Отметим еще раз, что рассмотренный метод, как и любой другой метод глобальной оптимизации, при отсутствии априорной информации о свойствах минимизируемой функции не гарантирует нахождение глобального минимума.
Метод Монте-Карло
Рассмотрим многомерную задачу глобальной условной оптимизации
|
|
(1) |
где множество допустимых значений
|
|
(2) |
|
|
(3) |
Метод Монте-Карло относится к классу прямых методов случайного поиска.
Схема метода Монте-Карло.
Задаем общее количество испытаний
и
полагаем счетчик числа итераций
.С помощью какого-либо программного генератора случайных чисел генерируем
компонент
вектора
.
.Вычисляем
и
полагаем
,
.Аналогично п.2 генерируем случайную точку
.
Вычисляем соответствующее значениекритерия
оптимальности
=
.Выполняем следующие присваивания:

Если
полагаем
и
переходим на п.4, иначе принимаем
в
качестве приближенного решения задачи
и заканчиваем вычисления
Отметим,
что в простейшем случае точки
генерируются
равномерно распределенными в области
.
С целью сокращения вычислительных
затрат и при наличии априорной информации
о положении точки глобального минимума,
целесообразно использовать законы
распределения, в которых вероятность
генерации точки в окрестности
предполагаемого глобального минимума
выше, чем вне этой окрестности.
Для
локализации с помощью метода
Монте-Карло
глобального минимума с высокой
вероятностью и точностью, требуется
очень большое количество испытаний
.
Поэтому метод Монте-Карло обычно
комбинируют с каким-либо детерминированнымметодом
локальной оптимизации.
Комбинация метода Монте-Карло с детерминированным методом локальной оптимизации.
Задаем общее количество исходных случайных точек
.С помощью какого-либо программного генератора случайных чисел генерируем
случайных
точек
,
принадлежащие множеству
.Полагаем
.Исходя из точки
,
каким-либо многомернымметодом
условной оптимизации
(см. главу 9) находим локальный минимум
функции
в
окрестности этой точки и вычисляем
.Если
полагаем
и
переходим на п.4, иначе – переходим к
следующему пункту.Находим минимальное из чисел
.
Пусть
![]()
Принимаем
в качестве приближенного решения задачи
и
заканчиваем вычисления![]()






