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

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

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

Тогда можно ввести переменную µ:

μ =

f

2′ + w z

 

 

.

 

 

 

f1′+ f2′ + 2w

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

x ,

μ < 0,

 

2

− μ(x2 x1),

0 ≤ μ ≤ 1,

(1.8)

x = x2

x ,

 

μ > 1.

 

1

 

 

 

Формула для w обеспечивает надлежащий выбор одного из двух корней квадратного уравнения; для значений µ, заключенных в ин- тервале от 0 до 1, формула (1.8) гарантирует, что получаемая точка х расположена между x1 и x2. Затем снова выбираются две точки для реализации процедуры кубической аппроксимации это х и одна из точек x1 или x2, причем значения производной исследуемой функции в этих точках должны быть противоположны по знаку. Процедура повторяется до окончания поиска.

Проверка на окончание поиска производится по двум параметрам ε1 и ε2, где ε1 такое, что |f'(x)| ≤ ε1, и ε2 такое, что

x x1 ≤ ε2. x

Если оба этих условия выполняются, то поиск заканчивается. Данный метод является более эффективным, чем метод квадра-

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

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

Решим задачу оптимизации, рассмотренную в методе Пауэлла. Пример 1.4. Найти точку минимума функции

F(x) = (10x3 + 3x2 + x + 5)2.

31

Заданы: начальная точка х1 = 2, длина шага х = 0,5 и ε = 1,1. Решение. Найдем значение производной функции в начальной точке:

F'(x1) = 26334 и производную в следующей точке: х2 = х1 + х = 2,5: F'(x2) = 74277,5. Так как в этих точках производные имеют одинако- вый положительный знак, то возьмем другую точку: х2 = х1 х = 1,5 и F'(x3) = 7285. Это направление правильное, так как значение произ- водной функции уменьшилось. Будем двигаться в этом направлении по заданному шагу до тех пор, пока значение производной функции

не станет отрицательным. Это произойдет в точке х6 = х5

х = –0,5 –

– 0,5 = –1 и F'(x6) = –150.

 

 

 

 

 

Итак, х1 = –1, F(х1) = 9 и х2 = 2, F(х2) = 9801.

 

 

 

 

 

 

 

 

 

 

 

Таблица 1.4

 

 

Решение методом кубической аппроксимации

 

 

 

 

 

 

 

 

 

 

Шаг

х

 

f'(x)

f

z

ω

μ

x'''

1

–1

 

–150

9

16392

16512

0,45

0,666

 

 

 

 

 

 

 

 

 

 

2

 

26334

9801

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,666

 

364,251

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

–1

 

–150

9

52,16

239,5

0,56

–0,26

 

 

 

 

 

 

 

 

 

 

0,666

 

364,251

99,017

 

 

 

 

 

 

 

 

 

 

 

 

 

 

–0,26

 

13,9091

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

–1

 

–150

9

–192

197,1

0,72

–0,79

 

 

 

 

 

 

 

 

 

 

–0,26

 

13,909

22,7386

 

 

 

 

 

 

 

 

 

 

 

 

 

 

–0,79

 

33,0749

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

–1

 

–150

9

–3,21

70,51

0,33

–0,86

 

 

 

 

 

 

 

 

 

 

–0,79

 

33,0749

1,19169

 

 

 

 

 

 

 

 

 

 

 

 

 

 

–0,86

 

–1,3737

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

–,862

 

–1,37371

0,00144

–20,8

21,88

0,97

–0,86

 

 

 

 

 

 

 

 

 

 

–0,79

 

33,0749

1,19169

 

 

 

 

 

 

 

 

 

 

 

 

 

 

–0,86

 

–0,06346

0,0000031

 

 

 

 

 

 

 

 

 

 

 

 

 

Из табл. 1.4 видно, что решение получено на четвертом шаге, Fmin = 0,0000031 и xmin = –0,86. Очевидно, что это решение лучше, чем решение, полученное методом Пауэлла (Fmin = 0,09 и xmin = –0,843), что доказывает превосходство метода кубической аппроксимации.

Очевидно, что на последней итерации уже выполняется условие окончания поиска:

|f(–0,86) – f(0,862)| = 0,001 < ε.

32

Контрольные вопросы

1.Почему условие унимодальности функции столь важно при ре- шении задачи оптимизации заданной функции?

2.Известно, что вычисление производной функции возможно только с помощью разностного дифференцирования. Какой из мето- дов поиска экстремума эффективен в этом случае?

3.Какие условия окончания поиска оптимума вы знаете? Зависят ли они от конкретных методов?

4.Каким условиям должна удовлетворять функция, чтобы ее мож- но было оптимизировать любым методом с использованием произ- водных?

5.Что такое точка перегиба и как ее идентифицировать?

6.Может ли метод Ньютона Рафсона дать расхождение? Почему?

7.Какой базовый принцип для выбора начальной точки положен в метод средней точки и метод секущих. Почему?

8.В каких случаях целесообразно применение метода квадратич- ной аппроксимации для поиска оптимума функции одной перемен- ной?

9.Известно, что функция одной переменной дважды дифферен- цируема. Какой метод целесообразно применить для поиска ее опти- мума?

33

2.МЕТОДЫ БЕЗУСЛОВНОЙ ОПТИМИЗАЦИИ ФУНКЦИИ НЕСКОЛЬКИХ ПЕРЕМЕННЫХ (МНОГОМЕРНАЯ ОПТИМИЗАЦИЯ)

Вданном разделе рассматриваются методы оптимизации функции нескольких переменных. Изучив этот материал, вы:

получите представление об условиях применения многомерной оптимизации для реальных задач;

сможете определить:

по каким признакам реальную задачу можно идентифицировать как задачу многомерной безусловной оптимизации;

для каких задач целесообразно применять методы прямого по- иска и в чем их преимущество;

при каких условиях возможно исследование целевой функции градиентными методами;

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

2.1. Математическая модель

Постановка задачи оптимизации функции нескольких переменных выглядит следующим образом:

f(x) min, x Є Rn.

(2.1)

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

Предполагается:

1) xi (i =1, n) могут принимать любые значения, хотя в ряде прак-

тических приложений на x накладывается условие целочисленности (дискретности);

2)f(x) и ее производные существуют и непрерывны всюду, хотя известно, что оптимум может достигаться и в точке разрыва функции или ее градиента;

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

Рассмотрим критерии, по которым идентифицируется точка оп- тимума. Известно, что в окрестности некоторой точки x функцию

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

34

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

x +

1

( x)T 2

f (x) x + Q ( x),

 

 

 

 

 

 

 

 

 

2

 

 

3

 

 

 

 

 

 

где x

точка разложения из пространства R ; x – величина измене-

 

n

~

 

 

 

ния x; f (x ) n-мерный вектор-столбец первых производных f(x),

вычисленных в точке x ;

 

2

f (x) симметрическая матрица порядка

 

 

 

n×n вторых частных производных f(x), вычисленных в точке x (мат- рица Гессе); Q3( x) – сумма всех членов разложения, имеющих по- рядок по x выше второго.

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

f (x) = f (x) f (x) = f (x)T

x +

(

x)T 2 f (x) x.

(2.2)

 

 

 

1

 

 

 

 

 

 

2

 

 

 

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

f (x) = f (x) f (x) 0.

(2.3)

 

 

Точка x является точкой глобального минимума, если неравенст- во (2.3) выполняется для всех x Є Rn. Когда формула (2.3) справедли- ва лишь в некоторой окрестности точки x , то x есть точка локально- го минимума.

Аналогичные рассуждения справедливы и для исследования функции на максимум. Если в окрестности точки x выполняется неравенство

f (x) = f (x) f (x) > 0,

то x является точкой строгого минимума. В случае, когда в окрест-

ности точки x , в которой f (x) = 0

, f(x) принимает как положи-

 

 

 

 

тельные, так и отрицательные значения, точка

 

представляет собой

x

седловую точку (рис. 2.1).

Рассмотрим формулу (2.2). Для того чтобы знак f(x) не менялся

при произвольном варьировании

х, градиент функции должен быть

равен нулю, т.е. x должна быть стационарной точкой:

f (x)

= 0, и

 

 

 

 

 

 

формула (2.2) принимает следующий вид:

 

 

 

1

 

 

 

 

f (x) =

2

( x)T 2 f (x) x.

 

 

 

 

 

 

 

35

Рис. 2.1. Седловая точка (х*, у*)

Очевидно, что знак f(x) определяется квадратичной формой

Q(x) = ( x)T 2 f (x) x

или

Q(x) = ( x)T H x,

(2.4)

 

где Н матрица вторых частных производных функции (матрица Гессе). Из линейной алгебры известно, что

Н положительно определенная матрица, если Q(x) > 0 для любых x;

H положительно полуопределенная матрица, если Q(x) 0 для любых x;

H отрицательно определенная матрица, если Q(x) < 0 для лю- бых x;

H отрицательно полуопределенная матрица, если Q(x) 0 для любых x;

H неопределенная матрица, если Q(x) > 0 для некоторых x и Q(x) < 0 для остальных x.

Тогда можно утверждать, что стационарная точка x есть:

точка минимума, если 2 f (x) – положительно полуопреде- ленная матрица;

36

точка максимума, если 2 f (x) – отрицательно полуопреде- ленная матрица;

седловая точка, если 2 f (x) – неопределенная матрица.

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

1)методы прямого поиска (нулевого порядка), основанные на вы- числении значений целевой функции на каждой итерации и сравне- ние этих значений для определения стратегии поиска;

2)градиентные методы первого порядка, в которых используется значение градиента первого порядка исследуемой функции (метод Коши);

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

2.2. Методы прямого поиска (нулевого порядка)

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

1)поиск по симплексу, или S2-метод;

2)метод Нелдера Мида (метод деформируемых многогранников);

3)метод поиска Хука Дживса.

Эти методы относятся к категории эвристических и реализуют принципиально различающиеся стратегии поиска.

2.2.1. Метод поиска по симплексу (S2-метод)

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

37

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

r

xk

Рис. 2.2. Регулярный симплекс: хk текущая точка; х0 центр тяжести; хr вершина нового симплекса

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

Из элементарной геометрии известно, что при заданных началь- ной (базовой) точке x(0) и масштабном множителе α координаты ос- тальных n вершин симплекса в n-мерном пространстве вычисляются по формуле

x (0)

+ δ

 

,

если

j i;

 

j

1

 

 

 

x(i) =

 

+ δ

 

,

 

j = i,

x (0)

2

если

 

j

 

 

 

 

где i и j = 1, 2, 3, … , n.

Приращения δ1 и δ2, зависящие только от n и выбранного мас- штабного множителя α, определяются по формулам

38

δ1 = (n + 1)1/ 2 + n 1α, n 2

δ2 = (n + 1)1/ 2 1α. n 2

При α = 1 симплекс регулярен и его ребра имеют единичную дли- ну. Центр тяжести определяется следующим образом. Пусть x(j) точка, подлежащая отражению, тогда центр тяжести остальных точек расположен в точке

 

=

1

n

xc

x(i) .

 

 

 

n i=0

 

 

 

ij

Известно, что все точки прямой, проходящей через x(j) и хс, зада- ются формулой

х = x(j) + λ(хс x(j)).

(2.5)

При λ = 0 получаем исходную точку, при λ = 1 получаем центр тяжести хс. Для того чтобы симплекс обладал свойством регулярно- сти, отражение должно быть симметричным, следовательно λ = 2. Таким образом,

j

= 2

j

(2.6)

хнов

хс − хпред .

Подставив значение хс в формулу (2.6), получим

j

=

2

n

(i)

− хпред. худш .

 

хнов

 

xпред. лучш

(2.7)

 

 

 

n i=0

 

 

 

 

 

 

ij

 

 

 

Формула (2.7) позволяет найти новую вершину симплекса на каж- дой итерации.

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

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

39

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

Правило 2. Циклическое движение. Если некоторая вершина сим- плекса не исключается на протяжении более чем М итераций, то не- обходимо уменьшить размеры симплекса с помощью масштабного множителя α и построить новый симплекс, выбрав в качестве базо- вой точку, которой соответствует минимальное значение целевой функции. Разработчик метода ученый Спендли предложил вычис- лять М по формуле

М = 1,65n + 0,05n2,

где n размерность задачи, а М округляется до ближайшего целого числа.

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

Данный метод имеет ряд недостатков:

1)медленная сходимость алгоритма из-за отсутствия механизма ускорения движения к оптимуму, так как на каждом шаге строится регулярный симплекс;

2)если произошло циклическое движение, то необходимо про- масштабировать все переменные для того, чтобы их значения были сравнимы по величине, так как для всех переменных применяется

один и тот же множитель α.

2.2.2. Метод Нелдера Мида

Ученые Нелдер и Мид разработали модифицированную процеду- ру поиска оптимума по симплексу, в которой предусмотрено не только отражение, но и растяжение и сжатие симплекса. Если в фор- муле (2.5) λ = 2, то мы получаем регулярный симплекс. В сложных случаях поиск можно ускорить, если сжимать или растягивать сим- плекс. Нелдер и Мид предложили заменить коэффициент λ в форму- ле (2.5) на выражение (1 + θ), тогда формула для поиска новой точки выглядит следующим образом:

x = xmax + (1+ θ)(xc xmax ).

При θ = 1 имеет место нормальное отражение (см. рис. 2.2); если –1 ≤ θ ≤ 1, то наблюдается сжатое отображение, а если θ > 1, то это растянутое отражение. Коэффициенты сжатия θ = β = 0,5 и растяже-

40

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