Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab1.popov.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
78.69 Кб
Скачать

Министерство образования и науки Российской Федерации

Федеральное государственное автономное образовательное учреждение

высшего профессионального образования

«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ

ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Институт Физико – технический

Направление подготовки 010400. Прикладная математика и информатика

Кафедра Прикладной математики

ОТЧЁТ

по лабораторной работе №1

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

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

Вариант № 10

Выполнил студент гр. 0В31 ____________ Попов.Н.А.

(Подпись) (Ф.И.О.)

_____ _____________ 2015 г.

(Дата сдачи отчета)

Отчёт принят:

___________________________ ____________ Бабушкин Ю.В.

(Ученая степень, ученое звание, должность) (Подпись) (Ф.И.О.)

_____ _____________ 2015 г.

(Дата проверки отчета)

Томск 2015 г.

Цель работы: Приобретение практических навыков для решения задач одномерной минимизации численными методами.

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

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

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

Численные методы одномерной минимизации

К основным численным методам одномерной минимизации относят:

- метод равномерного поиска;

- метод деления отрезка пополам;

- метод дихотомии;

- метод золотого сечения;

- метод Фибоначчи;

- метод квадратичной интерполяции и др.

F(X) =

Тип экстремума

Исходный интервал

Погрешность

10

min

[0; 2,5]

0.02

График функции

Поиск точного значения точки максимума с использованием необходимого и достаточного условий

  1. Необходимое условие существования экстремума:

Пусть точка   является точкой экстремума функции  , определенной в некоторой окрестности точки  . Тогда либо производная   не существует, либо  =0.

  1. Достаточное условие существования экстремума:

Пусть функция f непрерывна и дважды дифференцируема в точке  . Тогда при условии  и  является точкой локального максимума. А если  и  , то   является точкой локального минимума.

Результат:

1. Метод равномерного поиска

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

Листинг программы:

alfa=0.02;

a=0;

b=2.5;

N=(b-a)/alfa;

h=(b-a)/N;

for i=1:N+1

x(i)=a+(i-1)*h;

f(i)=5*x(i)^2+1/x(i);

end;

plot(x,f);

xmin=x(1);

fmin=f(1);

for i=2:N+1

if f(i)<fmin

xmin=x(i);

fmin=f(i);

k=i;

end;

end;

k

xmin

fmin

R=2/(N+1)

Результат:

k = 24

xmin = 0.4600

fmin = 3.2319

R = 0.0159

2. Метод деления интервала пополам

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

Листинг программы:

a(1)=0;

b(1)=2.5;

alpha=0.02;

k=1;

L(1)=b(1)-a(1);

while L(k)>alpha;

xc(k)=(a(k)+b(k))/2;

f=5*xc(k)^2+1/xc(k);

y(k)=a(k)+L(k)/4;

z(k)=b(k)-L(k)/4;

fy=5*y(k)^2+1/y(k);

fz=5*z(k)^2+1/z(k);

if fy<f

b(k+1)=xc(k);

a(k+1)=a(k);

xc(k+1)=y(k);

else

if fz<f

a(k+1)=xc(k);

b(k+1)=b(k);

xc(k+1)=z(k);

else

a(k+1)=y(k);

b(k+1)=z(k);

xc(k+1)=xc(k);

end;

end;

L(k+1)=b(k+1)-a(k+1);

k=k+1;

end;

k

xmin=(a(k)+b(k))/2;

fmin=5*xmin^2+1/xmin;

xmin

fmin

R=1/(2^(k/2))

Результат:

k = 8

xmin = 0.4688

fmin = 3.2320

R = 0.0625

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]