11844

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

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа: Методы безусловной оптимизации ЦЕЛЬ РАБОТЫ Цель лабораторной работы закрепление навыков исследования функций на выпуклость решение задач на нахождение безусловного экстремума выпуклой функции аналитически и численными методами...

Русский

2013-04-13

170 KB

25 чел.

Лабораторная работа:

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

  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


 

А также другие работы, которые могут Вас заинтересовать

69070. Крос-платформне програмування 286.5 KB
  Крос-платформність (багатоплатформність) — можливість виконувати програмне забезпечення (ПЗ) без переписування його коду на різних апаратних платформах та під управлінням різних операційних систем (інакше кажучи, на платформах різних ОС).
69071. Компонентна ідеологія 210.54 KB
  Слід зазначити що однією з багатьох важливих переваг компонентноорієнтованого програмування КОП є можливість створення кросплатформного програмного забезпечення. В індустрії програмування технологічні нововведення приходять хвилями кожна з яких проявляється як мода на нові засоби...
69072. Методи створення компонентів. Розробка і збирання компонентів в середовищі MS .Net Framework 52.99 KB
  Офіційно про розробку нової технології було оголошено 13 січня 2000 року. В цей день керівництвом компанії була озвучена нова стратегія, яка отримала назву Next Generation Windows Services (скор. NGWS, укр. Нове покоління служб Windows).
69073. Короткий огляд мови C# 568.5 KB
  Весь виконуваний код C# повинен міститися у класі – у даному випадку класі Program. На відміну від мови C та аналогічних, у C# не можна об’явити глобальну функцію чи змінну. Клас Program міститься у просторі імен DemoApp. При створенні програми в Visual C# простір імен створюється автоматично.
69074. Огляд мови програмування С# (частина 2) Клас та структури 185.5 KB
  В рамках оголошення класу та структури описується безліч змінних різних типів набір данихчленів класу правила породження об’єктів-представників структур і класів їх основні властивості і методи застосування яких забезпечує вирішення задачі.
69075. ТЕХНОЛОГІЯ ADO .NET. ВІД’ЄДНАНІ ОБ’ЄКТИ 76.35 KB
  В попередній лекції ми розглядали роботу з даними через приєднані об’єкти, тобто через постійне з’єднання з джерелом даних. Програма відкривала з’єднання з базою даних і не закривала його принаймні до завершення роботи з джерелом даних. В цей час з’єднання з джерелом підтримувалося постійно.
69076. АРХІТЕКТУРА ТА ПРОЕКТУВАННЯ КОМПОНЕНТНИХ СИСТЕМ 153.12 KB
  У попередніх лекціях ми розглядали створення локальних (автономних) Windows-застосунків. В результаті компіляції і збирання застосунку створювався один програмний компонент у формі збірки. У вигляді локальних застосунків розробляють сервісні програми, системні утиліти...
69077. ПРОМІЖНЕ ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ 144.91 KB
  Важливу роль у створенні кросплатформних програмних систем відіграють додаткові загальносистемні програмні засоби, які вирішують завдання взаємодії та інтеграції компонентів. Ці засоби розміщуються між рівнем операційної системи (ОС) і рівнем прикладного програмного забезпечення...
69078. РОЗПОДІЛЕНІ МОДЕЛІ ПРОМІЖНОГО РІВНЯ ДЛЯ WINDOWS 254.25 KB
  Друга рання модель, про яку говорилося в лекції 2, заснована на віддалених викликах процедур (Remote Procedure Calls, RPC). У цій моделі акцент робиться на приховуванні мережевого обміну за рахунок того, що процесу дозволяється викликати процедури, реалізація яких знаходиться на віддаленій машині.