Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Свойства функций одной переменнойСтр 1 из 5Следующая ⇒
Теория теоретическая Функции одной переменной
Задача оптимизации, в которой характеристическая мера задана функцией одной переменной, относится к наиболее простому типу оптимизационных задач. Тем не менее, анализ задач такого типа занимает центральное место в оптимизационных исследованиях как теоретической, так и практической направленности. Это связано не только с тем, что именно такие задачи обычно решаются в инженерной практике, но и с тем, что одномерные методы оптимизации часто используются для анализа подзадач, которые возникают при реализации итеративных процедур, ориентированных на решение многомерных задач оптимизации. Важность теоретических и прикладных оптимизационных задач с одной управляемой переменной обусловила разработку большого числа алгоритмов их решения. Классификация методов решения одномерных задач по существу основывается на различных предположениях и допущениях относительно природы и свойств функции f(х).
Определение Функция f(х) является унимодальной на отрезке а≤ х≤ b в том и только том случае, если она монотонна по обе стороны от единственной на рассматриваемом интервале оптимальной точки х*. Другими словами, если х*— единственная точка минимума f(x) на отрезке а≤ х≤ b, то f(х) оказывается унимодальной на данном интервале тогда и только тогда, когда для точек х1и х2 из x*≤ x1≤ x2 следует, что f(x*)≤ f(x1)≤ f(x2), и из x*≥ x1≥ x2следует, что f(x*)≤ f(x1)≤ f(x2).
Как показано на рис. 2.6, унимодальная функция не обязательно должна быть непрерывной. Унимодальность функций является исключительно важным свойством, которое широко используется в оптимизационных исследованиях. Вопросы, связанные с этим свойством функций, рассматриваются в разд. 2.3. Критерии оптимальности
При анализе оптимизационных задач, как правило, возникают два общих вопроса. 1. Вопрос анализа «в статике». Как определить, представляет ли данная точка х* оптимальное решение задачи? 2. Вопрос анализа «в динамике». Если х* не является точкой оптимума, то какая последовательность действий приводит к получению оптимального решения? В этом разделе основное внимание уделяется решению вопроса анализа «в статике», а именно построению множества критериев оптимальности, позволяющих определить, является ли данное решение оптимальным. Определения Функция f(x), определенная на множестве S, достигает своего глобального минимума в точке х** Î S том и только том случае, если Функция f(x), определенная на множестве S, имеет локальный минимум (относительный минимум) в точке x* Î S в том и только том случае, если т.е если существует e > 0, такое, что для всех х, удовлетворяющих условию ï х-х*ï < e, выполняется неравенство f(x*) ≤ f(x) Замечания 1. Аналогичные определения глобального максимума и локального максимума можно получить путем замены знака неравенства на противоположный. 2. Если функция обладает свойством унимодальности, то локальный минимум автоматически является глобальным минимумом.
3. Если функция не является унимодальной, то возможно наличие нескольких локальных оптимумов; при этом глобальный минимум можно определить путем нахождения всех локальных оптимумов и выбора наименьшего из них. На рис. 2.7 точка х1— точка глобального максимума, х2 — точка локального минимума, х3 — точка локального максимума, х4 — точка глобального минимума, а х5можно рассматривать и как точку локального минимума, и как точку локального максимума. Идентификация оптимумов в случае функции одной переменной. Предположим, что функция f(x) одной переменной х определена на открытом интервале (a, b) и n-кратно дифференцируема на этом интервале. Если х*— внутренняя точка интервала, то теорема Тейлора позволяет записать изменение функции f при переходе от точки х* к точке (х*+e) в следующем виде: где через Оn+1(e) обозначена сумма членов, в которых степень e равна (n+1) и выше. Если х*— локальный минимум функции f на (а, b), то по определению должна существовать e-окрестность точки х*, такая, что для всех х из этой окрестности выполняется неравенство f(x) ³ f(x*) (2.2) Из неравенства (2.2) следует, что При достаточно малом e первое слагаемое доминирует над остальными, а так как e можно выбрать и положительным, и отрицательным, то неравенство (2.3) будет выполняться только в том случае, если: (2.4) Рассуждая аналогичным образом, нетрудно установить, что неравенство (2.3) будет справедливым только тогда, когда (2.5) Эта же схема анализа применима и в случае локального максимума, с той лишь разницей, что знак неравенства (2.2) требуется заменить на противоположный. Мы получили следующий общий результат, который можно сформулировать в виде теоремы. Теорема 2.1 Необходимые условия того, что х* является точкой локального минимума (максимума) дважды дифференцируемой функции f на открытом интервале (а, b), выражаются следующими соотношениями: Эти условия являются необходимыми, т. е. в случае, когда они не выполняются, точка х* неможет быть точкой локального минимума (максимума). С другой стороны, если эти условия выполняются, мы не имеем гарантии, что х* является точкой локального минимума (максимума). Рассмотрим, например, функцию f(x)=x3, график которой представлен на рис. 2.8. Эта функция удовлетворяет необходимым условиям наличия как локального минимума, так и локального максимума в начале координат, однако не имеет ни максимума, ни минимума при х*=0. Определения Стационарной точкой называется точка х*, в которой Если стационарная точка не соответствует локальному оптимуму (минимуму или максимуму), то она является точкой перегиба, или седловой точкой. Для того чтобы провести различие между случаями, когда стационарная точка соответствует локальному минимуму, локальному максимуму или является точкой перегиба, необходимо построить достаточные условия оптимальности. Теорема 2.2 Пусть в точке х* первые (п—1) производные функции обращаются в нуль, а производная порядка п отлична от нуля. (1) Если п — нечетное, то х*— точка перегиба. (2) Если п — четное, то х*— точка локального оптимума. Кроме того, (а) если эта производная положительная, то х*— точка локального минимума; (б) если эта производная отрицательная, то х*— точка локального максимума. Доказательство Утверждение теоремы нетрудно доказать с помощью разложения в ряд Тейлора, представленного равенством (2.1). Поскольку порядок первой отличной от нуля производной равен п, формулу (2.1) можно переписать в следующем виде: Если п — нечетное число, то правая часть (2.6) может принимать как положительные, так и отрицательные значения в зависимости от того, является ли величина e положительной или отрицательной. Это означает, что в зависимости от знака e разность f(x*+e) - f (x*) либо положительная, либо отрицательная. Следовательно, функция не достигает в точке х* своего минимального или максимального значения, т. е. х*— точка перегиба. Далее рассмотрим случай, когда п — четное число. При этом величина en всегда положительная, а знак правой части (2.6) определяется первым слагаемым, если e— достаточно малая величина. Таким образом, если величина (dnf /dxn )ï x=x* положительная, то f(x*+e)- f (х*)> 0 и точка х* соответствует локальному минимуму. Аналогичные рассуждения нетрудно провести также и для локального максимума. Для того чтобы применить теорему 2.2 к функции f(x)=x3, график которой изображен на рис. 2.8, вычислим Так как порядок первой отличной от нуля производной равен 3 (нечетное число), точка х=0является точкой перегиба. Замечание Выше предполагалось, что рассматриваемая функция дифференцируема или что ее первая производная существует и непрерывна. Однако если функция не является дифференцируемой во всех точках области определения, то даже необходимое условие наличия оптимума, позволяющее идентифицировать стационарные точки, может не выполняться в точке оптимума. Например, рассмотрим кусочно-линейную функцию Эта функция непрерывна во всех точках действительной оси, но недифференцируема при х=2. Функция достигает максимума в точке х=2, которая не является стационарной в соответствии с данным выше определением. Пример 2.1 Рассмотрим функцию определенную на всей действительной оси. Первая производная этой функции равна df /dx =30х5 + 180х4+ 330х3— 180х2 = 30х2 (х—1) (х—2) (х—3). Ясно, что первая производная обращается в нуль в точках х = 0, 1, 2, 3, и, следовательно, эти точки можно классифицировать как стационарные. Вторая производная функции равна Вычислив значения второй производной в четырех точках х = 0, 1, 2, 3, получим
Отсюда следует вывод, что х=1, 3 — точки локальных минимумов, а х=2— точка локального максимума. Чтобы идентифицировать точку х=0, вычислим третью производную Так как эта производная отлична от нуля и имеет нечетный порядок, то точка х=0является не точкой оптимума, а точкой перегиба. Следующий вопрос, к рассмотрению которого мы переходим, связан с определением глобального максимума или минимума функции одной переменной. Поскольку глобальный оптимум является локальным, можно вычислить все локальные оптимумы и выбрать из них наилучший. Алгоритм, основанный на этом простейшем подходе, приводится ниже. Максимизировать f(x) при ограничении а ≤ x ≤ b, где а и b — установленные границы изменения значений переменной х. Так как функция исследуется на заданном интервале, нетрудно заметить, что проверку наличия локального оптимума необходимо проводить не только в стационарных точках, но и в граничных точках интервала. Шаг 1. Приравнять df/dx=0и найти все стационарные точки. Шаг 2. Выбрать все стационарные точки, которые расположены в интервале [а, b]. Обозначим эти точки через x1, х2, ..., хN. Проверку наличия локального оптимума следует проводить только на множестве указанных точек, дополненном точками а и b. Шаг 3. Найти наибольшее значение f(x) из множества f(а), f(b), f(x1), ..., f(xN). Это значение соответствует глобальному максимуму. Примечание. При построении алгоритма мы не пытались классифицировать стационарные точки как точки локального минимума, точки локального максимума или точки перегиба, поскольку для этого требуется вычисление производных высших порядков. Для определения глобального оптимума легче вычислить соответствующие значения функции и выбрать из них максимальное. Пример 2.2 Максимизировать f(x)= - x3+Зх2+9х+10 на интервале -2≤ х ≤ 4. Имеем Решая это уравнение, получаем две стационарные точки х=3и x= -1, которые расположены внутри заданного интервала. Для того чтобы найти глобальный максимум, вычислим значения f(x) в точках х = 3, - 1, - 2 и 4: Таким образом, точка х =3соответствует максимальному значению f на интервале [—2, 4]. Вместо перебора всех стационарных точек и соответствующих значений функции можно воспользоваться специальными процедурами, позволяющими найти глобальный оптимум с меньшими затратами времени при условии, что функция обладает определенными свойствами. В заключительной части разд. 2.1 было дано определение унимодальной функции, для которой локальный оптимум является глобальным. К сожалению, определение унимодальной функции не позволяет непосредственно проверить, является ли функция унимодальной. Однако в теории оптимизации выделяется важный класс унимодальных функций, а именно класс выпуклых и вогнутых функций, которые допускают проверку такого рода. Основные свойства выпуклых и вогнутых функций приведены в приложении Б. Пример 2.3 Исследуем свойства функции При х≤ 1 имеем f" (х)≤ 0, и, следовательно, функция является вогнутой в указанной области. Если же х³ 1то f" (x)³ 0, т. е. функция является выпуклой в этой области. Заметим, что функция имеет две стационарные точки х= -1/2 и x= 5/2. Поскольку f" (-1/2)< 0, функция обладает локальным максимумом при х= -1/2. В точке x= 5/2 вторая производная f" (5/2)> 0, и, следовательно, функция достигает в этой точке локального минимума. Если ограничить допустимую область неравенством х≤ 1, то f(x) имеет глобальный максимум при х= -1/2, так как f(x) — вогнутая функция (в данной области) и х= -1/2 — точка локального максимума. Аналогично если ограничить допустимую область неравенством х³ 1, то f(x) достигает глобального минимума при х= 5/2. Однако если переменная х изменяется на всей действительной оси от -∞ до +∞ , то функция f(x) не имеет конечного глобального максимума или минимума. Пример 2.4. Задача управления запасами Многие фирмы создают запасы производимых товаров для удовлетворения будущего спроса. Среди причин, обусловливающих содержание запасов в определенном объеме, можно отметить нерациональные потери времени и средств, связанные с их непрерывным пополнением. С другой стороны, пополнение запасов через продолжительные промежутки времени приводит к образованию чрезмерно больших запасов, которое требует необоснованных капитальных затрат и значительно повышает стоимость хранения запасов. Определение оптимального объема запасов представляет собой классическую задачу оптимизации, для решения которой часто используется так называемая модель определения наиболее экономичного размера заказа. В рамках этой модели спрос предполагается постоянным и равным l, единиц товара в год. Частое пополнение запасов нецелесообразно, так как стоимость выполнения одного заказа составляет К долл. независимо от его размера. Первоначальная стоимость единицы товара равна с долл. Хранение излишних запасов также нецелесообразно, поскольку стоимость хранения единицы товара отлична от нуля и составляет h долл. в год. Для того чтобы упростить задачу, предположим, что спрос удовлетворяется немедленно (т. е. задолженные заказы отсутствуют), а пополнение осуществляется сразу же, как только запасы иссякают. Рис. 2.9 иллюстрирует изменение объема запасов с течением времени. В точке А объем запасов равен В; затем объем запасов начинает уменьшаться со скоростью lединиц товара в единицу времени и достигает нулевого значения в точке С. В это время поступает новая партия товара, и объем запасов восстанавливается. Треугольник ABC представляет один цикл управления запасами, который повторяется во времени. Задача заключается в том, чтобы определить оптимальный размер заказа В и продолжительностьинтервала времени между заказами С — А. Обозначим соответствующие переменные через Q и Т. Поскольку Т есть величина промежутка времени, в течение которого при скорости расходования lистощается запас Q, имеем T=Q/l. Таким образом, задача сводится к нахождению оптимального значения Q. Заметим, что когда Q мало, переменная Т также принимает малое значение. При этом частота заказов велика, что обусловливает большие затраты на выполнение заказов и относительно малые издержки хранения запасов. С другой стороны, наличие большого объема запасов (Q велико) приводит к увеличению затрат на хранение запасов и одновременно к снижению издержек, связанных с выполнением заказов на товары. Одна из основных задач управления запасами состоит в определении оптимального значения Q, которому соответствует минимум суммы полных годовых затрат. Получим аналитическое выражение для функции полных годовых затрат (затраты/цикл x количество циклов/год). Примечание. Затраты на хранение запасов в течение цикла равны затратам на хранение Q/2 единиц товара в течение интервала времени Т. Таким образом, подлежащая минимизации функция полных затрат есть Отсюда следует, что f(Q) — выпуклая функция и если существует положительное значение Q*, такое, что f(Q*)=0, то Q* минимизирует f(Q). При этом Т*— интервал времени между заказами =т l. Величина Q* известна в теории управления запасами как наиболее экономичный размер заказа. Теорема 2.3 Пусть функция f унимодальна на замкнутом интервале а ≤ x ≤ b, а ее минимум достигается в точке х*. Рассмотрим точки x1 и х2,. расположенные в интервале таким образом, что а< x1< x2< b. Сравнивая значения функции в точках x1и х2, можно сделать следующие выводы. 1. Если f(x1)> f(x2), то точка минимума f(x) не лежит в интервале (а, х1), т. е. х* Î (х1, b) (рис. 2.10). 2. Если f(x1)< f(x2), то точка минимума не лежит в интервале: (х2, b), т. е. х*Î (a, x2 )(см. рис. 2.10). Доказательство Рассмотрим случай, когда f(x1)> f(x2). Пусть утверждение теоремы неверно, т. е. a≤ х*≤ х1. Поскольку х*— точка минимума, то по определению f(х*)≤ f (х) для всех х Î (a, b). Получаем двойное неравенство f(x*)≤ f(x1)> f(x2) при x*< x1< x2. Это неравенство не может выполняться, так как унимодальная функция f (x) должна быть монотонной по обе стороны от точки х*. Таким образом, получено противоречие, доказывающее утверждение теоремы. Аналогичные рассуждения справедливы также в случае, когда f(xl)< f(x2). Примечание. Если f(xl)=f(x2), то можно исключить оба крайних интервала (а, х1) и (х2, b); при этом точка минимума должна располагаться в интервале (xl, x2). Согласно теореме 2.3, которую иногда называют правилом исключения интервалов, можно реализовать процедуру поиска, позволяющую найти точку оптимума путем последовательного исключения частей исходного ограниченного интервала. Поиск завершается, когда оставшийся подынтервал уменьшается до достаточно малых размеров. Заметим, что правило исключения интервалов устраняет необходимость полного перебора всех допустимых точек. Несомненным достоинством поисковых методов такого рода является то, что они основаны лишь на вычислении значений функций. При этом не требуется, чтобы исследуемые функции были дифференцируемы; более того, допустимы случаи, когда функцию нельзя даже записать в аналитическом виде. Единственным требованием является возможность определения значений функции f(х) в заданных точках х с помощью прямых расчетов или имитационных экспериментов. Вообще в процессе применения рассматриваемых методов поиска можно выделить два этапа: этап установления границ интервала, на котором реализуется процедура поиска границ достаточно широкого интервала, содержащего точку оптимума; этап уменьшения интервала, на котором реализуется конечная последовательность преобразований исходного интервала с тем, чтобы уменьшить его длину до заранее установленной величины, Этап уменьшения интервала
После того как установлены границы интервала, содержащего точку оптимума, можно применить более сложную процедуру уменьшения интервала поиска с целью получения уточненных оценок координат оптимума. Величина подинтервала, исключаемого на каждом шаге, зависит от расположения пробных точек xlи x2 внутри интервала поиска. Поскольку местонахождение точки оптимума априори неизвестно, целесообразно предположить, что размещение пробных точек должно обеспечивать уменьшение интервала в одном и том же отношении. Кроме того, в целях повышения эффективности алгоритма необходимо потребовать, чтобы указанное отношение было максимальным. Подобную стратегию иногда называют минимаксной стратегией поиска. Метод деления интервала пополам. Рассматриваемый метод позволяет исключать в точности половину интервала на каждой итерации. Иногда этот метод называют трехточечным поиском на равных интервалах, поскольку его реализация основана на выборе трех пробных точек, равномерно распределенных в интервале поиска. Ниже приводится описание основных шагов поисковой процедуры, ориентированной на нахождение точки минимума функции f(x) в интервале (а, b). Шаг 1. Положить хт=(а+b)/2и L=b—а. Вычислить значение f(xm). Ш а г 2. Положить x1=a+L/4 и х2=b—L/4. Заметим, что точки x1, xm и х2делят интервал (a, b) на четыре равные части. Вычислить значения f(x1) и f(x2). Ш а г 3. Сравнить f(x1) и f(xm). (1) Если f(x1)< f(xm), исключить интервал (хт, b), положив b=хт. Средней точкой нового интервала поиска становится точка х1. Следовательно, необходимо положить хт=х1. Перейти к шагу 5. (2) Если f(x1)> f(xm), перейти к шагу 4. Ш а г 4. Сравнить f(x2) и f(xm). (1) Если f(x2)< f(xm), исключить интервал (а, хт), положив а=хт. Так как средней точкой нового интервала становится точка х2положить хт=х2. Перейти к шагу 5. (2) Если f(x2)³ f(xm), исключить интервалы (a, x1) и (х2, b). Положить a=x1 и b=х2. Заметим, что хт продолжает оставаться средней точкой нового интервала. Перейти к шагу 5. Ш а г 5. Вычислить L=b—а. Если величина |L|мала, закончить поиск. В противном случае вернуться к шагу 2. Замечания 1. На каждой итерации алгоритма исключается в точности половина интервала поиска. 2. Средняя точка последовательно получаемых интервалов всегда совпадает с одной из пробных точек x1, x2или хт, найденных на предыдущей итерации. Следовательно, на каждой итерации требуется не более двух вычислений значения функции. 3. Если проведено п вычислений значения функции, то длина полученного интервала составляет (1/2)n/2 величины исходного интервала. 4. В работе [2] показано, что из всех методов поиска на равных интервалах (двухточечный, трехточечный, четырехточечный и т. д.) трехточечный поиск, или метод деления интервала пополам, отличается наибольшей эффективностью. Пример 2.6. Метод деления интервала пополам Минимизировать f(х)=(100—x)2 в интервале 60£ x £ 150. Здесь a=60, b=150 и L=150-60=90. Таким образом, исключаются интервалы (60; 82, 5) и (127, 5; 150). Длина интервала поиска уменьшается с 90 до 45. Итерация 2 Таким образом, интервал неопределенности равен (93, 75; 116, 25) Итерация 3 а=93, 75 b=116, 25, хт=105, L = 116, 25—93, 75=22, 5, x1=99, 375, х2=110, 625, f(x1)=0, 39< f(105)=25. Таким образом, исключается интервал (105; 116, 25). Новый интервал неопределенности равен (93, 75; 105), его средняя точка есть 99, 375 (точка х1на итерации 3). Отметим, что за три итерации (шесть вычислений значения функции) исходный интервал поиска длины 90 уменьшился до величины (90)(1/2)3=11, 25. Поиск с помощью метода золотого сечения. Из проведенного выше обсуждения методов исключения интервалов и минимаксных стратегий поиска можно сделать следующие выводы. 1. Если количество пробных точек принимается равным двум, то их следует размещать на одинаковых расстояниях от середины интервала.
2. В соответствии с общей минимаксной стратегией пробные точки должны размещаться в интервале по симметричной схеме таким образом, чтобы отношение длины исключаемого подынтервала к величине интервала поиска оставалось постоянным. 3. На каждой итерации процедуры поиска должно вычисляться только одно значение функции в получаемой точке. Руководствуясь этими выводами, рассмотрим симметричное расположение двух пробных точек на исходном интервале единичной длины, которое показано на рис. 2.11. (Выбор единичного интервала обусловлен соображениями удобства.) Пробные точки отстоят от граничных точек интервала на расстоянии t. При таком симметричном расположении точек длина остающегося после исключения интервала всегда равна t независимо от того, какое из значений функции в пробных точках оказывается меньшим. Предположим, что исключается правый подынтервал. На рис. 2.12 показано, что оставшийся подынтервал длины t содержит одну пробную точку, расположенную на расстоянии (1—t) от левой граничной точки. Для того чтобы симметрия поискового образца сохранялась, расстояние (1-t) должно составлять t-ю часть длины интервала (которая равна t). При таком выборе t следующая подобная точка размещается на расстоянии, равной t-й части длины интервала, от правой граничной точки интервала (рис.2.13) Рис. 2.12. Интервалы, полученные методом золотого сечения
Отсюда следует, что при выборе t в соответствии с условием 1-t =t2 симметрия поискового образца, показанного на рис. 2.11, сохраняется при переходе к уменьшенному интервалу, который изображен на рис. 2.13. Решая это квадратное уравнение, получаем откуда положительное решение t=0, 61803…. Схема поиска, при которой пробные точки делят интервал в этом отношении, известна под названием поиска с помощью метода золотого сечения. Заметим, что после первых двух вычислений значений функции каждое последующее вычисление позволяет исключить подынтервал, величина которого составляет (1—t)-ю долю от длины интервала поиска. Следовательно, если исходный интервал имеет единичную длину, то величина интервала, полученного в результате N вычислений значений функции, равна tN-1. Можно показать, что поиск с помощью метода золотого сечения является асимптотически наиболее эффективным способом реализации минимаксной стратегии поиска.
Пример 2.7. Метод золотого сечения Опять рассмотрим задачу из примера 2.6, в которой требуется минимизировать f(х)=(100—х)2в интервале 60£ x £ 150. Для того чтобы перейти к интервалу единичной длины, проведем замену переменной, положив w=(x—60)/90. Таким образом, задача принимает следующий вид: минимизировать f(w)—(40—90w)2 при ограничении 0£ w £ 1. Итерация 1. I1=(0, 1); L1=l. Проведем два первых вычисления значений функции: Так как f(w)2< f(w1) и w2< w1, интервал w≥ w1 исключается. Итерация 2. I2=(0; 0, 618); L2=0, 618=t. Следующее вычисление значения функции проводится в точке Так как f(w3)> f(w2) и w3< w2, интервал w≤ w3исключается. Итерация 3. I3=(0, 236; 0, 618), L3=0, 382=t2. Следующее вычисление значения функции проводится в точке, расположенной на расстоянии t ´ (длина полученного интервала) от левой граничной точки интервала, или на расстоянии (1—t) ´ (длина интервала) от правой граничной точки. Таким образом, Так как f(w4)< f(w2) и w4> w2, интервал w£ w2 исключается. В результате получен следующий интервал неопределенности: 0, 382£ w £ 0, 618 для переменной w, или 94, 4£ x £ 115, 6 для переменной х. Если в процессе поиска проведено шесть вычислений значений функции, то длина результирующего интервала для переменной wравна что соответствует интервалу длины 8, 1 для переменной х. Для сравнения напомним, что в аналогичной ситуации метод деления интервала пополам привел к получению интервала длины 11, 25. В общем случае если правая и левая граничные точки интервала неопределенности (обозначим их через XR и XL) известны, то координаты всех последующих пробных точек, получаемых в соответствии с методом золотого сечения, можно вычислить по формулам w= XR—tn или w= XL + tn в зависимости от того, какой подынтервал был исключен на предыдущей итерации — левый или правый. В приведенных выше формулах через tn обозначена п-ястепень t, где п — количество вычислений значений функции. Поиск с помощью метода золотого сечения может быть окончен либо исходя из заданного количества вычислений значений функции (и, следовательно, величины интервала неопределенности), либо по достижении относительной точности искомого значения функции. Наиболее предпочтительным является использование обоих критериев одновременно. Метод Ньютона — Рафсона В рамках схемы Ньютона — Рафсона предполагается, что функция f дважды дифференцируема. Работа алгоритма начинается в точке x1, которая представляет начальное приближение (или начальную оценку) координаты стационарной точки, или корня уравнения f '(x)=0Затем строится линейная аппроксимация функции f'(x) в точке x1, и точка, в которой аппроксимирующая линейная функция обращается в нуль, принимается в качестве следующего приближения. Если точка xk принята в качестве текущего приближения к стационарной точке, то линейная функция, аппроксимирующая функцию f '(x) в точке xk, записывается в виде Приравняв правую часть уравнения (2.7) нулю, получим следующее приближение: Рис. 2.14 иллюстрирует основные шаги реализации метода Ньютона. К сожалению, в зависимости от выбора начальной точки и вида функции алгоритм может как сходиться к истинной стационарной точке, так и расходиться, что отражено на рис. 2.15. Если начальная точка расположена правее х0, то получаемые в результате последовательных приближений точки удаляются от стационарной точки z. Пример 2.10. Метод Ньютона — Рафсона Рассмотрим следующую задачу: минимизировать f(x)=2х2+(16/х). Для того чтобы определить стационарную точку функции f(x), воспользуемся методом Ньютона — Рафсона, положив x1=l: Итерации продолжаются до тех пор, пока не будет выполняться неравенство |f'(xk )| < e, где e — заранее установленная величина допустимого отклонения. Метод средней точки
Если функция f(x) унимодальна в заданном интервале поиска, то точкой оптимума является точка, в которой f '(х)=0. Если при этом имеется возможность вычислять как значения функции, так и ее производной, то для нахождения корня уравнения f '(х)=0 можно воспользоваться эффективным алгоритмом исключения интервалов, на каждой итерации которого рассматривается лишь одна пробная точка. Например, если в точке z выполняется неравенство f '(z)< 0, то с учетом предположения об унимодальности естественно утверждать, что точка минимума не может находиться левее точки z. Другими словами, интервал х≤ z подлежит исключению. С другой стороны, если f '(z)> 0, то точка минимума не может находиться правее z и интервал x≥ z можно исключить. Приведенные рассуждения лежат в основе логической структуры метода средней точки, который иногда называют поиском Больцано. Определим две точки L и R таким образом, что f '(L)< 0 и f '(R)> 0. Стационарная точка расположена между L и R. Вычислим значение производной функции в средней точке рассматриваемого интервала z=(L+R)/2. Если f '(z)> 0, то интервал (z, R)-можно исключить из интервала поиска. С другой стороны, если f '(z)< 0, то можно исключить интервал (L, z). Ниже дается формализованное описание шагов алгоритма. Пусть имеется ограниченный интервал а≤ х≤ b и задан параметр сходимости e. Шаг 1. Положить R=b, L=a; при этом f '(а)< 0 и f '(b)> 0. Ш а г 2. Вычислить z=(R+L)/2и f '(z). Ш а г 3. Если |f '(z)|≤ e, закончить поиск. В противном случае, если f '(z)< 0, положить L=z и перейти к шагу 2. Если f '(z)> 0, положить R=z и перейти к шагу 2. Следует отметить, что логическая структура поиска в соответствии с изложенным методом исключения интервалов основана лишь на исследовании знака производной независимо от значений, которые эта производная принимает. В следующем подразделе рассматривается метод секущих, при реализации которого рассматриваются как знак производной, так и ее значения. Метод секущих
Метод секущих, являющийся комбинацией метода Ньютона и общей схемы исключения интервалов, ориентирован на нахождение корня уравнения f '(x)=0в интервале (а, b), если, разумеется, такой корень существует. Популярное:
|
Последнее изменение этой страницы: 2016-03-17; Просмотров: 2003; Нарушение авторского права страницы