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

Исследование операций безусловная оптимизация. Курс лекций

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

ния θ = γ = 2 используются в том случае, если построение регулярно- го симплекса не дало удовлетворительного результата. Значения ко- эффициентов β = 0,5 и γ = 2 предложены Нелдером и Мидом как наилучшие. На рис. 2.3 представлены результаты поиска новой точки при разных значениях θ:

z = xнов

 

 

xc

 

 

x0

 

 

а

 

xc

z = xнов

 

xc

z = xнов

 

 

 

x0

 

x0

 

 

б

 

в

 

 

Рис. 2.3. Растяжение и сжатие симплекса: а θ = γ > 1 – растяжение; б θ = β < 1 – сжатие; в θ = β > 1 – сжатие

Метод Нелдера Мида один из самых эффективных методов прямого поиска в случаях небольшой размерности. Эксперименталь- но установлено, что эта эффективность сохраняется при n 6.

Рассмотрим пример.

Пример 2.1. Найти минимум f(x) = [ x12 + (x2 + 1)2][( x12 + (x2 – 1)2].

Пусть х(0) = 8,5, а ε = 7. В табл. 2.1 представлены результаты решения примера с использованием метода поиска по симплексу.

 

 

 

 

 

Таблица 2.1

 

Результаты решения задачи методом поиска по симплексу

 

 

(k )

 

 

 

№ точки

 

(k )

F(x)

Комментарии

 

 

x1

x2

 

 

x(0)

 

8

5

8000

 

 

 

 

 

Окончание табл. 2.1

 

 

(k )

 

 

 

№ точки

 

(k )

F(x)

Комментарии

 

 

x1

x2

 

 

x(1)

 

8,5176

6,9318

14594,21

Рост функции, смена вершины

41

x(2)

6,5858

6,4142

7148,2

Направление верное

x(3)

6,0682

4,4824

3273,775

x(4)

4,654

5,8966

3159,08

x(5)

4,1364

3,9648

1081,553

x(6)

2,7222

5,379

1278,8411

Рост функции, смена шага

x(7)

2,2046

3,447

267,2972

Направление верное

x(8)

3,6188

2,033

315,7569

Рост функции, смена вершины

x(9)

1,687

1,5154

28,5434

Направление верное

x(10)

0,2728

2,9296

58,927

Рост функции, смена шага

x(11)

–0,2448

0,9978

0,242792

Направление верное

x(12)

1,1694

–0,4164

5,7625

Выполнено условие окончания

 

 

 

 

поиска

Итак, решением данной задачи будет х* = (–0,2448; 0,9978) и F* =

= 0,243.

Решим данный пример методом Нелдера Мида.

Пусть х(0) = 8,5. В табл. 2.2 представлены результаты поиска с ис- пользованием метода Нелдера Мида.

 

 

 

 

Таблица 2.2

 

Результаты решения задачи методом Нелдера Мида

 

 

 

 

 

№ точки

(k )

(k )

F(x)

Комментарии

 

x1

x2

 

 

x(0)

8

5

8000

 

x(1)

8,5176

6,9318

14594,21

 

x(2)

6,9318

8,5176

14496,21

Сжатие –0,75

x(3)

2,28125

3,2064

229,26

Растяжение 2,5

x(4)

0,38

–2,36

22,79

x(5)

–1,35

–2,9

92,53

x(6)

–1,8

–0,57

19,37

Сжатие –0,5

x(7)

0,64

1,435

3,8

Растяжение 0,5

x(8)

0,548

1,668

5,54

Сжатие –0,8

x(9)

0,018

– 1,6

2,46

Сжатие –1,5; –0,7

x(10)

–0,416

– 1,45

2,34

Сжатие 0,2; –1,3

x(11)

–0,03

– 1,13

0,077

Конец поиска

Итак, решением данной задачи будет х* = (–0,03; –1,13) и F* = 0,077. Применение метода Нелдера Мида дает оптимальное решение на одиннадцатом шаге и лучший результат, чем при применении ме-

тода поиска по симплексу.

2.2.3. Метод Хука Дживса

Метод поиска по симплексу и модифицированный метод поиска по деформируемому многограннику (метод Нелдера Мида) основа-

42

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

Ученые Хук и Дживс предложили определять направление поиска не только на каждом шаге алгоритма, но и по каждой координате. Метод Хука Дживса является одним из первых алгоритмов, в кото- рых при определении нового направления поиска учитывается ин- формация, полученная на предыдущем шаге. Перебор координат с целью определения направления движения к оптимуму называется исследующим поиском. Процедура Хука Дживса представляет со- бой комбинацию исследующего поиска с циклическим изменением переменных и ускоряющегося поиска по геометрическому образцу с использованием определенных эвристических правил. Исследующий поиск ориентирован на выявление характера локального поведения целевой функции и определение направлений вдоль «оврагов». Полу- ченная в результате исследующего поиска информация затем исполь- зуется в процессе поиска по образцу при движении по «оврагам».

Исследующий поиск

Для проведения исследующего поиска необходимо задать вели- чину шага, которая может быть различной для разных координатных направлений и изменяться в процессе поиска. Исследующий поиск начинается в некоторой исходной точке. Если значение целевой функции в пробной точке не превышает значения функции в исход- ной точке, то шаг поиска рассматривается как успешный. В против- ном случае необходимо вернуться в предыдущую точку и сделать шаг в противоположном направлении с последующей проверкой значения целевой функции. После перебора всех n координат иссле- дующий поиск завершается. Полученную в результате точку назы-

вают базовой точкой.

Поиск по образцу

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

xp(k +1) = x(k ) + (x(k ) x(k 1) ).

43

(k +1) точка, построенная при движении по образцу;

Как только движение по образцу не приводит к уменьшению це- левой функции, точка xp(k +1) фиксируется в качестве временной ба-

зовой точки, и вновь проводится исследующий поиск. Если в резуль- тате получается точка с меньшим значением целевой функции, чем в точке x(k), то она рассматривается как новая базовая точка. С другой стороны, если исследующий поиск неудачен, необходимо вернуться

вточку x(k) и повторить процедуру поиска с целью выявления нового направления оптимизации. Если это не приведет к успеху, то следует уменьшить величину шага, введя некоторый множитель, и возобно- вить исследующий поиск. Поиск завершается, когда величина шага становится достаточно малой. Последовательность точек, получаемую

впроцессе реализации метода, можно записать в следующем виде:

x(k) текущая базовая точка;

x(k – 1) предыдущая базовая точка;

xp

x(k + 1) следующая (новая) базовая точка.

Метод Хука Дживса характеризуется несложной стратегией по- иска и невысоким уровнем требований к объему памяти компьютера, что можно отнести к его достоинствам. Существует несколько усо- вершенствований данного метода, в частности, увеличения шага при движении по образцу для ускорения достижения оптимума.

Недостатками метода являются сложность его применения к «ов- ражным» функциям, а также часто возникающая цикличность дви- жения по координатам, когда алгоритм не находит выхода к поиску по образцу.

Рассмотрим решение задачи методом Хука Дживса на данных примера 2.1.

Пример 2.2. Найти минимум f(x) = [ x12 + (x2 + 1)2][( x12 + (x2 – 1)2].

Пусть х(0) = 8,5, а х = (0,5; 0,3). В табл. 2.3 представлены резуль- таты поиска с использованием метода Хука Дживса.

 

 

 

 

 

Таблица 2.3

 

 

Решение задачи методом Хука Дживса

 

(k )

 

 

 

 

№ точки

(k )

F(x)

Комментарии

 

x1

 

x2

 

 

x(0)

8

 

5

8000

(0)

8,5

 

5

9553,06

Рост, шаг в противоположном направ-

xp1

 

 

 

 

лении

 

 

 

 

 

44

 

 

 

 

 

Окончание табл. 2.3

 

(k )

 

 

 

№ точки

(k )

F(x)

Комментарии

 

 

x1

x2

 

 

(0)

7,5

5

6665,1

Направление верное

xp 2

 

 

 

 

(0)

7,5

5,3

7170,5

Рост, шаг в противоположном направ-

xp3

 

 

 

лении

 

 

 

 

 

(0)

7,5

4,7

6206,5

Направление верное. Это базовая точка

xp 4

 

 

 

 

x(1)

7

4,4

4733,4

Движение по образцу

(

)

6,5

4,4

3842,6

1

 

 

 

 

 

xp1

 

 

 

 

( )

6,5

4,1

3540

Направление верное. Это базовая точка

1

 

 

 

 

 

xp2

 

 

 

 

x(2)

6

3,8

2588,3

Движение по образцу

(2)

5,3

3,8

1837,1

х = (0,7; 0,4)

xp1

 

 

 

 

(2)

5,3

3,4

1606,2

Направление верное. Это базовая точка

xp 2

 

 

 

 

x(3)

4,6

3

935

Движение по образцу

(

)

4,1

3

682,8

х = (0,5; 0,3)

3

 

 

 

 

 

xp1

 

 

 

 

(3)

4,1

2,7

600,9

Направление верное. Это базовая точка

xp 2

 

 

 

 

x(4)

3,6

2,4

365,8

Движение по образцу

(4)

3,1

2,4

244,9

xp1

 

 

 

 

(4)

3,1

2,1

208

Направление верное. Это базовая точка

xp2

 

 

 

 

x(5)

2,6

1,8

108

Движение по образцу

Из табл. 2.3 видно, что происходит плавное уменьшение целевой функции, которое требует лишь уточнения величины шага. Оптималь- ное значение получается на восьмом шаге: х* = (0; 0,8) и F* = 0,13. Это решение найдено быстрее, чем методом поиска по симплексу, и зна- чение целевой функции лучше.

2.3. Градиентные методы

Рассмотренные выше методы прямого поиска очень важны для применения в практических задачах в тех случаях, когда вычисление градиента целевой функции затруднено или когда функция не зада- ется в явном виде, а является результатом некоторых эксперимен- тальных данных. В тех же случаях, когда вычисление градиента функции возможно, целесообразно применять методы, основанные на условии оптимальности первого порядка: grad (f(x)) = 0.

Предполагается, что целевая функция f(x) дифференцируема; f(x), grad (f(x) и grad2 (f(x)) существуют и непрерывны, а также, что ком-

45

поненты градиента могут быть вычислены с достаточно высокой сте- пенью точности численными методами.

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

x(k +1) = x(k ) + α(k ) s(x(k ) ),

(2.8)

где x(k) текущее приближение к решению x*;

α(k) параметр, характеризующий длину шага;

S(x(k)) = S(k) направление поиска в n-мерном пространстве управляемых переменных xi, i = 1, 2, …, n.

Методы отличаются друг от друга способом определения величин α(k) и S(k). Рассмотрим метод наискорейшего спуска (метод Коши), метод Ньютона, метод сопряженных градиентов и квазиньютонов- ские методы.

2.3.1. Метод Коши (метод наискорейшего спуска)

Пусть в некоторой точке x требуется определить направление наис- корейшего локального спуска. Известно, что дифференцируемую функ- цию можно разложить в ряд Тейлора в окрестности некоторой точки. Разложим целевую функцию в окрестности точки x в ряд Тейлора:

 

T

(x),

(2.9)

f (x) = f (x) + [ f (x)]

x + О2

где О2(х) – члены второго порядка малости и выше.

Отбрасывая в формуле (2.9) все члены второго порядка и выше, получим следующий результат:

 

 

T

x.

(2.10)

f (x) = f (x) + ( f (x))

 

Очевидно, что уменьшение целевой функции определяется вто- рым слагаемым в формуле (2.10). Перенося f (x) в этой формуле в левую сторону, получаем

 

T

(2.11)

f (x) f (x) =

f (x) = [ f (x)]

x.

Так как значение f (x) фиксировано, а мы ищем минимум функ- ции, то уменьшение f(x) ассоциируется с выбором такого направле- ния s(x(k ) ) из формулы (2.8), которому соответствует наименьшая

46

отрицательная величина скалярного произведения, стоящего в пра- вой части формулы (2.11).

Из свойства скалярного произведения известно, что указанный выбор обеспечивается при следующем условии:

S(x) = −f (x),

тогда найдем x, используя формулу (2.8):

x

(k +1)

x

(k )

= x = −α

(k )

f (x),

 

 

 

 

 

 

(2.12)

 

 

 

 

 

 

 

 

 

и формула (2.11) принимает вид

 

 

 

 

 

 

 

 

 

T

 

 

 

f (x) = −α(k ) [ f (x)]

 

f (x).

 

Это и есть направление наискорейшего локального спуска.

 

Формулу (2.12) можно записать следующим образом:

 

 

x(k +1)

= x(k ) − α(k ) f (x(k ) ),

(2.13)

где α(k) – положительный параметр.

На рис. 2.4 показана реализация поиска минимума методом Коши. Отчетливо видно, что каждое новое направление движения ортого- нально предыдущему.

Рис. 2.4. Траектория движения в точку минимума методом наискорейшего спуска

47

Формула (2.13) и является формулой, определяющей каждый по- следующий шаг поиска минимума функции по методу Коши. Метод Коши довольно медленно сходится, но является весьма устойчивым.

Уданного метода есть два недостатка:

1)необходимость на каждом шаге просчитывать значение α(k) пу- тем решения задачи минимизации f(x(k+1)) вдоль направления гради- ента функции с помощью любого метода одномерного поиска;

2)медленная сходимость в окрестности точки оптимума.

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

применяется малая величина градиента: f (x) ≤ ε или малая вели- чина х: x ≤ ε.

2.3.2. Метод Ньютона

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

Разложим исследуемую функцию в ряд Тейлора:

 

 

(k )

 

(k )

 

T

 

1

T

 

2

 

(k )

 

 

3

 

 

f (x) =

f (x

 

) + f (x

 

)

 

x +

 

( x)

 

 

f (x

 

)

x + O3 ( x

 

),

(2.14)

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где f(x) – аппроксимирующая функция переменной х, построенная в окрестности точки х(k); О3(х) – члены третьего порядка и выше, кото- рыми можно пренебречь.

Отбросив в формуле (2.14) все члены третьего порядка и выше, получим следующий результат:

 

(k )

 

 

 

(k )

 

(k )

 

T

 

1

T

 

2

 

(k )

 

f (x, x

 

)

=

f (x

 

) + f (x

 

)

 

x +

 

( x)

 

 

f (x

 

) x, (2.15)

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где f (x, x(k ) )

аппроксимирующая функция переменной х, постро-

енная в точке x(k).

Следующую точку х(k + 1) будем определять таким образом, чтобы в этой точке градиент аппроксимирующей функции обращался в ноль. Тогда из формулы (2.15) имеем

48

f (x, x(k ) ) = f (x(k ) ) + 2 f (x(k ) ) x = 0

и можно найти х:

x= − 2 f (x(k ) ) 1 f (x(k ) ).

Так как х = х(k + 1) x(k), то можно записать

 

(k +1)

= x

(k )

 

2

 

(k )

 

1

f (x

(k )

 

(2.16)

x

 

 

 

f (x

 

)

 

 

).

На основе формулы (2.16) осуществляется итерационная проце- дура поиска оптимума в данном методе. Данный метод сходится не для всех нелинейных функций. Метод целесообразно применять, ко- гда поиск осуществляется в окрестности оптимума. Если начальная точка находится на значительном расстоянии от оптимума, то метод может дать расхождение, т.е. следующая точка перекроет точку оп- тимума. В качестве условия окончания поиска здесь применяется

малая величина градиента: f (x) ≤ ε.

Рассмотрим пример.

Пример 2.3. Необходимо исследовать следующую функцию:

f (x) = x13 x1x2 + x22 2x1 + 3x2 4.

Задана начальная точка х(0) = (4; –3). Решение. Используем метод Коши. Вычислим градиент целевой функции:

f

 

= 3x12 x 2;

 

x1

2

 

 

 

f

= − x

+ 2x + 3.

 

x2

2

1

В начальной точке имеем f (x) = (49;7), тогда

x1(1) = 4 49α(0) ; x2(1) = −3 + 7α(0) .

Подставив эти значения в целевую функцию, мы получим функ- цию, зависящую только от одной переменной α(0). Найти оптимум

49

данной функции можно, решая задачу одномерной оптимизации от- носительно α(0).

f (α(0) ) = (4 49α(0) )3 (4 49α(0) )(7α(0) 3) + (7α(0) 3)2 − −2(4 49α(0) ) + 3(7α(0) 3) 4

или

f (α) = −117649α3 + 29204α2 2450α + 64 min.

Решим ее методом Ньютона Раффсона и получим α(0) = 0,078. Теперь можно вычислить точку х(1) : х(1) = (0,18; 8,55). Вычислим гра- диент в новой точке:

f (x(1) ) = (10,46; 19,92).

Если условие окончания поиска не выполняется, то поиск следует продолжить, используя значение переменной х(1) = (0,18; 8,55) для определения точки х(2) и так далее, пока не будет выполнено условие окончания поиска.

2.3.3. Метод Марквардта

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

s(x(k ) ) = −(H (k ) + λ(k ) I )1 f (x(k ) ),

(2.17)

где H(k) матрица Гессе, вычисленная в точке х(k); λ параметр, не только характеризующий направление поиска, но и позволяющий регу- лировать длину шага, поэтому в формуле (2.8) полагают, что α(k) = 1, так как длину шага теперь регулирует параметр λ(k); I – единичная мат- рица.

В начале поиска параметру λ обычно придают большое значение, например, λ = 105. Очевидно, что большим значениям λ соответству- ет направление поиска, противоположное градиенту. Из формулы (2.17) видно, что с уменьшением значения λ до нуля направление s(x) изменяется от начального направления, противоположного градиен-

50

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]