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

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

.pdf
Скачиваний:
1
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
3.3. Методы сокращения отрезка поиска
x
*
xx
mn
=
xx
n*
»
nn
-
ж
и
ц
ш
()
Ј=
1
x
i1()xi2()
f xi()
() 1
f xi()
() 2
f xfx()(),
() () 1
0
2
0
<
12
0
=
()
(),
() () 1
1
2
1
>
21
1
=
()
f xfx()(),
() () 1
2
2
2
<
32
2
=
()
f xfx()(),
() () 1
3
2
3
>
41
3
=
()
4
<
xx*.»=4306
f f*(. ).»=-3061799
F
n
nnn++
=+
21
12
1==
приближения точки минимума
. Число итераций
определяется условием
51
з
з
2
выберем точку
ba=
-
ч
ч
n
Составим итерационную таблицу вычислений.
i a
0 0 8.0 4.944 3.06 4.95 –17.99 –10.44
1 0 4.95 3.06 1.89 3.06 –15.53 –17.99
2 1.89 4.95 1.888 3.06 3.78 –17.99 –16.79
3 1.89 3.78 1.167 2.61 3.06 –17.69 –17.99
4 2.61 3.78 0.721 3.06 – –17.99 –
Следовательно, получим
b
i
ε
i
i
,
3.3.3. Метод Фибоначчи
.
Примечание
f xfx()
При
ность достигнута
, то есть
x
точ-
.
Определение 3.3. Последовательность чисел Фибоначчи
, подчиняется соотношению
и имеет вид
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, …
С помощью метода математической индукции можно пока-
зать, что
-е число Фибоначчи вычисляется по формуле Бинэ:
,
, где
51
3. Численные методы минимизации функции одной переменной
nn
й
л
щ
ы
ъ ъ
f x()
x
*
f x()
1
=
1
=
x
1
1()
x
2
1()
F
ba
n
2
11
()
+
xa
F
n
2
()
+
f x()
()11
f x()
()21
22
x
1
2()
x
2
2()
f x()
()11
f x()
()21
f xfx() ()
() ()
1
1
2
1
Ј
21
=
22
1
=
()
xx
2
2
1
1() ()
=
xabx
1
2
22 1
1() ()
=+-
xx
21
1
=
()
f xfx() ()
() ()
1
1
2
1
>
21
1
=
()
21
= xx
1
2
2
1() ()
=
xabx
2
2
22 2
1() ()
=+-
xx
22
1
=
()
22
x
1
2()
f x()
()12
x
2
2()
f x()
()22
ii
x
i1()
x
i2()
f xi()
()11-
f xi()
()21-
ж
1515215
к
где
Пусть функция
=
n
з
з
к
и
.
унимодальна на отрезке
ся найти точку минимума
ц
+
-
ч
ч ш
функции
ж
-
з
з
2
и
солютной погрешностью
Алгоритм метода
Шаг 1. Положим
,
. Найдем две точки
используя формулы
()
1
xa
1
2
=+ -
1
n
1
F
Вычислим значения функции:
n
1
F
1
+
ba abx
()=+ -=+-
11 11 1
,
и
Шаг 2. Определим новый отрезок поиска
и
следующим образом. Сравним значения функции
и
— если
:
, то
,
,
,
ц
,
ч
ч ш
на отрезке
1()
.
.
,
и требует-
с аб-
и
и точки
;
,
— если
На новом отрезке поиска функции в точке
Шаг i ( ки
52
, то
,
,
,
вычислим только значение
в случае
или в точке
.
). Определим новый отрезок поиска
и
следующим образом. Сравним значения функции
и
:
.
в случае
и точ-
3.3. Методы сокращения отрезка поиска
f xfx
ii
()()
() ()
1
1
2
1--
Ј
ii=-1
i
i
=
-21()
xx
ii
21
1() ()=-
xabx
i
ii
i
11
1() ()
=+-
-
xx
F
F
ba
ni
n
-+
+
3
2
11
()
f xfx
ii
()()
() ()
1
1
2
1--
>
i
i
=
-11()
ii=-1
xx
ii
12
1() ()=-
xabx
i
ii
i
22
1() ()
=+-
-
F
F
ba
ni
n
-+
+
3
2
11
()
x
*
xx
mi
=
f
*
f xm()
xa
F
ba
n
2
11
()
+
f xfx
ii
()()
() ()
1
1
2
1--
Ј
xa
F
F
ba
n
2
2
11
()=+ -
+
F
ba
n
2
11
()=+
+
f xfx
ii
()()
() ()
1
1
2
1--
>
nn
n
x
*
n
ba
ba
-
-
+22
x
*
ba
­e
— если
— если
,
-
()
i
1
==+-=+ -
i
a
1
i
,
-
()
i
xx a
1
==+-=+ -
i
2
i
, то
,
-+
ni
1
F
, то
,
-+
ni
2
F
,
ba a
()
ii i
,
ba a
()
ii i
В качестве приближения точки минимума ка функции
, а в качестве приближения минимального значения
— величина
Нетрудно заметить, что при
.
точка
полученная при условии
2
-
F
дают и делят отрезок
, полученная при условии
пополам.
Следовательно, максимальная погрешность точки минимума
имеет вид
ni
-+
1
F
ni
-+
2
F
выбирается точ-
n
()
=+ -
n
2
, или
определения
,
;
,
.
1
F
n
()
n
1
, совпа-
,
откуда следует, что число шагов чивающее заданную точность
брать из условия
nn
=
n
=
Ј
F
метода Фибоначчи, обеспе-
нахождения точки
і
n+
2
.
,
, можно вы-
53
3. Численные методы минимизации функции одной переменной
ba
-
2
e
xab
nn
=Оmax()
[,]
r
f x()
f
*
x
*
f xx xx()=- -+
32
12 7 250
x
*
f xx xx()=- -+
32
12 7 250
f x()
ў
=--f xx x() 3247
2
ў
f x()
x і 4
x О[, .]775
f x()
f xx xx()=- -+
32
12 7 250
ba
-
-
75 7
005
10
e
.
.
n+=2
13
x
*
xxx
mn
==
5
xxx
n*
»=
5
Степень близости полученного приближенного значения
функции и минимума этой функции на
определяется нера-
венством
ffxLxx L
()-Ј-Ј
**
mm
nn
Ј
L
,
,
где ρ(х) — угловой коэффициент касательной к графику функ­ции
в точке x:
.
Пример 3.9
Методом Фибоначчи найти минимальное значение
ку минимума
. Точку
функции
найти с погрешностью
.
и точ-
на отрезке
Решение Проверим, является ли функция
унимодальной на отрезке
Производная функции
Функция
не убывает, если в целом
.
имеет вид
и в частности
. Используя критерий унимодальности (см. теоре-
му 3.1), получаем, что
унимодальна на отрезке
.
Далее применим метод Фибоначчи для нахождения мини-
мума функции
Определим необходимое число шагов
і
n+
2
=
на отрезке
метода из условия
=
,
.
.
откуда получим число Фибоначчи тельно,
В качестве приближения точки минимума
, то есть
54
.
и
, следова-
выберем точку
.
3.3. Методы сокращения отрезка поиска
x
i1()xi2()
f xi()
() 1
f xi()
() 2
(),
() () 1
1
2
1
>
21
1
=
()
f xfx()(),
() () 1
2
2
2
>
31
2
=
()
f xfx()(),
() () 1
3
2
3
>
41
3
=
()
f xfx()(),
() () 1
4
2
4
>
51
4
=
()
xx*.»=57 462
f f*(. ).»=-7 462 54 908
f
*
x
*
f xx xx x()=+ --
432
8672
x
*
f xx xx x()=+ --
432
8672
f xx xx x()=+ --
432
8672
ba
-
-
215
007
7
e
.
.
n+=2
8
x
*
xxx
mn
==
4
xx
*»4
Составим итерационную таблицу вычислений.
i a
1 7 7.50 7.192 7.308 –49.045 –51.734
2 7.192 7.50 7.308 7.385 –51.734 –53.381
3 7.308 7.50 7.385 7.423 –53.381 –54.160
4 7.385 7.50 7.423 7.462 –54.160 –54.908
5 7.423 7.50 7.462 7.462 –54.908 –54.908
Следовательно, получим
b
i
i
Примечание
f xfx()
При
число шагов
поиска выполнено
,
Пример 3.10
Методом Фибоначчи найти минимальное значение ку минимума
. Точку
функции
найти с погрешностью
на отрезке
.
Решение
Функция на отрезке
(см. пример 3.7).
является унимодальной
Применим метод Фибоначчи для нахождения минимума функции
Определим необходимое число шагов
на отрезке
метода из условия
.
x
.
и точ-
откуда получим число Фибоначчи тельно,
В качестве приближения точки минимума
, то есть
Составим итерационную таблицу вычислений.
і
n+
2
=
»
,
и
, следова-
.
выберем точку
.
55
3. Численные методы минимизации функции одной переменной
x
i1()xi2()
f xi()
() 1
f xi()
() 2
f xfx() (),
() () 1
1
2
1
<
22
1
=
()
f xfx()(),
() () 1
2
2
2
>
31
2
=
()
f xfx()(),
() () 1
3
2
3
>
41
3
=
()
xx*.»=41750
f f*(. ).»=-1750 92 121
x
*
f x()
f
*
f xx xx x() ln=-+23
f xxx() ln()sin=+-1
2
й л
щ ы
ъ
4
p
xx
-+
1 4
812
=-
1 2
f xx xe
x
()=-+
-2
2
f xx x() sin=-tg 2
й л
щ ы
4
p
xx
22
xxx
+-
1 7
1 2
i a
1 1.5 2.0 1.688 1.812 –92.033 –91.784
b
i
i
Примечание
x
2 1.5 1.812 1.625 1.688 –91.543 –92.033
3 1.625 1.812 1.688 1.750 –92.033 –92.121
4 1.688 1.812 1.750 1.750 –92.121 –92.121
При
шагов поиска
число
выполнено
Следовательно, получим
,
Контрольные задания
1. Методом деления отрезка пополам найти точку миниму­ма
функции мальное значение а)
б)
на отрезке
:
,
ab
,
с точностью
,
=
0
к
и мини-
;
,
;
.
f xx
в)
f xx x() sin
г)
д)
е)
f
ж)
f xx
з)
56
()=+
()=+-
()=-
42
2
1
73 2
e
,
,
-
,
ab
x
,
,
,
0
=
к
,
,
;
;
,
,
ъ
,
;
;
;
,
;
3.3. Методы сокращения отрезка поиска
1 3
xx
5
x
*
f x()
f
*
f xx x() sin=-33
f xxxx()=+++
42
1
x
=+
1
f xxxx() sin=++
2
f xxe
x
()=+
-2
f xx xx x() ln=-+23
f xxx() ln()sin=+-1
2
й л
щ ы
4
p
xx
-+
1 4
812
=-
1 2
f xx xe
x
()=-+
-2
2
x
*
f x()
f
*
xx
x
=+
1
f xx xx()=+ ++
42
241
f xx xxx()=- +-
53 2
5105
f xx xx() (ln)=+ -
2
31
f xx xx() cos=--
2
22
f xx x() ()=+ -12
42
f xxxx x() ln=-+
и)
f xx
()=--58 20
к)
3
5
2
4
,
,
,
,
;
.
2. Методом золотого сечения найти точку минимума функции ное значение а) б)
f x
()
в)
г) д) е)
ж)
f xx
()=+
з)
f xx x() sin
и)
к)
3. Методом Фибоначчи найти точку минимума
на отрезке
ние
:
на отрезке
:
,
x
e
,
,
42
2
,
с точностью
,
,
,
,
,
,
ab
,
=
,
,
с точностью
и минималь-
;
,
;
;
,
;
;
,
0
к
ъ
,
,
,
;
,
;
;
;
.
функции
и минимальное значе-
f
()
а)
б) в) г) д) е)
2
,
,
,
,
,
,
,
;
,
,
,
,
;
,
;
;
;
;
57
3. Численные методы минимизации функции одной переменной
xx
22
xx
4
2
xx
()=- ++
()
+-
()
3
11
f xxxxxx() ln arctg
()
212
x
*
f x()
x
f
()=+-
ж)
1
-
e
,
,
;
f
з)
f xx
() ln
и)
3
31
x() ()=- +35 2
,
,
,
;
,
;
к)
2
2
=+ +- +
3
2 3
-
1
3
,
.
3. Может ли применение методов сокращения отрезков по­иска привести к неверному определению точки миниму­ма
, если функция
не является унимодальной? От-
вет пояснить иллюстрацией.
,
58
4. Оптимизация функции
f xR R
n
(): ®
f x
xR
()®Оextr
f xfxx x
n
() (, , ..., )=
12
xR
n
О
xR
n*
О
ж и
ц ш
ч
n
()
12
xR
n*
О
*
0
¶¶fx
i
()
*
f xfxx x
n
() (, , ..., )=
12
f xR R
n
(): ®
xR
n*
О
x
*
f x()
*
0
нескольких переменных
4.1. Необходимые и достаточные условия экстремума
ассматривается задача безусловной оптимизации целе­вой функции
(без ограничений):
Р
.
n
Определение 4.1. Градиентом функции
, в точке
Определение 4.2. Точка
ловия
называется стационарной точкой функции
Теорема 4.1 (необходимое условие экстремума 1‑го порядка).
Пусть функция Если
называется вектор
*
fx
()
fxxfx
(),()
з
, ...,
x
fx
.
x
** *
, в которой выполняются ус-
или
,
x
,
дифференцируема в точке
— точка безусловного локального экстремума
.
,
.
.
, то
59
4. Оптимизация функции нескольких переменных
x
*
f x()
*
*
f xfx() ()
*
Ј
*
0
*
*
**
С>
2
0
f x()
x*,
f xsfx()()
**
+>a
*
0
A aij= ()
n
О
ha
nin
=>
0
A
A
Доказательство Пусть для определенности
ма функции
, то есть существует окрестность
.
— точка локального максиму-
Докажем методом от противного. Предположим, что
кое, что
. Тогда для всякого вектора
, имеем
**
(),) ((), ())()
С=СЧС=
fx sfxfxfxaa
, где
,
:
та-
то есть вектор
в точке
воречие. Таким образом,
Определение 4.3. Пусть
ная матрица размером но определенной, если для любого
определяет направление возрастания функции
и следовательно, выполняется неравенство
при достаточно малых
. Получили проти-
.
,
. Матрица
называется положитель-
,
— симметрич-
, выполняется ус-
ловие
Если Если Если
,)hA
, то матрица , то матрица A — неотрицательно определенная. , то матрица A — неположительно определенная.
==ее11
j
hh
ij ij
.
— отрицательно определенная.
Положительная (отрицательная) определенность матрицы
(или квадратичной формы
) может быть установлена с по-
мощью критерия Сильвестра.
Теорема 4.2 (критерий Сильвестра). Симметричная матри-
ца
является положительно определенной тогда и только тог-
да, когда все ее главные миноры положительны:
60
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]