Составители:
Рубрика:
быстродействие, т.е. способность найти локальный минимум целевой функции за
разумное число итераций.
Методы Левенберга-Маркардта, сопряженных градиентов и квазиньютоновский
метод реализованы в программном пакете
MathCad, что делает их применение
достаточно простым. Для практического использования этих методов (выбор метода
осуществляется пакетом
MathCad автоматически) используется стандартный блок
Given – MinErr (см. Руководство пользователя пакета MathCad), для использования
которого необходимо предварительно задать начальные значения искомых параметров
целевой функции
(
)
12
, , ...,
n
f
xx x
)
0=
. Внутри блока Given – MinErr указывается имя
предварительно определенной целевой функции, причем целевая функция
приравнивается к нулю обязательно с помощью булевского оператора равенства
. Внутри этого же блока накладываются ограничения на
значения искомых параметров
x
(
12
, , ...,
n
fx x x
1
, x
2
, …, x
n
. В результате решения функция MinErr
возвращает вектор, элементами которого являются параметры целевой функции при
которых ее значение минимально.
Процедура минимизации целевой функции может быть выполнена и с помощью
других методов минимизации, достаточно просто реализуемых на ЭВМ с помощью
современных алгоритмических языков программирования. В качестве примера
рассмотрим комплексный метод минимизации, созданный Боксом посредством
модификации симплексного метода Нелдера-Мида. Решаемая задача состоит в
минимизации функции
()
(
)
12
, , ...,
n
f
fx x x=x , где x определяется явными
ограничениями
j
j
lxu≤≤
j
i
b
при j = 1, 2, …, n, (П1.1)
а также неявными ограничениями
()
i
g≤x при i =1, 2, …, m. (П1.2)
Если целевая функция
f(x) выпукла и функция g
i
(x) тоже выпукла, то задача
будет иметь единственное решение. Значения
l
j
и u
j
являются нижней и верхней
границами переменных. Данный метод является итерационным. В нем предполагается,
что известны значения
n и m, l
j
и u
j
и начальная точка x
1
, удовлетворяющая всем
ограничениям. В первую очередь необходимо выбрать
k точек, которые удовлетворяют
ограничениям, а также вычислить целевую функцию во всех
k точках. Множество этих
точек называется
комплексом. Бокс обнаружил, что k должно быть больше (n + 1) –
числа точек, используемых в симплексном методе Нелдера-Мида, и положил
k = 2n.
Точка
x
1
, удовлетворяющая всем ограничениям, задана. Остальные точки,
удовлетворяющие неравенству (П1.1), могут быть выбраны следующим образом:
(
)
ij j j j
x
lrul
=
+−, (П1.3)
для
j = 1, 2, …, n и i = 2, 3,…, k, где r – псевдослучайная равномерно распределенная
переменная в интервале от 0 до 1. Точки, выбираемые в соответствии с уравнением
(П1.3) для данного
j, будут автоматически удовлетворять неравенству (П1.1). Если эти
точки удовлетворяют также неравенству (П1.2), то они принимаются в качестве
начальных точек комплекса. Если точка, выбранная в соответствии с уравнением
52
Страницы
- « первая
- ‹ предыдущая
- …
- 50
- 51
- 52
- 53
- 54
- …
- следующая ›
- последняя »