
- •Часть 2
- •Оглавление введение
- •Глава 1. Методы одномерной безусловной оптимизации § 1.1. Основные понятия
- •§ 1.2. Метод половинного деления
- •§ 1.3. Метод золотого сечения
- •§ 1.4. Метод Ньютона
- •Глава 2. Методы многомерной безусловной оптимизации § 2.1. Основные понятия
- •§ 2.2. Метод сопряженных направлений
- •§ 2.3. Метод наискорейшего спуска
- •§ 2.4. Метод Ньютона
- •Глава 3. Интерполирование и аппроксимация функций, заданных таблично § 3.1. Основные понятия
- •§ 3.2. Интерполяционный полином в форме Лагранжа
- •§ 3.3. Интерполяционный полином в форме Ньютона
- •§ 3.4. Сплайн-интерполяция таблично заданной функции
- •§ 3.5. Аппроксимация таблично заданных функций методом наименьших квадратов
- •Глава 4. Численное дифференцирование и интегрирование функций § 4.1. Основные понятия
- •§ 4.2. Численное дифференцирование
- •§ 4.3. Численное интегрирование
- •4.3.1. Квадратурные формулы прямоугольников, трапеций и Симпсона. Квадратурные формулы прямоугольников
- •Квадратурная формула трапеций
- •Квадратурная формула Симпсона
- •4.3.2. Автоматический выбор шага. Правило Рунге
- •Глава 5. Численные методы решения задачи Коши для обыкновенных дифференциальных уравнений и их систем § 5.1. Основные понятия
- •§ 5.2. Метод Эйлера
- •§ 5.3. Явный 4-шаговый метод Адамса
- •§ 5.4. Метод Рунге Кутта четвертого порядка
- •Литература
Глава 2. Методы многомерной безусловной оптимизации § 2.1. Основные понятия
К задачам многомерной безусловной оптимизации относятся задачи нахождения экстремума функции нескольких переменных без ограничения на возможные значения этих переменных. В общем случае задача состоит в том, чтобы отыскать x* En, для которого выполнено условие
(2.1.1)
где x = (x1, x2, …, xn)т – вектор варьируемых параметров x1, x2, …, xn; n – размерность вектора х; f(x) – вещественная скалярная функция векторного аргумента или функция n-переменных; En – n-мерное евклидово пространство.
Как и для задач одномерной оптимизации, часто используется следующая терминология:
– f(x) – функция цели или целевая функция;
– x En – решение задачи (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
Последовательность сходится к х* – искомому решению, если выполнено условие
k |
Согласно этому определению сходимость векторной последовательности естественным образом находится через сходимость числовых последовательностей, которые образуются каждой отдельной компонентой векторов, составляющих векторную последовательность.
Чаще используется эквивалентное предыдущему определение сходимости векторной последовательности в терминах норм векторов:
Определение 2.1.2*
Последовательность сходится к х* – искомому решению, если выполнено условие
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(k + 1)) < f(x(k)). (2.1.12)
В качестве условий (критериев) идентификации оптимального решения задачи (2.1.1) могут использоваться необходимые и достаточные условия экстремума функции нескольких переменных.
Приведем еще несколько определений.
Определение 2.1.4. Локальный минимум
x* En – точка строгого локального минимума функции f(x), если найдется такое число > 0, при котором будет выполнено условие f(x*) < f(x), x: x – x* < , x x*. |
Определение 2.1.5. Многоэкстремальная функция
Функция f(x) называется многоэкстремальной1 на En, если она имеет более одного локального минимума на En. |
Для многоэкстремальной функции целесообразно ввести понятие глобального минимума.
Определение 2.1.6. Глобальный минимум
x* En – точка строгого глобального минимума функции f(x) на En, если выполнено условие f(x*) < f(x), x En, x x*. |
Очевидно, что для одноэкстремальной функции точка ее локального минимума одновременно является и точкой ее глобального минимума. Для многоэкстремальной функции точка глобального минимума функции совпадает с точкой (точками) того локального минимума, в которой функция достигает наименьшего значения.
Точка глобального минимума функции 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).