Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
чис_мет_3.doc
Скачиваний:
29
Добавлен:
13.11.2019
Размер:
1.34 Mб
Скачать

2.2.4. Метод Пауэлла.

В основе этого метода лежит рассмотренный в пункте 2.2.2 метод покоординатного спуска Зейделя, дополненный последовательным нахождением направлений убывания после завершения очередной внешней итерации и минимизацией функции f(X) по этим направлениям.

Пусть задана точка начального приближения X0ÎEn. Выполним одну внешнюю итерацию метода покоординатного спуска Зейделя (см. пункт 2.2.2), т.е. найдем точку

Xn= X0+

где ej – единичный координатный вектор, у которого j–я координата равна 1, остальные равны 0, j=1,…,n. При этом величина шага определяется с помощью какой-либо процедуры одномерной оптимизации по 

j =arg min {f(Xj-1+ ej ) ÎR}.

Далее выполняется “диагональный”шаг в направлении убывания функции f(X) по вектору: Sn+1=XnX0: Xn+1=Xn+n+1Sn+1, где величина шага n+1 определяется путем минимизации целевой функции в направлении вектора Sn+1 с помощью одномерного поиска по :

n+1 =arg min {f(Xn+Sn+1) | 0}.

Полагая X0=Xn+1, приступаем к выполнению следующей внешней итерации. Описанная процедура повторяется до тех пор, пока не выполнится одно из условий (2.19).

2.2.5. Типовые примеры

Пример 1. Решить задачу минимизации функции двух переменных f(X)=5x12+5x22+8x1x2 из начальной точки X0=(5;5)Т методом покоординатного спуска Зейделя.

Заметим, что линии уровня данной целевой функции  соосные эллипсы с центром в начале координат, большая ось которых наклонена под углом 135 к оси х1. Результаты расчетов по приведенному в пункте 3 алгоритму приведены в таблице и графически проиллюстрированы на рис.5. При нахождении очередной точки Xк минимизирующей последовательности происходит смещение по прямой, параллельной одной из координатных осей, до точки с наименьшим на этой прямой значением функции f(X). Очевидно, эта точка будет точкой касания рассматриваемой прямой и соответствующей линии уровня.

Таблица 1

K

X1

X2

F(x)

0

2

5

225

1

-4

5

45

2

-4

3,2

28,8

3

-2,56

3,2

18,43

4

-2,56

2,05

11,8

5

-1,64

2,05

7,55

6

-1,64

1,31

4,83

7

-1,05

1,31

3,09

8

-1,05

0,84

1,98

9

-0,67

0,84

1,27

10

-0,67

0,54

0,81

Эффективность прямых методов обычно оценивают или по объему вычислений,

Рис.5. Траектория поиска методом

покоординатного спуска Зейделя(к примеру1).

Пример 2. Решить задачу минимизации функции f(X)=(x1+1)2+x22 методом ХукаДживса из начальной точки X0=(2;3)T.

Зададим вектор перемещения =(2;3)T. Исходное значение функции в начальной точке f(X0)=18. В соответствии с алгоритмом, описанным в пункте 4, сначала проводим исследующий поиск из точки X0

x1(1)=2+0,5=2,5; f(2,5;3)=21,25 (неудача);

x1(1)=20,5=1,5; f(1,5;3)=15,25 (успех);

x2(1)=3+1=4; f(1,5;4)=22,25 (неудача);

x2(1)=31=2; f(1,5;2)=10,25 (успех).

Исследующий поиск оказался удачным. Теперь из новой точки X1=(1,5;2)T перемещаемся в направлении убывания по вектору X1X0 в точку X2=2X1 X0:

x1(2)=21,52=1; x2(2)=223=1; f(1;1)=5.

Проводим исследующий поиск в точке X1=(1,5;2)T:

x1(3)=1+0,5=1,5; f(1,5;1)=7,25  f(X2) (неудача);

x1(3)=10,5=0,5; f(0,5;1)=3,25  f(X2) (успех);

x2(3)=1+1=2; f(0,5;2)=6,25  f(X2) (неудача);

x2(3)=11=0; f(0,5;0)=2,25  f(X2) (успех);

Поскольку f(X3)=2,25 f(X1)=10,25 и перемещение из точки X1 в точку X2=(1;1)T успешно, то вновь перемещаемся по направлению убывания из точки X3 в точку

X4=2X3 X1:

x1(4)=20,51,5=-0,5; x2(4)=202=-2; f(-0,5;-2)=4,25.

После этого проводим исследующий поиск в точке X4=(-0,5;-2)T:

x1(5)=-0,5+0,5=0; f(0;-2)=5  f(X4) (неудача);

x1(5)=-0,50,5=-1; f(-1;-2)=4  f(X4) (неудача);

x2(5)=-2+1=-1; f(-0,5;-1)=1,25  f(X4) (успех).

Поскольку f(X5)=1,25 f(X3)=2,25 и перемещение из точки X3 в точку X4 можно признать успешным, то последовательность поисков по направлению убывания продолжаем до тех пор, пока на очередном этапе в конце исследующего поиска значение f(X) не окажется больше, чем в предыдущей точке. Тогда из последней проводим исследующий поиск для определения нового удачного направления. На рис.6 приведена графическая интерпретация этапов поиска. Линии уровня целевой функции f(X)=(x1+1)2+x22– концентрические окружности с центром в точке X*=(-1;0). Пунктиром на рисунке выделены траектории исследующего поиска, сплошными линиями – перемещения в направлении убывания. Убедитесь в соответствии графической иллюстрации описанному алгоритму.

Рис.6. Минимизация функции Рис.7. Минимизация функции методом

методом ХукаДживса (к примеру 2). Пауэлла (к примеру 3).

Пример 3. Рассмотрим графическую иллюстрацию решения задачи минимизации функции f(X)=2x12+x22x1x2 методом Пауэлла из начальной точки X0=(2;2)T(рис.7).

Линии уровня функции f(X) – соосные эллипсы с центром в начале координат, большая ось которых наклонена к оси x1 под углом 67,5. Первый шаг делается в соответствии с методом покоординатного спуск Зейделя ( см. 2.2.2 ) из точки X0 в направлении -e1=(-1;0), т.е. минимизируется f(X0– e1) по 0 с помощью процедуры одномерного поиска. В результате находится точка X1=X0 1e1, где 1=arg min{f(X0– e1)|0}. Очевидно, эта точка будет точкой касания с соответствующей линией уровня f(X)=const. Аналогично выполняется второй шаг из точки X1 в направлении -e2=(0;-1) и находится точка X2=X12e2, где 2=arg min{f(X1– e2)|0}. Затем выполняется «диагональный» шаг из точки X2 в направлении вектора X2 X0. Поскольку целевая функция f(X) квадратичная, точку её минимума удалось найти точно за конечное число шагов.