Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВМиМОвЭ Очное Шестакович 2011 / ВМиМОвЭ Шестакович 2011 модифицированный.doc
Скачиваний:
24
Добавлен:
13.05.2023
Размер:
4.32 Mб
Скачать

7.4. Методы нулевого порядка

7.4.1. Метод покоординатного спуска

В этом методе направление спуска выбирают параллельным координатным осям. Задается начальная точка x0={x10, x20, ..., xn0} в nмерном пространстве. Фиксируются все координаты, кроме первой и решается задача одномерной минимизации для координаты x1 одним из рассмотренных ранее методов. В результате мы переходим к точке x1={x11, x20, ..., xn0}, в которой функция f(x) принимает наименьшее значение по координате x1 при фиксированных остальных координатах. Затем фиксируются все координаты, кроме второй и решается задача одномерной минимизации для координаты x2 и т. д. После решения задачи минимизации для всех n переменных проверяется условие

||xnx 0|| < или | f(xn)–f(x0)| < ,

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

||xnk+1x0k|| < или |f(xnk+1)–f(x0k)| < .

7.4.2. Метод Хука – Дживса

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

  1. Задается начальная точка x0 = (x10, x20, ..., xn0), вектор приращений для каждой координаты d = (d1, d2, ..., dn) и точность решения задачи минимизации .

  2. Вычисляется целевая функция f0=f(x0).

  3. Запоминается базисная точка x1=x0, f1=f0.

  4. Задаем m=0.

  5. Для каждой k-й координаты по очереди вычисляется: xt=x1+dkk, ft=f(xt), где k – единичный вектор в направлении оси xk. Если ft < f1, то полагаем x1=xt, f1=ft, и переходим к следующей координате, иначе вычисляется xt=x1-dkk, ft=f(xt). Если ft < f1, то полагаем x1=xt, f1=ft, и переходим к следующей координате, иначе значение m увеличиваем на единицу и переходим к следующей координате. После выполнения таких вычислений для всех координат (k=1,2,…,n), переходим к следующему пункту.

  6. Если m=n, т. е. уменьшение функции не было достигнуто ни по одной координате, то вектор приращений d уменьшают (например, в два, четыре или десять раз) и повторяют вычисления с 4-го пункта. Вычисления повторяются до тех пор, пока не будет достигнуто уменьшение функции.

Примечание. Если все компоненты вектора приращений d станут меньше (dk < , для всех k=1,2,…,n), а уменьшение функции не достигнуто, то базисная точка x0 является точкой минимума целевой функции f(x) и вычисления прекращаются.

  1. При поиске по образцу используется информация, полученная в процессе исследующего поиска. Разумно двигаться из полученной точки x1 в направлении p=x1x0, поскольку поиск в этом направлении уже привел к уменьшению значения целевой функции. Поэтому на этапе поиска по образцу решается задача одномерной минимизации целевой функции f(x1+p) относительно шага одним из рассмотренных ранее методов. После получения значения min вычисляется новая базисная точка x0=x1+minp и вычисления повторяются со 2-го пункта.