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






