КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Методы одномерной оптимизации
Эти методы строятся в предположении унимодальности функции F(x) на заданном интервале [a, b]. К функции не предъявляются требования непрерывности или дифференцируемости, предполагается лишь, что для любого x Î [a, b] значение F(x) может быть вычислено. Методы одномерного поиска можно разделить на методы последовательного поиска (методы сокращения интервалов: дихотомии, золотого сечения и Фибоначчи) и методы, использующие аппроксимацию функции (методы квадратичной и кубической интерполяции и др.) ü Методы последовательного поиска (методы сокращения интервалов, методы исключения интервалов) Методы этой группы нацелены на построение такой стратегии поиска x*, при которой любая пара вычислений F(x) позволяет сузить область поиска (или интервал неопределенности). Вычисляя F(x) в точках x1 и x2 таких, что a < x1 < x2 < b, можно локализовать интервал неопределенности путем анализа полученных значений функции: если F(x1) < F(x2), то x* Î [a, x2]; если F(x1) = F(x2), то x* Î [x1, x2]; если F(x1) > F(x2), то x* Î [x1, b];
Основное различие между методами последовательного поиска состоит в стратегиях выбора значений x1 и x2. · Метод дихотомии (половинного деления) – один из самых простых методов последовательного поиска. Метод половинного деления (метод дихотомии) проиллюстрирован ниже.
· Метод золотого сечения предполагает такое сокращение интервала на каждом шаге, что отношение целого к большей части было равно отношению большей части к меньшей. Это отношение, равное 1.618, и называют «золотым сечением». (1: 0,618 = 1,618; 0.618: 0,382 = 1,618) Координаты точек x1,k и x2,k определяются следующим образом: x1,k = ak + 0.382×(bk – ak); x2,k = bk – 0.382×(bk – ak). Значение коэффициента К (0,382) подобрано так, что в полученном отрезке меньшей длины одна из промежуточных точек совпадет с промежуточной точкой от предыдущего шага. Это позволяет сократить число вычислений целевой функции на всех шагах (кроме первого) в 2 раза. Таким образом, требуется не более N шагов и N+1 вычисление целевой функции, где N можно рассчитать, используя соотношение (b–a)/ε = (1–a)N при заданной погрешности ε определения экстремума.
· Метод чисел Фибоначчи Стратегия поиска связана с использованием чисел Фибоначчи, которые можно получить из рекуррентного соотношения Rk = Rk-1 + Rk-2, k = 2, 3, …, R0 = R1 = 1. В отличие от метода золотого сечения, здесь коэффициент сокращения интервала изменяется от итерации к итерации, хотя он также близок к значению 0.382. Норенков-2000: Согласно методу чисел Фибоначчи, используют числа Фибоначчи Ri, последовательность которых образуется по правилу Ri+2 = Ri+1 + Ri при R0 = R1 = 1, т.е. ряд чисел Фибоначчи имеет вид 1, 1, 2, 3, 5, 8, 13, 21, 34,.... Метод аналогичен методу золотого сечения с тем отличием, что коэффициент K равен отношению Ri-2 /Ri, начальное значение i определяется из условия, что Ri должно быть наименьшим числом Фибоначчи, превышающим величину (b–a)/ε, где ε — заданная допустимая погрешность определения экстремума. Так, если (b–a)/ε = 100, то начальное значение i = 12, поскольку R12 = 144, и K = 55/144 = 0,3819, на следующем шаге будет K = 34/89 = 0,3820 и т.д. Основной недостаток метода – необходимость задания числа шагов. Основное преимущество – быстрое сужение интервала неопределенности: при числе шагов n = 14 интервал неопределенности примерно в 5 раз меньше, чем получаемый по методу половинного деления. В то же время по сравнению с методом золотого сечения метод Фибоначчи позволяет получить интервал только на 17% меньше, и при большом числе шагов оба эти метода практически идентичны. ü Методы полиномиальной аппроксимации Общая идея методов, использующих аппроксимацию функции, основана на приближении функции гладким полиномом и использовании этого полинома для оценки координаты минимума. · Метод квадратичной интерполяции – один из популярных методов этой группы. Метод заключается в замене нелинейной функции F(x) квадратичной параболой F2(x), построенной по трем точкам, принадлежащим F(x), так, чтобы значения аппроксимирующей функции F2(x) совпали со значениями F(x) в этих трех точках. Минимум квадратичной функции находится с использованием аналитического условия оптимальности: df/dx = 0.
На первом этапе в качестве исходных трех точек используются x1 = a, x2 = (a + b)/2, x3 = b. В этих точках вычисляется f(x) и по полученным точкам f(x1), f(x2), f(x3) строится парабола f2 = C2 x2 + C1 x + C0, коэффициенты которой находятся из решения соответствующей системы уравнений: f2(x1) = f(x1), f2(x2) = f(x2), f2(x3) = f(x3) Значения коэффициентов: C0 = f(x1), C1 = [f(x2) – f(x1)] / (x2 – x1), C2 = 1 / (x3 – x2)× {[ f(x3) – f(x1)] / (x3 – x1) – [f(x2) – f(x1)] / (x2 – x1)} Условие оптимальности приводит к уравнению x4 = – C1 / 2C2, где х4 – точка минимума параболы f2(x). Далее выбирается новый отрезок, внутри которого находится точка х4, и c использованием х3, х4 строится новая парабола, по которой уточняется положение минимума f(x), и т. д. до тех пор, пока величина отрезка, внутри которого находится оптимум, не станет меньше заданной погрешности e. Таким образом, метод имеет итерационный характер. К достоинствам метода относится высокая скорость сходимости, хотя метод может не всегда сходиться.
Например, на рис. ниже показана ситуация (для случая максимизации функции), когда метод параболической аппроксимации сходится к решению уже на третьем этапе: парабола 3, построенная по точкам х3, х4, х5, практически совпадает с исходной функцией 1.
Пример. Найти максимум функции f(x) = sin (x + 1) на интервале [-1; 2], точность e = 0,01. Решение. Для построения аппроксимирующей параболы находим точки x1 = a, x2 = (a + b)/2, x3 = b. Система уравнений для нахождения коэффициентов параболы примет вид:
Решение системы можно найти любым из известных способов, например, по формулам Крамера. На первом шаге получаем = 0,5571, f( ) = 0.9999. По этой точке, а также по второй и третьей исходным точкам, лежащим по обе стороны от точки максимума параболы, аналогично строится вторая парабола.
Уже на третьем шаге разница между двумя точками максимума менее заданной погрешности, поэтому поиск можно заканчивать (четвертый шаг приведен для наглядности вычислений). Поэтому х*» 0,5708, и f*» f (0,5708) = 1. Кроме описанных методов, существует и ряд других, например, метод Пауэлла, предусматривающий последовательное применение квадратичной аппроксимации, метод Давидона, использующий кубическую аппроксимацию, и др. Примеры программной реализации различных методов приведены в литературе, например, в книге Б. Банди «Методы оптимизации». Заметим, что универсального метода, наилучшего для любых задач, пока не создано. Поэтому в современных математических пакетах возможна автоматическая смена метода в процессе решения задачи, как например в Matlab – переход от метода золотого сечения (golden) к методу квадратичной аппроксимации (parabolic):
Дата добавления: 2014-12-16; Просмотров: 4577; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |