Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3172

.pdf
Скачиваний:
6
Добавлен:
15.11.2022
Размер:
3.23 Mб
Скачать

4.

k

1

n

 

 

 

 

5.

0

||

f (x1 ) || 2 || f (x0 ) || 2

=1/4.

 

 

 

 

 

 

 

p1= -

f (x1 ) +

0 p0=(-1/4,-1/2).

 

 

Итерация 2.

 

 

 

 

2.

Решим задачу одномерной минимизации по α :

 

Ф(

1/ 8

/ 4,

/ 2)

4(1/ 8

/ 4) 3(

/ 2)2

 

4(1/ 8

/ 4)

/ 2 1/ 8

/ 4

min .

 

 

α1 = 1/4.

 

 

 

 

 

3.

Найдем

 

 

 

 

 

 

 

х2 = х1+ α1 p1 = (-3/16,-1/8).

f (x2 )

(0,0)

получено оптимальное решение, x*=x2

Решение получено в результате двух итераций, поскольку целевая функция квадратичная и одномерные задачи оптимизации решены точно.

2.3.2.6.Метод Ньютона

 

Если в результате преобразования x = zQ

матрица

квадратичной формы приводится к единичной (т. е. QT HQ

E ), то

метод наискорейшего спуска

 

z1=z0- α* f (z0 ) ,

 

получает решение за один шаг.

В пространстве переменных х данный переход запишется в

виде

х1

Q 1 0 Q 1 - α* f (x0 ) Q

или

1

0

- α*

f (x 0 ) Q Q

1

 

х

 

.

 

Так как

Q 1 Q =H-1 ,

то

х1 0- α* f (x0 ) H-1.

Итеративный метод вида

xk 1 xk

k

f (xk )H 1

 

 

53

носит название метода Ньютона.

Для квадратичной функции с положительно определенной

матрицей Гессе применение метода Ньютона с шагом

1

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

Существенным недостатком метода Ньютона является необходимость вычисления и обращения матрицы Гессе на каждой итерации.

Алгоритм метода Ньютона

Шаг 0. Задать параметр точности , выбрать х0 Rn , вычислить f(x0).

Шаг 1. Найти f (x0 ) и проверить критерий останова:

|| f (x0 ) ||< .

Если он выполнен, то вычисления завершить, полагая x*=x0, f*=f(x0) .

Шаг 2. Положить х00- f (x0 ) H-1, вычислить f(x0) и перейти к шагу 1.

Пример. Найти методом Ньютона точку минимума функции

f (x) 4x12 3x22 4x1 x2 x1 ,

начав поиск с точки x0 (0, 0) .

Решение. Посчитаем вектор-градиент функции f (x) =(8x1-4x2+1;6x2-4x1) .

Матрица вторых частных производных имеет вид

H

8

4 .

 

4

6

Найдем обратную матрицу

54

 

 

H 1

1

 

6

4

.

 

 

 

 

 

 

 

4

8

 

 

 

 

32

 

 

 

 

 

 

 

 

 

 

0.

Выберем

=0.001,

x0

 

(0, 0) ,

f(x0)=0.

1.

Посчитаем

f (x0 ) =(1,0), ||

f (x0 ) ||=1> .

2.

Положим

 

 

 

 

 

 

 

 

 

 

х00-

f (x0 ) H-1=

 

1

(6, 4)

(

3/16, 1/ 8) ,

 

 

32

 

 

 

 

 

 

 

 

 

 

 

 

f (x0 )

3 / 32

 

 

 

 

 

 

 

3.f (x0 ) =(0,0) -найдено оптимальное решение

x* ( 3 /16, 1/ 8). .

Целевая функция квадратичная, поэтому решение задачи получено за одну итерацию.

Ответ: x*

 

3

;

x*

1

; f

 

3

.

1

16

 

2

8

 

min

32

 

 

 

 

 

 

 

2.3.2.7.Задачи для самостоятельного решения

2.3.1.Найти различными методами точку минимума следующих функций:

4) f (x)

exp(x2

x2 )

2x x

3x ,

x0

(0,0);

0.01.

 

 

1

2

1

2

2

 

 

 

 

2.3.2. Показать, что для квадратичной функции в методе

Ньютона шаг

*

1.

 

 

 

 

 

 

 

 

2.3.3. Найти минимум следующих функций:

 

 

1)

f (x)

3(x

4)2

5(x

 

3)2

7(2x

1)2 ;

 

 

 

1

 

 

2

 

 

3

 

 

2) f (x) 1 2x 2x 4x x 10x2

2x2 ;

 

 

 

 

1

 

2

1

2

1

2

55

3) f (x) x4

x4

2x2 x2

4x 3;

 

1

2

1

2

 

 

 

4) f (x) (x2

x

11)2

 

(x

x2

7)2 ;

1

2

 

 

1

2

 

5) f (x) x13 x22 3x1 2x2 2.

3.УСЛОВНАЯ ОПТИМИЗАЦИЯ

3.1.Постановка задачи математического программирования

Рассмотрим следующую постановку задачи:

 

f (x)

min ,

(1)

 

 

 

x Rn

 

где x

(x1 ,..., xn ) -

n -мерный вектор,

f (x) - функция, называемая

функцией цели,

Rn - допустимое множество. Требуется найти

такой

вектор x*

из

множества

, которому соответствует

минимальное значение целевой функции на допустимом множестве:

 

x*

arg min f (x)

 

 

 

 

 

x

 

Rn

 

 

 

 

З а м е ч а н и е . В дальнейшем вектор понимается как вектор-

строка.

 

 

 

 

 

 

 

 

Задача поиска максимума функции

f (x)

сводится к задаче

поиска минимума путем умножения функции на -1:

 

 

x*

arg min f (x) .

 

 

 

 

 

x

Rn

 

 

 

 

 

Задача поиска минимума и максимума называется задачей

поиска экстремума:

 

 

 

 

 

 

 

 

f (x)

 

extr

 

 

 

 

 

 

 

x

Rn

 

 

 

 

Если

Rn ,

то имеет место задача безусловной

оптимизации. В противном случае, т.е.

если

Rn

– задача

условной оптимизации.

 

 

 

 

 

 

Определение

1.

Точка

x*

называется

точкой

глобального

минимума

функции

f (x)

на множестве

, если

функция достигает в этой точке своего наименьшего значения, т.е.

56

 

f (x* )

 

 

f (x),

x

.

 

 

 

 

 

 

Определение

2.

 

Точка

 

x*

 

 

называется

точкой

локального минимума

функции

 

f (x)

на

множестве

, если

0, такое что

 

 

 

x : (x

 

) (

 

x

x*

 

) , справедливо

 

 

 

 

 

 

неравенство

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x* )

 

 

f (x).

 

 

 

 

 

 

 

 

З а м е ч а н и е .

 

В

 

качестве

нормы

вектора

Rn

используется евклидова норма:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

x 2 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

i

1

 

 

 

 

 

 

 

 

 

 

Определение 3.

Множество

 

 

Rn

называется выпуклым,

если оно содержит отрезок, соединяющий любые две точки из

множества

, т.е. если

x1 , x2

и

[0;1] справедливо:

 

x1

(1

)x2

.

 

Определение 4. Функция f (x) , определенная на выпуклом

множестве

называется выпуклой, если

 

 

f ( x1 (1

)x2 )

f (x1 ) (1 ) f (x2 )

 

x1 ,

x2

,

[0;1].

 

З а м е ч а н и е . В дальнейшем будем называть такую функцию выпуклой вниз. Для выпуклой вверх функции справедливо обратное неравенство:

f ( x1 (1

)x2 )

f (x1 ) (1 ) f (x2 ) .

 

Определение 5. Задача (1) называется задачей выпуклого

программирования (ЗВП), если

f (x)

- выпуклая функция, а

-

выпуклое множество.

Для задач безусловной оптимизации необходимое условие экстремума сформулировано в т е о р е м е Ферма.

Т е ор е м а 1 (Ферма). Если x* - точка локального экстремума непрерывно дифференцируемой в т. х* функции f (x) , то

57

f (x* ) 0

(такая точка называется стационарной).

 

 

 

 

 

Т е ор е м а 2. (Достаточное условие экстремума).

 

Если в стационарной точке

x*

Rn

функция f (x) дважды

дифференцируема и

матрица

ее

вторых производных H (x* )

положительно определена

(т.е.

все

ее

главные

миноры

_____

 

 

 

 

 

 

 

 

 

Hk 0, k 1, n ) , то x* -точка локального минимума.

 

Пример 1. Решить задачу

 

 

 

 

 

 

 

f (x)

x 2

x 2

x

2

x

2x

x x

min

 

1

2

3

 

1

3

2

3

 

Решение. Запишем систему:

df

dx1 2x1 1 0,

df

dx2 2x2 x3 0,

df

dx3 2x3 2 2x2 0

Решив систему уравнений, получим

Проверим, выполняются ли в полученной стационарной точке достаточные условия экстремума. Матрица вторых частных производных в данной задаче является постоянной:

2 0 0

H 0 2 1 . 0 1 2

Вычислим главные миноры:

H1=2>0, H2=2·2=4>0, H3=2·(2·2+1)=10>0.

58

На основании полученных результатов можно сделать вывод, что матрица положительно определена, т.е. x* точка минимума

функции f (x)

и fmin

 

 

19

.

 

 

 

 

 

 

 

 

12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ответ: f

 

(x)

 

19

; x*

1

; x*

2

; x*

4

.

min

 

 

 

 

 

 

12

 

 

1

2

2

3

 

3

3

 

 

 

 

 

 

 

 

 

 

 

Для задач с ограничениями-равенствами

 

 

 

 

f0 (x)

 

 

min,

 

 

 

 

 

 

 

fi (x) bi , i 1, m

необходимое условие экстремума формулируется в виде принципа

Лагранжа.

 

Т е ор е м а 3 (принцип Лагранжа). Пусть

х* - точка

 

_____

локального экстремума функции f0 (x) , причем

fi (x), i= 0,m

непрерывно дифференцируемы в окрестности точки х* и векторы

 

_____

 

 

 

 

 

 

 

f

(x* ), i=1,m - линейно

независимы.

Тогда

существует такой

i

 

 

 

 

 

 

 

 

вектор y* R m , что для функции Лагранжа

 

 

 

 

 

 

 

m

 

 

 

 

(x, y)

f0 (x)

 

yi (bi

fi (x))

 

 

 

 

 

i

1

 

 

выполняются следующие равенства:

 

 

 

 

 

1)

x

(x*, y*)

0

 

 

 

 

 

 

 

 

 

 

 

 

2)

y

(x*, y*)

0

 

 

 

 

 

 

 

 

 

 

 

 

При проверке достаточных условий экстремума в некоторых

задачах условной оптимизации

можно

пользоваться критерием

Вейерштрасса.

 

 

 

 

 

 

 

 

Т е ор е м а 4 (критерий

Вейерштрасса). Пусть

f (x) -

непрерывная функция, а

множество

представляет

собой

компакт. Тогда существуют точки xmin , xmax

, такие что

 

59

f (x min )

min f (x)

x

Rn

f (xmax ) max

f (x) .

x Rn

Пример 2. Найти условный экстремум в задаче

f0 (x)

x1

x2

extr

f1 (x)

x12

x22

2

Решение. Функции f0 (x), f1 (x) данной задачи являются

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

f1 (x) 0 ,

т.е.

(2x1 ,2x2 ) (0,0) x1 x2 0 .

Однако точка (0,0) не является допустимой в данной задаче и, следовательно, не является решением. Воспользуемся принципом Лагранжа. Функция Лагранжа имеет вид

(x, y) x1 x2

y1 (2 x12 x22 )

Выпишем необходимые условия экстремума

1)

 

 

(x, y)

1

2 y1 x1

0,

 

 

 

 

 

 

 

 

x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(x, y)

1

2 y1 x2

0, ,

 

 

 

 

 

 

 

 

 

 

x

2

 

 

 

 

 

 

 

 

 

 

2)

 

 

(x, y)

2

x12 x22

0

 

 

 

 

 

 

 

 

y1

 

 

 

 

 

 

Вычитая из первого уравнения второе, получаем

60

2 y1 (x2

x1 ) 0.

Равенство y1 0

невозможно, так как в противном случае

первые два уравнения

системы несовместны. Значит, x1 x2 .

Использовав это условие в последнем уравнении, находим подозрительные на экстремум точки:

А: x*

1,

x*

1, y*

1/ 2;

1

 

2

1

 

 

B: x*

1,

x*

1,

y*

1/ 2.

1

 

2

 

1

 

Допустимое множество в исходной задаче представляет собой окружность, а, следовательно, компакт. Как следует из критерия Вейерштрасса, среди подозрительных на экстремум точек данной задачи должны быть точка максимума и точка минимума. Так как

 

f0 ( 1, 1)

f0 (1,1) ,

 

 

 

то точка В является точкой минимума и

f min

2 , а точка А-

 

 

 

 

 

 

 

 

0

 

 

точкой максимума и f max

2 .

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

f

 

2,

x*

 

1,

x*

1;

 

 

 

Ответ:

min

 

1

 

 

2

 

 

 

 

f

max

2,

x*

1,

x*

1.

 

 

 

 

 

 

1

 

2

 

 

 

 

 

При решении

большинства

задач

проверка условия

 

 

 

 

 

 

 

(x* ),

 

____

 

линейной независимости векторов

f

i

1, m затруднена, так

 

 

 

 

 

 

i

 

 

 

 

как точка х* заранее неизвестна. Однако это требование является существенным.

Пример 3. Найти условный экстремум в задаче

f

0

(x)

3x 2

4x x

2

5x

2

min

 

 

1

 

1

 

 

 

f1 (x) x1

x2

 

4

 

 

 

Решение. Функции

f0 (x)

и f1 (x)

данной задачи являются

непрерывно дифференцируемыми. Ограничение здесь линейное, f1 (x) (1,1) - линейно независимая система.

1. Запишем функцию Лагранжа:

61

Ô(x, y) 3x 2

4x x

1

x 2

y (4 x x ).

 

1

1

2

2

2

1

1

2

2. Выпишем необходимые условия экстремума:

1)

 

 

(x, y)

6x1

4x2

y1

0,

 

 

 

 

 

 

 

x1

 

 

 

 

 

 

 

 

 

 

(x, y)

4x1

x2

y1

0,

 

 

 

 

 

 

 

 

 

x2

 

 

 

 

 

 

 

2)

 

(x, y)

4 x1 x2

0

 

 

 

 

 

 

 

y1

 

 

 

 

 

 

 

 

Произведя необходимые вычисления, получим:

x *

12, x *

8, y *

40.

1

2

1

 

Допустимое множество в исходной задаче представляет собой прямую, т.е. не является компактом.

3. Посчитаем вторые частные производные по x для функции Лагранжа :

 

d 2 (x, y)

 

6,

 

d 2

(x, y)

 

1,

 

d 2

(x, y)

 

4

 

dx 2

 

dx 2

 

dx dx

2

 

 

 

 

 

 

 

.

1

 

 

 

 

2

 

 

 

 

1

 

 

4. Составим второй дифференциал

 

 

 

 

 

 

 

 

d 2

(x*, y*)

6dx 2

 

4dx dx

2

 

dx 2

 

 

 

 

 

 

1

 

 

 

1

 

 

2 .

Продифференцировав уравнение связи x1

 

x2

4 , получим

 

dx1

 

dx2 .

 

 

 

 

 

 

 

 

 

 

Подставим это выражение в дифференциал:

 

 

 

 

 

 

d 2

(x*, y*) 6dx22

 

4dx22

dx22

2dx22 .

Так как

 

 

 

 

 

 

 

 

 

 

 

 

 

62

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]