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

UptoLike

Рубрика: 

13
=
i
i
hix
n
x )7()(,
1
0
и вычислим значение функции
00
)( fxf
=
4. Проведем прямую через точки
h
x и
0
x; на этой
прямой возьмем точку x
r по формуле:
)8()1(
0 hr
xaxax
+
=
и в этой точке вычислим значение целевой функции
rr
fxf =)( .
5. Сравним значения функций
r
f и
l
f .
5.1 Если
r
f меньше
l
f , то мы получили
наименьшее значение функции в точке
r
x .Значит нам надо
продвигаться от точки
0
x в сторону
r
x до точки
e
x,
которую найдем по формуле:
)9()1(
0
xbxbx
re
+
=
5.1.1 Если
e
f меньше
l
f , то заменяем точку
h
x на
e
x
и проверяем процесс на сходимость к минимуму. Если
сходимость достигнута, то процесс останавливаем, если
нет - то переходим на 5.1.2.
5.1.2 Если
e
f больше
l
f , то отбрасываем точку
e
x .
Теперь мы продвинулись достаточно далеко от точки
0
x к
точке
r
x , поэтому следует заменить точку
h
x на точку
r
x ,
14
в которой было достигнуто уменьшение значения целевой
функции. Здесь опять нужно проверить сходимость к
минимуму, и если она достигнута, перейти на 3.
5.2 Если
r
f
больше
l
f , но
r
f
меньше и равно
g
f, то
r
x является лучшей точкой по сравнению с другими двумя
точками симплекса и тогда следует точку
h
x заменить на
точку
r
x ,и если сходимость достигнута, перейти на 2.
5.3 Если
r
f больше
h
f и
g
f, то перейдем на 6.
6. Сравним значения функций
r
f
и
h
f.
6.1 Если
r
f
больше
h
f , то переходим к 6.2. Если
r
f
меньше
h
f , то заменяем точку
h
x на
r
x
и значение
функции
h
f , на
r
f
.Запоминаем значение функции
r
f
,больше чем
g
f из пункта 5.2 и переходим на 6.2.
6.2 В этом случае
r
f больше
h
f , поэтому ясно, что
мы продвинулись слишком далеко вдоль по прямой
0
xx
h
, очевидно здесь необходимо сделать шаг назад в
точку
c
x по формуле:
)10()1(
0
xdxdx
hc
+
=
О
d ‹1 - коэффициент сжатия.
                                1                                                    в которой было достигнуто уменьшение значения целевой
                         x0 =     ∑ xi , (i ≠ h)
                                n i
                                                              (7)
                                                                                     функции. Здесь опять нужно проверить сходимость к
и вычислим значение функции f ( x 0 ) = f 0                                          минимуму, и если она достигнута, перейти на 3.

       4. Проведем прямую через точки x h и x0 ; на этой                                  5.2 Если f r больше f l , но f r меньше и равно f g , то

прямой возьмем точку xr по формуле:                                                  x r является лучшей точкой по сравнению с другими двумя
                    x r = (1 + a) ⋅ x0 − a ⋅ x h                    (8)              точками симплекса и тогда следует точку x h заменить на
и в этой точке вычислим значение целевой функции                                     точку x r ,и если сходимость достигнута, перейти на 2.
f ( xr ) = f r .                                                                          5.3 Если f r больше f h и f g , то перейдем на 6.
       5. Сравним значения функций f r и f l .
                                                                                          6. Сравним значения функций f r и f h .
      5.1     Если         fr    меньше          fl ,   то    мы          получили
                                                                                          6.1 Если f r больше f h , то переходим к 6.2. Если f r
наименьшее значение функции в точке x r .Значит нам надо
                                                                                     меньше f h , то заменяем точку x h на x r и значение
продвигаться от точки x0 в сторону x r до точки xe ,
                                                                                     функции     fh ,    на      f r .Запоминаем       значение    функции
которую найдем по формуле:
                                                                                      f r ,больше чем f g из пункта 5.2 и переходим на 6.2.
                   xe = b ⋅ x r + (1 − b) ⋅ x0               (9)
                                                                                          6.2 В этом случае f r больше f h , поэтому ясно, что
      5.1.1 Если f e меньше f l , то заменяем точку x h на x e
                                                                                     мы продвинулись слишком далеко вдоль по прямой
и проверяем процесс на сходимость к минимуму. Если
                                                                                     x h − x0 , очевидно здесь необходимо сделать шаг назад в
сходимость достигнута, то процесс останавливаем, если
                                                                                     точку xc по формуле:
нет - то переходим на 5.1.2.
      5.1.2 Если f e больше f l , то отбрасываем точку xe .                                             xc = d ⋅ x h + (1 − d ) ⋅ x0        (10)

Теперь мы продвинулись достаточно далеко от точки x0 к                               О‹ d ‹1 - коэффициент сжатия.

точке x r , поэтому следует заменить точку x h на точку x r ,

                                      13                                                                                 14