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

Глава 2. Методы многомерной безусловной оптимизации § 2.1. Основные понятия

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

(2.1.1)

где x = (x1, x2, …, xn)т – вектор варьируемых параметров x1, x2, …, xn; n – размерность вектора х; f(x) – вещественная скалярная функция векторного аргумента или функция n-переменных; Enn-мерное евклидово пространство.

Как и для задач одномерной оптимизации, часто используется следующая терминология:

f(x) – функция цели или целевая функция;

– xEn – решение задачи (2.1.1);

x* – оптимальное решение задачи (2.1.1).

Задачу (2.1.1) называют задачей безусловной многомерной оптимизации, так как на значения компонент векторного аргумента x не накладывается никаких условий.

Решить задачу (2.1.1) – значит найти ее оптимальное решение. Отметим, что, как и в случае задачи одномерной оптимизации, для нахождения максимума функции (x) достаточно взять функцию f(x) = –(x) и решить задачу по нахождению минимума функции f(x) на En. Поэтому рассмотрение задачи минимизации (2.1.1) не умаляет общности.

Методы многомерной безусловной оптимизации, как и методы одномерной безусловной оптимизации, являются итерационными. С их помощью строят – в общем случае бесконечную последовательность точек x(k)En, k = 0, 1, 2, …, сходящуюся при выполнении условий сходимости к x*En – точке, отвечающей оптимальному решению задачи (2.1.1). В дальнейшем последовательность , в которой каждый элемент х(k)En, k = 0, 1, 2, … является вектором, будем также называть векторной.

Определение 2.1.1.

Итерационный метод сходится, если генерируемая в процессе его работы векторная последовательность сходится к х* – искомому решению, т. е. выполнено условие

lim х(k) = х*. (2.1.2)

k  

В противном случае, метод расходится.

Можно дать различные определения сходимости векторной последовательности к x*  En.

Определение 2.1.2

Последовательность сходится к х* – искомому решению, если выполнено условие

, i = 1, 2, …, n. (2.1.3)

 

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

Чаще используется эквивалентное предыдущему определение сходимости векторной последовательности в терминах норм векторов:

Определение 2.1.2*

Последовательность сходится к х* – искомому решению, если выполнено условие

(2.1.4)

k  

Напомним, что в евклидовом пространстве вводится так называемая евклидова норма вектора

. (2.1.5)

Как отмечалось выше (см. гл. 1), понятие скорости сходимости итерационного метода является не менее важным, чем понятие сходимости. Для многомерного случая переформулируем определение скорости сходимости в терминах норм векторов.

Определение 2.1.3

Пусть х* – искомое решение и сходящийся итерационный метод генерирует в процессе работы векторную последовательность . Тогда будут справедливы следующие утверждения:

1. Метод сходится к х* с линейной скоростью (или со cкоростью геометрической последовательности), если для всех k, начиная с некоторого k*  0 и 0  q < 1, выполнено условие

х(k +1)х*  q х(k)х*. (2.1.6)

2. Метод сходится к х* со сверхлинейной скоростью, если для всех k, начиная с некоторого k*  0, выполнено условие

х(k +1)х*  qkх(k)х*, (2.1.7)

где числовая последовательность сходится к нулю.

3. Метод сходится к х* с квадратической скоростью, если для всех k, начиная с некоторого k*  0 и q  0, выполнено условие

х(k + 1)х*  qх(k)х*2. (2.1.8)

При решении задачи (2.1.1) элементы векторной последовательности строятся, начиная с начального приближения x(0)  En, согласно рекуррентному соотношению

x(k + 1) = x(k) + ks(k), k = 0, 1, 2, …, (2.1.9)

где s(k)  En – вектор, указывающий направление движения из точки x(k) в точку x(k + 1). Вектор s(k) выбирается таким образом, чтобы обеспечить выполнение условия

f(x(k + 1)) < f(x(k)). (2.1.10)

В этом случае его принято называть направлением спуска.

k – число, указывающее длину шага в направлении s(k). Длина шага определяется из условия

f(x(k) + ks(k)) = min f(x(k) + s(k)), (2.1.11)

  E1

т. е. в результате решения задачи одномерной оптимизации (см. гл. 1). В тех случаях, когда решение задачи (2.1.11) оказывается довольно трудным или нецелесообразным, выбор k на k-м шаге процесса можно осуществлять, исходя из более слабого условия, согласно которому достаточно выполнения соотношения

f(x(+ 1)) < f(x(k)). (2.1.12)

В качестве условий (критериев) идентификации оптимального решения задачи (2.1.1) могут использоваться необходимые и достаточные условия экстремума функции нескольких переменных.

Приведем еще несколько определений.

Определение 2.1.4. Локальный минимум

x*En – точка строгого локального минимума функции f(x), если найдется такое число  > 0, при котором будет выполнено условие

f(x*) < f(x),  x: xx* < , x x*.

Определение 2.1.5. Многоэкстремальная функция

Функция f(x) называется многоэкстремальной1 на En, если она имеет более одного локального минимума на En.

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

Определение 2.1.6. Глобальный минимум

x*En – точка строгого глобального минимума функции f(x) на En, если выполнено условие

f(x*) < f(x),   En, xx*.

Очевидно, что для одноэкстремальной функции точка ее локального минимума одновременно является и точкой ее глобального минимума. Для многоэкстремальной функции точка глобального минимума функции совпадает с точкой (точками) того локального минимума, в которой функция достигает наименьшего значения.

Точка глобального минимума функции f(x), очевидно, является оптимальным решением задачи (2.1.1). Однако, как и в случае одномерной оптимизации, практически все используемые методы многомерной оптимизации ориентированы на поиск только одного минимума функции, в общем случае являющегося локальным, поскольку отыскание глобального минимума для многоэкстремальных функций чрезвычайно затруднено и требует просмотра всех ее локальных экстремумов. Поэтому в дальнейшем будем считать, что построение оптимального решения задачи (2.1.1) аналогично нахождению локального минимума функции f(x).

Сформулируем теперь необходимые и достаточные условия наличия локального экстремума дифференцируемой функции f(x) в точке x  En. Предположим, что скалярная функция f(x) и ее частные производные до второго порядка включительно определены и непрерывны для любых x  En. Как известно, функция f(x) может иметь экстремум лишь в тех точках, в которых все ее частные производные первого порядка равны нулю или терпят разрыв. Последнее в силу предположения о непрерывности функции и ее частных производных исключается из рассмотрения, что позволяет на данном этапе не усложнять изложение материала.

Введем вектор градиента функции f(x)

f(x) = ( f(x) x1,  f(x) x2, …,  f(x) xn)т.

Тогда функция может иметь минимум только в точках x*En, где f(x*) = 0. Такие точки называют стационарными.

Условие f(x*) = 0 является необходимым условием экстремума. В стационарных точках функция может иметь минимум, максимум, седловую точку или не иметь ни того, ни другого.

Достаточным условием наличия в стационарной точке x* локального минимума функции f(x) является положительная определенность матрицы Гессе для данной функции в этой точке. Матрица Гессе для функции n-переменных – квадратная матрица, составленная из частных производных второго порядка данной функции. Матрица Гессе H(x*) будет положительно определенной в точке x*, если для любого ненулевого вектора x  En выполняется условие

xт H(x*)x > 0.

Таким образом, для того чтобы точка x*  En, в которой выполнено условие f(x*) = 0, являлась точкой минимума дважды непрерывно диф-ференцируемой функции f(x), достаточно выполнения в этой точке условия xт H(x*)x > 0. При этом условие f(x*) = 0 – необходимое, а xтH(x*)x > 0 – достаточное условие существования в точке x*  En минимума функции f(x). В общем случае минимум может встречаться в точках, в которых сформулированные условия не выполняются, например в точках разрыва частных производной или самой функции, т. е. в тех точках, которые были исключены из предыдущего анализа. Однако если сформулированные необходимые и достаточные условия выполнены, то точка x*  En является точкой локального минимума.

Многие известные методы решения задачи (2.1.1) используют необходимые условия экстремума в том смысле, что они ориентированы на поиск решения уравнения

f(x) = 0,

т. е. на поиск стационарных точек минимизируемой функции.

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

методы нулевого порядка – их реализация не требует вычисления частных производных функции f(x);

методы первого порядка – их реализация требует вычисления частных производных первого порядка функции f(x);

методы второго порядка – их реализация требует вычисления частных производных второго порядка функции f(x).