Методы оптимизации в инженерных расчетах в системе Mathcad. Алексеев А.А - 12 стр.

UptoLike

Рубрика: 

23
функции, а корректировка направления градиента
позволяет продвигаться вдоль главного "русла" оврага.
Дальнейшее продвижение по выбранному
направлению осуществляется постоянными или
переменными возрастающими шагами до тех пор, пока
целевая функция будет убывать. В случае возрастания
функции производится шаг назад в предпоследнюю точку.
В этой точке определяется новое направление
продвижения, и весь процесс итерационно повторяется
снова. Поиск заканчивается, если модуль приращения
целевой функции будет меньше наперед заданной малой
величины.
Рассмотрим изложенный алгоритм детально по
шагам.
1.Введем начальные значения параметров
),...,,(
020100 n
xxxX = .
Вычислим значение функции ).(
00
Xff =
2.Определим направление градиента ).(
0
Xg
)17(...)(
2
2
1
1
0 n
n
e
dx
df
e
dx
df
e
dx
df
Xg +++=
3.Определяем скорректированное направление градиента.
Для этого каждой переменной x
i даем большое приращение
di по отдельности и, если приращение функции будет
24
24
больше наперед заданной конечной величины, то эту
переменную надо зафиксировать или положить е
i
= О,
иначе e
i
= 1. Тогда скорректированный градиент имеет вид:
)18(...)(
2
2
1
1
0 n
n
e
dx
df
e
dx
df
e
dx
df
Xg
++
+
=
4.Начинаем продвижение в направлении противоположном
скорректированному градиенту по формуле:
)19()(
00
XghjXX
j
=
Вычислим значение функции fj = f (Xj).
5. Если
fj ‹ f0, то j = j+1 и перейдем к пункту 3.
Если fj ›f0, то точку Х0 заменим на Хj. Произведем
проверку на сходимость.
6. Проверка на сходимость заключается в следующем. В
последней точке Х
j вычисляется приращение функции от
всех переменных:
)20()()(
jjf
XfHXff
+
=
где Нвекторстолбец приращений переменной
),...,,(
21 n
xxxX
=
.
                                                                                                        24
функции,           а      корректировка         направления     градиента     больше наперед заданной конечной величины, то эту
позволяет продвигаться вдоль главного "русла" оврага.                         переменную надо зафиксировать или положить еi = О,
       Дальнейшее                    продвижение        по    выбранному      иначе ei = 1. Тогда скорректированный градиент имеет вид:
направлению                 осуществляется           постоянными        или                  df          df                 df
                                                                              g ′( X 0 ) =       ⋅ e1′ +      ⋅ e′2 + ... +      ⋅ e′n   (18)
переменными возрастающими шагами до тех пор, пока                                            dx1         dx 2               dx n

целевая функция будет убывать. В случае возрастания                           4.Начинаем продвижение в направлении противоположном
функции производится шаг назад в предпоследнюю точку.                         скорректированному градиенту по формуле:
       В этой точке определяется новое направление                                           X j = X 0 − j ⋅ h ⋅ g ′( X 0 )              (19)
продвижения, и весь процесс итерационно повторяется
                                                                              Вычислим значение функции fj = f (Xj).
снова. Поиск заканчивается, если модуль приращения
целевой функции будет меньше наперед заданной малой
                                                                              5. Если fj ‹ f0, то j = j+1 и перейдем к пункту 3.
величины.
       Рассмотрим              изложенный       алгоритм     детально    по   Если fj ›f0, то точку Х0 заменим на Хj. Произведем

шагам.                                                                        проверку на сходимость.

1.Введем                 начальные             значения        параметров
                                                                              6. Проверка на сходимость заключается в следующем. В
X 0 = ( x10 , x 20 ,..., x n 0 ) .
                                                                              последней точке Хj вычисляется приращение функции от
Вычислим значение функции f 0 = f ( X 0 ).
                                                                              всех переменных:
2.Определим направление градиента g ( X 0 ).                                            f f = f (X j + H ) − f (X j )                     (20)
                    df         df                df
      g( X 0 ) =        ⋅ e1 +      ⋅ e2 + ... +      ⋅ en       (17)         где Н – вектор – столбец приращений переменной
                    dx1        dx 2              dx n
                                                                              X = ( x1 , x 2 ,..., x n ) .
3.Определяем скорректированное направление градиента.
Для этого каждой переменной xi даем большое приращение
di по отдельности и, если приращение функции будет
                                          23                                                                            24