Северин В.П. Методы ОП
.pdf
f (u (1 )v) f (u) (1 ) f (v) . |
|
(2.1) |
|||
Если это неравенство |
является |
строгим |
для всех u, v R , |
u v и |
|
(0;1) , то функция |
f (x) называется строго выпуклой. |
|
|
||
f |
|
f |
|
|
|
f |
|
|
f |
|
|
x |
x |
|
x |
|
x |
а |
|
|
б |
|
|
Рис. 2.8. Унимодальные функции |
|
|
|||
Возьмем фиксированные |
u , v , |
(0;1) , и |
определим |
||
w u (1 )v , |
y f (w) , z f (u) (1 ) f (v) . Точка (w, y) лежит |
на графике функции, а точка (w, z) – на графике секущей (рис. 2.9, а). |
|
Неравенство (2.1) |
примет вид y z . Таким образом, геометрически |
выпуклость функции f (x) означает, что любая точка произвольной хорды графика f (x) располагается не ниже соответствующей точки самого графика. Это также означает, что любая касательная к графику
функции f (x) |
расположена не выше графика самой функции. Если |
|
функция f (x) |
дважды дифференцируемая и строго |
выпуклая, то |
f (x) 0 . |
|
|
Функция |
f (x) называется (строго) вогнутой, если |
f (x) (стро- |
го) выпукла (рис. 2.9, б). Для дифференцируемой строго вогнутой функции f (x) 0 .
Если строго выпуклая функция имеет минимум, то этот минимум
31
единственный. Такая функция является унимодальной. Однако определению унимодальной функции могут удовлетворять и функции, не являющиеся непрерывными и выпуклыми.
f |
f |
f (v)
z
f (u)
y
u |
w |
v x |
u |
w |
v x |
|
а |
|
|
|
б |
Рис. 2.9. Выпуклая и вогнутая функции
Если функция обладает свойством унимодальности, то локальный минимум является и глобальным минимумом. Если же функция не является унимодальной, то возможно наличие нескольких локальных минимумов.
Почти все методы одномерного поиска, рассматриваемые в этом пособии, предназначены для численной минимизации унимодальных функций.
2.4.Интервал неопределенности минимума унимодальной функции
Интервал [a, b] R , содержащий неизвестную точку минимума x функции f (x) , называется интервалом неопределенности.
Таким образом, если известно, что x [a, b] , но само значение x не известно заранее, то [a, b] – интервал неопределенности.
Одномерный поиск минимума целевой функции обычно состоит из двух основных этапов:
32
1)поиск интервала неопределенности;
2)уменьшение интервала неопределенности.
Поиск интервала неопределенности заключается в том, что из некоторой начальной точки последовательно осуществляются шаги до тех пор, пока значения функции в пробных точках не перестанут уменьшаться. Если найдены такие три различные точки унимодальной функции f (x) , что значение функции во внутренней точке не превосходит ее значений в крайних точках, то крайние точки являются гра-
ницами |
интервала |
не- |
|
|
|
|
|
|
|
||||
определенности. |
Пусть, |
f |
|
|
|
|
|
|
|||||
например, |
при |
a c b |
f (a) |
|
|
|
|
|
|||||
|
|
|
|
|
|
||||||||
выполняются неравенства |
|
|
|
|
|
f (b) |
|
||||||
f (a) f (c) , |
f (c) f (b) . |
|
|
f (c) |
|
|
|
||||||
|
|
|
|
|
|
|
|
|
f |
|
|
||
Тогда [a, b] – интервал |
|
|
|
|
|
|
|||||||
неопределенности, |
что |
|
|
|
|
|
|
|
|||||
показано на рис. 2.10. |
|
|
a |
c |
|
x |
b |
x |
|||||
Методы уменьшения |
Рис. 2.10. Интервал неопределенности |
|
|||||||||||
интервала |
неопределен- |
|
|||||||||||
|
|
|
|
|
|
|
|||||||
ности основаны на следующей теореме. |
|
|
|
|
|
||||||||
Т е о р е м а . |
Пусть [a, b] – интервал неопределенности унимо- |
||||||||||||
дальной функции |
f (x) , минимум которой |
f достигается в точке |
|||||||||||
x . Пусть u , |
v – такие внутренние точки интервала неопределенно- |
||||||||||||
сти, что a u v b , |
fu f (u) и |
fv f (v) – значения функции в |
|||||||||||
этих точках. Тогда, если |
fu fv , то |
x [a, v] , |
если же |
fu fv , |
то |
||||||||
x [u, b] . |
|
|
|
|
|
|
|
|
|
|
|
|
|
Д о к а з а т е л ь с т в о . |
Рассмотрим случай, |
когда |
fu fv . Пред- |
||||||||||
положим, что утверждение теоремы неверно, то есть |
x (v, b] . По- |
||||||||||||
скольку |
x |
– |
точка минимума унимодальной функции f (x) , то по |
||||||||||
определению левее точки x функция монотонно убывает. Это означа-
33
ет, что для u v x должно выполняться неравенство fu fv , что противоречит условию. Аналогично доказывается утверждение для случая fu fv .
Эту теорему называют правилом исключения интервалов. Дей-
ствительно, из нее следует, что если выполняется неравенство fu fv ,
то полуоткрытый интервал (v, b] заведомо не содержит точку мини-
мума x и его следует исключить, приняв в качестве нового интервала неопределенности интервал [a, v] меньшей длины, чем исходный интервал [a, b] (рис. 2.11, а). Если же выполняется противоположное
неравенство fu fv , то заведомо не содержит точку минимума x полуоткрытый интервал [a, u) , и его следует исключить, приняв в ка-
честве нового интервала неопределенности меньший интервал [u, b]
(рис. 2.11, б).
f f
|
|
|
f |
f |
v |
|
|
fu |
f |
|
|
|
|
f |
|
|
|
|
|
|
|||||
|
u |
|
|
|
|
v |
f |
|||||
|
|
|
|
|
|
|
|
|
||||
a |
x u v |
b x |
a |
u |
v x b x |
|||||||
|
|
|
|
а |
|
|
|
|
б |
|
|
|
Рис. 2.11. Правило исключения интервалов
Таким образом, по правилу исключения интервалов можно построить процедуру поиска точки минимума целевой функции путем вычисления значений функции во внутренних точках текущего интервала неопределенности и последующего исключения частей этого интервала на основании сравнения значений функции во внутренних точках. Поиск завершается, когда интервал неопределенности умень-
34
шится до достаточно малых размеров. На этом принципе основывается большинство методов одномерного поиска из следующих разделов.
2.5. Поиск интервала неопределенности методом Свенна
Для поиска интервала неопределенности [a, b] унимодальной функции f (x) Свенном был предложен метод удвоения шага. Для начала работы метода задается начальная точка x0 и начальный шаг h 0 . В точке x0 вычисляется значение функции f0 f (x0 ) и выпол-
няется переход к следующей точке x1 x0 h с вычислением значения функции f1 f (x1) . Если f1 f0 , то выполняются итерации в поло-
жительном направлении относительно точки x0 по рекуррентной формуле удвоения шага
|
|
2k h , |
|
|
|
x |
x |
k 1, m |
(2.2) |
||
k 1 |
k |
|
|
|
|
с вычислением значений функции fk f (xk ) до тех пор, пока не будет получена точка с не меньшим значением функции, чем значение функ-
ции в |
предыдущей |
|
|
|
|
|
|
|
|
|||
точке: |
|
fm 1 |
fm , |
f |
|
|
|
|
|
|
|
|
fm fm 1 . |
|
|
f0 |
|
|
|
|
|
f |
|
||
Соответ- |
|
|
|
|
|
|
3 |
|
||||
|
f1 |
|
|
|
|
|
|
|||||
ствующий |
|
процесс |
|
|
|
|
|
|
|
|||
вычислений для зна- |
|
|
f2 |
f |
|
|
|
|||||
|
m 2 |
|
|
|
|
|
||||||
чения |
пред- |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|||||
ставлен на рис. 2.12. |
h |
|
2h |
|
|
4h |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|||
Очевидно, |
что в |
|
x |
x |
|
x |
|
x |
|
|||
этом |
случае |
будут |
x |
2 |
|
x |
||||||
0 |
1 |
|
|
|
3 |
|
||||||
определены |
концы |
Рис. 2.12. Поиск в положительном направлении |
||||||||||
интервала неопреде- |
|
|
|
|
|
|
|
|
||||
ленности |
a xm 1 , |
b xm 1 со |
значениями |
функции |
fa fm 1 , |
|||||||
fb fm 1 |
и внутренняя точка интервала c xm |
|
со значением функции |
|||||||||
35
fc fm . Таким образом, аналогично рис. 2.10 имеем интервал неопре-
деленности [a, b] . |
|
|
|
|
|
|
|
|
|
||||
Если |
после |
началь- |
|
|
|
|
|
|
|
|
|||
ного |
шага |
f1 f0 , |
то |
|
f |
|
|
|
|
|
f |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
направление поиска |
ме- |
|
|
|
|
|
|
|
|
||||
няется на противополож- |
|
f2 |
|
|
|
|
|
|
|||||
ное |
и |
определяются |
|
|
|
|
|
f0 |
|
||||
x2 x0 h , |
f2 f (x2 ) . |
|
|
|
f |
|
|||||||
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
||||||
Если |
f2 f0 , |
то |
интер- |
|
|
h |
|
|
|
h |
|||
вал |
неопределенности |
|
x2 |
|
x |
x0 |
x1 x |
||||||
найден и |
a x2 , |
b x1 , |
|
Рис. 2.13. Изменение направления поиска |
|||||||||
|
|
|
|
|
|
|
|||||||
fa f2 , |
fb f1 , |
c x0 , |
|
|
|
|
|
|
|
|
|||
fc f0 (рис. 2.13). |
|
|
|
|
|
|
|
|
|
||||
Если |
же |
f2 f0 , то |
итерации выполняются в |
отрицательном |
|||||||||
направлении по формуле удвоения шага |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
2k 1h , |
|
|
|
|
|
|
|
|
|
|
|
x |
x |
k 2, n |
|
(2.3) |
||||
|
|
|
|
|
k 1 |
k |
|
|
|
|
|
|
|
свычислением
значений |
функ- |
f |
|
|
|
|
|
|
|
f1 |
|
|
ции |
fk f (xk ) |
|
f4 |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
f0 |
|
|
|
|
до тех пор, пока |
|
|
|
|
|
|
|
|
|
|||
значения |
функ- |
|
|
|
|
f2 |
|
|
|
|
|
|
ции не переста- |
|
|
f |
f3 |
|
|
|
|
|
|
||
нут |
уменьшать- |
|
4h |
|
2h |
|
h |
|
|
h |
|
|
ся: |
fn 1 fn , а |
|
|
|
|
|
|
|||||
x |
|
x |
x |
x |
|
x |
|
x |
x |
|||
|
|
|
4 |
2 |
0 |
|||||||
fn fn 1 , |
что |
|
|
3 |
|
|
1 |
|||||
|
|
|
|
|
|
|
|
|
|
|||
представлено на |
Рис. 2.14. Поиск в отрицательном направлении |
|||||||||||
рис. 2.14. Таким |
|
|
|
|
|
|
|
|
|
|
||
образом, будет определен интервал неопределенности со значениями
36
концов a xn 1 , b xn 1 , fa fn 1 , fb fn 1 и внутренняя точка интервала c xn со значением функции fc fn .
В результате работы метода Свенна устанавливаются значения границ интервала неопределенности. В любом случае интервал неопределенности [a, b] определяется тремя последними точками поис-
ка метода Свенна xn 1 , xn , xn 1 . При этом становятся известными значения функции на концах интервала неопределенности fa f (a) и fb f (b) , а также внутренняя точка интервала c и значение функции
вней fc f (c) (рис. 2.10).
Вметоде Свенна используются только значения целевой функции, поэтому это метод нулевого порядка. Метод Свенна с использованием формул (2.2) и (2.3) можно реализовать по следующему алгоритму.
А л г о р и т м м е т о д а С в е н н а .
Входные параметры: c – начальная точка поиска; h – начальный
шаг.
Выходные параметры: a и b – границы интервала неопределен-
ности; |
fa и fb – значения функции на концах интервала; c и fc – |
|
внутренняя точка интервала и значение в ней функции. |
||
1. |
Вычислить fc f (c) , b c h , |
fb f (b) . |
2. |
Если fb fc , то перейти к шагу |
6. |
3. |
Положить a c , fa fc , c b , fc fb , h 2h . |
|
4.Вычислить b c h , fb f (b) .
5.Если fb fc , то перейти к шагу 3, иначе перейти к шагу 11.
6. |
Вычислить a c h , |
fa f (a) . |
|
|
7. |
Если fa fc , то перейти к шагу 11. |
|
||
8. |
Положить b c , fb fc , c a , |
fc fa , |
h 2h . |
|
9. |
Вычислить a c h , |
fa f (a) . |
|
|
37
10.Если fa fc , то перейти к шагу 8.
11.Остановиться.
На шагах 1–5 выполняется поиск интервала в положительном направлении, а на шагах 6–10 – в отрицательном направлении.
Лабораторная работа
Т е м а л а б о р а т о р н о й р а б о т ы .
Разработка подпрограммы поиска интервала неопределенности. Ц е л ь л а б о р а т о р н о й р а б о т ы .
Разработать подпрограмму метода Свенна для поиска интервала неопределенности унимодальной целевой функции.
П о р я д о к в ы п о л н е н и я л а б о р а т о р н о й р а б о т ы .
1. |
Получить у преподавателя |
вариант унимодальной целевой |
|
функции f (x) одной переменной |
x R |
с начальной точкой поиска |
|
минимума x0 R . |
|
|
|
2. |
Аналитически найти точку |
x R |
минимума заданной функ- |
ции f (x) и вычислить минимальное значение функции f f (x ) .
3.Написать подпрограмму вычисления значений функции f (x) с входным параметром x и выходным параметром f .
4.Протестировать подпрограмму вычисления функции f (x) при
вычислении значений f |
0 |
f (x ) |
и f f (x ) , сравнить f с f |
0 |
. |
|
0 |
|
|
||
5. На основании алгоритма метода Свенна написать подпрограм- |
|||||
му для поиска интервала неопределенности точки минимума x |
функ- |
||||
ции f (x) из начальной точки x0 |
в соответствии с требованиями: |
|
|||
1)за основу подпрограммы для поиска интервала неопределенности взять подпрограмму итерационного процесса из предыдущей лабораторной работы и модифицировать эту подпрограмму согласно алгоритму метода Свенна;
2)входные параметры подпрограммы: f (x) – целевая функция,
38
x0 – начальная точка поиска, |
h – начальный шаг, N – предельное |
||||
число точек; |
|
|
|
|
|
3) |
выходные параметры подпрограммы: X |
– массив всех точек |
|||
поиска |
xk ; F |
– массив |
соответствующих |
значений |
функции |
fk f (xk ) ; a и b |
– границы интервала неопределенности; |
fa и fb – |
|||
значения функции на концах интервала; c и fc |
– внутренняя точка |
||||
интервала и значение в ней функции; |
|
|
|||
4) |
на каждой итерации выводить на экран компьютера строку, со- |
||||
держащую номер точки поиска k , шаг поиска hk , значение функции
fk и значение переменной xk ;
5)итерации продолжаются до тех пор, пока выполняется неравенство k N ;
6)после окончания процесса оптимизации на экране должна отображаться таблица, имеющая соответствующий заголовок и представляющая процесс минимизации функции;
7)под таблицей необходимо отобразить количество вычислений целевой функции, конечный шаг, конечное значение функции и соответствующее ему значение независимой переменной, а также значения
выходных параметров a , b , fa , fb , c , fc .
6. Написать общую программу для выполнения вычислительного процесса поиска интервала неопределенности и отображения на экране этого процесса в соответствии с требованиями:
1)за основу общей программы для поиска интервала неопределенности взять общую программу итерационного процесса из предыдущей лабораторной работы и модифицировать эту программу;
2)задать в программе значения x0 , x , h , , N ;
3)путем вызова подпрограммы метода Свенна с использованием подпрограммы вычисления функции f (x) и значений x0 , h , N реа-
лизовать итерационный процесс поиска интервала неопределенности с построением таблицы процесса на экране и получением массивов зна-
39
чений переменной X и функции F , границ интервала неопределенности a и b , значений функции на концах интервала fa и fb , внут-
ренней точки интервала c и значения в ней функции fc ;
4) с помощью подпрограммы графического отображения итерационного процесса, разработанной на предыдущей лабораторной рабо-
те, по массивам |
X и F отобразить график процесса поиска интервала |
||||||||
неопределенности на экране компьютера. |
|
|
|
||||||
7. Запустить на счет общую программу поиска интервала неопре- |
|||||||||
деленности из нескольких начальных точек |
|
|
|
||||||
|
x x , |
|
x x , |
x x |
|
|
|||
|
01 |
|
|
02 |
|
03 |
|
|
|
при нескольких значениях шага |
|
|
|
|
|
|
|||
|
|
|
|
x x |
|
|
x x |
|
|
h |
x x |
, |
h |
|
, |
h |
. |
||
01 |
0 |
|
02 |
|
0 |
|
03 |
0 |
|
8. Выполнить анализ полученных результатов:
1) на основании табличной и графической информации о работе метода поиска интервала неопределенности определить конечные точки метода Свенна (a, fa ) , (b, fb ) , (c, fc ) и найденный этим методом интервал неопределенности [a, b] ;
2)на основании табличного и графического представления процесса поиска интервала неопределенности сделать вывод о верном нахождении границ интервала;
3)сделать вывод о правильности работы общей программы и всех используемых ею подпрограмм.
9. Ответить на вопросы преподавателя по теме лабораторной работы.
10. Оформить и сдать отчет о проведенной лабораторной работе.
С о д е р ж а н и е о т ч е т а :
1)титульный лист установленного образца с указанием организации, названия учебной дисциплины, темы работы, номера варианта, исполнителя и принимающего, города, года;
2)введение с кратким общим описанием предназначения методов
40
