Рефетека.ру / Математика

Курсовая работа: Минимум функции многих переменных

РЕФЕРАТ


В работе рассматриваются методы нахождения минимума функции одной переменной и функции многих переменных.

Пояснительная записка к курсовой работе состоит из двух основных частей: теоретической и практической.

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

Практическая часть содержит разработку программного обеспечения вычисления локального минимума функции Химмельблау методом покоординатного спуска, реализованную на языке Pascal.

Объем пояснительной записки: 1

Количество рисунков: 4

Количество используемых источников: 3


СОДЕРЖАНИЕ


ВВЕДЕНИЕ

1. Минимум функции одного переменного

1.1 Постановка задачи

1.2 Золотое сечение

2. Минимум функции многих переменных

2.1 Рельеф функции

2.2 Спуск по координатам

2.3 Наискорейший спуск

2.4 Случайный поиск

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Приложение 1

Приложение 2

ВВЕДЕНИЕ


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

1. Минимум функции одного переменного


1.1 Постановка задачи.


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


Минимум функции многих переменных. (1)


У функции может быть много локальных минимумов. Если же выполняется


Минимум функции многих переменных, (2)


то говорят о достижении функцией абсолютного минимума на данном множестве Минимум функции многих переменных.

Потребуем, чтобы функция Минимум функции многих переменных была непрерывной или, по крайней мере, кусочно-непрерывной, а множество Минимум функции многих переменных было компактно1 и замкнуто2 (в частности, если Минимум функции многих переменных само является пространством, то это пространство должно быть банаховым). Если эти требования не соблюдены, то вряд ли возможно построить разумный алгоритм нахождения решения. Например, если Минимум функции многих переменных не является кусочно-непрерывной, то единственным способом решения задачи является перебор всех элементов Минимум функции многих переменных, на которых задана функция; этот способ нельзя считать приемлемым. Чем более жестким требованиям удовлетворяет Минимум функции многих переменных (таким, как существование непрерывных производных различного порядка), тем легче построить хорошие численные алгоритмы.

Перечислим наиболее важные примеры множеств, на которых приходится решать задачу нахождения минимума. Если множество Минимум функции многих переменных является числовой осью, то (1) и (2) есть задача на минимум функции одного вещественного переменного. Если Минимум функции многих переменных есть Минимум функции многих переменных-мерное векторное пространство, то мы имеем дело с задачей на минимум функции Минимум функции многих переменных переменных. Если Минимум функции многих переменных есть пространство функций Минимум функции многих переменных, то (1) называют задачей на минимум функционала.

Для нахождения абсолютного минимума есть только один способ: найти все локальные минимумы, сравнить их и выбрать наименьшее значение. Поэтому задача (2) сводится к задаче (1), и мы будем в основном заниматься задачей поиска локальных минимумов.

Известно, что решение задачи (1) удовлетворяет уравнению


Минимум функции многих переменных. (3)


Если множество Минимум функции многих переменных есть числовая ось, то написанная здесь производная является обычной производной, и тогда уравнение (3) есть просто одно (нелинейное) уравнение с одним неизвестным. Для Минимум функции многих переменных-мерного векторного пространства соотношение (3) оказывается системой нелинейных уравнений Минимум функции многих переменных. Для пространства функций уравнение (3) является дифференциальным или интегро-дифференциальным. В принципе такие уравнения можно решать итерационными методами. Однако эти уравнения нередко имеют сложный вид, так что итерационные методы их решения могут очень плохо сходиться или вообще не сходиться. Поэтому в данной главе мы рассмотрим численные методы, применимые непосредственно к задаче (1), без приведения ее к форме (3).

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

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

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


1.2 Золотое сечение


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

Сейчас мы рассмотрим метод золотого сечения, применимый к недифференцируемым функциям. Будем считать, что Минимум функции многих переменных задана и кусочно-непрерывна на отрезке Минимум функции многих переменных, и имеет на этом отрезке (включая его концы) только один локальный минимум. Построим итерационный процесс, сходящийся к этому минимуму.

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


Минимум функции многих переменныхМинимум функции многих переменныхМинимум функции многих переменныхМинимум функции многих переменныхМинимум функции многих переменныхМинимум функции многих переменныхМинимум функции многих переменныхМинимум функции многих переменныхМинимум функции многих переменныхМинимум функции многих переменных

Минимум функции многих переменныхМинимум функции многих переменныхМинимум функции многих переменныхМинимум функции многих переменныхМинимум функции многих переменныхМинимум функции многих переменныхМинимум функции многих переменныхМинимум функции многих переменныхМинимум функции многих переменныхМинимум функции многих переменныхМинимум функции многих переменныхМинимум функции многих переменных

Минимум функции многих переменныхМинимум функции многих переменныхМинимум функции многих переменныхМинимум функции многих переменныхМинимум функции многих переменныхa x1 x3 x2 b

Рис. 1


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

Как выгодно размещать точки? Всякий раз мы делим оставшийся отрезок на три части (причем одна из точек деления уже определена предыдущими вычислениями) и затем отбрасываем один из крайних отрезков. Очевидно, надо, чтобы следующий отрезок был поделен подобно предыдущему. Для этого должны выполняться соотношения


Минимум функции многих переменных.

Решение этих уравнений дает


Минимум функции многих переменных. (4)


После проведения очередного вычисления отрезок сокращается в Минимум функции многих переменных раза; после Минимум функции многих переменных вычислений функции он составляет Минимум функции многих переменных долю первоначальной величины (три первых вычисления в точках Минимум функции многих переменных еще не сокращают отрезок). Следовательно, при Минимум функции многих переменных длина оставшегося отрезка стремится к нулю как геометрическая прогрессия со знаменателем Минимум функции многих переменных, т. е. метод золотого сечения всегда сходится, причем линейно.

Запишем алгоритм вычисления. Для единообразия записи обозначим


Минимум функции многих переменных,


а поочередно вводимые внутренние точки будут Минимум функции многих переменных На первом шаге полагаем согласно (4)


Минимум функции многих переменных. (5)


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


Минимум функции многих переменных. (6)

Затем отбрасываем ту точку, которая более всего удалена3 от Минимум функции многих переменных; пусть этой точкой оказалась Минимум функции многих переменных:


Минимум функции многих переменных. (7)


Определим порядок расположения оставшихся трех точек на числовой оси; пусть, для определенности,


Минимум функции многих переменных. (8)


Тогда новую внутреннюю точку введем таким соотношением4:


Минимум функции многих переменных, (9)


и присвоим ей очередной номер. Минимум находится где-то внутри последнего отрезка, Минимум функции многих переменных. Поэтому итерации прекращаем, когда длина этого отрезка станет меньше заданной погрешности Минимум функции многих переменных:


Минимум функции многих переменных. (10)


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

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

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


2. Минимум функции многих переменных


2.1 Рельеф функции


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

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


Минимум функции многих переменныхМинимум функции многих переменных

а) б)

Минимум функции многих переменныхМинимум функции многих переменных


Минимум функции многих переменных

Минимум функции многих переменных

в)

Рис. 2 г)

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


Минимум функции многих переменных, (11)


и разложение функции по формуле Тейлора вблизи минимума имеет вид


Минимум функции многих переменных, (12)


причем квадратичная форма (12) – положительно определенная5, иначе эта точка не была бы невырожденным минимумом. А линии уровня знакоопределенной квадратичной формы – это эллипсы.

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

Отметим, что условию (11) удовлетворяют также точки максимумов и седловые точки. Но в точках максимумов квадратичная форма (12) отрицательно определенная, а в седловинах она знакопеременна.

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

Рассмотрим овражный тип рельефа. Если линии уровня кусочно-гладкие, то выделим на каждой из них точку излома. Геометрическое место точек излома назовем истинным оврагом, если угол направлен в сторону возрастания функции, и гребнем – если в сторону убывания (рис. 2, б). Чаще линии уровня всюду гладкие, но на них имеются участки с большой кривизной; геометрические места точек с наибольшей кривизной назовем разрешимыми оврагами или гребнями (рис. 2, в). Например, рельеф функции


Минимум функции многих переменных, (13)


изображенный на этом рисунке, имеет ярко выраженный извилистый разрешимый овраг, «дно» которого – синусоида, а низшая точка – начало координат.

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

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


Минимум функции многих переменных, (14)


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

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


2.2 Спуск по координатам


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

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

Затем из новой точки сделаем спуск по направлению, параллельному оси Минимум функции многих переменных, т. е. рассмотрим Минимум функции многих переменных, найдем ее минимум и обозначим его через Минимум функции многих переменных. Второй шаг приводит нас в точку Минимум функции многих переменных. Из этой точки делаем третий шаг – спуск параллельно оси Минимум функции многих переменных и находим минимум функции Минимум функции многих переменных. Приход в точку Минимум функции многих переменных завершает цикл спусков.

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

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

Будем двигаться по выбранному направлению, т. е. по некоторой прямой в плоскости Минимум функции многих переменных. В тех участках, где прямая пересекает линии уровня, мы при движении переходим от одной линии уровня к другой, так что при этом движении функция меняется (возрастает или убывает, в зависимости от направления движения). Только в той точке, где данная прямая касается линии уровня (рис. 3, а), функция имеет экстремум вдоль этого направления. Найдя такую точку, мы завершаем в ней спуск по первому направлению, и должны начать спуск по второму направлению (поскольку направления мы сейчас выбираем параллельно координатным осям, то второе направление перпендикулярно первому).

Пусть линии уровня образуют истинный овраг. Тогда возможен случай (рис. 3, б), когда спуск по одной координате приводит нас на «дно» оврага, а любое движение по следующей координате (пунктирная линия) ведет нас на подъем. Никакой дальнейший спуск по координатам невозможен, хотя минимум еще не достигнут; процесс спуска по координатам в данном случае не сходится к минимуму.

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

Минимум функции многих переменных. (15)


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

Значения функции вдоль траектории спуска не возрастают; поэтому траектория не может выйти из области Минимум функции многих переменных, и неравенства (15) будут выполняться на всех шагах. Рассмотрим один из циклов, начинающийся в точке Минимум функции многих переменных (рис. 3, а). Предыдущий цикл окончился поиском минимума по направлению Минимум функции многих переменных, следовательно, Минимум функции многих переменных и Минимум функции многих переменных. Первый шаг нового цикла спускает нас по направлению Минимум функции многих переменных в точку Минимум функции многих переменных, в которой Минимум функции многих переменных и Минимум функции многих переменных. Поскольку вторые производные непрерывны, можно применить теорему о среднем; получим


Минимум функции многих переменных


где через Минимум функции многих переменных обозначены расстояния между точками. Отсюда получаем Минимум функции многих переменных. Выполним второй шаг цикла – спуск по направлению Минимум функции многих переменных в точку Минимум функции многих переменных, после которого Минимум функции многих переменных и Минимум функции многих переменных. Аналогичные рассуждения дают соотношение с Минимум функции многих переменных. Объединяя эти неравенства, найдем


Минимум функции многих переменных.


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

Значит, когда число циклов Минимум функции многих переменных, то все первые производные линейно стремятся к нулю:


Минимум функции многих переменных и Минимум функции многих переменных~Минимум функции многих переменных.


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

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

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

Если сходимость медленная, но траектория уже попала в близкую окрестность минимума, то итерации можно уточнять процессом Эйткена; разумеется, при этом надо брать в качестве исходных значения не на трех последних спусках, а на трех циклах спусков (т. е. не точки Минимум функции многих переменных, а точки Минимум функции многих переменных и третья точка, которой нет на рис. 3, а).

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

Метод спуска по координатам несложен и легко программируется на ЭВМ. Но сходится он медленно, а при наличии оврагов – очень плохо. Поэтому его используют в качестве первой попытки при нахождении минимума.

Пример. Рассмотрим квадратичную функцию Минимум функции многих переменных и выберем нулевое приближение Минимум функции многих переменных. Выполняя вычисления, получим


Минимум функции многих переменных.


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


2.3 Наискорейший спуск


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

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

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

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


Минимум функции многих переменных, (16)


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


Минимум функции многих переменных. (17)


Из уравнения Минимум функции многих переменных легко находим ее минимум


Минимум функции многих переменных, (18)


дающий нам следующую точку спуска:


Минимум функции многих переменных (19)


направление наискорейшего спуска определяется градиентом квадратичной функции (16):


Минимум функции многих переменных. (20)

Подставляя это значение в формулы (18) – (19), получим окончательные выражения для вычисления последовательных спусков.

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


Минимум функции многих переменных, где Минимум функции многих переменных; (21)


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

Есть такие начальные приближения (рис. 4), когда точно реализуется наихудшая возможная оценка, т. е. в (21) имеет место равенство.

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

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


Минимум функции многих переменных. (22)


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

Однако от идеи метода еще далеко до надежного алгоритма. Фактически систему дифференциальных уравнений (22) надо численно интегрировать. Если интегрировать с большим шагом, то численное решение будет заметно отклоняться от линии градиента. А при интегрировании малым шагом сильно возрастает объем расчетов. Кроме того, если рельеф имеет извилистые овраги, то трудно ожидать хорошей сходимости этого метода.

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


2.4 Случайный поиск


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

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

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

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

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

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

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

Метод случайного поиска зачастую позволяет найти все локальные минимумы функции от 10-20 переменных со сложным рельефом. Он полезен и при исследовании функции с единственным минимумом; в этом случае можно обойтись заметно меньшим числом случайных точек. Недостаток метода в том, что надо заранее задать область, в которой выбираются случайные точки. Если мы зададим слишком широкую область, то ее труднее детально исследовать, а если выберем слишком узкую область, то многие локальные минимумы могут оказаться вне ее. Правда, положение несколько облегчается тем, что при спусках траектории могут выйти за пределы заданной области и сойтись к лежащим вне этой области минимумам.

ЗАКЛЮЧЕНИЕ


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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ


Калиткин Н.Н. Численные методы. М.: Наука, 1978. 512с.

Амосов А.А., Дубинский Ю.А., Копченова Н. В. Вычислительные методы для инженеров. М.: Высшая школа, 1994. 543с.

Ракитин В.И., Первушин В.Е. Практическое руководство по методам вычислений. М.: Высшая школа, 1998. 383с.

Приложение 1


Листинг программы:

{Методом покоординатного спуска найти точки локального минимума функции Химмельблау f(x)=(x1*x1+x2-11)*(x1*x1+x2-11)+(x1+x2*x2-7)*(x1+x2*x2-7) с точностью e=0.01}

program spusk;

uses crt;

const n=2; k=2;

type vector=array[1..n] of real;

var i:integer;

d,e,e1,h,h1,z:real;

x:vector; ch:char;

procedure pausa;

begin

writeln;

writeln ('Для выхода нажмите любую клавишу…');

repeat ch:=readkey until ch <> '';

end;

function f(x:vector):real;

var a,b:real;

begin a:=x[1]*x[1]+x[2]-11;

b:=x[1]+x[2]*x[2]-7;

f:=a*a+b*b;

end;

procedure scan (i:integer);

var a:boolean;

d1,z1:real;

begin z:=f(x);

repeat d1:=abs(h1); x[i]:=x[i]+h1; z1:=f(x); a:=(z1>=z);

if a then h1:=-h1/k;

z:=z1;

until a and (d1<e1);

end;

begin

clrscr;

writeln ('Введите координаты начального вектора (x1,x2):');

for i:=1 to n do read (x[i]);

writeln ('Задайте точность нахождения точки min f(x):');

read (e);

h:=0.2; e1:=e/k;

repeat d:=abs(h);

for i:=1 to n do

begin

h1:=h; scan (i);

end;

h:=h/k;

until d<e;

writeln ('Точка минимума: x1=',x[1]:9:6,' ','x2=',x[2]:9:6);

writeln ('Погрешность:',e:9:6);

pausa;

end.

Приложение 2


Результат работы программы:

Введите координаты начального вектора (x1,x2):

1

2

Задайте точность нахождения точки min f(x):

0.01

Точка минимума: x1= 2.996875 x2= 2.000000

Погрешность: 0.010000

Для выхода нажмите любую клавишу.

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

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

3 Это верно не при всяких делениях отрезка, но для деления в соответствии (4) это справедливо.

4 См. предыдущую сноску.

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

27


Похожие работы:

  1. • Сравнительный анализ методов оптимизации
  2. • Методы решения систем линейных уравнений
  3. • Метод наименьших квадратов в случае интегральной и дискретной ...
  4. • Классические методы безусловной оптимизации
  5. • Минимизация функции многих переменных. Приближённые численные ...
  6. • Высшая математика для менеджеров
  7. • Дифференцирование, интегрирование, вычисление ...
  8. • Сущность и использование транспортных задач
  9. • Анализ финансово-экономической деятельности на ...
  10. • Программная модель поиска глобального минимума ...
  11. • Функция многих переменных
  12. • Математический обзор
  13. • Поиск максимума одной функции многих переменных ...
  14. • Билеты математические методы исследования экономики
  15. • Экстремумы функций многих переменных
  16. • Функции нескольких переменных
  17. • Экстремумы функций многих переменных
  18. • Экзаменационные вопросы и билеты по предмету МАТЕМАТИЧЕСКИЕ ...
  19. • Экстремумы функций
Рефетека ру refoteka@gmail.com