Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методы оптимизации.doc
Скачиваний:
89
Добавлен:
30.03.2015
Размер:
7.77 Mб
Скачать

1. Постановка задачи.

Выполнить несколько итераций (не менее двух) решения двумерной задачи локальной безусловной оптимизации

 (10)

 (11)

градиентным методом с дроблением шага, исходя из точки .

Принять , , в качестве нормы вектора градиента использовать евклидову норму.

Траекторию поиска изобразить на рис. 3, на котором приведены линии уровня квадратичной функции (11), полученные с помощью MATLAB-программы, приведенной в параграфе 6.1.

Рис. 3.  К примеру 1. Фрагмент (три итерации) траектории поиска минимума функции (11) градиентным методом с дроблением шага, исходя из точки X0=(x0,y0)=(-2.0,1.0).

2. Итерационная формула.

Итерация градиентного метода с дроблением шагадля задачи (10), (11) имеет вид

 (12)

 (13)

а величина шага находится из условия

 (14)

Найдем явные выражения для частных производных функции (11):

 (15)

Таким образом, из (12), (13), (15) имеем искомую итерационную формулу градиентного метода с дроблением шагадля задачи (10), (11).

=-, =-,

 (16)

3.Первая итерация (=0).

Из формул (15), (16) последовательно имеем

Таким образом, (см. рис. 3).

Условие (14) на первой итерации имеет вид

Поскольку

левая часть этого неравенства равна . Его правая часть, легко видеть, равна .

Таким образом, на первой итерации условие (14) выполняется и величина шага должна быть изменена:

4.Вторая итерация (=1).

Аналогично первой итерации последовательно имеем

Таким образом, (см. рис. 3).

Условие (14) на второй итерации имеет вид

Поскольку

левая часть этого неравенства равна . Его правая часть, легко видеть, равна .

Таким образом, на второй итерации условие (14) выполняется и величина шага должна быть изменена: .

5.Третья итерация (=2).

Аналогично первой итерации последовательно имеем

Таким образом, (см. рис. 3).

Условие (14) на третьей итерации имеет вид

()-()0.5.

Поскольку

левая часть этого неравенства равна . Его правая часть, легко видеть, равна .

Таким образом, на третьей итерации условие (14) выполняется и величина шага должна быть изменена: .

Градиентный метод с дроблением шага. Тест 1

Выполните несколько итераций (не менее двух) решения двумерной задачи локальной безусловной оптимизации

 (1)

 (2)

градиентным методом с дроблением шага, исходя из точки .

Примите , , в качестве нормы вектора градиента используйте евклидову норму.

Траекторию поиска изобразите на рисунке, на котором приведены линии уровня квадратичной функции (2), которые могут быть получены с помощью следующей MATLAB-программы:

x=-2:0.06:2;

y=x;

[X,Y]=meshgrid(x);

Z=(X).^2+(Y).^2+3*(X+Y).^2;

V=[0.1,0.2,0.4,0.8,1.5,3.,6.,12,24];

[C,h]=contour(X,Y,Z,V);

clabel(C,h);

 Ответ 

Итерационная формула.

Итерация градиентного метода с дроблением шагадля задачи (1), (2) имеет вид

 (3)

 (4)

а величина шага находится из условия

 (5)

Найдем явные выражения для частных производных функции ():

 (6)

Таким образом, из (3), (4), (6) имеем искомую итерационную формулу градиентного метода с дроблением шагадля задачи (1), (2).

=-, =-,

 (7)

Первая итерация (=0).

Из формул (6), (7) последовательно имеем

Таким образом, (см. рис. 1).

Условие (5) на первой итерации имеет вид

Поскольку

левая часть этого неравенства равна . Его правая часть, легко видеть, равна .

Таким образом, на первой итерации условие (5) выполняется и величина шага должна быть изменена:

Вторая итерация (=1).

Аналогично первой итерации последовательно имеем

Таким образом, (см. рис. 1).

Условие (5) на второй итерации имеет вид

Поскольку

левая часть этого неравенства равна . Его правая часть, легко видеть, равна .

Таким образом, на второй итерации условие (5) выполняется и величина шага должна быть изменена: .

Третья итерация (=2).

Аналогично первой итерации последовательно имеем

Таким образом, (см. рис. 1).

Условие (5) на третьей итерации имеет вид

()-()0.5.

Поскольку

левая часть этого неравенства равна . Его правая часть, легко видеть, равна .

Таким образом, на третьей итерации условие (5) выполняется и величина шага должна быть изменена: .

Рис. 1.  Фрагмент (три итерации) траектории поиска минимума функции (2) градиентным методом с дроблением шага, исходя из точки X0=(x0,y0)=(-2.0,1.0).

7.2 Метод оптимизации Ньютона

Положим, что функция () всюду дважды дифференцируема в -мерном евклидовом пространстве .

Рассмотрим следующую многомерную задачу локальной безусловной оптимизации: найти минимумкритерия оптимальности (), определенного в -мерном евклидовом пространстве ,

 (1)

Обоснование метода оптимизации Ньютона.

Рассмотрим первые три члена разложения функции () в ряд Тейлора в окрестности точки :

 (2)

Здесь () - матрица Гессефункции (). Из (2) следует, что градиент функции () равен

 (3)

Если матрица Гессе () положительно определена, то функция () достигает минимума в точке, в которой градиент этой функции равен нулевому вектору.

Таким образом, в точке минимума функции () справедливо равенство

 (4)

где - -мерный вектор нулей. Отсюда получаем итерационную формулу

 (5)

для отыскания очередного приближения к точке минимума функции (). Здесь

 (6)

Выражение (5) представляет собой итерационную формулу решения системы уравнений (4) широко известным методом касательных (методом Ньютона) – см. параграф 4.8. Этим фактом объясняется название рассматриваемого метода оптимизации.

Найдем скалярное произведение градиента функции () в точке и вектора :

 (7)

Последнее неравенство справедливо в силу постулируемой положительной определенности матрицы Гессев точке . Геометрически неравенство (7) означает, что вектор образует тупой угол с градиентом целевой функции () в точке (см. рис. 1). Таким образом, при минимизации овражных функцийвектор может составлять с осью оврага меньший угол, чем вектор антиградиента. Эта особенность делает метод оптимизации Ньютона, вообще говоря, более эффективным, чемградиентный метод наискорейшего спуска.

Рис. 1.  К обоснованию метода многомерной оптимизации Ньютона.

Отметим трудности, которые могут возникать при использовании итерационной формулы (5):

  • Если размерность пространства велика, то обращение на каждой итерации матрицы Гессе () может потребовать значительных вычислительных ресурсов;

  • Значение минимизируемой функции () в точке может превышать значение функции в предыдущей точке вследствие того, что направление ведет к уменьшению (), но величина шага слишком велика;

  • Направление спуска, определяемое вектором , ведет к убыванию целевой функциитолько при положительной определенностиматрицы Гессе (). Это приводит к тому, что на каждой итерации необходимы вычислительные затраты на проверку обусловленности этой матрицы. Указанная матрица может быть плохо обусловленной. Более того, указанная матрица может быть вырожденной и, поэтому, не иметь обратной матрицы.

Вследствие этих трудностей итерационная формула (5) в «чистом» виде не используется в вычислительной практике.

Для того чтобы избежать обращения матрицы Гессе, на практике вектор находят обычно из следующей системы линейных алгебраических уравнений (СЛАУ), вытекающей из равенства (6):

 (8)

СЛАУ (8) может быть решена различными численными методами (например, прямыми методами, итерационными методами).

Величина шага в направлении , которая приводит к убыванию функции (), может быть обеспечена путем добавления в итерационную формулу (5) коэффициента , т.е. путем использования вместо формулы (5) итерационной формулы

 (9)

где коэффициент выбирают тем или иным способом так, чтобы обеспечить условие .

Для того, чтобы направление спуска независимо от определенности матрицы Гессе () вело у убыванию функции (), в качестве вектора можно использовать вектор

 (10)

где - -единичная матрица, а - параметр, выбираемый так, чтобы матрица являлась положительно определенной.

Схема метода оптимизации Ньютона.

Рассмотрим схему одной из модификаций метода оптимизации Ньютона, в которой используется итерационная формула (9) и вектор находят путем решения на каждой итерации СЛАУ (8).

  1. Задаем начальную точку , начальную величину шага и коэффициент дробления шага Полагаем счетчик числа итераций =0.

  2. Вычисляем в точке вектор градиента () и матрицу Гессе ().

  3. Решаем СЛАУ (8) и находим вектор .

  4. По формуле (9) вычисляем компоненты вектора .

  5. Вычисляем величину - значение функции () в точке .

  6. Проверяем условие окончания поиска (см. ниже). Если условие окончания поиска выполнено, то полагаем , и завершаем итерации. Иначе – переходим к следующему пункту.

  7. Если <, то полагаем =+1 и переходим к п.2. Иначе – фиксированное число раз полагаем и переходим к пункту 4

В качестве условия окончания поиска можно использоваться одно из стандартных условий окончания итераций:

или условие

где - константа, определяющая требуемую точность решения по градиенту функции ().