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

Численные методы решения задач оптимизации. Учебное пособие

.pdf
Скачиваний:
4
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
целевой функции в каждой точке траектории спуска. Поэтому целе
f
сообразно уменьшить количество таких точек без ущерба для самого уравнения. Это достигается в методе наискорейшего градиентного
спуска (рис. 7) следующим образом. После определения в начальной
точке направления, противоположного градиенту целевой функции, делают не один шаг, а несколько, продолжая двигаться в этом направ лении, пока целевая функция убывает, таким образом достигая мини мума по направлению в некоторой точке. В этой точке снова опреде ляют направление спуска (с помощью антиградиента) и ищут новую точку минимума целевой функции и т.д. В этом методе спуск проис ходит гораздо более крупными шагами, и градиент вычисляется в меньшем числе точек.
Рис. 7. Иллюстрация метода наискорейшего градиентного спуска
Пример 14
Минимизировать функцию
xx x методом градиентного

22
25
12
спуска.
Решение.
Возьмем фиксированную длину шага 1 ;
(0)
2, 2x .

Для организации итерационного процесса выбираем формулу (22). Найдем градиент и его норму:
()
k
fx

2
x
x
1
k
()
1
;
()
k
fx

50
x
x
2
k
()
2
;
()
k

2
x
()
k
fx


1

()
k
50
x

2

,
71
22
f
x
x
() ()

() () ()
kkk
xxx
 


 

4

21,96

(1)

x

21


100

1;
100
 
(2)
 
x
   
kk
fx fx
 
xx

12

1,96 1,88
 
1
10
(0) (1)
 
104; 28.842;fx fx
3,92
50
50,1
В табл. 9 представлено 4 шага оптимизации.
()1k
fx
1
2

x
()2k
fx

fx

x
()k
250.
12
и т.д.
Таблица 9
Величина шага
при переходе к
следующему
этапу
()k
fx

2 2 4 100
100
x
1
– 0,04 – 1 104
x
2
1,96 1 3,92 50 50,1 – 0,078 – 1 28,842 1,88 0 3,76 0 3,76 – 1 0 3,534 0,88 0 0,774
В дальнейшем для обеспечения сходимости необходимо уменьшить ,
иначе при подходе к минимуму значений
Минимум функции
()k
fx вокруг значения точки минимума.

0,0045;0,05 0,062f с точностью 0,01

*
0, 0x могут возникнуть колебания

достигнут на 90й итерации.
Пример 15 Решить задачу из примера 14 методом наискорейшего градиентного
спуска.
Решение. Используя условия примера 14, имеем
4

21,96

(1) (1)

xfx

21


100

1 ; 28,842.

100
72
Далее используем уже выбранное на 1м шаге направление, т.е. не
()
f
(1)k
будем пересчитывать градиент для точек циях до тех пор, пока функция
x будет убывать на выбранном
x
на последующих итера
направлении.
4

1, 9 6 1, 9 2
 
(2) (2)

xfx
 
10
 

1, 9 2 1, 8 8
 
(3) (3) (2)
  
xfxfx
 
01
 
 
1 ; 28,534 .

100

1 ; 3,686;

100
4
100
 
100
Следовательно,
(3)
x отбрасываем и находим градиент в точке
(2)
x
и, подставив его значение в итерационную формулу, определяем следующее направление минимизации.
3,84

1,92 0,92
  
(3) (3)
 
xfx
  
00
  

0

1 ; 0,846.

3,84
Процесс продолжается до достижения требуемой точности ре шения. В табл. 10 представлено 4 шага оптимизации.
Таблица 10
Величина шага
при переходе к
следующему
()k
fx

этапу
x
1
x
2
– 0,04 – 1 104 – 0,04 – 1 28,534
x
1
x
2
()1k
fx

x
()2k
fx

x
2 2 4 100
1,96 1 4 100
()k
fx

100 100
1,92 0 4 100
100
– 1 0 3,686
0,92 0 1,84 0 1,84 0,846
Сравнивая табл. 9 и 10, можно увидеть, что в методе наискорейшего градиентного спуска процесс минимизации происходит гораздо более крупными шагами и градиент вычисляется в меньшем числе точек.
73
5.2.2. Метод сопряженного градиента Флетчера — Ривса
Q
()
s
s
Q
f
x
()
s
()
f
x
()
()
()
f
()
()
x
x
f
Пусть
векторов
() ( 1)
ство
kkT
sQs
ss s и

– положительноопределенная матрица; тогда, если для
nn
() () ()
kkk
, ...,

1
n
, то векторы
0
(1) (1) (1)
kk k
 
sss
выполняется равен

()k
и
, ...,
n
(1)k
называются сопряжен
ными по направлению.
Известно, что использование сопряженных направлений на каждом шаге минимизации приводит к хорошему результату. При этом в качестве матрицы
применяется матрица Гёссе
при вычислении сопряженных направлений
2
.
Известен следующий алгоритм метода сопряженного градиента Флетчера – Ривса для минимизации функции (рис. 8):
1) задается точка
2) вычисляется
3) на kм шаге с помощью одномерного поиска в направлении
находится минимум функции
4) вычисляются
5) направление поиска
(0)
;
(0) (0)
sfx
(1)
k
fx
и
()k
s определяется по формуле
;
, что определяет точку
x
(1)
k
fx
;
(1)k
()k
;
(1) (1) (0)
kk
s
2
k
;
2
()
k
1n 

й итерации (при kn ) процедура циклически

где
6) после
(1)
fx
0
fx
повторяется с заменой
где
()k
– шаг;
алгоритм заканчивается, когда
7)

  (23)
(0)
на
xs
(1)n
:
(2) (1) ()(1)
kkkk

xx s
 (24)
,
0
,
()k
s , где – произвольная
малая величина.
Замечание. Выбор величины шага
()k
, как и в других градиентных
методах, возможен одним из следующих способов: 1)
()0k
2)

min

при
() ()
kk
xs
 .
k 
; 3) целевая функция минимизируется по :
()
k
 ;
const
74
f
Рис. 8. Иллюстрация метода сопряженных градиентов
Пример 16. Решить задачу из примера 14 методом сопряженного градиента. Решение.
22
xx x

25
12
Возьмем фиксированную длину шага 0,1 ;
(0)
2; 2x .

Для организации итерационного процесса выбираем формулу (23). Первый шаг делаем по методу наискорейшего спуска (см. табл.10), где
найдена наилучшая точка
1, 8 4

(1)
fx

 

.
0
(1)
0,92; 0x , для которой

(1)

0,0,846fx ,
Вычисляем направление
1,84 4 1,8414
(1)
s



0 100 0,034

(1, 84 0 )
22
22
(4 100 )
.
Строим итерационный процесс по формуле (24):
0,92 1,8414 0,736
(2) (1) (1)
 
xx s
    
0 0,034 0,0034
 
0,1 ;
(2)


0,542.fx
Как видим, функция убывает. Продолжаем процесс до достижения
требуемой точности решения.
75
5.3. Методы второго порядка
x
f
f
Если целевая функция дважды дифференцируема в R
n
, то для
поиска точки минимума можно использовать не только градиент функции, но и матрицу Гёссе, повышая скорость сходимости итера ционного процесса. Наиболее «мощными» и точными среди таких методов минимизации являются методы ньютоновского типа, класси ческим среди которых является метод Ньютона.
5.3.1. Метод Ньютона
Если частные производные минимизируемой функции приравнять к 0 и решать полученную систему нелинейных уравнений методом Ньютона, можно получить следующую схему минимизации:
1
...
...
...
2()
fx


xx
2
.........
, (25)
n
k
.
n
где
(1) () 2 () ()kk k k
x x fx fx
    
2()

k
fx

     
 

2() 2() 2()

fx fx fx

  
xx xx xx
11 12 1
2() 2()

fx fx
 
 
xx xx
21 22
............. .............
2() 2() 2()

fx fx fx
  
  
xx xx xx
nn nn
 
kk k
 
 
kk
kk k
12
Итерационную схему метода Ньютона можно также получить сле
(1)k
дующим путем. Представим
fx

в виде ряда Тейлора для функ
ции n переменных до 2го порядка (квадратичная аппроксимация) в точке
fx fx fx x x fx x
   
()k
x :
(1) () () () () 2 () ()
kkTkkk kk
  
1
T
2
2
2
()

Ox


k

.
(26)

Определим наилучшее направление
(1)k
fx

по каждой компоненте x и приравнивания к нулю полу
путем дифференцирования
ченных выражений:
0.
Tk k k
() 2 () ()
x
 
xx 
76
Это приводит к выражению
()
f
f
(
(
1
() 2 () ()kkk
xfxfx

 
 
, (27)
или
1
(1) () 2 () ()
kk k k
x x fx fx

 
 
.
(28)
Заметим, что здесь и направление, и величина шага точно определены. Примечательно, что такая схема минимизации решает за дачу нахождения минимума квадратичной формы с любого прибли жения за один шаг. Но в случае общей нелинейной целевой функции нельзя достичь минимума
(28)
используют следующую схему:
(1) () ()
kkk
xx

x за один шаг; поэтому вместо уравнения
1
2() ()

fx fx

 

 
2() ()
fx fx

 
kk
1
kk
. (29)
Сложность метода заключается в определении
()k
(аналогично
методу Ньютона при решении СНАУ), в вычислении и обращении матрицы Гёссе.
Пример 17
Минимизировать функцию
xxxx методом градиент

222
123
ного спуска и методом Ньютона.
Решение.
Выполним 3 шага минимизации функции методом градиентного
1.
0,25
(0)
1; 2 ; 3x . Для этой

спуска, выбрав в качестве начальной точку
()
точки
(0)

2; 4; 6fx. Положим, что

k
 .
Тогда по формуле (22) получаем:
120,5
      
(1)
x
20,254 1 ;
 
      
361,5
  
(1)

1; 2 ; 3);fx
0,5 1 0,25
     
(2)
x
10,2520,5;

     
1, 5 3 0 , 7
  
(2)

77
0,5;1;1,5);fx
0,25 0,5 0,125
[,]
y
     
(3)
x
0,5 0,25 1 0,25 .

     
0,7 1,5 0,375
  
Легко заметить, что итерационный процесс сходится к точному
решению задачи – (0,0,0).
Найдем минимум функции методом Ньютона по итерационной
2.
схеме (25), начиная из той же точки
(0)
1; 2 ; 3x :

200

2(0)
fx



020;
 
002

110020
     
(1)
x
2 0,5010 4 0.
 
     
300160
  
2(0)

fx



100

1

010;
 
001

Видим, что метод Ньютона сходится к решению за 1 шаг.
Контрольные вопросы и задания
1. Приведите характерные отличия методов минимизации нуле
вого, первого и второго порядков.
Влияет ли шаг в методе перебора на точность, на скорость
2.
решения задачи нахождения оптимума?
3.
Если отрезок
содержит внутреннюю точку c, то какое
ab
условие называется золотым сечением?
Вычислить коэффициент для метода золотого сечения.
4.
Всегда ли метод золотого сечения гарантированно дает решение?
5.
Как повысить точность метода золотого сечения?
6.
Можно ли применять для минимизации функции метод, ана
7. 51
логичный методу «золотого сечения», но с параметром
 ?
Чем
2
такой метод будет существенно отличаться от метода «золотого сечения»?
Почему для функций «овражного типа» методы первого порядка
8.
62 2
не являются эффективными? Является ли функция
10z

x
функцией овражного типа? Обоснуйте.
78
В чем преимущество методов минимизации, использующих про
()
f
(
)
f
()
f
y
(
)
(
)
x
9.
изводные функции, перед методами, не использующими производные? Обоснуйте на примере.
10.
Каково условие окончания поиска минимума функции
x по
методу покоординатного спуска? В каких случаях это условие может
не сработать»? Приведите пример.
«
С какой целью проводится исследующий поиск вокруг базовой
11.
точки в методе Хука и Дживса?
Почему метод градиентного спуска не может быть использован
12.
для отыскания минимума линейной формы? Дайте геометрическую интерпретацию для случая
13.
В каких случаях градиентный метод может не привести в точку
,
xx .
12
минимума?
() ()
kk
fx

играет дели
()
fx

k
14.
тель
(1) ()
kk
Какую роль в формуле
()
k
fx и как его вычислить? Является эта величина векторной
xx


или скалярной?
В чем состоит идея метода сопряженного градиента?
15.
Для минимизации каких функций методом Ньютона достаточно
16.
выполнить один шаг?
В чем сходство и отличие методов Ньютона для решения СНАУ
17.
и минимизации функций?
Выполните один шаг минимизации функции
18.
(, )
x
22
xy
из
начальной точки (2, 2) методом наискорейшего спуска с оптимальным выбором параметра оптимизации .
Напишите алгоритм модифицированного метода наискорей
19.
шего спуска, когда вычисленный градиент функции на некотором шаге минимизации используется несколько раз.
Найдите минимум
20.
 
22
125 1fx x x путем сведения
12
задачи к системе алгебраических уравнений.
Выполните два шага минимизации функции
21.
22
yx x
10
12
1
всеми известными вам методами многомерной оптимизации. Принять
1, 0
.
0
79
6. ЭЛЕМЕНТЫ НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
(
)
x
x
(
)
(
)
x
x
(
)
x
(
)
()
y
()
f
(
)
()
()
y
(),()
f
Напомним общую формулировку задачи нелинейного программи
рования (ЗНП).
Найти оптимум (минимум или максимум) некоторой целевой
функции
, ...,
fx x
1
n
при заданных ограничениях на переменные
min
,...,
1
x
n
,,,
xx в виде

12
n
равенств и неравенств:
Здесь f,
, ...,

in
xiI
1
, ...,

ln
, l – в общем случае нелинейные функции.
i
xlL
1
0, ;
0, .
6.1. Метод множителей Лагранжа
Это один из немногих аналитических методов решения ЗНП, по зволяющий в ряде случаев найти точное решение задачи с ограничениями типа равенств. Рассмотрим его на примере решения ЗНП с двумя переменными x, y и одним ограничением, заданным в виде равенства:
zfxy

,
(,) 0.
xy

min;
,
y
Может возникнуть три случая решения:
1) Пусть равенство
x . Тогда
z
xx, и задача сводится к задаче на нахож

,
,
0xy можно преобразовать к виду
дение минимума функции одной переменной.
2)
nt x mt. Тогда
,
,
0xy можно преобразовать к параметрическому заданию:
z
mt nt

– также задача на нахождение
минимума функции одной переменной.
80
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]