- •Глава 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, иначе – переходим к следующему пункту.
Находим минимальное из чисел . Пусть
Принимаем в качестве приближенного решения задачи и заканчиваем вычисления