Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное_пособие_Математические_методы_в_экологии_360.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
2.7 Mб
Скачать

9.1 Методы безусловной оптимизации. Классификация методов

Возможны два подхода для отыскания минимума функции многих переменных f(x) = f(x1, …, xn) при отсутствии ограничений на диапазон изменения неизвестных.

Первый подход лежит в основе косвенных методов оптимизации. Задача сводится к решению системы нелинейных уравнений. В точке экстремума x* все первые производные функции по независимым переменным обращаются в ноль:

(9.1)

Эти условия образуют систему из n нелинейных уравнений. Вектор , составленный из первых производных по каждой переменной, называют градиентом скалярной функции f(x). В точке минимума градиент равен 0.

Решение системы нелинейных уравнений – часто непростая задача. Поэтому на практике применялся иной подход. Он составляет основу прямых методов оптимизации.

Идея подхода: построение последовательности векторов x[0], x[1], …, x[n], …, таких что f(x[0]) > f(x[1]) >…> f(x[n]) > … .

Здесь [i] нумерует точки (и итерации).

Точку x[0] выбираем произвольно, но лучше недалеко от минимума.

Переход (итерация) от точки x[k] к точке x[k + 1] (k = 0, 1, 2, …) состоит из двух этапов:

1) выбор направления движения;

2) определение шага вдоль выбранного направления.

Методы построения таких последовательностей называют методами спуска – переход от бóльших значений функции к меньшим.

Методы спуска описываются так:

x[k+1] = x[k] + akp[k] , k = 0, 1, 2, …,

где p[k] – вектор, определяющий направление спуска; ak – длина шага.

В координатной форме:

Разные методы спуска отличаются разными способами выбора параметров (направления и шага).

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

Критерии останова итераций либо малость приращения аргумента или функции:

Здесь k – номер итерации; ,  – заданные величины точности.

Метод поиска детерминирован, если оба параметра (направление и шаг) для перехода от x[k] к x[k + 1] выбираются однозначно, по доступной в точке x[k] информации.

Если при переходе применяется механизм случайного выбора, алгоритм называется случайным поиском минимума.

Детерминированные алгоритмы делят на классы в зависимости от вида используемой информации.

Если на каждой итерации используется

  • лишь значение функции – это методы нулевого порядка;

  • если плюс к этому надо вычислять первые производные от минимизируемой функции –методы первого порядка;

  • если плюс к этому надо вычислять вторые производные от минимизируемой функции –методы второго порядка.

Характеристики качества метода:

  • скорость сходимости;

  • время выполнения одной итерации;

  • объем ОЗУ, нужный для решения задачи;

  • класс решаемых задач и др.

Задачи могут иметь малую или большую размерность, быть унимодальными или многоэкстремальными и т. д.

Как правило, имеющиеся методы не универсальны. Выбор – исходя из специфики задачи.

9.2 Методы безусловной оптимизации нулевого порядка

Общая характеристика методов нулевого порядка

В этих методах:

  • не надо вычислять производные целевой функции;

  • направление минимизации полностью определяется последовательными вычислениями значений функции;

  • можно работать с функциями, имеющими разрывные производные (при этом другие методы не подходят);

  • критерий оптимальности может быть задан не в явном виде, а системой уравнений;

  • сходимость обычно медленнее, чем у методов первого и второго порядков.

Кроме того,

  • вычисление первых и вторых производных функции многих переменных бывает очень трудоемким;

  • часто они не могут быть получены в виде аналитических функций;

  • определение производных с помощью численных методов сопровождается ошибками.

Метод прямого поиска (метод Хука–Дживса)

Идея метода:

  • задается начальная точка x[0];

  • путем изменения компонент вектора x[0] исследуются окрестности начальной точки;

  • если найдено направление, в котором функция уменьшается, производится спуск в этом направлении;

  • если нет – уменьшается величина шага;

  • если дробление шага не дает результата, от выбранного направления отказываются и выполняется новое исследование окрестности.

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

Например, для функций на рис. 9.4. из точки нельзя получить уменьшения целевой функции, каким бы малым ни был шаг в направлении x1 и x2.

Рис. 9.4. Прямой поиск – невозможность продвижения к минимуму: а – С1 > С2 > C3; б – C1 > C2. Символы Ci обозначают линии равного уровня

Метод деформируемого многогранника (метод Нелдера–Мида)

Идея метода:

  • в n-мерном пространстве строится многогранник, имеющий n +1 вершину;

  • вычисляют значения функции в каждой вершине;

  • определяют максимальное значение функции и его вершину x[h];

  • через нее и центр тяжести остальных вершин проводится проецирующая прямая;

  • на ней находится точка x[q] c меньшим, чем в x[h], значением функции;

  • вершина x[h] исключается;

  • из оставшихся вершин и точки x[q] строится новый многогранник, после чего процедура повторяется.

В ходе описанной процедуры многогранник все время изменяет размеры (рис. 9.5.).

0

Рис. 9.5. Геометрическая интерпретация метода деформируемого многогранника

Обозначим

x[i, k] = (x1[i, k], …, xj[i, k], …, xn[i, k])T, – i-я вершина многогранника

на k-ом этапе поиска (i = 1, 2, …, n + 1; k = 1, 2, …);

x[h, k]вершина, в которой значение целевой функции максимально;

x[l, k]вершина, в которой значение целевой функции минимально;

x[n + 2, k]центр тяжести всех вершин, за исключением x[h, k].

Координаты центра тяжести:

Алгоритм метода Нелдера–Мида

1. Проецируют точку x[h, k] через центр тяжести:

x[n + 3, k] = x[n + 2, k] + a(x[n + 2, k] – x[h, k]),

где a – некоторая константа (обычно а = 1).

2. Растягивают вектор x[n + 3, k] – x[n + 2, k]:

x[n + 4, k] = x[n + 2, k] + с(x[n + 3, k] – x[n + 2, k]),

где с > 1 – коэффициент растяжения (обычно 2,8  3).

Если f(x[n + 4, k]) < f(x[l, k]), то x[h, k] заменяют на x[n + 4, k] и продолжают с п. 1 при k = k + 1.

Иначе x[h, k] заменяют на x[n + 3, k] и продолжают с п. 1 при k = k + 1.

3. Если f(x[n + 3, k]) > f(x[i, k]) для всех i h, то сжимают вектор x[h, k] – x[n + 2, k]:

x[n + 5, k] = x[n + 2, k] + b(x[h, k] – x[n + 2, k]),

где b > 0 – коэффициент сжатия (обычно 0,4  0,6).

Затем точку x[h, k] заменяют на x[n + 5, k] и продолжают с п. 1 при k = k + 1.

4. Если f(x[n + 3, k]) > f(x[h, k]), то все векторы x[i, k] – x[l, k], I = 1, 2, …, n + 1 уменьшают в два раза:

x[i, k] = x[l, k] + 0,5(x[i, k] – x[l, k]).

Затем продолжают с п. 1 при k = k + 1.

Выход из процесса происходит при предельном сжатии многогранника:

где = (1, …, n) – заданный вектор.

С помощью операции растяжения и сжатия размеры и форма многогранника адаптируются к топографии целевой функции. В результате многогранник вытягивается вдоль длинных наклонных плоскостей, изменяет направление в изогнутых впадинах, сжимается в окрестности минимума. Это определяет эффективность метода.

Метод вращающихся координат (метод Розенброка)

Суть метода состоит во вращении системы координат в соответствии с изменением скорости убывания целевой функции.

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

Идея метода состоит в следующем (рис. 9.6).

Из начальной точки x[0] осуществляют спуск в точку x[1] по направлениям, параллельным координатным осям.

На следующей итерации одна из осей должна проходить в направлении y1 = х[1] – х[0] , а другая – в направлении, перпендикулярном к y1.

Спуск вдоль этих осей приводит в точку x[2], что дает возможность построить новый вектор х[2] – х[1] и на его базе новую систему направлений поиска.

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

0

Рис. 9.6. Геометрическая интерпретация метода Розенброка

В отличие от других методов нулевого порядка алгоритм Розенброка ориентирован на отыскание оптимальной точки в каждом направлении, а не просто на фиксированный сдвиг по всем направлениям.

Величина шага в процессе поиска непрерывно изменяется в зависимости от рельефа поверхности уровня. Сочетание вращения координат с регулированием шага делает метод Розенброка эффективным при решении сложных задач оптимизации.

Метод параллельных касательных (метод Пауэлла)

Этот метод использует свойство квадратичной функции, заключающееся в том, что любая прямая, которая проходит через точку минимума функции х*, пересекает под равными углами касательные к поверхностям равного уровня функции в точках пересечения (рис. 9.7).

Суть метода: выбирается начальная точка х[0] и выполняется одномерный поиск вдоль произвольного направления, приводящий в точку х[1].

Затем выбирается точка х[2], не лежащая на прямой х[0] – х[1], и проводится одномерный поиск вдоль прямой, параллельной х[0] – х[1].

Полученная в результате точка х[3] вместе с точкой х[1] определяет направление х[1] – х[3] одномерного поиска, дающее точку минимума х*.

В случае квадратичной функции n переменных оптимум достигается за n итераций. Поиск минимума идет во взаимно сопряженных направлениях.

Рис. 9.7. Геометрическая интерпретация метода Пауэлла

В случае неквадратичной целевой функции направления поиска оказываются сопряженными относительно матрицы Гессе.