Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Кочура_lab1 / Богомазов_лб1

.doc
Скачиваний:
30
Добавлен:
12.04.2015
Размер:
176.13 Кб
Скачать

2

МИНОБРНАУКИ РОССИИ

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

«Юго-Западный государственный университет»

(ЮЗГУ)

Кафедра конструирования и технологии электронно- вычислительных средств

Лабораторная работа: «МЕТОДЫ БЕЗУСЛОВНОЙ ОПТИМИЗАЦИИ»

Выполнил: Богомазов Р.Ю.

Принял: Кочура А.В.

Курск 2013

  1. ЦЕЛЬ РАБОТЫ

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

  1. Выполнение работы

Исследуемая функция:

График функции приведен на рисунке 1.

Рисунок 1. График исследуемой функции

Аналитический метод.

Находим первые производные:

Приравниваем производные нулю и решаем систему уравнений:

Находим вторые производные и составляем матрицу Гессе

Матрица Гессе положительно определена, следовательно в точке (1,1) глобальный минимум.

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

Этот метод реализован средствами MATLAB текст программы приведен ниже

% Значения коэффициентов

g = 0.1; % дельта

% Начальная точка

x = [-0.1;1.5];

k = 1; % Счетчик шагов

kmax = 100; % Предельное число шагов,

% задается для предотвращения зацикливания

% Массивы для хранения промежуточных координат

x1trace = [x(1,1)];

x2trace = [x(2,1)];

i = 2;

while k < kmax;

% Вычисление коэффициента шага

%градиент

gr = [2*x(1,1) - 400*x(1,1)*(x(2,1)-x(1,1).^2)-2; 200*(x(2,1)- x(1,1).^2)];

%матрица Гессе

H=[1200*x(1,1).^2-400*x(2,1)+2,-400*x(1,1);-400*x(1,1),200];

d = -inv(H)*gr; % шаг

x = x + d; % модификация точки

% Сохранение координат

x1trace(i) = x(1,1);

x2trace(i) = x(2,1);

i = i + 1;

% Проверка условия останова

if sqrt(gr(1,1)^2 + gr(2,1)^2) <= g;

break;

% Выход из цикла в случае выполнения условия

end

k = k + 1;

end

% Построение графика

X = -2:0.1:2;

Y = -2:0.1:2;

[X, Y] = meshgrid(X, Y);

Z = 100*(Y-X.^2).^2 + (1-X).^2; % функция

[C, h] = contour(X, Y, Z);

clabel(C, h)

% Отображение меток на линиях уровня

hold on;

plot(x1trace, x2trace, '-+');

% Вывод начальной точки на график

text(x1trace(1) + 0.1, x2trace(1) + 0.1, 'M0');

%x1trace

%x2trace

% Вывод решения на график

text(-1.5, 1.5, char(['x1 = ' num2str(x(1,1))], ['x2 = ' num2str(x(2,1))], ['k = ' num2str(k)]));

Результат выполнения программы приведен на рисунке 2.

Рисунок 2. Результат выполнения прогаммы.

Выводы: функция была исследована на выпуклость. Была найдена точка глобального минимума (1,1) аналитическим и численным методом Ньютона. Численный метод реализован средствами MATLAB.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

  1. Методы оптимизации функций многих переменных. Лабораторный практикум. Екатеринбург 2007, 42 с.

  2. Применение пакета “MATLAB” для решения нелинейных задач оптимизации градиентными методами. Методические указания для семинаров по дисциплине «Оптимизация и оптимальное управление технологическими процессами» Москва 2009, 32 с.

  3. Гилл Ф., Мюррей У., Райт М. Практическая оптимизация: пер.с англ. – М.: Мир, 1985 – 509 с., ил.

  4. Методы Оптимизации Систем Автоматизированного Проектирования. Метод Ньютона – электронный ресурс. http://optimizaciya-sapr.narod.ru/bez_mnogomer/nuton.html

Соседние файлы в папке Кочура_lab1