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

Методы оптимизации. Учебное пособие-3

.pdf
Скачиваний:
1
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
3.3. Методы сокращения отрезка поиска
nn nn
Н
--11
nnn
ba=-Јe
xab
mnn
О[, ]
x
*
x
m
xx
m
-Ј*e
1
1
0>
f x()
f x()
x
*
f x()
0
=
0
=
x
ab
2
+-d
x
ab
2
++d
f x()
()10
f x()
()20
,
на котором продолжается дальнейший поиск.
3. Проверка на окончание процедуры поиска. Если процесс построения не закончен, то полагают
и переходят к этапу 2.
Условие окончания процедуры:
— построено заранее заданное число итераций
;
— выполняется требование на точность расчета, напри-
мер
, где
— заданное число.
4. Выбор решения. Имеется правило, по которому указывается точка
, принимаемая в качестве приближения для
При этом необходимо достижение заданной степени бли­зости полученного приближения
например
, где
к точному решению,
— заранее заданное число.
Сходимость подобного процесса гарантируется, например,
унимодальностью функции
.
3.3.1. Метод деления отрезка пополам (дихотомии)
Пусть функция
ся найти точку минимума
унимодальна на отрезке
функции
на отрезке
и требует-
солютной погрешностью
.
с аб-
две точки, используя формулы
Алгоритм метода
Шаг 0. Выберем
()
0
=
1
00
, положим
и
Вычислим значения функции
()
0
2
=
00
и
,
. Найдем
.
.
41
3. Численные методы минимизации функции одной переменной
11
f x()
()10
f x()
()20
f xfx()()
() ()
1
0
2
0
Ј
10
=
12
0
=
()
f xfx()()
() ()
1
0
2
0
>
11
0
=
()
10
=
11
11
11
ab
2
+-d
x
ab
2
++d
f x()
()11
f x()
()21
ii
f xi()
()11-
f xi()
()21-
ab
11
2
--
+-d
x
ab
11
2
--
++d
Шаг 1. Определим новый отрезок поиска
щим образом. Сравним значения функции
— если — если
, то , то
и
и
;
.
следую-
и
На рис. 3.2 изображен один из вариантов выбора отрезка
.
f (x)
0
Рис. 3.2. Определение отрезка поиска
:
На новом отрезке поиска
Вычислим значения функции
Шаг i ( дующим образом. Сравним значения функции где
42
рассмотрим точки
()
1
1
11
=
x
и
()
2
1
=
11
и
). Определим новый отрезок поиска
i
1
()-
x
1
ii
=
и
i
1
()-
2
ii
=
.
.
сле-
и
,
:
3.3. Методы сокращения отрезка поиска
f xfx
ii
()()
() ()
1
1
2
1--
Ј
ii=-1
i
i
=
-21()
f xfx
ii
()()
() ()
1
1
2
1--
>
i
i
=
-11()
ii=-1
ii
ba
ii
-Јe
ba
nn
-Јe
x
*
xab
mnn
О[, ]
x
ab
nn
+
2
f
*
f xm()
x
*
dd
ba
ba
-
--
2
2
2
ba
-
22
e
xab
nn
=Оmax()
[,]
r
f x()
f
*
x
*
f xx xx x()=+ --
432
8672
x
*
— если — если
, то , то
и
и
;
.
Поиск заканчивается, если длина интервала поиска на текущей итерации сти
:
то есть количество шагов процедуры поиска
становится не больше заданной точно-
,
опре-
деляется условием
В качестве приближения точки минимума
бая точка
, например
жения минимального значения функции
.
выбирается лю-
=
m
, а в качестве прибли-
— величина При этом максимальная погрешность n определения точки ми­нимума
имеет вид
=
n
nn
=
+
+
1
n
.
Степень близости полученного приближенного значения
функции и минимума этой функции на
определяется нера-
венством
ffxLxx L
()-Ј-Ј
**
mm
nn
Ј
L
,
.
где ρ (x) — угловой коэффициент касательной к графику функ­ции
в точке x:
Пример 3.5
Методом деления отрезка пополам найти минимальное зна-
чение
и точку минимума
на отрезке
. Точку
,
.
функции
найти с погрешностью
.
43
3. Численные методы минимизации функции одной переменной
f x()
2
xx+-=
x125=- +
x
2
25=- -
ўў
іf x() 0
x і- +25
x О[.,]15 2
f x()
f xx xx x()=+ --
432
8672
x
*
x
ab
nn
+
2
ab
nn
+
2
ba
-
ii
ba=-
2
x
i1()xi2()
i
()
() 1
i
()
() 2
()(),
() () 1
0
2
0
<
12
0
=
()
f xfx() (),
() () 1
1
2
1
>
21
1
=
()
f xfx()(),
() () 1
2
2
2
>
31
2
=
()
3
<
..
+
168176
2
2
f f*(. ).»=-1729213
Решение Сначала проверим, является ли функция f (x) = x4 + 8x3 –
– 6x2 – 72x унимодальной на отрезке
Вторая производная функции
. Корни уравнения
и
Следовательно,
сти
. Используя критерий унимодальности (см. теоре-
му 3.2), получаем, что
.
, если в целом
унимодальна на отрезке
.
имеет вид f (x) = 12x2 +
имеют вид
и в частно-
Далее применим метод деления отрезка пополам для нахож-
дения минимума функции
на отрезке
.
Положим
. В качестве приближения точки
.
минимума
ло итераций
выберем точку
определяется условием
=
m
, то есть
=
n
Составим итерационную таблицу вычислений.
i aib
i
i
f x
0 1.5 2.0 0.25 1.74 1.76 –92.135 –92.096
1 1.5 1.76 0.13 1.62 1.64 –91.486 –91.696
2 1.62 1.76 0.07 1.68 1.7 –91.995 –92.084
3 1.68 1.76 0.04 — — — —
Следовательно, получим
f x
x
.
44
x
»
*
nn
Ј=2005.
Примечание
f xfx
*
. Чис-
.
x
При точность
достигнута
=
17
.»
,
3.3. Методы сокращения отрезка поиска
f
*
x
*
f xx x()=-212
2
x
*
f xx x()=-212
2
f x()
ў
=-f xx() 412
ў
f x()
xRО
f x()
f xx x()=-212
2
x
*
x
ab
nn
+
2
x
ab
nn
+
2
ba
­Ј=21
ii
ba=-
2
x
i1()xi2()
f xi()
() 1
f xi()
() 2
f xfx()(),
() () 1
0
2
0
<
12
0
=
()
f xfx() (),
() () 1
1
2
1
>
21
1
=
()
f xfx()(),
() () 1
2
2
2
<
32
2
=
()
3
<
x
..
+
19 325
2
26
f f*(.).»=-26 17 7
Пример 3.6
Методом деления отрезка пополам найти минимальное зна­чение ке
и точку минимума
. Точку
найти с погрешностью
функции
на отрез-
.
Решение
Сначала проверим, является ли функция модальной на отрезке
Производная функции ция
не убывает, если в целом
.
имеет вид
и в частности х О
уни-
. Функ-
Используя критерий унимодальности (см. теорему 3.1), полу­чаем, что
унимодальна на отрезке
.
Далее применим метод деления отрезка пополам для на­хождения минимума функции
Положим
. В качестве приближения точки ми-
на отрезке
.
.
нимума
итераций
Составим итерационную таблицу вычислений.
i aib
0 0 8 4 3.8 4.2 –16.72 –15.12
1 0 4.2 2.1 1.9 2.3 –15.58 –17.02
2 1.9 4.2 1.15 2.85 3.25 –17.955 –17.875
3 1.9 3.25 0.675 — — — —
Следовательно, получим
выберем точку
=
m
определяется условием
i
i
*
, то есть
nn
=
n
.»
»
»
*
Примечание
При
достигнута
,
. Число
.
точность
.
45
3. Численные методы минимизации функции одной переменной
x
1
x
2
ba
bx
bx
ba
xa bx
-
-
-
-
111222
x
1
2
x
2
1
xabx
12
=+-
xabx
21
=+-
f x()
x
*
f x()
0
=
0
=
x
1
0()
x
2
0()
00
3.3.2. Метод золотого сечения
В методе золотого сечения две внутренние точки, которые используются для сокращения отрезка поиска, выбираются та­ким образом, чтобы одна из них использовалась с той же целью и на следующем уже сокращенном отрезке. Данное правило вы­бора точек приводит к тому, что число вычислений функции сокращается вдвое и одна итерация требует расчета только од­ного нового значения функции. Такими свойствами обладают точки, называемые точками золотого сечения.
Определение 3.2. Точка производит золотое сечение отрез­ка, если отношение длины всего отрезка к длине большей ча­сти равно отношению длин большей части к меньшей.
В методе золотого сечения на отрезке носительно его концов выбираются точки
симметрично от-
и
, такие что
При этом точка отрезка резка
Зная одну из точек золотого сечения отрезка можно найти по одной из формул
Пусть функция ся найти точку минимума солютной погрешностью
Алгоритм метода
Шаг 0. Положим золотого сечения отрезка
46
, а точка
.
=
-
=
xa
-
=
xa
-
.
-
является второй точкой золотого сечения
— первой точкой золотого сечения от-
, другую
,
унимодальна на отрезке
функции
,
. Найдем две точки
.
и требует-
на отрезке
, используя формулы
с аб-
и
3.3. Методы сокращения отрезка поиска
xa
ab
00
2
.()
+-
xa
ab
00
2
.()
+-
f x()
()10
f x()
()20
11
x
1
1()
x
2
1()
11
f x()
()10
f x()
()20
f xfx()()
() ()
1
0
2
0
Ј
10
=
12
0
=
()
xx
2
1
1
0() ()
=
xabx
1
1
11 1
0() ()
=+-
xx
11
0
=
()
f xfx()()
() ()
1
0
2
0
>
11
0
=
()
10
= xx
1
1
2
0() ()
=
xabx
2
1
11 2
0() ()
=+-
xx
12
0
=
()
11
11
-
()
0
1
() 2
0
35
=+
0000
=+
0000
ba
()
-
51
ba
()
-=
-=
0381966011
0618033989
a
,
a
.
Вычислим значения функции: Шаг 1. Определим новый отрезок поиска
и
золотого сечения отрезка
ним значения функции
— если
,
,
— если
,
и
, то
,
, то
,
и
.
и точки
следующим образом. Срав-
:
,
,
;
.
На рис. 3.3 изображен один из вариантов выбора отрезка
.
0
Рис. 3.3. Определение отрезка поиска
47
3. Численные методы минимизации функции одной переменной
11
x
1
1()
f x()
()11
x
2
1()
f x()
()21
ii
x
i1()
x
i2()
ii
f xi()
()11-
f xi()
()21-
f xfx
ii
()()
() ()
1
1
2
1--
Ј
ii=-1
i
i
=
-21()
xx
ii
21
1() ()=-
xabx
i
ii
i
11
1() ()
=+-
-
xx
i
i
=
-11()
f xfx
ii
()()
() ()
1
1
2
1--
>
i
i
=
-11()
ii=-1
xx
ii
12
1() ()=-
xabx
i
ii
i
22
1() ()
=+-
-
xx
i
i
=
-21()
ii
ba
ii
-Јe
ba
nn
-Јe
x
*
xx
mn
=
f
*
f xm()
n
x
*
n
ba
и
ш
()
+
1
x
*
На новом отрезке поиска функции в точке
в случае
вычислим только значение
или в точке
.
Шаг i ( ки
и
зом. Сравним значения функции
— если
— если
). Определим новый отрезок поиска
золотого сечения отрезка
, то
,
,
,
, то
,
,
,
следующим обра-
и
,
,
Поиск заканчивается, если длина интервала поиска на текущей итерации
сти
:
становится не больше заданной точно-
,
то есть количество шагов процедуры поиска деляется условием
.
в случае
и точ-
:
;
.
опре-
В качестве приближения точки минимума ка функции ность
, а в качестве приближения минимального значения
— величина
определения точки минимума
откуда следует, что число шагов метода золотого сечения, обе­спечивающее заданную точность
но удовлетворять неравенству
48
ba
=-=
nnn
выбирается точ-
. При этом максимальная погреш-
имеет вид
ж з
з
ц
-
51
2
-
ч
ч
,
нахождения точки
, долж-
3.3. Методы сокращения отрезка поиска
ж
ц
и
ш
e
11
51
2
e
nn
=Оmax()
r
f x()
f
*
x
*
f xx xx x()=+ --
432
8672
x
*
f x()
2
xx+-=
x125
x
2
25
ўў
іf x() 0
x і- +25
x О[.,]15 2
f x()
f xx xx x()=+ --
432
8672
x
*
xx
mn
=
xx
n*
»
ln
з
ч
ba
-
и
і
ж
ln
з
з
ш
-
51
2
12
-»­ц ч
ч
.ln
e
ж з
ba
-
и
ц
-
.
ч ш
Степень близости полученного приближенного значения
функции и минимума этой функции на
определяется нера-
венством
ffxLxx Lb aL
()-Ј-Ј -
mmnn**
()
Ј
-
,
где ρ (х) — угловой коэффициент касательной к графику функ­ции
в точке x:
Пример 3.7
Методом золотого сечения найти минимальное значение и точку минимума резке
Решение
Сначала проверим является ли функция f (x) = x – 6x2 – 72x унимодальной на отрезке
Вторая производная функции
. Корни уравнения
=- +
и
Следовательно, сти му 3.2), получаем, что применим метод золотого сечения для нахождения минимума
функции приближения точки минимума
. Число итераций
xab
[,]
,
.
. Точку
функции найти с погрешностью
на от-
.
4
+ 8x3 –
.
имеет вид f (x) = 12x2 +
имеют вид
=- -
.
, если в целом
и в частно-
. Используя критерий унимодальности (см. теоре-
унимодальна на отрезке
на отрезке
выберем точку
. Далее
. В качестве
, то есть
определяется условием
49
3. Численные методы минимизации функции одной переменной
ж
и
ц
ш
x
i1()xi2()
f xi()
() 1
f xi()
() 2
f xfx()(),
() () 1
0
2
0
<
12
0
=
()
f xfx() (),
() () 1
1
2
1
>
21
1
=
()
f xfx()(),
() () 1
2
2
2
>
31
2
=
()
f xfx()(),
() () 1
3
2
3
<
42
3
=
()
4
<
xx*.»=41736
f f*(. ).»=-1736 92 138
f
*
x
*
f xx x()=-212
2
x
*
f xx x()=-212
2
f x()
ў
=-f xx() 412
ў
f x()
xRО
f x()
f xx x()=-212
2
-
51
з
nnn
з
ba=
()
ч
ч
2
Ј=
-
005.
Составим итерационную таблицу вычислений.
.
i a
b
i
ε
i
i
Примечание
0 1.5 2.0 0.309 1.691 1.809 –92.049 –91.814
1 1.5 1.809 0.191 1.618 1.691 –91.464 –92.049
2 1.618 1.809 0.118 1.691 1.736 –92.049 –92.138
3 1.691 1.809 0.073 1.736 1.764 –92.138 –92.083
4 1.691 1.764 0.045 – 1.736 – –92.138
При
точность
достигнута
Следовательно, получим
,
Пример 3.8
Методом золотого сечения найти минимальное значение и точку минимума Точку
найти с погрешностью
функции
на отрезке
.
Решение
Сначала проверим, является ли функция модальной на отрезке
Производная функции ция
не убывает, если в целом
.
имеет вид
и в частности х О
уни-
. Функ-
Используя критерий унимодальности (см. теорему 3.1), полу­чаем, что
унимодальна на отрезке
.
Далее применим метод золотого сечения для нахождения минимума функции
на отрезке
. В качестве
.
.
.
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]