Студопедия

КАТЕГОРИИ:


Архитектура-(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 при заданной погрешности ε определения экстремума.

САПР-1986, кн. 9: САПР-1986, кн. 8:

· Метод чисел Фибоначчи

Стратегия поиска связана с использованием чисел Фибоначчи, которые можно получить из рекуррентного соотношения 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. По этой точке, а также по второй и третьей исходным точкам, лежащим по обе стороны от точки максимума параболы, аналогично строится вторая парабола.

 

п x1 x2 x3 f(х1) f(x2) f(x3) C2 C1 C0
1 -1 0.5 2 0 0.9975 0.1411 -0.412 0.459 0.871 0.5571 0.9999
2 0.5 0.5571 2 0.9975 0.9999 0.1411 -0.4249 0.4914 0.858 0.5782 1
3 0.5571 0.5782 2 0.9999 1 0,1411 -0,4208 0.4809 0.8626 0.5714 1
4 0,5571 0,5714 0,5782 0,9999 1 1 -0,5 0,5708 0,8371 0,5708 1

Уже на третьем шаге разница между двумя точками максимума менее заданной погрешности, поэтому поиск можно заканчивать (четвертый шаг приведен для наглядности вычислений). Поэтому х*» 0,5708, и f*» f (0,5708) = 1.

Кроме описанных методов, существует и ряд других, например, метод Пауэлла, предусматривающий последовательное применение квадратичной аппроксимации, метод Давидона, использующий кубическую аппроксимацию, и др. Примеры программной реализации различных методов приведены в литературе, например, в книге Б. Банди «Методы оптимизации».

Заметим, что универсального метода, наилучшего для любых задач, пока не создано. Поэтому в современных математических пакетах возможна автоматическая смена метода в процессе решения задачи, как например в Matlab – переход от метода золотого сечения (golden) к методу квадратичной аппроксимации (parabolic):

 

 




Поделиться с друзьями:


Дата добавления: 2014-12-16; Просмотров: 4534; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.022 сек.