Минимум функции многих переменных

Поиск минимумов (экстремумов) в многомерном пространстве рассмотрим на примере функции двух переменных F(x,y). Данная функция представляет собой трехмерную поверхность в пространстве (x,y,F). Нас интересует поиск точек, в которых достигается min F(x,y).

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

Рассмотрим характерные примеры рельефов. Для изображения различных рельефов поверхностей будем строить линии уровня. Если мысленно провести равноотстоящие плоскости F = const до пересечения с поверхностью (x,y,F) и полученные линии спроектировать на плоскость (x,y), то это и есть линии уровня. По виду линий уровня будем различать три типа рельефов: котловинный, овражный и неупорядоченный.

При котловинном рельефе линии уровня похожи на эллипсы. На рис.5,а приведен пример линий уровня эллиптической формы функции F(x,y) = x2 + (x - y)2.

Необходимыми условиями точки минимума являются уравнения:

. (15)

Если разложить функцию F(x,y) в окрестности невырожденного минимума в ряд Тейлора до второго порядка малости, то с учетом (15) получим выражение:

, (16)

причем линии уровня имеют эллиптическую форму в окрестности минимума, когда квадратичная форма (16) положительно определена©.

 

Рис.5,а. Пример котловинного рельефа Рис.5,б. Овражный тип рельефа с кусочно-гладкими линиями уровнями
Рис.5,в. Пример разрешимого оврага Рис.5,г. Пример неупорядоченного типа рельефа

 

При овражном типе рельефа рассмотрим два случая. Если линии уровня кусочно-гладкие, как на рис.5,б, то выделим на них точки излома. Совокупность точек излома назовем истинным оврагом или гребнем в зависимости того, растет или падает значение функции в направлении угла между линией излома и линией уровня. Если функция F гладкая, то и линии уровня являются гладкими, однако на них могут быть участки с большой кривизной. Геометрическое место точек с максимальной кривизной называют разрешимыми оврагами и гребнями. На рис.5,в приведен пример длинного разрешимого оврага, “дно” которого имеет форму синуса, а минимальная точка — начало координат. Наличие овражного рельефа указывает на то, что в задаче не учтена некая скрытая связь между переменными. Так, если в примере функции рис.5,в ввести замену переменных x = x, h = y - sinx, то функция F предстанет в виде: F = 10h 2 + 0,1x 2 и уже после замены переменных рельеф котловинный.

Наконец, на рис.5,г приведен пример неупорядоченного типа рельефа, где чередуются максимумы и минимумы в точках с координатами , .

На листинге_№4 приведен код программы построения линий уровня поверхностей, представленных на рис.5.

 

Листинг_№4

%Примеры поверхностей для задачи минимизации

%функций двух переменных

%очищаем рабочее пространство

clear all

 

%построение котловинного рельефа, линии

%уровня похожи на эллипсы

% [x y]=meshgrid(-1.1:0.1:1.1,-1.5:0.1:1.5);

% F=x.^2+(x-y).^2;

% v=0:0.2:1;

% contour(x,y,F,v);

 

%построение овражного типа рельефа

% [x y]=meshgrid(-1.6:0.05:2.6,-2.2:0.05:2.2);

% F=abs(abs(x.^2+y.^2-1)-x);

% v=0:0.2:3;

% contour(x,y,F,v);

 

%построение рельефа типа разрешимого оврага

% [x y]=meshgrid(-3.5:0.05:3.5,-2.2:0.05:2.2);

% F=10*(y-sin(x)).^2+0.1*x.^2;

% v=[0.2 0.5 1 2.5 4 7];

% contour(x,y,F,v);

 

%построение примера неупорядоченного рельефа

[x y]=meshgrid(-2*pi:0.05:2*pi,-2*pi:0.05:2*pi);

lx=size(x); ly=size(y);

for i=1:lx(1)

for j=1:ly(1)

F(i,j)=(1+sin(x(i,j))^2)*(1+sin(y(i,j))^2);

end

end

v=[1.2 1.5 2 2.5 3 3.5];

contour(x,y,F,v);