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

лабы / Лаба_чм_№6

.pdf
Скачиваний:
0
Добавлен:
13.05.2026
Размер:
437.07 Кб
Скачать

Министерство цифрового развития, связи и массовых

коммуникаций Российской Федерации

Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

Московский технический университет связи и информатики

___________________________________________________________________

Кафедра «Информатики»

Лабораторная работа №6 по дисциплине Численные методы «Одномерная оптимизация»

Выполнил

 

Студент группы БИК2205

_________________________

Проверил

 

Старший преподаватель

_________________________ Мацкевич А.Г.

Москва 2024

1. Индивидуальное задание

 

 

 

 

 

 

 

f x 10

 

 

3

 

 

 

– исходная функция;

 

sin x

 

cos -x

 

 

Метод «ручного» просчёта – метод дихотомии;

 

 

Метод программного просчёта – метод золотого сечения.

 

2. Исследование исходной функции

 

 

 

 

 

Необходимо построить график исходной функции на достаточно

большом отрезке её ОДЗ, для того чтобы определить примерный

интервал нахождения минимума.

 

 

 

 

 

x 0,0.001 4

 

– интервал построения функции.

 

 

 

 

 

 

 

 

 

 

3.1553.258

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

0

0.4

0.8

1.2

1.6

2

2.4

2.8

3.2

3.6

4

f x

-2

 

 

 

 

 

 

 

 

 

 

 

-4

 

 

 

 

 

 

 

 

 

 

 

 

-6

 

 

 

 

 

 

 

 

 

 

 

 

-10 -8

 

 

 

 

 

 

 

 

 

 

 

 

-10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

График исходной функции на заданном интервале

По графику определяется примерный интервал, на котором

содержится минимум функции.

lb 3.150 rb 3.258

– границы диапазона предполагаемого

 

минимума;

xmin lb,lb+0.001 rb

– диапазон предполагаемого

 

минимума;

3

 

 

 

 

 

 

 

 

 

 

 

 

 

1.5

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

3.15

3.16

3.17

3.18

3.19

3.2

3.21

3.22

3.23

3.24

3.25

3.26

3.27

 

-1.5

 

 

 

 

 

 

 

 

 

 

 

 

 

-3

 

 

 

 

 

 

 

 

 

 

 

f x

 

-4.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

min

-6

 

 

 

 

 

 

 

 

 

 

 

-7.5

 

 

 

 

 

 

 

 

 

 

 

 

 

-9

 

 

 

 

 

 

 

 

 

 

 

 

 

-10.5

 

 

 

 

 

 

 

 

 

 

 

 

 

xmin

График исходной функции на диапазоне предполагаемого

минимума

Необходимо проверить условия унимодальности. Функция

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

fd1

x

d

f x

 

 

 

 

 

 

 

3

 

+30 x

2

 

 

 

 

3

dx

→- 10

sin x sin x

 

 

 

cos x cos x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

325

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

260

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

195

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

130

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

65

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

3.15

3.16

3.17

3.18

3.19

3.2

3.21

3.22

3.23

3.24

3.25

3.26

3.27

 

 

 

x

 

 

-65

 

f

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-130

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

min

 

-195

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-260

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-325

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xmin

График первой производной исследуемой функции на отрезке

предполагаемого минимума

fd2 x d fd1 x ―――→simplify - 45 x4 -30 x2 -5 sin x3 +x + 30 x dx

Из графика первой производной исследуемой функции видно, что

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

3. «Ручной» расчёт методом дихотомии

α 0.01 – константа различимости.

Первая итерация

a1 lb=3.15 b1 rb=3.258

λ1

a1

+b1

-α=3.194

 

 

=-9.187

 

2

f1 f λ1

 

 

 

 

 

 

μ1

a1

+b1

+α=3.214

 

 

=-9.748

 

2

f2 f μ1

 

 

 

 

 

 

Вторая итерация

 

 

 

f2f1

значит a2 λ1=3.194

b2 b1=3.258

λ2

a2

+b2

-α=3.216

 

 

=-9.597

 

2

f1 f λ2

 

 

 

 

 

 

μ2

a2

+b2

+α=3.236

 

 

=-6.191

 

2

f2 f μ2

 

 

 

 

 

 

1

b2-a2=0.064

 

 

 

Третья итерация

f2f1 значит a3 a2=3.194 b3 μ2=3.236

λ3

a3

+b3

-α=3.205

 

=-9.959

 

2

f1 f λ3

 

 

 

 

 

μ3

a3

+b3

+α=3.225

 

=-8.468

 

2

f2 f μ3

 

 

 

 

 

2

b3-a3=0.042

 

 

f2f1 значит a4 a3=3.194 b4 μ3=3.225

3 b4-a4=0.031

Таблица результатов расчёта трёх итераций методом дихотомии

n

a

b

x1

x2

f x1

f x2

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

3.15

3.258

3.194

3.214

-9.187 -9.748 0.064

2

3.194

3.258

3.216

3.236

-9.597

-6.191

0.042

3

3.194

3.236

3.205

3.225

-9.959

-8.468

0.031

4

3.194

3.225

 

 

 

 

 

Длина отрезка неопределённости после трёх итераций равна:

213 rb-lb +2 α 1- 213 =0.031

4. Программный расчёт методом золотого сечения

входные данные

 

 

 

 

 

 

3

 

– исходная функция;

f x 10 sin x

 

cos -x

lb 3.15

rb 3.258

– границы интервала поиска

 

 

 

 

 

минимума;

ε 10-4

 

 

 

– требуемая точность;

τ

5-1

 

 

 

– коэффициент сжатия;

2

 

 

 

 

 

 

 

 

ft x x2 -2 x+1

– функция для тестирования;

lbt 0

rbt 2

 

– границы интервала поиска

 

 

 

 

 

минимума для тестирования;

Заранее известно, что минимум функции для тестирования равен

нулю и находится в точке 1 по оси абсцисс

Теоретическое количество итераций, необходимое для

достижения требуемой точности равно:

 

|

rb-lb

|

 

 

|log

ε

,e |

 

n

|

 

|

=14.515

|

 

5-1

|

 

 

 

| log

,e |

 

 

|

 

2

|

 

 

|

|

 

то есть должно быть больше 14.

тело программы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Golden εε,l,r,t,f

a l

 

 

 

 

 

 

 

 

 

 

 

 

|

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|

 

b0

r

 

 

 

 

 

 

 

 

 

 

 

 

|

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|

 

k←0

1-t b -a

 

 

 

 

 

 

|

 

λ a +

 

 

 

 

 

 

|

 

0

 

0

 

 

 

0

 

0

 

 

 

 

 

 

|

 

μ a +t b -a

 

 

 

 

 

 

 

 

|

 

0

 

0

 

0

0

 

 

 

 

 

 

 

 

|

 

τ t

 

 

 

 

 

 

 

 

 

 

 

 

|

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|

 

while|b -a |εε

 

 

 

 

 

 

 

 

|

|

 

 

 

| k

 

k|

 

 

 

 

 

 

 

 

 

|

|

 

 

 

 

 

 

 

 

 

 

 

 

 

|

 

if f λ >f μ

 

 

 

 

 

 

 

|

|

 

 

 

 

 

 

 

 

|

 

 

k

 

k

 

 

 

 

 

 

 

|

|

|

 

 

λk

 

 

 

 

 

 

 

 

|

|

|

 

ak+1

 

 

 

 

 

 

 

 

|

|

|

 

 

bk

 

 

 

 

 

 

 

 

|

|

|

 

bk+1

 

 

 

 

 

 

 

 

|

|

|

 

λ

μ

 

 

 

 

 

 

 

 

|

|

|

 

 

 

 

 

 

 

 

 

|

|

|

 

k+1

 

k

 

 

b

 

-a

 

|

|

|

 

μ a +τ

 

 

|

|

|

 

k+1

 

k+1

k

 

k+1

k+1

|

|

|

 

else if f λ f μ

 

 

 

 

 

|

|

|

 

 

 

k

k

 

 

 

 

 

|

|

|

 

a

 

 

 

 

 

|

 

a

 

 

 

 

 

 

 

 

|

|

|

 

k+1

 

k

 

 

 

 

 

 

 

 

|

|

|

 

 

 

 

 

 

 

 

 

 

 

 

|

 

b

μ

 

 

 

 

 

 

 

 

|

|

|

 

k+1

 

k

 

 

 

 

 

 

 

 

|

|

|

 

μ

λ

 

 

 

 

 

 

 

 

|

|

|

 

k+1

 

k

 

 

 

 

 

 

 

 

|

|

|

 

λk+1

ak+

1+

1-τk

 

 

 

 

|

|

 

 

bk+1-ak+1 |

|

|

 

 

 

 

 

 

 

 

 

 

 

 

|

|

|

 

xmin

a +b ÷2

 

 

 

 

 

 

 

|

|

 

 

 

 

k

k

 

 

÷ b -a

 

 

|

|

 

τ b -a

 

 

 

 

|

|

 

k+1

 

k+1

 

k+1

 

k

k

 

 

|

|

 

kk+1

 

 

 

 

 

 

 

 

 

 

|

|

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|

|

 

resxmin f xmin k

 

 

 

 

 

 

|

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|

 

res

 

 

 

 

 

 

 

 

 

 

 

 

 

|

результаты работы

Min Golden ε,lb,rb,τ,f

Min

=3.207

– значение икса в точке минимума;

 

0,0

 

Min

=-9.979

– значение игрека в точке минимума;

 

0,1

 

Min

=15

– количество итераций достижения минимума.

 

0,2

 

результаты тестирования

Mint Golden ε,lbt,rbt,τ,ft

Mint0,0=1.0000253 – значение икса в точке минимума;

Mint0,1=6.376 10-10 – значение игрека в точке минимума;

Mint

=21

– количество итераций достижения

 

0,2

минимума.

 

 

Так как количество итераций при программной выполнении

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

Соседние файлы в папке лабы