Автор работы: Пользователь скрыл имя, 29 Октября 2012 в 11:35, курсовая работа
Под одномерной минимизацией понимается раздел численных методов, связанных с вычислением (или оценкой) минимума одномерной функции действительной переменной, заданной, как правило, на некотором ограниченном отрезке найти min f(x)=f(x*), (1.1)
axb
где x*-искомая точка минимума на [a, b].
1. МЕТОДЫ МИНИМИЗАЦИИ ФУНКЦИЙ ОДНОЙ ПЕРЕМЕННОЙ 3
1.1. НЕОБХОДИМЫЕ СВЕДЕНИЯ ИЗ МАТЕМАТИКИ 3
1.1.1. Постановка задачи одномерной минимизации 3
1.1.2. Классификация одномерных функций 4
1.1.3. Ряд Тейлора 6
1.1.5. Замечания относительно глобального минимума 12
1.2. МЕТОДЫ ИСКЛЮЧЕНИЯ ИНТЕРВАЛОВ 13
1.2.1. Метод деления пополам 13
Алгоритм Свенна для поиска интервала унимодальности 13
Алгоритм деления пополам 14
1.2.2. Метод золотого сечения 15
1.2.3. Сравнение методов исключения интервалов 17
1.3. ПОЛИНОМИАЛЬНАЯ АППРОКСИМАЦИЯ 18
1.3.1. Квадратичная аппроксимация 18
Алгоритм последовательной квадратичной аппроксимации 22
1.3.2. Кубическая аппроксимация 25
1.4. МЕТОДЫ С ИСПОЛЬЗОВАНИЕМ ПРОИЗВОДНЫХ 28
1.4.1. Метод Ньютона-Рафсона 28
1.4.2. Методы средней точки и секущих 30
1.4.3. Численная аппроксимация производных 31
Расчет коэффициентов аппроксимации в Microsoft Excel. 35
Построение графиков в Excel и использование функции ЛИНЕЙН. 44
Программа на языке Pascal. 47
Схема алгоритма. 47
Результаты расчета Pascal. 53
Заключение. 54
Список литературы 55
КУРСОВАЯ РАБОТА
На тему
Минимизация функций одной переменной
Содержание
Под одномерной минимизацией понимается раздел численных методов, связанных с вычислением (или оценкой) минимума одномерной функции действительной переменной, заданной, как правило, на некотором ограниченном отрезке найти min f(x)=f(x*), (1.1)
где x*-искомая точка минимума на [a, b].
Заметим, что max f(x)= min f(-x), (1.2)
и поэтому при дальнейшем изложении мы будем говорить о задачах минимизации (если не оговорено особо).
Методы и алгоритмы одномерной минимизации занимают важное место в теории оптимизации в связи с тем, что:
Одномерные
функции принято
f(x) f(x) f(x)
a) непрерывная б) разрывная г) дискретная
Рис.1.1. Примеры одномерных функций
В дополнение к
перечисленным свойствам
Введем некоторые определения, которые нам понадобятся в дальнейшем.
f(x1)£ f(x2)
(или, соответственно, f(x1)³f(x2) для убывающей функции).
Особый и весьма важный класс составляют унимодальные функции.
f(x*)£f(x1)£f(x2)
и, из неравенств x*³x1³x2 следует
f(x*)³f(x1)³f(x2).
Другими словами можно сказать, что функция унимодальна на отрезке [a, b], если найдется такая точка x* на этом отрезке, по обе стороны от которой функция f монотонно возрастает (рис.1.2).
Заметим, что именно унимодальные функции являются целью одномерной минимизации.
f(x)
а)
Рис.1.2. Примеры унимодальных функций
а) непрерывная унимодальная функция;
б) разрывная унимодальная функция.
Любую непрерывную функцию f можно разложить в окрестности некоторой точки x0 в степенной ряд, называемый рядом Тейлора1:
, (1.3)
где Оn+1(x-x0)n+1 – сумма остаточных членов, степень приращения в которых равна (n+1) и выше.
Вводя соответствующие обозначения, ряд (1.3) будем записывать компактнее:
. (1.4)
Из уравнения (1.4) следует, что любую нелинейную функцию можно представить в окрестности любой допустимой точки x0 приближением в виде ряда Тейлора, причем точность такого приближения зависит от числа используемых членов ряда. Обычно ограничиваются тремя первыми членами ряда (1.4), т.е. аппроксимируя исходную функцию квадратической функцией.
1.1.4. Необходимые и достаточные условия экстремума функции одной переменной
В самом общем случае одномерная функция может иметь различные экстремальные точки, а также точку перегиба. Так на рис.1.3 изображена функция, которая содержит все практически важные стационарные точки.
f(x)
0 a b c d e f g h x
Рис.1.3. Классификация стационарных точек
a,h)глобальный максимум и минимум на отрезке [a,h]; b)-локальный минимум; с,g)-локальный максимум; d-e)-отрезок слабого минимума; f)-точка перегиба.
Рассмотрим основную теорему о необходимом условии наличия экстремальной точки для функции одной переменной:
и
d2f(x*)/dx2 ³ 0 (£ 0). (1.6)
Доказательство. Предположим вначале, что x*-внутренняя точка минимума на [a, b], а e=Dx-малая величина (отрицательная или положительная).
Запишем с помощью ряда Тейлора изменение функции f в окрестности анализируемой точки x*:
. (1.7)
Тогда очевидно, что
f(x)³f(x*). (1.8)
Из неравенства (1.8) следует, что
. (1.9)
При достаточно малом e первое слагаемое доминирует над остальными, а так как e можно выбрать и положительным, и отрицательным, то неравенство (1.9) будет выполняться только в том случае, если
f’(x*)=0. (1.10)
Рассуждая аналогичным образом, нетрудно установить, что неравенство (1.10) будет справедливым только тогда, когда
f”(x*)³0. (1.11)
Замечание. Эта же схема доказательства применима и в случае локального максимума, с той лишь разницей, что знак неравенства (1.9) требуется заменить на противоположный.
Вышеприведенная теорема дает только необходимые условия экстремума, т.е. в случае, когда они не выполняются, точка x* не может быть точкой локального минимума (максимума). С другой стороны, если эти условия выполняются, мы не имеем гарантии, что x* является точкой локального минимума (максимума).
Введем следующие важные определения:
Для идентификации стационарной точки необходимо построить достаточные условия экстремума, которые даются следующей теоремой.
(1) если n–нечетное, то x*-точка перегиба;
(2) если n–четное, то x*-точка локального оптимума,
причем,
(а) если эта производная положительная, то x*-точка локального минимума;
(б) если эта
производная отрицательная, то
Доказательство. Используем снова разложение f(x) в ряд Тейлора в окрестности стационарной точки x* (2.4). Поскольку порядок первой отличной от нуля производной равен n, формулу (1 f(x).4) можно переписать в следующем виде:
. (1.12)
Если n – нечетное число, то правая часть (1.12) может принимать как положительные, так и отрицательные значения в зависимости от того, является ли величина e положительной или отрицательной. Это означает, что в зависимости от знака e разность f(x*+e)-f(x*) либо положительная, либо отрицательная. Следовательно, функция не достигает в точке x* своего минимального или максимального значения, т.е. x* - точка перегиба.
Если n – четное число, то величина en всегда положительная, а знак правой части (1.12) определяется первым слагаемым т.к. e - достаточно малая величина. Таким образом, если величина f(n)(x*) положительная, то f(x*+e)-f(x*)>0 и точка x* соответствует локальному минимуму. Аналогичные рассуждения нетрудно провести также для случая локального максимума.
f(x)=5x6-36x5+(165/2)x4-60x3+
определенной на всей
Можно показать, что первая производная этой функции после преобразований имеет вид
f’(x)=30x2(x-1)(x-2)(x-3),
обращаясь в нуль в точках x*=0,1,2,3, и, следовательно, эти точки являются стационарными.
Вторая производная функции равна
f”(x)=150x4-720x3+990x2-360x.
Вычислим значения второй производной и функции в стационарных точках (табл. 1.1).
Таблица 1.1.
x |
f(x) |
f”(x) |
0 1 2 3 |
36.0 27.5 44.0 5.5 |
0 60 -120 540 |
Отсюда следует вывод, что x=1,3 – точки локальных минимумов, а x=2 – точка локального максимума. Чтобы идентифицировать точку x=0, необходимо вычислить третью производную в этой точке:
f”’(x*)=(600x3-2160x2+1980x-
Так как эта производная отлична от нуля и имеет нечетный порядок, то точка x=0 является не точкой оптимума, а точкой перегиба (рис.1.4)
Рис.1.4. График исследуемой в примере функции
f(x)=5x6-36x5+(165/2)x4-60x3+
Рассмотрим вкратце вопрос, касающийся определения глобального минимума (или максимума) функции одной переменной. Как правило такой вопрос возникает тогда, когда целевая функция изначально определена на некотором интервале. Поскольку глобальный оптимум в то же время является и локальным, можно вычислить все локальные оптимумы исследуемой функции и выбрать из них наилучший, используя метод перебора. Рассмотрим алгоритм решения, основанный на таком элементарном подходе.
Итак, пусть требуется:
минимизировать f(x)
при ограничении a£x£b,
где a и b – установленные границы изменения значений переменной x.
Так как функция исследуется на заданном интервале, нетрудно заметить, что проверку наличия локального оптимума необходимо проводить не только в стационарных точках, но и в граничных точках интервала. Поэтому алгоритм поиска глобального минимума здесь очевиден:
Шаг 1. Приравнять df/dx=0 и найти все стационарные точки.
Шаг 2. Выбрать все стационарные точки, которые расположены в интервале [a,b], обозначив их как xi*, i=1,2,…,K.
Шаг 3. Найти наименьшее значение f(x) из множества:
f(a), f(x1), f(x2), …, f(xK), f(b),
т.е. к множеству всех стационарных точек мы добавили и граничные точки.
Замечание. При построении алгоритма мы не пытались классифицировать стационарные точки как точки локального минимума, максимума или точки перегиба, поскольку в задачах с ограничениями точка перегиба также может быть точкой локального минимума, если она совпадает с граничной точкой.
Изучаемые в данном разделе методы одномерного поиска можно применять только для унимодальных функций. В связи с этим алгоритм одномерного поиска включат в себя две основные части: алгоритм установления границ интервала унимодальности [a, b] и алгоритм локализации точки минимума.