2.4 Случайный поиск

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

Предполагают, что интересующий нас минимум (или все минимумы) лежит в некоторой замкнутой области; линейным преобразованием координат помещают ее внутрь единичного -мерного куба. Выбирают в этом кубе  случайных точек.

Даже при миллионе пробных точек вероятность того, что хотя бы одна точка попадет в небольшую окрестность локального минимума, ничтожно мала. В самом деле, пусть диаметр котловины около минимума составляет  от пределов изменения каждой координаты. Тогда объем этой котловины составляет  часть объема -мерного куба. Уже при  ни одна точка в котловину не попадет.

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

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

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

Пусть, например, координаты – это размеры деталей механической конструкции, а минимизируемая функция есть мера качества конструкции. Если мы нашли минимум точно, то мы находимся в самом центре котловины около минимума. В этом случае вариации координат влияют на функцию слабее, чем в точках, расположенных ближе к краям котловины. А безопасные вариации координат имеют в данном примере смысл допусков на точность обработки деталей. Значит, при аккуратном вычислении координат минимума мы можем разрешить большие допуски, т. е. удешевить обработку деталей.

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


ЗАКЛЮЧЕНИЕ

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


СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1.  Калиткин Н.Н. Численные методы. М.: Наука, 1978. 512с.

2.  Амосов А.А., Дубинский Ю.А., Копченова Н. В. Вычислительные методы для инженеров. М.: Высшая школа, 1994. 543с.

3.  Ракитин В.И., Первушин В.Е. Практическое руководство по методам вычислений. М.: Высшая школа, 1998. 383с.


Приложение 1

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

{Методом покоординатного спуска найти точки локального минимума функции Химмельблау f(x)=(x1*x1+x2-11)*(x1*x1+x2-11)+(x1+x2*x2-7)*(x1+x2*x2-7) с точностью e=0.01}

program spusk;

uses crt;

const n=2; k=2;

type vector=array[1..n] of real;

var i:integer;

d,e,e1,h,h1,z:real;

x:vector; ch:char;

procedure pausa;

begin

writeln;

writeln ('Для выхода нажмите любую клавишу…');

repeat ch:=readkey until ch <> '';

end;

function f(x:vector):real;

var a,b:real;

begin a:=x[1]*x[1]+x[2]-11;

b:=x[1]+x[2]*x[2]-7;

f:=a*a+b*b;

end;

procedure scan (i:integer);

var a:boolean;

d1,z1:real;

begin z:=f(x);

repeat d1:=abs(h1); x[i]:=x[i]+h1; z1:=f(x); a:=(z1>=z);

if a then h1:=-h1/k;

z:=z1;

until a and (d1<e1);

end;

begin

clrscr;

writeln ('Введите координаты начального вектора (x1,x2):');

for i:=1 to n do read (x[i]);

writeln ('Задайте точность нахождения точки min f(x):');

read (e);

h:=0.2; e1:=e/k;

repeat d:=abs(h);

for i:=1 to n do

begin

h1:=h; scan (i);

end;

h:=h/k;

until d<e;

writeln ('Точка минимума: x1=',x[1]:9:6,' ','x2=',x[2]:9:6);

writeln ('Погрешность:',e:9:6);

pausa;

end.


Приложение 2

Результат работы программы:

Введите координаты начального вектора (x1,x2):

1

2

Задайте точность нахождения точки min f(x):

0.01

Точка минимума: x1= 2.996875 x2= 2.000000

Погрешность: 0.010000

Для выхода нажмите любую клавишу.


[1] Множество компактно, если из каждого бесконечного и ограниченного его подмножества можно выделить сходящуюся последовательность.

[2] Множество замкнуто, если предел любой сходящейся последовательности его элементов принадлежит этому множеству.

[3] Это верно не при всяких делениях отрезка, но для деления в соответствии (4) это справедливо.

[4] См. предыдущую сноску.

[5] Квадратичная форма называется положительно определенной, если при любых (за исключением обращающихся одновременно в нуль) она положительна.


Информация о работе «Минимум функции многих переменных»
Раздел: Математика
Количество знаков с пробелами: 28673
Количество таблиц: 2
Количество изображений: 2

Похожие работы

Скачать
34366
0
16

... , Флетчера-Ривса). Методы второго порядка, использующие, кроме того, и информацию о вторых производных функции f (x) (метод Ньютона и его модификации). Метод конфигураций (Хука - Дживса) Следует выделить два этапа метода конфигураций: 1) исследование с циклическим изменением переменных и 2) ускорение поиска по образцам. Исследующий поиск начинается в точке х0, называемой старым базисом. ...

Скачать
14269
0
4

... (x, y) выполняется неравенство: . При этом, т. е. приращение функции > 0. Определение 3: Точки локальных минимума и максимума называются точками экстремума. Условные Экстремумы При отыскании экстремумов функции многих переменных часто возникают задачи, связанные с так называемым условным экстремумом. Это понятие можно разъяснить на примере функции двух переменных. Пусть заданы функция ...

Скачать
19131
0
6

... p и q, получим некоторые наборы (в зависимости от p и q) на которых функция достигает максимума. 3. Решение задачи с использованием метода покоординатного спуска   3.1 Описание метода покоординатного спуска Изложим этот метод на примере функции трех переменных . Выберем нулевое приближение . Фиксируем значения двух координат . Тогда функция будет зависеть только от одной переменной ; ...

Скачать
40147
0
0

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

0 комментариев


Наверх