Курсовая работа: Методы нелинейной оптимизации

Содержание
Постановка задачи
Определение унимодальности функции
Точный метод поиска экстремума
Приближенные методы поиска экстремума
.1 Метод перебора
.2 Метод поразрядного поиска
.3 Метод дихотомии
.4 Метод золотого сечения
.5 Метод средней точки
.6 Метод хорд
.7 Метод Ньютона
Сравнение методов


Дата добавления на сайт: 14 февраля 2025
Федеральное агентство по образованию
Государственное образовательное учреждение высшего профессионального образования
«Нижегородский государственный архитектурно-строительный университет»
Международный факультет экономики, права и менеджмента

Расчетно-графическая работа
по дисциплине «Исследование операций и методы оптимизации»
по теме «Методы нелинейной оптимизации»

Выполнил студент
Курс III
Группа ПИэ 13.13
Преподаватель

Нижний Новгород
год
Содержание

Постановка задачи
Определение унимодальности функции
Точный метод поиска экстремума
Приближенные методы поиска экстремума
.1 Метод перебора
.2 Метод поразрядного поиска
.3 Метод дихотомии
.4 Метод золотого сечения
.5 Метод средней точки
.6 Метод хорд
.7 Метод Ньютона
Сравнение методов

1 Постановка задачи

Знакомство с оптимизационными задачами, изучение различных методов одномерной оптимизации и сравнение эффективности их применения для конкретных целевых функций.
Нахождение минимума функции 1/|x-3|3 методами перебора, поразрядного поиска, дихотомии, золотого сечения, средней точки, хорд и Ньютона на интервале [2;4] cточностью до e=0,05, а также сравнение методов по скорости вычисления и точности.

2 Определение унимодальности функции
нелинейный оптимизация минимум функция
Функция F(x) является унимодальной на отрезке [A, B] в том и только в том случае, если она монотонна по обе стороны от единственной на рассматриваемом интервале оптимальной точки х* и принимаем значения f``(x)≥0.
Определим унимодальность заданной функции 1/|x-3|3 двумя способами.
Аналитический способ. Найдем последовательно первую и вторую производные функции:

Методы нелинейной оптимизации (рис. 1)Методы нелинейной оптимизации (рис. 2)3/|x-3|4
Методы нелинейной оптимизации (рис. 3)Методы нелинейной оптимизации (рис. 4)-12/|x-3|5

Для аналитического определения унимодальности необходимо решить уравнение Методы нелинейной оптимизации (рис. 5)Методы нелинейной оптимизации (рис. 6).

Графический способ
xf(x)f'(x)f''(x)
21312
2,11,3717424,57247420,32211
2,21,9531257,32421936,62109
2,32,91545212,4947971,39882
2,44,6296323,14815154,321
2,5848384
2,615,625117,18751171,875
2,737,03704370,37044938,272
2,8125187537500
2,91000300001200000
3#ДЕЛ/0!#ДЕЛ/0!#ДЕЛ/0!
3,1100030000-1200000
3,21251875-37500
3,337,03704370,3704-4938,27
3,415,625117,1875-1171,88
3,5848-384
3,64,6296323,14815-154,321
3,72,91545212,49479-71,3988
3,81,9531257,324219-36,6211
3,91,3717424,572474-20,3221
413-12
Функция унимодальна на [2;2,9]

Методы нелинейной оптимизации (рис. 7)

Методы нелинейной оптимизации (рис. 8)

3 Точный метод поиска экстремума

1) Найти производную функции Методы нелинейной оптимизации (рис. 9)Методы нелинейной оптимизации (рис. 10).
) Найти стационарные точки (точки, подозрительные на экстремум), решив уравнение Методы нелинейной оптимизации (рис. 11)Методы нелинейной оптимизации (рис. 12).Обратить внимание на точки, в которых не существует двусторонней конечной производной.
) Выяснить, меняет ли производная свой знак в точках, подозрительных на экстремум. Если она меняет знак с минуса на плюс, то в этой точке функция имеет свой минимум. Если с плюса на минус, то максимум, а если знак производной не меняется, то экстремума в этой точке нет.
) Найти значение функции в точках минимума (максимума).

Методы нелинейной оптимизации (рис. 13)Методы нелинейной оптимизации (рис. 14)3/|x-3|4;
/|x-3|4 ≠ 0;

Методы нелинейной оптимизации (рис. 15)Методы нелинейной оптимизации (рис. 16) - глобальный минимум Методы нелинейной оптимизации (рис. 17)Методы нелинейной оптимизации (рис. 18).

4 Приближенные методы поиска экстремума

.1 Метод перебора

Описание:
Метод перебора - простейший из методов поиска значений действительно-значных функций по какому-либо из критериев сравнения (на максимум , на минимум , на определённую константу).
Алгоритм:
)Разобьем отрезок [а, b] на 10 равных частей точками деления:

Методы нелинейной оптимизации (рис. 19)Методы нелинейной оптимизации (рис. 20)=a+i*(b-a)/10, i=2,...2,9

)Вычислив значения F(x) в точках Методы нелинейной оптимизации (рис. 21)Методы нелинейной оптимизации (рис. 22). путем сравнения найдем точку
Методы нелинейной оптимизации (рис. 23)Методы нелинейной оптимизации (рис. 24). где m - это число от 2 до 2,9. такую, что F(Методы нелинейной оптимизации (рис. 25)Методы нелинейной оптимизации (рис. 26)) = minF(Методы нелинейной оптимизации (рис. 27)Методы нелинейной оптимизации (рис. 28)) для всех i от 2 до 2,9.
)Погрешность определения точки минимума Методы нелинейной оптимизации (рис. 29)Методы нелинейной оптимизации (рис. 30) функции F(x) методом перебора не превосходит E=(b-a)/n.

Для заданной функции
xf(x)Fmin=1
21x*=2
2,11,371742
2,21,953125
2,32,915452
2,44,62963
2,58
2,615,625
2,737,03704
2,8125
2,91000
4.2 Метод поразрядного поиска

Описание:
Метод поразрядного поиска. Этот метод представляет собой усовершенствование метода перебора. Поиск точки минимума функции осуществляется с переменным шагом.
Алгоритм:
) Выбрать начальный шаг h=(b-a)/4. Положить х0=а. Вычислить F(x0).
2) Положить Методы нелинейной оптимизации (рис. 31)Методы нелинейной оптимизации (рис. 32)=Методы нелинейной оптимизации (рис. 33)Методы нелинейной оптимизации (рис. 34)+h. Вычислить F(Методы нелинейной оптимизации (рис. 35)Методы нелинейной оптимизации (рис. 36)).
) Сравнить F(Методы нелинейной оптимизации (рис. 37)Методы нелинейной оптимизации (рис. 38)) и F(Методы нелинейной оптимизации (рис. 39)Методы нелинейной оптимизации (рис. 40)). Если F(Методы нелинейной оптимизации (рис. 41)Методы нелинейной оптимизации (рис. 42))>F(Методы нелинейной оптимизации (рис. 43)Методы нелинейной оптимизации (рис. 44)), то перейти к шагу 4, иначе - к шагу 5.
) Положить Методы нелинейной оптимизации (рис. 45)Методы нелинейной оптимизации (рис. 46)=Методы нелинейной оптимизации (рис. 47)Методы нелинейной оптимизации (рис. 48)и F(Методы нелинейной оптимизации (рис. 49)Методы нелинейной оптимизации (рис. 50))=F(Методы нелинейной оптимизации (рис. 51)Методы нелинейной оптимизации (рис. 52)). Проверить условие принадлежности хо интервалу [а, b]. Если а аbE=0,05H=0,22522,9шаг Нx0x1x2x3х4х50,22522,225СТОП1,0002,1480,056252,2252,168752,11252,056252СТОП2,1481,7411,4311,1901,0000,01406322,014063СТОП2,014063СТОПТочность достигнута Fmin=1,043402
Блок-схема:

Методы нелинейной оптимизации (рис. 67)

4.3Метод дихотомии

Описание:
Этот метод является методом прямого поиска. В нем при поиске экстремума целевой функции используются только вычисленные значения целевой функции.
Алгоритм:
Дана функция F(x). Необходимо найти Методы нелинейной оптимизации (рис. 68), доставляющий минимум (или максимум) функции F(x) на интервале [a,b] с заданной точностью Методы нелинейной оптимизации (рис. 69).
) На каждом шаге процесса поиска делим отрезок [a,b] пополам, x=(a+b)/2 - координата середины отрезка [a,b].
2) Вычисляем значение функции F(x ±Методы нелинейной оптимизации (рис. 70)Методы нелинейной оптимизации (рис. 71)вычисленной точки x.
) Сравниваем F1 и F2 и отбрасываем одну из половинок отрезка [a,b].
Если F1Е=0,05E/2=0,025abx1x2f(x1)f(x2)EnКритерий останова22,92,4252,4755,2606,9110,450Поиск2,0002,4752,2132,2630,5800,6980,238Поиск2,0002,2632,1062,1560,3450,4530,131Поиск2,0002,1562,0532,1030,2370,3390,078Поиск2,0002,1032,0272,0770,1860,2840,052Поиск2,0002,0772,0132,0630,1600,2580,038Точность достигнутаx*Fmin2,0381,124
4.4 Метод золотого сечения

Описание:
Пусть задана функция Методы нелинейной оптимизации (рис. 75). Тогда для того, чтобы найти определённое значение этой функции на заданном отрезке, отвечающее критерию поиска (пусть это будет минимум), рассматриваемый отрезок делится в пропорции золотого сечения в обоих направлениях.
Алгоритм:
) Задаются начальные границы отрезка [a ; b] и точность Методы нелинейной оптимизации (рис. 76).
) Рассчитывают начальные точки:

Методы нелинейной оптимизации (рис. 77)Методы нелинейной оптимизации (рис. 78)
Методы нелинейной оптимизации (рис. 79)Методы нелинейной оптимизации (рис. 80)

и значения в них целевой функции :

Методы нелинейной оптимизации (рис. 81)

Если Методы нелинейной оптимизации (рис. 82) (для поиска max изменить неравенство на Методы нелинейной оптимизации (рис. 83)), то Методы нелинейной оптимизации (рис. 84)
Иначе Методы нелинейной оптимизации (рис. 85).
)Если Методы нелинейной оптимизации (рис. 86), то Методы нелинейной оптимизации (рис. 87) и останов. Иначе возврат к шагу 2.
Блок схема:

Методы нелинейной оптимизации (рис. 88)
Для заданной функции
E=0,05
номер итерацииabx1x2f(x1)f(x2)anewbnewEnEn<E
122,92,3442,5563,53911,4402,0002,5560,278Продолжить поиск
22,2122,3442,0473,5392,0002,3440,172Продолжить поиск
32,1312,2121,5262,0472,0002,2120,106Продолжить поиск
42,0812,1311,2891,5262,0002,1310,066Продолжить поиск
52,0502,0811,1671,2892,0002,0810,041точность достигнута
x*Fmin
2,0411,132

.5 Метод средней точки

Описание: основан на алгоритме исключения интервалов, на каждой итерации которого рассматривается одна пробная точка R. Если в точке R выполняется неравенство f'(R) 0, то интервал x>R можно исключить.
Алгоритм:
1) Определить Методы нелинейной оптимизации (рис. 89)Методы нелинейной оптимизации (рис. 90)= Методы нелинейной оптимизации (рис. 91), на заданном отрезке [a;b].
) Вычислить f '(Методы нелинейной оптимизации (рис. 92)Методы нелинейной оптимизации (рис. 93)).
) Проверить критерий окончания вычислений. Если кf '(Методы нелинейной оптимизации (рис. 94)Методы нелинейной оптимизации (рис. 95)) кЈe, ,перейти к шагу 5, иначе - к шагу 4.
) Перейти к новому отрезку локализации [a, b]. Если f '(Методы нелинейной оптимизации (рис. 96)Методы нелинейной оптимизации (рис. 97)) > 0, то положить b = Методы нелинейной оптимизации (рис. 98)Методы нелинейной оптимизации (рис. 99). Иначе положить a = Методы нелинейной оптимизации (рис. 100)Методы нелинейной оптимизации (рис. 101). Перейти к шагу 2.
) Положить x* »Методы нелинейной оптимизации (рис. 102)Методы нелинейной оптимизации (рис. 103). Вычислить f(x*).
Блок-схема:

Методы нелинейной оптимизации (рис. 104)

Для заданной функции
e=0,05
abx*f`(x*)Критерий останова
22,92,4532,784646
22,452,2258,315999Продолжить поиск
22,2252,11254,835571Продолжить поиск
22,11252,056253,781755Продолжить поиск
22,056252,0281253,362634Продолжить поиск
22,0281252,0140633,174854Продолжить поиск
22,0140632,0070313,085879Продолжить поиск
22,0070312,0035163,042561Точность достигнута
x*=2,003516
Fmin=1,010621

4.6 Метод хорд

Описание: Ориентирован на нахождение корня уравнения f'(x) в интервале [a;b], в котором имеются две точки N и P, в которых знаки производных различны. Алгоритм метода хорд позволяет аппроксимировать функцию f'(x) "хордой" и найти точку, в которой секущая графика f'(x) пересекает ось абсцисс.
Алгоритм:
В этом методе кривая f(x) заменяется прямой линией - хордой. В зависимости от знака выражения f(a)*f //(a) метод хорд имеет два варианта.
Если f(a) f //(a)>0, то x0=b и

Методы нелинейной оптимизации (рис. 105).

Если же f(a) f //(a)e=0,05номер итерацииabf`(a)f`(b)xf`(x)Критерий останова122,93300001,999912,99892Продолжить поиск221,9999132,998921,7499441,228579точность достигнутаx*=1,749944Fmin=0,511931
Так как x*=1,749944 не попадает на отрезок [2;2,9], то приравняем x к самому наиближайшему числу на отрезке.
x=2 , следовательно Fmin = 1.
4.7 Метод Ньютона

Описание: Ориентирован на нахождение корня уравнения f'(x) в интервале [a,b], в котором имеются две точки N и P, в которых знаки производных различны. Работа алгоритма начинается из точки xo, которая представляет начальное приближение корня уравнения f'(x)=0. Далее строится линейная аппроксимация функции f'(x) в точке x1, и точка, в которой аппроксимирующая линейная функция обращается в нуль, принимается в качестве следующего приближения. Если точка xk принята в качестве текущего приближения к оптимальной точке, то линейная функция, аппроксимирующая функцию f'(x) в точке xk, записывается в виде

f'(x,xk) = f'(xk) + f''(xk)(x-xk)

Алгоритм:
) В качестве начального приближения задается любой корень уравнения, который находится одним из прямых методов.
) В точке F(x0) строится касательная к кривой у = F(x) и ищется ее пересечение с осью х. Точка пересечения принимается за новую итерацию. Метод Ньютона самый быстрый способ нахождения корней уравнений.
) Высчитываем по формуле:

Методы нелинейной оптимизации (рис. 109)Методы нелинейной оптимизации (рис. 110)

) Итерационный процесс проходит до того времени, пока не будет выполнено условиеМетоды нелинейной оптимизации (рис. 111)Методы нелинейной оптимизации (рис. 112)е . где е - заданная точность.

Блок схема:

Методы нелинейной оптимизации (рис. 113)

Для заданной функции:
e=0,05
номер итерацииXk|Xk+1-Xk|f`(x)f``(x)Критерий останова
12,3-12,4947971,39882-
22,125-0,1755,11786823,39597точность достигнута
x=2,125
Fmin=1,492711

Сравнение методов
МетодКол-во итерацийОбращение к функции f(x)xf(x)
Точный метод1121
Метод перебора15815821
Метод поразрядного поиска992,0140631,043402
Метод дихотомии6122,0381,124
Метод золотого сечения5102,0411,132
Метод средней точки882,0035161,010621
Метод Хорд2621
Метод Ньютона242,1251,429711

Для данной функции самыми точными оказались: Точный метод , метод перебора, метод средней точки и метод поразрядного поиска
Так же метод дихотомии и метод средней точки довольно хорошо себя показали. Метод хорд и метод Ньютона для данной функции оказались самыми неэффективными.

Комментарии:

Вы не можете оставлять комментарии. Пожалуйста, зарегистрируйтесь.