- •Тема 6.8. Многомерная оптимизация
- •6.8.1. Постановка задачи и основные определения
- •6.8.2. Методы спуска
- •6.8.3. Метод градиентного спуска с дроблением шага
- •6.8.4. Метод наискорейшего спуска
- •6.8.5. Проблема оврагов. Метод покоординатного спуска
- •6.8.6. Технология решения задач многомерной оптимизации средствами математических пакетов
- •6.8.6.1. Технология решения задач многомерной оптимизации средствами MathCad
- •6.8.6.2. Технология решения задач многомерной оптимизации средствами MatLab
- •6.8.7. Тестовые задания по теме «Многомерная оптимизация»
- •Тема 6.8. Многомерная оптимизация Страница 171
Тема 6.8. Многомерная оптимизация
6.8.1. Постановка задачи и основные определения
6.8.2. Методы спуска
6.8.3. Метод градиентного спуска с дроблением шага
6.8.4. Метод наискорейшего спуска
6.8.5. Технология решения задач многомерной оптимизации средствами математических пакетов
6.8.5.1. Технология решения задач многомерной оптимизации средствами
MathCad
6.8.5.2. Технология решения задач многомерной оптимизации средствами
MatLab
6.8.7. Тестовые задания по теме «Многомерная оптимизация»
6.8.1. Постановка задачи и основные определения
Задача, требующая нахождения оптимального значения функции mпеременныхf(Х)=f(x1, x2, …, xm), называется задачеймногомерной оптимизации. Так же, как и для случая одномерной оптимизации, задача нахождения максимума функции сводится к задаче нахождения минимума путем замены целевой функцииfна-f.
Пусть функция f(Х) = f(x1, x2, …, xm)определена на некотором множествеХRm. ЕслиХ=Rm(т.е. ограничения на переменныеx1, x2, …, xmотсутствуют), принято говорить о задаче безусловной минимизации. В противном случае, когдаХ ¹ Rm, говорят о задаче условной минимизации.
Методы решения задачи безусловной минимизации являются основой для перехода к изучению более сложных методов решения задач условной минимизации.
В постановке задачи безусловной оптимизации для f(Х)=f(x1, x2, …, xm)требуется найти хотя бы одну точку минимумаХ*и вычислитьf*=f(Х*).ТочкаХ*ÎRmназывается точкой глобального минимума функцииf на множествеХ, если для всехХÎRmвыполняется неравенствоf(Х*)£f(Х).В этом случае значениеf(Х*)называется минимальным значением функцииf наRm.
Точка Х*Î
Rmназывается точкой локального минимума
функцииf,
если существует такаяd- окрестностьUdэтой точки(d>0),что для всехХÎХd=Х
Udвыполняется неравенствоf(X*)£f(X).
Подавляющее большинство методов решения задачи безусловной минимизации в действительности являются методами поиска точек локальных минимумов, среди которых затем выделяют глобальный минимум, являющийся наименьшим. Этот способ очень трудоемок, поэтому чаще используют другой: местоположение точки глобального минимума определяют в ходе анализа решаемой задачи, а затем для его уточнения с заданной точностью применяют один из методов поиска точки локального минимума.
Рассмотрим функцию нескольких переменных и введем для нее основные определения.
Множество точек, для которых целевая функция принимает постоянное значение f(x1, x2, …, xm) = c, называетсяповерхностью уровня. Для функции двух переменных (m = 2) это множество называетсялинией уровня.
Функция f(x1,x2)задает в трехмерном пространстве некоторую поверхностьU=f(x1,x2)(рис. 6.8.1-1), низшая точка которой и дает решение задачи минимизации. Для того чтобы изобразить рельеф этой поверхности, проведем несколько плоскостей(U = const): U=c1, U=c2, U=c3. Проекции на плоскостьОх1х2линий пересечений этих плоскостей с поверхностью и даютлинии уровня.

Рис. 6.8.1-1
Для дифференцируемой
функции можно определить вектор из
первых частных производных,который
называетсяградиентом
:
или
.
Направление вектора
градиента
указывает
направление наискорейшего возрастания
функции, а его модуль (длина) равен
скорости возрастания функции. Вектор
Градиент нормален к линии уровня в
каждой своей точке и касателен к
поверхности, которую задает функция.
Вектор -
называетсяантиградиентоми показывает
направление наискорейшего убывания
функции.
Равенство нулю градиента в точке Хявляется необходимым условием того, чтобы внутренняя для множестваХi (i = 1, 2,…m)точкаХбыла точкой локального минимума дифференцируемой функцииf. ТочкаХ, для которой выполняется равенствоf’(X) = 0, называетсястационарной точкой функции.
Это равенство представляет собой систему из mнелинейных уравнений относительно компонентх1, х2, …, хm, вектораX, гдеm– количество переменных.
![]()

Для функции двух переменных Q(x, y) это условие имеет вид:

Однако не всякая стационарная точка является точкой минимума. Для всякой непрерывно дифференцируемой функции fдостаточным условием того, чтобы стационарная точкаХбыла точкой локального минимума, является положительная определенность матрицы вторых производных (матрицы Гессе):

Согласно критерию Сильвестра, для того чтобы матрица была положительно определена, необходимо, чтобы все угловые миноры были положительны:

Для функции двух переменных Q(x, y)матрица Гессе имеет вид:
,
а достаточное условие существования минимума:

Алгоритм решения задачи оптимизации функции двух переменных Q(x,y)аналитическим (классическим) методом следующий:
Составляется и решается система уравнений

из которой находятся (x*, y*).
Проверяются достаточные условия существования минимума
.
Если (x*, y*)– единственное решение и в этой точке выполняются достаточные условия, то это точка минимума. Если хотя бы в одном из неравенств получается знак “<”, то минимума не существует. В случае появления знака “=” необходимо исследовать производные высших порядков.
Пример 6.8.1-1. Найти точку локального минимума функции.
f
(x,y)
= x2
+ y2
– 4x
+ 100 – 8y.
![]()
![]()
Следовательно, в точке x* = 2 и y* = 4функция имеет локальный минимум.
Пример 6.8.1-2. Найти точку локального минимума функции f(x,y)= x2+y2–4x+10xy–8y.


![]()
![]()
Следовательно, функция не имеет точки локального минимума.
Аналитический метод поиска минимума применяется только для ограниченного круга задач. В основном это связано с необходимостью решения системы нелинейных уравнений, которая, как правило, решается численными методами. Оказывается, гораздо проще сразу решать задачу минимизации численными методами. Рассмотрим некоторые из методов.
