лабы / Лаба_чм_№7
.pdfМинистерство цифрового развития, связи и массовых
коммуникаций Российской Федерации
Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования
Московский технический университет связи и информатики
___________________________________________________________________
Кафедра «Информатики»
Лабораторная работа №7 по дисциплине Численные методы «Методы многомерной оптимизации»
Выполнил |
|
Студент группы БИК2205 |
_________________________ |
Проверил |
|
Старший преподаватель |
_________________________ Мацкевич А.Г. |
Москва 2024
1. Исходные данные
f x,y 3 x2 +y2 -15 – исследуемая функция;
Метод «ручного» расчёта: градиентный спуск с дроблением шага
(ГСДШ); Метод программного расчёта: наискорейший спуск (метод Коши).
2. Проверка существования минимума функции
Если функция является выпуклой и у неё существует глобальный
минимум, то существующий глобальный минимум одновременно является и локальным.
Необходимо проверить, что исследуемая функция является выпуклой на множестве рациональных чисел.
|
|
|
|
∂2 |
f x,y |
|
∂ |
∂ |
|
|
|
|
|
|
||
|
|
|
|
∂x2 |
|
∂x ∂y |
f x,y |
|
6 0 |
|
|
|||||
G x,y |
|
|
|
|
|
– матрица |
||||||||||
|
∂ ∂ f x,y |
|
∂ |
2 |
|
|
|
→ |
0 2 |
|
||||||
|
|
|
|
|
|
f x,y |
|
|
|
Гессе |
||||||
|
|
|
∂y ∂x |
|
|
∂y2 |
|
|
|
|
|
|
|
|||
1 |
∂2 |
f x,y →6 |
|
|
∂2 |
|
|
|
∂2 |
f x |
|
|
||||
∂x2 |
2 |
∂x2 |
f x,y |
|
,y →12 |
|||||||||||
|
|
|
|
|
|
|
|
|
∂y2 |
|
|
|
||||
Так как диагонали матрицы Гессе и угловые миноры не равны нулю,
исследуемая функция является выпуклой на множестве рациональных чисел.
3. Поиск минимума аналитическим способом
Необходимые условия существования точки экстремума: первые
частные производные по каждому из параметров исследуемой функции должны быть равны нулю.
|
∂ |
|
|
|
|
|
|
|
|
|
|
∂x |
f x,y |
|
6 x |
|
6 |
x 0 |
|
solve,x,y |
|
|
|
|||||||||
|
∂ |
|
→ |
2 |
|
|
2 |
y 0 |
|
―――→ 0 0 |
|
y |
|
|
|
||||||
|
|
f x,y |
|
|
|
|
|
|
|
|
∂y |
|
|
|
|
|
|
|
|
|
|
Таким образом, минимум исследуемой функции достигается при
равенстве нулю обоих аргументов.
f 0,0 =-15 – предполагаемый минимум исследуемой функции.
4. «Ручной» расчёт с помощью метода ГСДШ
Необходимо просчитать три итерации метода ГСДШ для поиска
минимума исследуемой функции.
Исходные величины: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
x0 1 |
λ 0.5 |
g1 x,y ∂ f x,y |
g2 x,y ∂ f x,y |
|||||||||||||
y0 1 |
|
|
||||||||||||||
|
|
|
|
|
|
|
∂x |
|
|
|
|
∂y |
|
|||
Нулевая итерация: |
g1 x0,y0 =6 |
|
g2 x0,y0 =2 |
λ0 λ=0.5 |
||||||||||||
f x0,y0 =-11 |
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1 x0 |
-λ0 g1 x0,y0 =-2 y1 y0-λ0 |
g2 x0 |
,y0 =0 |
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Поиск точек: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
первая итерация |
|
|
|
λ |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
0 |
|
2 |
|
|
2 |
|
|
|||
|
≥ |
|
g1 |
|
|
|
=0 |
|
||||||||
f x0,y0 |
-f x1 |
,y1 |
2 |
x0,y0 |
+g2 x0,y0 |
|
|
|||||||||
так как 0: |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
x0-λ0 |
g1 x0 |
,y0 y1 y0 |
-λ0 g2 |
x0 |
,y0 |
||||||||||
λ0 λ0÷2 x1 |
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
вторая итерация |
|
|
|
λ |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
0 |
|
2 |
|
|
2 |
|
|
|||
|
≥ |
|
g1 |
|
|
|
=0 |
|
||||||||
f x0,y0 |
-f x1 |
,y1 |
2 |
x0,y0 |
+g2 x0,y0 |
|
|
|||||||||
так как 0: |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
x0-λ0 |
g1 x0 |
,y0 y1 y0 |
-λ0 g2 |
x0 |
,y0 |
||||||||||
λ0 λ0÷2 x1 |
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
третья итерация |
|
|
λ |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
0 |
|
|
2 |
|
2 |
|
|
|||
≥ |
|
|
+g2 |
|
|
=1 |
|
||||||||
f x0,y0 |
-f x1 |
,y1 |
2 |
g1 x0 |
,y0 |
x0,y0 |
|
||||||||
так как 1: |
|
|
|
|
|
|
|
|
|
|
|
||||
|
-λ0 |
g1 |
x0,y0 |
y1 y0 |
-λ0 g2 |
x0 |
,y0 |
||||||||
λ0 λ0 |
|
x1 x0 |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
λ0=0.125 |
x1=0.25 |
|
y1=0.75 |
|
|
|
|
|
|
|
|||||
Первая итерация:
f x1,y1 =-14.25 g1 x1,y1 =1.5 g2 x1,y1 =1.5 λ1 λ=0.5 x2 x1-λ1 g1 x1,y1 =-0.5 y2 y1-λ1 g2 x1,y1 =0
Поиск точек: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
первая итерация |
|
|
λ |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
1 |
|
|
|
2 |
|
2 |
|
|
|||
≥ |
|
g1 |
+g2 |
|
|
=0 |
|
|||||||||
f x1 |
,y1 |
-f x2 |
,y2 |
2 |
x1,y1 |
x1,y1 |
|
|||||||||
так как 0: |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
g1 |
x1 |
,y1 |
y2 y1 |
-λ1 g2 |
x1 |
,y1 |
||||||
λ1 λ1÷2 x2 x1-λ1 |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
вторая итерация |
|
|
λ |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
1 |
|
|
|
2 |
|
2 |
|
|
|||
≥ |
|
g1 |
+g2 |
|
|
=1 |
|
|||||||||
f x1 |
,y1 |
-f x2 |
,y2 |
2 |
x1,y1 |
x1,y1 |
|
|||||||||
так как 1: |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
g1 |
x1 |
,y1 |
y2 y1 |
-λ1 g2 |
x1 |
,y1 |
||||||
λ1 λ1 |
x2 x1-λ1 |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
λ1=0.25 x2=-0.125 y2=0.375
Вторая итерация:
f x2,y2 =-14.813 g1 x2,y2 =-0.75 g2 x2,y2 =0.75 λ2 λ x3 x2-λ2 g1 x2,y2 =0.25 y3 y2-λ2 g2 x2,y2 =0
Поиск точек:
первая итерация |
|
|
λ |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
2 |
|
|
|
2 |
|
2 |
|
|
|||
≥ |
|
g1 |
+g2 |
|
|
=0 |
|
|||||||||
f x2 |
,y2 |
-f x3 |
,y3 |
2 |
x2,y2 |
x2,y2 |
|
|||||||||
так как 0: |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
g1 |
x2 |
,y2 |
y3 y2 |
-λ2 g2 |
x2 |
,y2 |
||||||
λ2 λ2÷2 x3 x2-λ2 |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
вторая итерация |
|
|
λ |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
2 |
|
|
|
2 |
|
2 |
|
|
|||
≥ |
|
g1 |
+g2 |
|
|
=1 |
|
|||||||||
f x2 |
,y2 |
-f x3 |
,y3 |
2 |
x2,y2 |
x2,y2 |
|
|||||||||
так как 1: |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
g1 |
x2 |
,y2 |
y3 y2 |
-λ2 g2 |
x2 |
,y2 |
||||||
λ2 λ2 |
x3 x2-λ2 |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
λ2=0.25 x3=0.062 |
|
y3=0.188 f x3,y3 =-14.953 |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Результаты просчёта трёх итераций методом градиентного спуска с
дробным шагом представлены ниже в таблице.
k |
xk |
yk |
f x,y g1 x,y g2 x,y |
λk |
||
|
|
|
|
|
|
|
0 |
1 |
1 |
-11 |
6 |
2 |
0.125 |
1 |
0.25 |
0.75 |
-14.25 |
1.5 |
1.5 |
0.25 |
2 |
-0.125 |
0.375 -14.813 |
-0.75 |
0.75 |
0.25 |
|
3 |
0.062 |
0.188 -14.953 |
|
|
|
|
5. Программный расчёт методом наискорейшего спуска
Необходимо найти минимум исследуемой функции методом НС
(методом Коши).
входные данные |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
F x,y 3 x2 +y2 -15 |
|
– исходная функция; |
|
|
|
|
|||||||||||
x0 1 |
y0 1 |
|
|
|
– координаты начальной точки; |
|
|||||||||||
ε 10-4 |
|
|
|
|
– требуемая точность; |
|
|
|
|||||||||
тело программы |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
∂ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
∂x |
F x,y |
|
6 x |
|||
Λ x,y |
,S - |
y S1 |
+3 x S0 |
grad x,y |
|
|
|
|
|||||||||
S |
2 +3 S |
|
|
|
|
|
|
→ |
|
||||||||
|
|
2 |
|
|
|
|
|
|
∂ |
|
|
2 y |
|||||
|
|
1 |
|
0 |
|
|
|
|
|
|
|
|
F x,y |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
∂y |
|
|
|
|
|
Koshi func,Λ,x,y,ε |
‖k←0 |
|
|
|
|
|
|
|
|
|
| |
||||||
|
|
|
|
|
‖ |
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
‖x ←x |
|
|
|
|
|
|
|
|
|
| |
||
|
|
|
|
|
‖ |
k |
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
‖y ←y |
|
|
|
|
|
|
|
|
|
| |
||
|
|
|
|
|
‖ |
k |
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
‖F ←func x ,y |
|
|
|
|
| |
|||||||
|
|
|
|
|
‖ |
k |
|
|
k |
|
k |
|
|
|
|
| |
|
|
|
|
|
|
‖while|grad |
x ,y |>ε |
|
|
|| |
||||||||
|
|
|
|
|
‖ |
|
| |
|
|
k |
|
k | |
|
|
|
|| |
|
|
|
|
|
|
‖ |
‖S←- grad |
x ,y ÷|grad x ,y | || |
||||||||||
|
|
|
|
|
‖ |
‖ |
|
|
|
|
k k |
| |
|
k k | || |
|||
|
|
|
|
|
‖ |
‖L ←Λ x ,y ,S |
|
|
|
|| |
|||||||
|
|
|
|
|
‖ |
|
|
|
|| |
||||||||
|
|
|
|
|
‖ |
k |
k |
|
k |
|
|
|
|
|
|||
|
|
|
|
|
‖ |
‖ |
|
|
|
|
|
|
|
|
|
|
|| |
|
|
|
|
|
‖ |
‖x ←x +L S |
|
|
|
|
|| |
||||||
|
|
|
|
|
‖ |
‖ |
k+1 |
k |
|
k |
|
|
0 |
|
|
|
|| |
|
|
|
|
|
‖ |
‖y ←y +L S |
|
|
|
|
|| |
||||||
|
|
|
|
|
‖ |
‖ |
k+1 |
k |
|
k |
|
|
1 |
|
|
|
|| |
|
|
|
|
|
‖ |
‖F |
|
←func x ,y |
|
|
|
|| |
|||||
|
|
|
|
|
‖ |
‖ |
k+1 |
|
|
|
|
k k |
|
|
|
|| |
|
|
|
|
|
|
‖ |
‖k←k+1 |
|
|
|
|
|
|
|
|
|| |
||
|
|
|
|
|
‖ |
‖ |
|
|
|
|
|
|
|
|
|
|
|| |
|
|
|
|
|
‖res←stack k , x , y , F , L | |
||||||||||||
|
|
|
|
|
‖ |
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
‖res |
|
|
|
|
|
|
|
|
|
| |
||
Answ Koshi F,Λ,x0,y0,ε
Answ =10
0
|
|
1 |
|
|
|
|
-0.071 |
|
|
|
|
|
|
|
|
|
0.107 |
|
|
|
|
-7.653 |
10-3 |
|
|
|
0.011 |
|
|
|
|
|
|
|
Answ = |
-8.2 10-4 |
|||
1 |
|
1.23 10-3 |
|
|
|
|
|
||
|
|
-8.785 |
10-5 |
|
|
|
1.318 |
10-4 |
|
|
|
|
||
|
|
-9.413 |
10-6 |
|
|
|
1.412 |
10-5 |
|
|
|
|
||
иксовая координата
|
|
|
-11 |
|
|
|
|
|
-11 |
|
|
|
|
|
|
|
|
|
|
|
-14.571 |
|
|
|
|
|
-14.954 |
|
|
|
|
|
-14.995 |
|
|
Answ |
|
|
|
||
|
= |
-14.999 |
|
||
3 |
|
-15 |
|
|
|
|
|
|
-15 |
|
|
|
|
|
|
|
|
|
|
|
-15 |
|
|
|
|
|
-15 |
|
|
|
|
|
|
|
|
|
|
-15 |
|
|
|
значения функции |
|||||
|
|
|
1 |
|
|
|
-0.071 |
|
|
||
Xk |
|
|
|||
|
|
0.107 |
|
|
|
|
-0.008 |
|
|
||
|
|
|
|||
– количество шагов
|
|
1 |
|
|
|
|
|
0.643 |
|
|
|
|
|
|
|
|
|
|
|
0.107 |
|
|
|
|
|
0.069 |
|
|
|
|
|
0.011 |
|
|
|
|
|
|
|
|
|
Answ |
= |
7.38 10-3 |
|
||
2 |
|
1.23 10-3 |
|||
|
|
7.907 |
10-4 |
|
|
|
|
|
|||
|
|
1.318 |
10-4 |
||
|
|
8.472 |
10-5 |
|
|
|
|
|
|||
|
|
1.412 |
10 |
-5 |
|
|
|
|
|
||
игрековая координата
|
|
|
1.129 |
|
|
|
|
|
|
|
0.565 |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
0.121 |
|
|
|
|
|
|
|
0.061 |
|
|
|
|
|
|
|
0.013 |
|
|
|
|
Answ = |
|
10 |
-3 |
|
|||
4 |
|
6.482 |
|
|
|||
|
|
|
1.389 |
10-3 |
|||
|
|
|
6.945 |
10-4 |
|
||
|
|
|
|
||||
|
|
|
1.488 |
10-4 |
|||
|
|
|
7.442 |
10-5 |
|
||
|
|
|
|
||||
значения шага |
|
|
|||||
|
|
1 |
|
|
|
|
|
|
0.643 |
|
|
|
|
||
Yk |
|
|
|
|
|||
|
0.107 |
|
|
|
|
||
0.069
|
|
|
1.015 |
|
|
|
|
|
|
|
|
|
|
|
|
|
0.92 |
|
|
|
|
|
|
|
|
|
|
|
|
|
0.825 |
|
|
|
|
|
|
|
|
|
|
|
|
|
0.73 |
|
|
|
|
|
|
|
|
|
|
|
|
|
0.635 |
|
|
|
|
|
|
|
|
|
|
|
|
|
0.54 |
|
|
|
|
|
|
|
|
|
yk |
|
|
|
0.445 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.35 |
|
|
|
|
|
|
|
|
|
Yk |
|
|
|
0.255 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
0.065 |
|
|
|
|
|
|
|
|
|
|
|
-0.2 |
-0.1 |
0 |
0.1 |
0.2 |
0.3 |
0.4 |
0.5 |
0.6 |
0.7 |
0.8 |
0.9 |
1 |
|
|
|
|
|
|
|
xk |
|
|
|
|
|
|
|
|
|
|
|
|
|
Xk |
|
|
|
|
|
|
X,Y |
– точки метода НС (чёрный пунктирный график); |
|
|||||||||||
x,y – точки метода ГСДШ (синий сплошной график). |
|
||||||||||||
