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

569

.pdf
Скачиваний:
1
Добавлен:
15.11.2022
Размер:
407.27 Кб
Скачать

методе покоординатного спуска: n = 2, X = ( x1, x2), =0.1,

Ф(x1, x2) = (x1 – 1)2 + ( x2 – 2)2 min, h=0.3, Х0=( 0, 1 ). 1. Получим точку Х1 по формуле (3.4):

x1 1 = x1 0 - h Ф(Х 0)

x1

x2 1 = x2 0 - h Ф(Х 0) ,

x2

Ф(x1, x2 )= [(x1-1)2] / = 2 (x1-1),

 

 

 

x1

 

 

 

x1

 

 

Ф(x1, x2 )= [(x2-2)2] / = 2 (x2-2).

 

 

 

 

x2

 

 

 

x2

 

 

x1

1

= 0-0.3 [2 (0-1)]=0.6

 

 

x2

1

= 1-0.3 [2 (1-2)]=1.6

 

X1=(0.6, 1.6).

 

Ф(X 1)=(0.6-1)2+(1.6-2)2=0.32 , Ф(X 0)=(0-1)2+(1-2)2=2

Ф(X1 ) - Ф(X 0) =1.68 > =0.1 продолжаем поиск.

2.Получим точку Х2 по формуле (3.4):

x1 2 = x1 1

- h Ф(Х 1) ,

 

 

 

 

 

x1

 

 

x2 2 = x2 1

- h Ф(Х 1) ,

 

 

 

 

 

x2

 

 

x1

2

= 0.6-0.3 [2 (0.6-1)]=0.84

 

 

x2

2

= 1.6-0.3 [2 (1.6-2)]=1.84

 

X2=(0.84, 1.84).

 

Ф(X 2)=(0.84-1)2+(1.84-2)2=0.05 , 41

Ф(X 1)=(0.6-1)2+(1.6-2)2=0.32,

Ф(X2 ) - Ф(X 1) =0,27 > =0.1 продолжаем поиск.

3.Аналогично получим X3 :

x1 3 = x1 2

- h

Ф(Х 2) ,

 

 

 

 

 

x1

 

x2 3 = x2 2

- h

Ф(Х 2) ,

 

 

 

 

 

x2

 

x1

3

= 0.84-0.3 [2 (0.84-1)]=0.94

 

x2

3

= 1.84-0.3 [2 (1.84-2)]=1.94

X3=(0.94, 1.94).

Ф(X3)=(0.94-1)2+(1.94-2)2=0.007,

Ф(X2)=(0.84-1)2+(1.84-2)2=0.05,

Ф(X3)-Ф(X2) =0,043 < =0.1.

Так как условие прекращения поиска выполнено,

Х*= X3=(0.94, 1.94) с точностью =0.1. Траектория поиска

для

данного

примера

приведена на

рис. 3.4.

Несомненным

преимуществом

градиентных

методов

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

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

42

 

x2

 

 

 

 

 

 

 

 

 

-grad(Ф(Х0))

2

 

 

 

 

 

 

 

 

X*=X3

 

 

X2

 

 

X1

 

 

 

 

 

 

 

 

 

1

X0

 

 

 

 

 

 

 

 

 

0

 

 

 

 

x1

 

0.6

0.84

0.94

1

 

Рис. 3. 3

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

3.4), когда несколько шагов поиска выполняются в одном и том же направлении.

3. 3. 3. Градиентный метод с дроблением шага В градиентном методе с дроблением шага процедура

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

43

Исходными данными являются требуемая точность ,

начальная точка поиска Х0 и начальная величина шага поиска h (обычно h=1). Получение новых точек производится по формуле:

Хk+1= Хk – hk grad Ф(Хk), k=0,1,2,…,

(3.5)

где hk – величина шага на k-ой итерации поиска, при hk

должно выполняться условие:

Ф( Хk – hk grad Ф(Хk) ) Ф(Хk) - hk grad Ф(Хk) 2. (3.6)

Если величина hk такова, что неравенство (3.6) не выполнено, то производится дробление шага до тех пор,

пока данное условие не будет выполнено. Дробление шага выполняется по формуле hk = hk , где 0 1.Такой подход позволяет сократить число итераций, но затраты на проведение одной итерации при этом несколько возрастают.

3.3.4. Метод наискорейшего спуска В методе наискорейшего спуска на каждой итерации

градиентного метода выбирается оптимальный шаг в направлении градиента. Исходными данными являются требуемая точность , начальная точка поиска Х0.

44

Получение новых точек производится по формуле:

Хk+1= Хk – hk grad Ф(Хk), k=0,1,2,… ,

(3.7)

где hk = arg min Ф(Хk – hk grad Ф(Хk)), 0<h<

то есть выбор шага производится по результатам одномерной оптимизации по параметру h.

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

то есть в направлении вектора-антиградиента функции Ф(Х)

в точке Хk ( рис. 3. 4). x2

-grad (Ф(Хk)).

Xk+1

-grad(Ф(Хk+1)) X*

Xkx1

Рис. 3. 4

45

При выборе оптимальной величины шага необходимо из множества ХМ={ Х Х= Хk–h grad Ф(Хk), h [0, ) }

точек, лежащих на векторе градиенте функции Ф(Х),

построенном в точке Хk выбрать ту, где функция Ф( h ) = Ф(Хk – h grad Ф(Хk)) принимает минимальное значение.

Рассмотрим пример поиска минимума для той же функции,

что и в градиентном методе с постоянным шагом и в методе покоординатного спуска: n = 2, X = ( x1, x2), =0.1,

Ф(x1, x2) = (x1 – 1)2 + ( x2 – 2)2 min, Х0=( 0, 1 ). 1. Получим точку Х1 по формуле (3. 7):

Х1= Х0 – h1grad Ф(Х0)

где h1 = arg min Ф(Х0 – h grad Ф(Х0)), то есть h1 – это тот

0<h<

аргумент, при котором достигается минимальное значение функции Ф( h ) = Ф(Х0 – h grad Ф(Х0)).

x1 0

- h Ф(Х 0)

 

Х0 – h grad Ф(Х0) =

x1

 

x2 0

- h Ф(Х 0)

,

 

x2

 

Ф(x1, x2 )= [(x1-1)2] / = 2 (x1-1), x1 x1

Ф(x1, x2 )= [(x2-2)2] / = 2 (x2-2). x2 x2

46

x1

0

- h Ф(Х 0) =0-h [2 (0-1)]= 2 h

 

 

 

 

x1

 

 

x2

0

- h Ф(Х 0) =1-h [2 (1-2)]=1+2 h

 

 

 

 

x2

 

 

Ф(Х0–h grad Ф(Х0)) = Ф( x1

0-h Ф(Х 0) , x2

0 - h Ф(Х 0)) =

 

 

 

 

x1

x2

 

 

 

 

х1

х2

= Ф( 2 h, 1+2 h ) = (2 h-1)2+(1+2 h-2)2=2 (2 h-1)2.

Таким образом, Ф( h ) =2 (2 h-1)2. Теперь нужно найти h,

при котором Ф( h ) принимает минимальное значение. В

точке экстремума Ф/(h)=0:

[2 (2 h-1) 2]/h= 2 2 (2 h-1)2=8 (2 h-1)=0 h1=1/2-

оптимальный шаг на первой итерации метода наискорейшего спуска. Тогда Х1= Х0–1/2 grad Ф(Х0), то есть x1 1 =0-1/2 [2 (0-1)]= 1, x2 1=1-1/2 [2 (1-2)]=2 Х1=(1, 2).

Проверим выполнение условий прекращения поиска в точке

поиска Х1=(1, 2). Первое условие

не выполнено

Ф(X1)-Ф(X 0)= 0-2 =2 > =0.1, но справедливо

 

Ф(Х 1)

 

=2(х1-1) x1=1

,

 

 

 

 

 

x1

 

 

 

 

 

 

 

 

 

 

Ф(Х 1)

 

=2(х2-2) x2=2

,

то есть все частные

 

x2

 

 

 

 

 

 

 

 

 

производные с точностью можно считать равными нулю,

точка минимума найдена : Х*=Х1=(1,2). Траектория поиска приведена на рис. 3.5.

47

x2

 

 

 

 

2

X*=X1

 

 

 

 

 

 

 

-grad(Ф(Х0))

 

 

 

 

 

 

 

1 X0

 

 

 

 

 

 

 

линии

уровня

 

 

 

 

(x1 – 1)2

+ ( x2 –2)22

 

 

 

 

 

0

 

x1

 

 

1

 

 

 

Рис. 3. 5

Таким образом, метод наискорейшего спуска нашел точку минимума целевой функции за одну итерацию ( из-за того, что линии уровня функции Ф(x1, x2)=(x1 – 1)2 + ( x2 – 2)2 окружности(x1 – 1)2 + (x2–2)2const, и вектор антиградиент из любой точки точно направлен в точку минимума – центр окружности). На практике целевые функции гораздо более сложные, линии также имеют сложную конфигурацию, но в любом случае справедливо следующее: из всех градиентных методов в методе наискорейшего спуска

48

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

Численные методы однопараметрической (одномерной)

оптимизации содержатся в разделе 3.5 данного пособия.

З. 3. 5. Двухуровневый адаптивный метод Для задач оптимизации в условиях неопределенности

(оптимизация стохастических объектов), в которых один

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

Исходными данными являются требуемая точность ,

начальная точка поиска Х0 и начальная величина шага поиска h (обычно h=1 ). Получение новых точек производится по формуле:

Хk+1= Хk – hk+1 grad Ф(Хk), k=0,1,2,…,

(3.8)

где шаг hk+1 может быть рассчитан по одной из двух формул: hk+1 = hk+ k+1 k, или hk+1 = hk exp( k+1 k). В качестве понижающего коэффициента выбирают обычноk=1/k, где k- номер итерации поискового метода.

49

Смысл применения коэффициента k заключается в том,

что на каждой итерации производится некоторая корректировка величины шага, при этом чем больше номер итерации метода поиска, тем ближе очередная точка поиска к точке экстремума и тем аккуратнее (меньше) должна быть корректировка шага с тем, чтобы не допустить удаления от

точки экстремума. Величина

k определяет знак такой

корректировки ( при k>0 шаг

увеличивается, а при k<0

уменьшается):

 

k=sign{(grad Ф(Хk),grad Ф(Х))},

то есть k – это знак скалярного произведения векторов

градиентов целевой функции в точках Хk и Х, где

Х=Хk – hk grad Ф(Хk) пробная точка, а hk- это шаг , который был использован для получения точки Хk на предыдущей итерации метода (рис. 3.6).

Знак скалярного произведения двух векторов

позволяет

оценить

величину угла

между

данными

векторами

( обозначим этот угол ).

Если

9 , то

скалярное произведение должно быть положительным, в

противном случае – отрицательным. С учетом вышеизложенного нетрудно понять принцип корректировки величины шага в двухуровневом адаптивном методе:

50

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