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

Северин В.П. Методы ОП

.pdf
Скачиваний:
101
Добавлен:
02.02.2015
Размер:
2 Мб
Скачать
☆

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