(15)
Тогда приходим к методу
(16)
При αk=0 метод переходит в метод Ньютона, при αk→∞ направление движения стремится к антиградиенту. Таким образом, (16) представляет собой компромисс между этими двумя методами. За счет выбора αk можно добиться глобальной сходимости метода.
Метод (16) обладает перед (11) тем преимуществом, что он (как и градиентный метод) пригоден не только для выпуклых функций, тогда как в методе (11) требуется положительная определенность матрицы
2f(x).
Есть специальные модификации метода Ньютона, в которых матрица
2f(xk) заменяется на некоторую положительно определенную, если сама
2f(xk) таковой не является.
Однако во всех описанных модификациях метода Ньютона каждая итерация (как и в основном методе Ньютона) требует очень большой вычислительной работы (вычисление
2f(x), peшение систем линейных уравнений), а скорость сходимости вдали от минимума, вообще говоря, не высока.
Таким образом, попытки «слегка подправить» градиентный метод и метод Ньютона хотя и позволяют устранить некоторые их недостатки, но не меняют положение с наиболее серьезными их дефектами — медленной сходимостью градиентного метода и трудоемкостью метода Ньютона.
5.9. Сравнение методов одномерного поиска
Наилучшими критериями сравнения методов поиска, которые были описаны выше, есть их эффективность и универсальность. Под эффективностью алгоритма понимают число вычислений функции, необходимое для достижения необходимого сужения интервала неопределенности. Из табл. 1 видно, что наилучшим в этом отношении есть метод Фибоначчи, а наиболее плохим - метод общего поиска.
Таблица 1. Сравнение методов одномерного поиска по значением коэффициента дробления интервала неопределенности f
Количество вычислений целевой функции N | Общий поиск | Деление отрезка пополам | Метод дихотомии | Метод золотого сечения | Метод Фибоначчи |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 1,0 0,667 0,500 0,400 0,333 0,286 0,250 0,222 0,200 0,182 0,167 0,154 0,143 0,133 0,125 0,118 0,111 0,105 0,100 0,095 | 1,0 - 0,500 - 0,250 - 0,125 - 0,0625 - 0,0312 - 0,0156 - 0,00781 - 0,00391 - 0,00195 - | 1,0 0,500 - 0,250 - 0,125 - 0,0625 - 0,0312 - 0,0156 - 0,00781 - 0,00391 - 0,00195 - 0,000976 | 1,0 0,618 0,382 0,236 0,146 0,090 0,056 0,345 0,0213 0,0132 0,00813 0,00502 0,00311 0,00192 0,00119 0,000733 0,000453 0,000280 0,000173 0,000107 | 1,0 0,500 0,333 0,200 0,125 0,077 0,048 0,0294 0,0182 0,0112 0,00694 0,00429 0,00265 0,00164 0,00101 0,000626 0,000387 0,000239 0,000148 0,0000913 |
Конструктор не с большим удовлетворением использует метод Фибоначчи, так как при его применении необходимо заранее задавать число вычислений значений функции. Однако он может воспользоваться методом золотого сечения. Как правило, методы Фибоначчи и золотого сечения, обладают высокой эффективностью, наиболее подходят для решения одномерных унимодальных задач оптимизации.
Универсальность алгоритма означает, что его можно легко применить для решения самых разнообразных задач. В этом отношении метод Фибоначчи, уступает другим, так как нуждается в отдельном вычислении положения точек, в которых будет определяться значение целевой функции на каждом новом шаге. Этим приходится расплачиваться за повышение эффективности метода. С точки зрения универсальности малоэффективный метод общего поиска имеет по крайней мере одно преимущество - его можно с успехом применять и для неунимодальных функций, если они достаточно тучные. Нередко заранее не известно, есть ли рассмотренная целевая функция унимодальной. В таких случаях нужно использовать несколько разных алгоритмов и посмотреть, дают ли они все один и тот самый оптимум. Отсюда следует важный вывод, который нужно иметь в виду, решая задачи оптимизации: не существует универсального алгоритма, который позволял бы решать любые задачи. Решая сложные задачи оптимизации, нужно пользоваться разными методами, так как это позволяет увеличить судьбу удобных решений.
Пример 1. Одномерная минимизация в среде Mathcad
Для нахождения минимума одномерной функции в среде Mathcad используется функция root(f(var1, var2, ...),var1, [a, b]) – возвращает переменную var1, которая лежит между a и b, в которой решаемая функция равна нулю.
Параметры:
f – уравнение, которое следует решить;
var1 – корень уравнения;
[a, b] – отрезок, на котором ищется решение уравнения.
Например, необходимо найти минимум гладкой унимодальной функции у=х2+ех, используя необходимое условие минимума.
Определим целевую функцию
Определим первую производную целевой функции
Определим вторую производную целевой функции
Достаточное условие унимодальности (f''(x)>0) выполненная
Минимум гдадкой функции достигается в стационарной точке (f'(x)=0).
Решим уравнение f'(x)=0, используя функцию root; начальное приближение корня пусть равно нулю (х=0)
Точка минимума х=-0.351732
Значение функции в точке минимума
Подтвердим результаты вычислений графически
5.10. Многошаговые методы
В градиентном методе на каждом шаге никак не используется информация, полученная на предыдущих итерациях. Естественно попытаться учесть «предысторию» процесса для ускорения сходимости. Такого рода методы, в которых новое приближение зависит от s предыдущих:
xk+1 = φk( xk+1,..., xk-s+1), (1)
называются s-шаговыми. Градиентный метод и метод Ньютона были одношаговыми, теперь рассмотрим многошаговые (s > 1) методы.
1. Метод тяжелого шарика. Одним из простейших многошаговых методов является двухшаговый метод тяжелого шарика
(2)
где
— некоторые параметры. Ясно, что при β = 0
метод (2) переходит в градиентный. Свое название метод получил из-за следующей физической аналогии. Движение тела («тяжелого шарика») в потенциальном поле при наличии силы трения (или вязкости) описывается дифференциальным уравнением второго порядка
(3)
Ясно, что из-за потери энергии на трение тело в конце концов окажется в точке минимума потенциала f(x). Таким образом, тяжелый шарик «решает» соответствующую задачу минимизации. Если рассмотреть разностный аналог уравнения (3), то придем к итерационному методу (2).
Введение инерции движения (член
в итерационный процесс может привести к ускорению сходимости. Это видно, например, из рис. 1 — вместо зигзагообразного движения в градиентном методе в данном случае получается более плавная траектория по «дну оврага».

Рис. 1. Метод тяжелого шарика (а) и градиентный метод (б).
Эти эвристические соображения подкрепляются следующей теоремой
Теорема 1. Пусть х*— невырожденная точка минимума Тогда при
(4)
найдется ε > 0 такое, что при любых
метод (2) сходится к х* со скоростью геометри-
ческой прогрессии.
(5)
Величина q минимальна и равна
(6)
Схема доказательства. В данном случае непосредственно применить приемы исследования сходимости, описанные ранее, нельзя, так как все они рассчитаны на одношаговые процессы. Можно, однако, использовать способ увеличения размерности пространства, позволяющий свести многошаговый процесс к одношаговому. Введем 2п-мерный вектор zk = {xk — х*, xk-1 — х*}. Тогда итерационный процесс (2) может быть записан в форме
(7)
где квадратная матрица А размерности 2п×2п и имеет вид
(8)
Пусть
— собственные значения
матрицы В. Toгдa собственные значения ρj, j= 1, .... 2п, матрицы А совпадают с собственными значениями матриц 2×2 вида
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |


