Вы находитесь на странице: 1из 3

Санкт-Петербургский политехнический университет Петра Великого

Институт металлургии, машиностроения и транспорта


Высшая школа автоматизации и робототехники

Отчёт
Задание 1

Дисциплина: Методы и теория оптимизации

Студент гр. 3341506/00401 Иванов Д.А.

Преподаватель Третьяков Д.А.

« »__________ 2021 г.

Санкт-Петербург

2021
Найти аналитически стационарные точки, проверить их на
экстремальность, а также найти все локальные и глобальные минимумы и
максимумы.
f ( x 1 , x 2 , x 3) =5 x 21+ x 22 +4 x1 x 2−16 x1 −12 x 2

Для поиска стационарной точки найдём частную производную функции


по каждой из переменных и приравняем их к нулю. Все расчёты производились
в среде MATLAB (см. Приложения).
∂f
=10 x 1+ 4 x 2−16
∂ x1

∂f
=4 x1 +2 x 2−12
∂ x2

x 1=−4 x 2=14

Таким образом была найдена единственная стационарная точка (1/2, -1,


1/2). Проверим её на экстремальность, для этого составим матрицу вторых
производных:
A=(10 4 4 2)

A ' =(10)

detA ' =10> 0

detA =4 >0

Главные миноры являются положительными, то найденная стационарная


точка является локальным максимумом.

2
ПРИЛОЖЕНИE
Приложение А. Программа для расчёта по заданию 1

syms x1 x2 x3
%Задание функции
f = 5*x1.^2+x2.^2+4*x1*x2-16*x1-12*x2
fun = @(x1,x2,x3) 5*x1.^2+x2.^2+4*x1*x2-16*x1-12*x2;

disp('Первые производные функции:')


df_x1 = diff(f,x1) % df/dx1
df_x2 = diff(f,x2) % df/dx2

%Необходимое условие экстремума: dx3(x)/dx1=dx3(x)/dx2 = 0


disp('Стационарная точка:')
[x1_0, x2_0] = solve(df_x1==0, df_x2==0)

%Составление матрицы вторых производных


%Первый столбец
df_x1_0 = diff(f,x1,2);
df_x2_0 = diff(f,x2,x1);

%Второй столбец
df_x1_1 = diff(f,x1,x2);
df_x2_1 = diff(f,x2,2);

M = [df_x1_0]
A = [df_x1_0 df_x2_0; df_x1_1 df_x2_1]

A = det(A)
M = det(M)