Методы нелинейной оптимизации

Изучение методов одномерной оптимизации и сравнение эффективности их применения для конкретных целевых функций. Нахождение минимума функции 1/|x-3|3 методами перебора, поразрядного поиска, дихотомии, золотого сечения, средней точки, хорд и Ньютона.

Рубрика Математика
Вид курсовая работа
Язык русский
Дата добавления 25.12.2015
Размер файла 761,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования

«Нижегородский государственный архитектурно-строительный университет»

Международный факультет экономики, права и менеджмента

Расчетно-графическая работа

по дисциплине «Исследование операций и методы оптимизации»

по теме «Методы нелинейной оптимизации»

Выполнил студент

Курс III

Группа ПИэ 13.13

Преподаватель

Нижний Новгород

2015 год

Содержание

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

2 Определение унимодальности функции

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

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

4.1 Метод перебора

4.2 Метод поразрядного поиска

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

4.4 Метод золотого сечения

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

4.6 Метод хорд

4.7 Метод Ньютона

Сравнение методов

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

Знакомство с оптимизационными задачами, изучение различных методов одномерной оптимизации и сравнение эффективности их применения для конкретных целевых функций.

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

2 Определение унимодальности функции

нелинейный оптимизация минимум функция

Функция F(x) является унимодальной на отрезке [A, B] в том и только в том случае, если она монотонна по обе стороны от единственной на рассматриваемом интервале оптимальной точки х* и принимаем значения f``(x)?0.

Определим унимодальность заданной функции 1/|x-3|3 двумя способами.

Аналитический способ. Найдем последовательно первую и вторую производные функции:

3/|x-3|4

-12/|x-3|5

Для аналитического определения унимодальности необходимо решить уравнение .

Графический способ

x

f(x)

f'(x)

f''(x)

2

1

3

12

2,1

1,371742

4,572474

20,32211

2,2

1,953125

7,324219

36,62109

2,3

2,915452

12,49479

71,39882

2,4

4,62963

23,14815

154,321

2,5

8

48

384

2,6

15,625

117,1875

1171,875

2,7

37,03704

370,3704

4938,272

2,8

125

1875

37500

2,9

1000

30000

1200000

3

#ДЕЛ/0!

#ДЕЛ/0!

#ДЕЛ/0!

3,1

1000

30000

-1200000

3,2

125

1875

-37500

3,3

37,03704

370,3704

-4938,27

3,4

15,625

117,1875

-1171,88

3,5

8

48

-384

3,6

4,62963

23,14815

-154,321

3,7

2,915452

12,49479

-71,3988

3,8

1,953125

7,324219

-36,6211

3,9

1,371742

4,572474

-20,3221

4

1

3

-12

Функция унимодальна на [2;2,9]

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

1) Найти производную функции .

2) Найти стационарные точки (точки, подозрительные на экстремум), решив уравнение .Обратить внимание на точки, в которых не существует двусторонней конечной производной.

3) Выяснить, меняет ли производная свой знак в точках, подозрительных на экстремум. Если она меняет знак с минуса на плюс, то в этой точке функция имеет свой минимум. Если с плюса на минус, то максимум, а если знак производной не меняется, то экстремума в этой точке нет.

4) Найти значение функции в точках минимума (максимума).

3/|x-3|4;

3/|x-3|4 ? 0;

- глобальный минимум .

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

4.1 Метод перебора

Описание:

Метод перебора -- простейший из методов поиска значений действительно-значных функций по какому-либо из критериев сравнения (на максимум, на минимум, на определённую константу).

Алгоритм:

1)Разобьем отрезок [а, b] на 10 равных частей точками деления:

=a+i*(b-a)/10, i=2,...2,9

2)Вычислив значения F(x) в точках . путем сравнения найдем точку

. где m - это число от 2 до 2,9. такую, что F() = minF() для всех i от 2 до 2,9.

3)Погрешность определения точки минимума функции F(x) методом перебора не превосходит E=(b-a)/n.

Для заданной функции

x

f(x)

Fmin=

1

2

1

x*=

2

2,1

1,371742

2,2

1,953125

2,3

2,915452

2,4

4,62963

2,5

8

2,6

15,625

2,7

37,03704

2,8

125

2,9

1000

4.2 Метод поразрядного поиска

Описание:

Метод поразрядного поиска. Этот метод представляет собой усовершенствование метода перебора. Поиск точки минимума функции осуществляется с переменным шагом.

Алгоритм:

1) Выбрать начальный шаг h=(b-a)/4. Положить х0=а. Вычислить F(x0).

2) Положить =+h. Вычислить F().

3) Сравнить F() и F(). Если F()>F(), то перейти к шагу 4, иначе - к шагу 5.

4) Положить =и F()=F(). Проверить условие принадлежности хо интервалу [а, b]. Если а <<b, то перейти к шагу 2, иначе - к шагу 5.

5) Проверка на окончание поиска: если |h| <= e, то вычисления завершить, полагая х*=, Fmin=F(), иначе - перейти к шагу 6.

6) Изменить направление поиска: положить =, F()=F(), h=-h/4.Перейти к шагу 2.

Для заданной функции:

а

b

E=

0,05

H=

0,225

2

2,9

шаг Н

x0

x1

x2

x3

х4

х5

0,225

2

2,225

СТОП

1,000

2,148

0,05625

2,225

2,16875

2,1125

2,05625

2

СТОП

2,148

1,741

1,431

1,190

1,000

0,014063

2

2,014063

СТОП

2,014063

СТОП

Точность достигнута

Fmin=

1,043402

Блок-схема:

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

Описание:

Этот метод является методом прямого поиска. В нем при поиске экстремума целевой функции используются только вычисленные значения целевой функции.

Алгоритм:

Дана функция F(x). Необходимо найти , доставляющий минимум (или максимум) функции F(x) на интервале [a,b] с заданной точностью .

1) На каждом шаге процесса поиска делим отрезок [a,b] пополам, x=(a+b)/2 - координата середины отрезка [a,b].

2) Вычисляем значение функции F(x ±вычисленной точки x.

3) Сравниваем F1 и F2 и отбрасываем одну из половинок отрезка [a,b].

Если F1<F2, то отрезок [x,b], тогда b=x. Иначе отрезок [a,x], тогда a=x.

4) Деление отрезка [a,b] продолжается, пока его длина не станет меньше заданной точности , т.е.

Блок схема:

Для заданной функции

Е=

0,05

E/2=

0,025

a

b

x1

x2

f(x1)

f(x2)

En

Критерий останова

2

2,9

2,425

2,475

5,260

6,911

0,450

Поиск

2,000

2,475

2,213

2,263

0,580

0,698

0,238

Поиск

2,000

2,263

2,106

2,156

0,345

0,453

0,131

Поиск

2,000

2,156

2,053

2,103

0,237

0,339

0,078

Поиск

2,000

2,103

2,027

2,077

0,186

0,284

0,052

Поиск

2,000

2,077

2,013

2,063

0,160

0,258

0,038

Точность достигнута

x*

Fmin

2,038

1,124

4.4 Метод золотого сечения

Описание:

Пусть задана функция . Тогда для того, чтобы найти определённое значение этой функции на заданном отрезке, отвечающее критерию поиска (пусть это будет минимум), рассматриваемый отрезок делится в пропорции золотого сечения в обоих направлениях.

Алгоритм:

1) Задаются начальные границы отрезка [a ; b] и точность .

2) Рассчитывают начальные точки:

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

Если (для поиска max изменить неравенство на ), то

Иначе .

3)Если , то и останов. Иначе возврат к шагу 2.

Блок схема:

Для заданной функции

E=

0,05

номер итерации

a

b

x1

x2

f(x1)

f(x2)

anew

bnew

En

En<E

1

2

2,9

2,344

2,556

3,539

11,440

2,000

2,556

0,278

Продолжить поиск

2

2,212

2,344

2,047

3,539

2,000

2,344

0,172

Продолжить поиск

3

2,131

2,212

1,526

2,047

2,000

2,212

0,106

Продолжить поиск

4

2,081

2,131

1,289

1,526

2,000

2,131

0,066

Продолжить поиск

5

2,050

2,081

1,167

1,289

2,000

2,081

0,041

точность достигнута

x*

Fmin

2,041

1,132

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

Описание: основан на алгоритме исключения интервалов, на каждой итерации которого рассматривается одна пробная точка R. Если в точке R выполняется неравенство f'(R) < 0, то в следствии унимодальности функции точка оптимума не может лежать левее точки R. Аналогично, если f'(R) > 0, то интервал x>R можно исключить.

Алгоритм:

1) Определить = , на заданном отрезке [a;b].

2) Вычислить f '().

3) Проверить критерий окончания вычислений. Если f '() , ,перейти к шагу 5, иначе - к шагу 4.

4) Перейти к новому отрезку локализации [a, b]. Если f '() > 0, то положить b = . Иначе положить a = . Перейти к шагу 2.

5) Положить x* . Вычислить f(x*).

Блок-схема:

Для заданной функции

e=

0,05

a

b

x*

f`(x*)

Критерий останова

2

2,9

2,45

32,784646

2

2,45

2,225

8,315999

Продолжить поиск

2

2,225

2,1125

4,835571

Продолжить поиск

2

2,1125

2,05625

3,781755

Продолжить поиск

2

2,05625

2,028125

3,362634

Продолжить поиск

2

2,028125

2,014063

3,174854

Продолжить поиск

2

2,014063

2,007031

3,085879

Продолжить поиск

2

2,007031

2,003516

3,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 и

.

Если же f(a) f //(a)<0, то x0=a и

.

Окончание итерационного цикла в этом методе происходит по условию: |f(x1)| < е или .

Блок-схема:

Для заданной функции:

e=

0,05

номер итерации

a

b

f`(a)

f`(b)

x

f`(x)

Критерий останова

1

2

2,9

3

30000

1,99991

2,99892

Продолжить поиск

2

2

1,99991

3

2,99892

1,749944

1,228579

точность достигнута

x*=

1,749944

Fmin=

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)

Алгоритм:

1) В качестве начального приближения задается любой корень уравнения, который находится одним из прямых методов.

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

3) Высчитываем по формуле:

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

Блок схема:

Для заданной функции:

e=

0,05

номер итерации

Xk

|Xk+1-Xk|

f`(x)

f``(x)

Критерий останова

1

2,3

-

12,49479

71,39882

-

2

2,125

-0,175

5,117868

23,39597

точность достигнута

x=

2,125

Fmin=

1,492711

Сравнение методов

Метод

Кол-во итераций

Обращение к функции f(x)

x

f(x)

Точный метод

1

1

2

1

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

158

158

2

1

Метод поразрядного поиска

9

9

2,014063

1,043402

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

6

12

2,038

1,124

Метод золотого сечения

5

10

2,041

1,132

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

8

8

2,003516

1,010621

Метод Хорд

2

6

2

1

Метод Ньютона

2

4

2,125

1,429711

Для данной функции самыми точными оказались: Точный метод , метод перебора, метод средней точки и метод поразрядного поиска

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

Размещено на Allbest.ru


Подобные документы

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

    курсовая работа [361,5 K], добавлен 10.06.2014

  • Математическая задача оптимизации. Минимум функции одной и многих переменных. Унимодальные и выпуклые функции. Прямые методы безусловной оптимизации и минимизации, их практическое применение. Методы деления отрезка пополам (дихотомия) и золотого сечения.

    курсовая работа [2,0 M], добавлен 26.08.2009

  • Методы условной и безусловной нелинейной оптимизации. Исследование функции на безусловный экстремум. Численные методы минимизации функции. Минимизация со смешанными ограничениями. Седловые точки функции Лагранжа. Использование пакетов MS Excel и Matlab.

    лабораторная работа [600,0 K], добавлен 06.07.2009

  • Методы нахождения минимума функций градиентным методом наискорейшего спуска. Моделирование метода и нахождение минимума функции двух переменных с помощью ЭВМ. Алгоритм программы, отражение в ней этапов метода на языке программирования Borland Delphi 7.

    лабораторная работа [533,9 K], добавлен 26.04.2014

  • Ознакомление с историей появления метода золотого сечения. Рассмотрение основных понятий и алгоритма выполнения расчетов. Изучение метода чисел Фибоначчи и его особенностей. Описание примеров реализации метода золотого сечения в программировании.

    курсовая работа [416,0 K], добавлен 09.08.2015

  • Рассмотрение эффективности применения методов штрафов, безусловной оптимизации, сопряженных направлений и наискорейшего градиентного спуска для решения задачи поиска экстремума (максимума) функции нескольких переменных при наличии ограничения равенства.

    контрольная работа [1,4 M], добавлен 16.08.2010

  • Поиск оптимальных значений некоторых параметров в процессе решения задачи оптимизации. Сравнение двух альтернативных решений с помощью целевой функции. Теорема Вейерштрасса. Численные методы поиска экстремальных значений функций. Погрешность решения.

    презентация [80,6 K], добавлен 18.04.2013

  • Формирование функции Лагранжа, условия Куна и Таккера. Численные методы оптимизации и блок-схемы. Применение методов штрафных функций, внешней точки, покоординатного спуска, сопряженных градиентов для сведения задач условной оптимизации к безусловной.

    курсовая работа [1,8 M], добавлен 27.11.2012

  • Методы нахождения минимума функции одной переменной и функции многих переменных. Разработка программного обеспечения вычисления локального минимума функции Химмельблау методом покоординатного спуска. Поиск минимума функции методом золотого сечения.

    курсовая работа [95,1 K], добавлен 12.10.2009

  • Нахождение производных функций, построение графика функции с помощью методов дифференциального исчисления, нахождение точки пересечения с осями координат. Исследование функции на возрастание и убывание, нахождение интегралов, установка их расходимости.

    контрольная работа [130,5 K], добавлен 09.04.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.