Минимум функции многих переменных
РЕФЕРАТ
В работе рассматриваются методы нахождения минимума функции одной переменной и функции многих переменных. Пояснительная записка к курсовой работе состоит из двух основных частей: теоретической и практической. В теоретической части рассматривается поиск минимума функции одной переменной методом золотого сечения, поиск минимума функции многих переменных – методами покоординатного спуска, наискорейшего спуска и случайного поиска. Практическая часть содержит разработку программного обеспечения вычисления локального минимума функции Химмельблау методом покоординатного спуска, реализованную на языке Pascal. Объем пояснительной записки: 1 Количество рисунков: 4 Количество используемых источников: 3
СОДЕРЖАНИЕ
ВВЕДЕНИЕ Минимум функции одного переменного Постановка задачи 1.2 Золотое сечение 2. Минимум функции многих переменных 2.1 Рельеф функции 2.2 Спуск по координатам 2.3 Наискорейший спуск 2.4 Случайный поиск ЗАКЛЮЧЕНИЕ СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ Приложение 1 Приложение 2 ВВЕДЕНИЕ В работе рассмотрены способы нахождения такого значения аргумента, которое минимизирует некоторую зависящую от него скалярную величину. В параграфе 1 изложена задача о минимуме функции одного переменного, лежащая в основе всех более сложных задач. В параграфе 2 рассмотрена задача о минимуме функции многих переменных в неограниченной области. Минимум функции одного переменного Постановка задачи.
Пусть имеется некоторое множество
У функции может быть много локальных минимумов. Если же выполняется
то говорят о достижении функцией абсолютного минимума на данном множестве Потребуем, чтобы функция Перечислим наиболее важные примеры множеств, на которых приходится решать задачу нахождения минимума. Если множество Для нахождения абсолютного минимума есть только один способ: найти все локальные минимумы, сравнить их и выбрать наименьшее значение. Поэтому задача (2) сводится к задаче (1), и мы будем в основном заниматься задачей поиска локальных минимумов. Известно, что решение задачи (1) удовлетворяет уравнению
Если множество Пусть Функция Задачу называют детерминированной, если погрешностью вычисления (или экспериментального определения) функции
Золотое сечение
В этом параграфе мы рассмотрим задачу нахождения минимума функции одной действительной переменной. Эта одномерная задача нередко возникает в практических приложениях. Кроме того, большинство методов решения многомерных задач сводится к поиску одномерного минимума. Сейчас мы рассмотрим метод золотого сечения, применимый к недифференцируемым функциям. Будем считать, что
Рис. 1
На отрезке Как выгодно размещать точки? Всякий раз мы делим оставшийся отрезок на три части (причем одна из точек деления уже определена предыдущими вычислениями) и затем отбрасываем один из крайних отрезков. Очевидно, надо, чтобы следующий отрезок был поделен подобно предыдущему. Для этого должны выполняться соотношения
Решение этих уравнений дает
После проведения очередного вычисления отрезок сокращается в Запишем алгоритм вычисления. Для единообразия записи обозначим
а поочередно вводимые внутренние точки будут
После сравнения может быть отброшена точка с любым номером, так что на следующих шагах оставшиеся точки будут перенумерованы беспорядочно. Пусть на данном отрезке есть четыре точки
Затем отбрасываем ту точку, которая более всего удалена[3] от
Определим порядок расположения оставшихся трех точек на числовой оси; пусть, для определенности,
Тогда новую внутреннюю точку введем таким соотношением[4]:
и присвоим ей очередной номер. Минимум находится где-то внутри последнего отрезка,
Метод золотого сечения является наиболее экономичным аналогом метода дихотомии применительно к задачам на минимум. Он применим даже к недифференцируемым функциям и всегда сходится; сходимость его линейна. Если на отрезке Этот метод нередко применяют в технических или экономических задачах оптимизации, когда минимизируемая функция недифференцируема, а каждое вычисление функции – это дорогой эксперимент. Метод золотого сечения рассчитан на детерминированные задачи. В стохастических задачах из-за ошибок эксперимента можно неправильно определить соотношение между значениями функций в точках; тогда дальнейшие итерации пойдут по ложному пути. Поэтому если различия функций в выбранных точках стали того же порядка, что и ошибки эксперимента, то итерации надо прекращать. Поскольку вблизи минимума чаще всего
Минимум функции многих переменных Рельеф функции
Основные трудности многомерного случая удобно рассмотреть на примере функции двух переменных
а) б)
в) Рис. 2 г) При котловинном рельефе линии уровня похожи на эллипсы (рис. 1, а). В малой окрестности невырожденного минимума рельеф функции котловинный. В самом деле, точка минимума гладкой функции определяется необходимыми условиями
и разложение функции по формуле Тейлора вблизи минимума имеет вид
причем квадратичная форма (12) – положительно определенная[5], иначе эта точка не была бы невырожденным минимумом. А линии уровня знакоопределенной квадратичной формы – это эллипсы. Случай, когда все вторые производные равны в этой точке нулю и минимум определяется более высокими производными, по существу ничего нового не дает, и мы не будем его специально рассматривать (линии уровня вместо эллипсов будут похожими на них кривыми четвертого порядка). Отметим, что условию (11) удовлетворяют также точки максимумов и седловые точки. Но в точках максимумов квадратичная форма (12) отрицательно определенная, а в седловинах она знакопеременна. Вблизи минимума функция мало меняется при заметных изменениях переменных. Поэтому даже если мы не очень точно определим те значения переменных, которые должны минимизировать функцию, то само значение функции при этом обычно будет мало отличаться от минимального. Рассмотрим овражный тип рельефа. Если линии уровня кусочно-гладкие, то выделим на каждой из них точку излома. Геометрическое место точек излома назовем истинным оврагом, если угол направлен в сторону возрастания функции, и гребнем – если в сторону убывания (рис. 2, б). Чаще линии уровня всюду гладкие, но на них имеются участки с большой кривизной; геометрические места точек с наибольшей кривизной назовем разрешимыми оврагами или гребнями (рис. 2, в). Например, рельеф функции
изображенный на этом рисунке, имеет ярко выраженный извилистый разрешимый овраг, «дно» которого – синусоида, а низшая точка – начало координат. В физических задачах овражный рельеф указывает на то, что вычислитель не учел какую-то закономерность, имеющую вид связи между переменными. Обнаружение и явный учет этой закономерности облегчает решение математической задачи. Так, если в примере (13) ввести новые переменные Неупорядоченный тип рельефа (рис. 2, г) характеризуется наличием многих максимумов, минимумов и седловин. Примером может служить функция
рельеф которой изображен на этом рисунке; она имеет минимумы в точках с координатами Все эффективные методы поиска минимума сводятся к построению траекторий, вдоль которых функция убывает; разные методы отличаются способами построения таких траекторий. Метод, приспособленный к одному типу рельефа, может оказаться плохим на рельефе другого типа.
Спуск по координатам
Казалось бы, для нахождения минимума достаточно решить систему уравнений типа (11) методом линеаризации или простых итераций и отбросить те решения, которые являются седловинами или максимумами. Однако в реальных задачах минимизации эти методы обычно сходятся в настолько малой окрестности минимума, что выбрать подходящее нулевое приближение далеко не всегда удается. Проще и эффективнее провести спуск по координатам. Изложим этот метод на примере функции трех переменных Выберем нулевое приближение Затем из новой точки сделаем спуск по направлению, параллельному оси Будем повторять циклы. На каждом спуске функция не возрастает, и при этом значения функции ограничены снизу ее значением в минимуме Это зависит от функции и выбора нулевого приближения. На примере функции двух переменных легко убедиться, что существуют случаи сходимости спуска по координатам к искомому минимуму и случаи, когда этот спуск к минимуму не сходится. Будем двигаться по выбранному направлению, т. е. по некоторой прямой в плоскости Пусть линии уровня образуют истинный овраг. Тогда возможен случай (рис. 3, б), когда спуск по одной координате приводит нас на «дно» оврага, а любое движение по следующей координате (пунктирная линия) ведет нас на подъем. Никакой дальнейший спуск по координатам невозможен, хотя минимум еще не достигнут; процесс спуска по координатам в данном случае не сходится к минимуму. Наоборот, если функция достаточно гладкая, то в некоторой окрестности минимума процесс спуска по координатам сходится к этому минимуму. Пусть функция имеет непрерывные вторые производные, а ее минимум не вырожден. Для простоты опять рассмотрим функцию двух переменных
Докажем, что тогда спуск по координатам из данного нулевого приближения сходится к минимуму, причем линейно. Значения функции вдоль траектории спуска не возрастают; поэтому траектория не может выйти из области
где через
Следовательно, за один цикл Значит, когда число циклов
Первые производные одновременно обращаются в нуль в точке минимума и вблизи него являются линейными однородными функциями приращений координат. Поэтому координаты точек спуска линейно стремятся к координатам точки минимума, т. е. в данном случае спуск по координатам сходится, причем линейно. Случай (15) заведомо реализуется в достаточно малой окрестности невырожденного минимума, ибо эти условия эквивалентны требованию положительной определенности квадратичной формы (12). Такими образом, вблизи невырожденного минимума достаточно гладкой функции спуск по координатам линейно сходится к минимуму. В частности, для квадратичной функции этот метод сходится при любом нулевом приближении. Фактическая скорость сходимости будет неплохой при малых Если сходимость медленная, но траектория уже попала в близкую окрестность минимума, то итерации можно уточнять процессом Эйткена; разумеется, при этом надо брать в качестве исходных значения не на трех последних спусках, а на трех циклах спусков (т. е. не точки Разрешимый овраг напоминает сильно вытянутую котловину (см. рис. 3, б). При попадании траектории спуска в такой овраг сходимость становится настолько медленной, что расчет практически невозможно вести. Отметим, что в стохастических задачах наличие ошибок эквивалентно превращению истинных оврагов и гребней в разрешимые; расчет при этом можно продолжать, хотя практическая ценность такого расчета невелика: сходимость очень медленная. Метод спуска по координатам несложен и легко программируется на ЭВМ. Но сходится он медленно, а при наличии оврагов – очень плохо. Поэтому его используют в качестве первой попытки при нахождении минимума. Пример. Рассмотрим квадратичную функцию
Уточнение по Эйткену дает
Наискорейший спуск
Спускаться можно не только параллельно осям координат. Вдоль любой прямой Наиболее известным является метод наискорейшего спуска, когда выбирается Однако этот метод значительно сложнее спуска по координатам, ибо требуется вычислять производные и градиент и переходить к другим переменным. К тому же, по сходимости наискорейший спуск не лучше спуска по координатам. При попадании траектории в истинный овраг спуск прекращается, а в разрешимом овраге сильно замедляется. Если функция является положительно определенной квадратичной функцией
то формулы наискорейшего спуска приобретают несложный вид. Вдоль прямой
Из уравнения
дающий нам следующую точку спуска:
направление наискорейшего спуска определяется градиентом квадратичной функции (16):
Подставляя это значение в формулы (18) – (19), получим окончательные выражения для вычисления последовательных спусков. Если воспользоваться разложением всех движений по базису, состоящему из собственных векторов матрицы
здесь Есть такие начальные приближения (рис. 4), когда точно реализуется наихудшая возможная оценка, т. е. в (21) имеет место равенство. Причины нетрудно понять. Во-первых, в данной точке любую прямую, в том числе невыгодную для спуска, можно сделать направлением градиента, если специально подобрать изменение масштабов по осям. Во-вторых, каждый спуск кончается в точке, где его направление касается линии (поверхности) уровня. Градиент перпендикулярен поверхности уровня. Следовательно, в методе наискорейшего спуска каждый спуск перпендикулярен предыдущему. В двумерном случае это означает, что мы совершаем спуск по координатам, повернутым так, что одна ось параллельна градиенту начальной точки. Для улучшения метода наискорейшего спуска предлагают «кухонные» поправки к алгоритму – например, совершают по каждому направлению спуск не точно до минимума. Наиболее любопытным представляется такое видоизменение алгоритма. Будем делать по направлению, противоположному градиенту, только бесконечно малый шаг и после него вновь уточнять направление спуска. Это приводит к движению по кривой
Вдоль этой кривой Однако от идеи метода еще далеко до надежного алгоритма. Фактически систему дифференциальных уравнений (22) надо численно интегрировать. Если интегрировать с большим шагом, то численное решение будет заметно отклоняться от линии градиента. А при интегрировании малым шагом сильно возрастает объем расчетов. Кроме того, если рельеф имеет извилистые овраги, то трудно ожидать хорошей сходимости этого метода. Алгоритмы наискорейшего спуска и всех его видоизменений сейчас недостаточно отработаны. Поэтому метод наискорейшего спуска для сложных нелинейных задач с большим числом переменных (
Случайный поис
Популярное: Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... Почему стероиды повышают давление?: Основных причин три... Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... ![]() ©2015-2024 megaobuchalka.com Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (314)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||