![]() |
Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
ЧИСЛЕННЫЕ МЕТОДЫ МИНИМИЗАЦИИ ФУНКЦИЙ ОДНОЙ ПЕРЕМЕННОЙ
1. Основные понятия. Прямые методы минимизации. Пусть на множестве U Í R определена функция f( x). Под минимизацией функции f(x) на множестве U будем понимать решение следующей задачи: найти хотя бы одну точку минимума x* и минимум f*= f( x*) этой функции на множестве U. Задача нахождения точки максимума и максимального значения функции f(x) сводится к задаче минимизации заменой f(x) на -f(x), поэтому ниже будут рассматриваться только задачи на минимизацию. Напомним, что число x* Î U называется точкой абсолютного (глобального) минимума или просто точкой минимума функции f(x) на множестве U, если f( x*) ≤ f( x) для всех x Î U. Значение Число Отметим, что минимум функции f (х) на множестве U может и не существовать, т.е. множество U* может быть пустым. В этом случае используют обобщение понятия минимума - точную нижнюю грань функции f(х) на множестве U. Пусть f(х) ограничена снизу на U, т.е. f(х) ³ А ³ - ¥ для всех x Î U. Число f * называется точной нижней гранью функции f(х) на множестве U ( Существование локальных минимумов функции f(х), отличных от абсолютного, почти всегда затрудняет поиск точек x* Î U*, поэтому многие приближенные методы минимизации применимы только тогда, когда любой локальный минимум f(х) является одновременно и глобальным. Один из классов функций, удовлетворяющих этому условию, составляют унимодальные функции. Функция f(х) называется унимодальной на отрезке [а; b], если она непрерывна на [а; b] и существуют числа α и β, 1) если α < а, то на отрезке [а; α ] f (х) монотонно убывает; 2) если β < b, то на отрезке [β; b] f (x) монотонно возрастает; 3) при хÎ [α ; β ] Отметим, что возможно вырождение в точку одного или двух из отрезков [а; α ], [α ; β ] и [β; b]. Некоторые варианты расположения и вырождения в точку отрезков монотонности и постоянства унимодальной функции показаны на рис. 8.8.
Рис.8.1. Примеры унимодальных функций Множество функций, унимодальных на отрезке [а; b], будем обозначать Q[а; b]. Для проверки унимодальности функции f(х) на практике обычно используют следующие критерии: 1) если функция f(х) дифференцируема на отрезке [а; b] и производная f'(х) не убывает на этом отрезке, то f( x) Î Q[а; b]. 2) если функция f ( x ) дважды дифференцируема на отрезке [а; b] и f”(х) ³ 0 при x Î [а; b], то f ( x ) Î Q[а; b]. Пример 8.3. Показать, что функция Вторая производная функции f( x) равна Большую группу приближенных методов минимизации функции составляют прямые методы минимизации, основанные на вычислении только значений минимизируемой функции в некоторых точках и не использующее значений ее производных. Метод перебора является простейшим из прямых методов минимизации. Пусть f( x) Î Q[а; b]и требуется найти какую-либо из точек минимума х* функции f(х) на отрезке [а; b] с абсолютной погрешностью e > 0. Разобьем [а; b] на п равных частей точками деления Далее полагаем Пример 8.4. Найти минимальное значение f* и точку минимума х* функции f( x) Î Q[1, 5; 2], так как Выбрав Таблица 8.1
Из таблицы 8.1 находим х*» 1, 75, f* » -92, 12. Метод перебора, предполагающий предварительный выбор точек xi, называется также пассивной стратегией поиска точки минимума х*. На практике точки х выбираются заранее, когда удобно провести п+1 независимых экспериментов по измерению значений f( x), а последовательное измерение этих значений трудоемко или невозможно, например ввиду нехватки времени. Однако использование уже полученной в предыдущих экспериментах информации о функции f( x)для выбора очередной точки xi измерения (вычисления) f( x) приводит к более эффективному поиску точки х*. Методы минимизации, в которых точки xi определяются в процессе поиска точки минимума с помощью найденных ранее значений функции f( x), называются последовательными методами. Метод деления отрезка пополам является простейшим последовательным методом минимизации. Он позволяет для любой функции f( x) Î Q[а; b]построить последовательность вложенных отрезков
Переход от отрезка а) б) Рис.8.2. Метод деления пополам Полагая Используя условие Пример 8.5. Решить пример 8.4 методом деления отрезка пополам. Положим d=0, 02 < 2e=0, 8. Построим последовательность вложенных отрезков Таблица 8.2
Следовательно, х* »1, 72, и f* » f (1, 72)=92, 13. Для увеличения скорости сходимости метода величину Метод золотого сечения также является последовательным методом минимизации. Опираясь на свойства золотого сечения отрезка, этот метод использует найденные значения f(х) более рационально, чем метод деления отрезка пополам, что позволяет переходить к очередному отрезку, содержащему точку х* после вычисления одного, а не двух значений f(х). Деление отрезка на две неравные части так, что отношение длины всего отрезка к длине большей его части равно отношению длины большей части к длине меньшей части, называется золотым сечением этого отрезка. Золотое сечение отрезка[а; b]осуществляется двумяточками: причем x1 есть вторая точка золотого сечения отрезка [а; х2]. а х2 - первая точка золотого сечения отрезка [х1; b]. Зная одну из точек золотого сечения отрезка [а; b], другую можно найти по одной из формул
Пусть f( x) Î Q[а; b]и требуется найти точку минимума функции f(х) на [а; b]. Построим последовательности
где Для определения чисел 1) найти одну из точек золотого сечения отрезка 2) вычислить значение f(х) во вновь найденной точке золотого сечения (значение в другой точке 3) сравнить значения Таким образом, на каждом шаге определения откуда следует, что число шагов п метода золотого сечения, обеспечивающее заданную точность ε нахождении точки х*, должно удовлетворять неравенству
Пример 8.6. Решить предыдущий пример методом золотого сечения. Вычисления проведем по формулам (8.3), представив результаты в таблице 8.3. Т а б л и ц а 8.3
Из таблицы 8.3 получаем В прямых методах минимизации, рассмотренных выше, требуется, чтобы функция f(х) была унимодальной. Если f(х) этим свойством не обладает, то применение указанных методов приводит, вообще говоря, к неверному результату. Кроме того, во многих случаях доказательство унимодальности функции f(х) бывает затруднительно. Метод ломаных является последовательным методом, рассчитанным на минимизацию произвольных (не обязательно унимодальных) функций, удовлетворяющих условию Липшица. Говорят, что функция f(х) удовлетворяет на отрезке [а; b] условию Липшица, если существует такое число L > 0 (константа Липшица), что \ f( x')- f( x" )\< L\ x'- x" \ (8.5) для всех х', х" Î [а; b]. Для проверки условия Липшица на практике используют следующий факт: если функция f(х) имеет на отрезке [а; b] ограниченную производную, то она удовлетворяет условию (8.5), где Пусть функция f(х) удовлетворяет на [а; b]условию Липшица с константой L. Опишем метод ломаных для минимизации f(х). Положим и реализуем следующую схему вычислений: Шаг 1. Вместо пары чисел
Шаг 2. Из полученных двух пар
В результате получим множество, состоящее из трех пар чисел (х, р). Шаг п. Из п полученных на предыдущих шагах пар (х, р)выбираем ту, у которой вторая компонента р минимальна. Обозначим ее
Полагая х* ≈ Геометрически метод ломаных состоит в построении последовательности ломаных, приближающихся к графику функции f(х) снизу и имеющих угловые коэффициенты всех звеньев, равные ±L (рис. 8.3). Рис. 8.3. Метод ломаных Пример 8.7. Методом ломаных найти минимум f* функции Функция f(х) дифференцируема на указанном отрезке. Так как при хÎ [10; 15], то f(х) удовлетворяет условию Липшица с константой L=0, 18. Найдя Т а б л и ц а 8.4
Из таблицы 8.4 находим х* » 10, 891, f* » f (10, 891) =-0, 098. Отметим, что f (х) Ï Q[10; 15], поэтому из методов минимизации, рассмотренных выше, в данном случае применим только метод ломаных. 2. Методы минимизации, основанные на использовании производных функции. Если вычисление или измерение производных функции f(х) не представляет больших затруднений, то при решении задачи минимизации можно применять непрямые методы, основанные на использовании производных f(х). Во многих случаях эти методы обеспечивают более быструю сходимость, чем прямые методы минимизации. Mетод касательных применяется для минимизации выпуклых дифференцируемых функций. Функция f (х) называется выпуклой на отрезке [а; b], если
для произвольных х', х" Î [а; b]и Проверка условия (7) почти всегда вызывает затруднения, поэтому на практике используют следующий критерий выпуклости: Для того, чтобы дважды дифференцируемая на отрезке [а; b] функция f(х) была выпуклой на отрезке [а; b], необходимо и достаточно, чтобы f" [ x)≥ 0 при всех х Î [а; b]. Опишем метод касательных. Пусть f(х) - выпуклая дифференцируемая на отрезке [а; b]функция, причем
После п шагов полагаем Метод касательных имеет простой геометрический смысл: величина с n -1 из (8.8) - это абсцисса точки пересечения касательных к графику f ( x ), проведенных в граничных точках отрезка а) х*=а при f’ (а) > 0, f’ ( b) > 0; б) х*= b при f’ (а) < 0, f’ ( b) < 0; в) х*=а, если f'( a)=0, и х*= b, если f’( b)=0. Пример 8.8. Убедиться, что функция Так как Таблица 8.5
Из таблицы 8.5 находим х* »-0, 347; f* » f (-0, 347)= 0, 827. Метод Ньютона, использующийне только первую, но и вторую производные функции f( x), при определенных условиях обеспечивает значительно более высокую, чем рассмотренные выше методы минимизации, скорость сходимости к точке минимума х*. Пусть f( x) - выпуклая дважды дифференцируемая на R функция. Выбрав начальное приближениех0, построим последовательность
Считая неравенство | f'(хп)| £ e (e - достаточно малое число) условием достижения требуемой точности вычислений, положим х* ≈ При неудачном выборе Хц последовательность (10) может расходиться. Если же точка х0 достаточно близка к х*, то эта последовательность сходится к х* достаточно быстро. Оценка скорости сходимости может быть сформулирована следующим образом. Пусть f( x) - дважды дифференцируемая на R функция, причем Пример 8.9. Методом Ньютона найти точку минимумах*и минимальное значение f* функции Выберем х0=3 и проведем вычисления по формуле (8.10), записывая результаты в таблице 8.6. Таблица 8.6
Окончательно х* » 2, 4662656, f'*»-0, 8554408. Метод Ньютона часто используется на завершающем этапе минимизации, когда точка минимума х* грубо найдена другим, менее трудоемким методом и требуется найти х* с большой точностью. |
Последнее изменение этой страницы: 2019-10-04; Просмотров: 1019; Нарушение авторского права страницы