🗊Презентация Методы нулевого порядка

Категория: Образование
Нажмите для полного просмотра!
Методы нулевого порядка, слайд №1Методы нулевого порядка, слайд №2Методы нулевого порядка, слайд №3Методы нулевого порядка, слайд №4Методы нулевого порядка, слайд №5Методы нулевого порядка, слайд №6Методы нулевого порядка, слайд №7Методы нулевого порядка, слайд №8Методы нулевого порядка, слайд №9Методы нулевого порядка, слайд №10Методы нулевого порядка, слайд №11Методы нулевого порядка, слайд №12Методы нулевого порядка, слайд №13Методы нулевого порядка, слайд №14Методы нулевого порядка, слайд №15Методы нулевого порядка, слайд №16Методы нулевого порядка, слайд №17Методы нулевого порядка, слайд №18Методы нулевого порядка, слайд №19Методы нулевого порядка, слайд №20Методы нулевого порядка, слайд №21Методы нулевого порядка, слайд №22Методы нулевого порядка, слайд №23Методы нулевого порядка, слайд №24Методы нулевого порядка, слайд №25Методы нулевого порядка, слайд №26Методы нулевого порядка, слайд №27

Содержание

Вы можете ознакомиться и скачать презентацию на тему Методы нулевого порядка. Доклад-сообщение содержит 27 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Тема 2 Методы оптимизации нулевого порядка
Описание общего алгоритма методов покоординатного спуска 
Особенности программной реализации 
Метод ГАУССА-ЗЕЙДЕЛЯ 
Метод ПАУЭЛЛА 
Метод РОЗЕНБРОКА 
Методы спуска с перебором направлений 
Хука-Дживса и Нелдера-Мидта
Описание слайда:
Тема 2 Методы оптимизации нулевого порядка Описание общего алгоритма методов покоординатного спуска Особенности программной реализации Метод ГАУССА-ЗЕЙДЕЛЯ Метод ПАУЭЛЛА Метод РОЗЕНБРОКА Методы спуска с перебором направлений Хука-Дживса и Нелдера-Мидта

Слайд 2





Методы покоординатного спуска
Среди методов нулевого порядка можно выделить группу методов покоординатного спуска:
Гаусса-Зейделя, 
Пауэлла,
 Дэвиса-Свена-Кемпи (ДСК), 
Розенброка.
Алгоритм этих методов в общем одинаков и описывается следующим образом:
Описание слайда:
Методы покоординатного спуска Среди методов нулевого порядка можно выделить группу методов покоординатного спуска: Гаусса-Зейделя, Пауэлла, Дэвиса-Свена-Кемпи (ДСК), Розенброка. Алгоритм этих методов в общем одинаков и описывается следующим образом:

Слайд 3


Методы нулевого порядка, слайд №3
Описание слайда:

Слайд 4





Общий алгоритм
1. Задается начальная точка          и начальный шаг  h  одномерного спуска .
2. Выбирается  n линейно независимых направлений 
Обычно это единичные координатные орты  (вообще их можно выбрать исходя из знания свойств целевой функции).
Описание слайда:
Общий алгоритм 1. Задается начальная точка и начальный шаг h одномерного спуска . 2. Выбирается n линейно независимых направлений Обычно это единичные координатные орты (вообще их можно выбрать исходя из знания свойств целевой функции).

Слайд 5





Общий алгоритм
3. По каждому    i-направлению  поочередно делается спуск   (i=1..n), т.е. находится zmi, доставляющий 
 пересчитывается точка 
При нахождении min  используется либо метод последовательного перебора, если функция не гладкая, либо метод квадратичной параболы для гладких функций.
В результате выполнения этих  спусков, называемых циклом, точка  сдвинулась на вектор
Описание слайда:
Общий алгоритм 3. По каждому i-направлению поочередно делается спуск (i=1..n), т.е. находится zmi, доставляющий пересчитывается точка При нахождении min используется либо метод последовательного перебора, если функция не гладкая, либо метод квадратичной параболы для гладких функций. В результате выполнения этих спусков, называемых циклом, точка сдвинулась на вектор

Слайд 6





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

Слайд 7





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


const n=2;
type mas=array[l..n] of real;
function F(х:mas): real;
begin
	F:=sqr(x[1]+2*x[2])
end;
Описание слайда:
Особенности программной реализации. При программной реализации следует описать отдельно подпрограмму вычисления минимизируемой функции, например, для целевой функции, имеющей вид const n=2; type mas=array[l..n] of real; function F(х:mas): real; begin F:=sqr(x[1]+2*x[2]) end;

Слайд 8





Особенности программной реализации
После этого напишем подпрограмму метода оптимизации:
Type fun=function (x:mas):real
Procedure MPSP(F:fun;
    var x0:mas;eps,h:real;var fm:real);
внутри которой следует ввести:
для координат векторов направлений массив D[i,k] где помещается i-я координата вектора dk
var
D:array[1..n,1..n] of real
zm,x,a,b:array[1..n] of real; 
рабочие массивы zm, x, 
a и b в методе Розенброка, ДСК, Пауэлла;
Описание слайда:
Особенности программной реализации После этого напишем подпрограмму метода оптимизации: Type fun=function (x:mas):real Procedure MPSP(F:fun; var x0:mas;eps,h:real;var fm:real); внутри которой следует ввести: для координат векторов направлений массив D[i,k] где помещается i-я координата вектора dk var D:array[1..n,1..n] of real zm,x,a,b:array[1..n] of real; рабочие массивы zm, x, a и b в методе Розенброка, ДСК, Пауэлла;

Слайд 9





Подпрограмма для функции (z)
 вдоль направления     
function F1(z: real): real;
	begin
		for k:=1 to n do
			x[k]=x0[k]+z*D[i,k];
		F1:=F(x);
	end;
Описание слайда:
Подпрограмма для функции (z) вдоль направления function F1(z: real): real; begin for k:=1 to n do x[k]=x0[k]+z*D[i,k]; F1:=F(x); end;

Слайд 10





Подпрограмма метода одномерного поиска 
Function MPP(z0,h,eps:real):real;
	begin
	 y1:=F1(z0); z1:=z0; 
    repeat
     repeat
       z0:=z1;  y0:=y1;
       z1:=z0+h;  y1:=F1(z1);
     until y1>y0;
     h:=-h/4;
    until abs(h)<eps;
   Result:=y0; 
end;
Описание слайда:
Подпрограмма метода одномерного поиска Function MPP(z0,h,eps:real):real; begin y1:=F1(z0); z1:=z0; repeat repeat z0:=z1; y0:=y1; z1:=z0+h; y1:=F1(z1); until y1>y0; h:=-h/4; until abs(h)<eps; Result:=y0; end;

Слайд 11





Подпрограмма преобразования векторов направлений [вычисляет d=(d,zm)]
Procedure PREOBD; (без параметров) 
	begin
	. . . . .
		D[i.k]=........
	end;

Отличаются методы видом оператора преобразования  направлений после каждого цикла спуска
Описание слайда:
Подпрограмма преобразования векторов направлений [вычисляет d=(d,zm)] Procedure PREOBD; (без параметров) begin . . . . . D[i.k]=........ end; Отличаются методы видом оператора преобразования  направлений после каждого цикла спуска

Слайд 12





Реализация алгоритма  спуска к минимуму
Begin
 D:=0; for i:=1 to n do D[i,i]:=1;
repeat
 dl=0;
for i:=1 to n do //спуск по направлениям
   begin
     zm[i]:=MPP(0,h,h/5);
     x0:=x;
     dl:=dl+abs(zm[i]); //погрешность
   end;
 PREOBD; h:=h*0.5;
Until dl<eps;
fm:=F(x0);
End;
Описание слайда:
Реализация алгоритма спуска к минимуму Begin D:=0; for i:=1 to n do D[i,i]:=1; repeat dl=0; for i:=1 to n do //спуск по направлениям begin zm[i]:=MPP(0,h,h/5); x0:=x; dl:=dl+abs(zm[i]); //погрешность end; PREOBD; h:=h*0.5; Until dl<eps; fm:=F(x0); End;

Слайд 13





Метод Гаусса-Зейделя
   не требует преобразования направлений, т.е. PREOBD; отсутствует, 
и спуск все время производится вдоль осей координат
Описание слайда:
Метод Гаусса-Зейделя не требует преобразования направлений, т.е. PREOBD; отсутствует, и спуск все время производится вдоль осей координат

Слайд 14





В случае длинного оврага, если оси координат направлены неудачно, метод спуска по координатам может сильно замедляться
Описание слайда:
В случае длинного оврага, если оси координат направлены неудачно, метод спуска по координатам может сильно замедляться

Слайд 15





 Метод ПАУЭЛЛА 
Пересчет направлений осуществляется следующим образом:
Описание слайда:
Метод ПАУЭЛЛА Пересчет направлений осуществляется следующим образом:

Слайд 16





Преобразование векторов di
Procedure PREOBD;
Var a:MAS;
begin
 for k=l to n do
  begin a[k]=0; 
    for i=1 to n do
       a[k]=a[k]+zm[i]*D[i,k]
  end; 
 for i: =n downto 2 do 
  for k=1 to n do D[i,k]=D[i-1,k];
  da=0; for k=l to n do
          da=da+sqr(a[k]); da=sqrt(da);
  for k=1 to n do D[1,k]=a[k]/da;
end;
Описание слайда:
Преобразование векторов di Procedure PREOBD; Var a:MAS; begin for k=l to n do begin a[k]=0; for i=1 to n do a[k]=a[k]+zm[i]*D[i,k] end; for i: =n downto 2 do for k=1 to n do D[i,k]=D[i-1,k]; da=0; for k=l to n do da=da+sqr(a[k]); da=sqrt(da); for k=1 to n do D[1,k]=a[k]/da; end;

Слайд 17





Метод Розенброка
Формулы пересчета направлений:
Описание слайда:
Метод Розенброка Формулы пересчета направлений:

Слайд 18





Траектория спуска
 по Методу Розенброка
Описание слайда:
Траектория спуска по Методу Розенброка

Слайд 19





Procedure PREOBD;//метод Розенброка
Procedure PREOBD;//метод Розенброка
VAR a:array[1..n,l..n] of real;
	c: array[l...,n] of real;
	aa, cc,ad:real; i,j,k,l: integer;
begin
for i=l to n do
for k=l to n do 
begin a[i,k]=0; for j:=i to n do
				a[i,k]=a[i,k]+zm[j]*D[j,k]
end;
da=0; for k=l to n do da=aa+sqr(a[1,k]); da=sqrt(da); 
for k=1 to n do D[1,k]=a[1,k]/da;
for i=2 to n do 
begin for k=l to n do
	begin c[k]=a[i,k];
	for j=1 to i-1 do
		begin ad=0 for l=1 to n do ad=ad+а[i,1]*D[j,1]
		c[k]=c[k]-ad*D[j,k];
		end; 
	end; 
dс=0; for k=l to n do dc=dc+sqr(c[k]); dc=sqrt(dc);
for k=l to n do d[i,k]=c[k]/dc;
end
end;
Описание слайда:
Procedure PREOBD;//метод Розенброка Procedure PREOBD;//метод Розенброка VAR a:array[1..n,l..n] of real; c: array[l...,n] of real; aa, cc,ad:real; i,j,k,l: integer; begin for i=l to n do for k=l to n do begin a[i,k]=0; for j:=i to n do a[i,k]=a[i,k]+zm[j]*D[j,k] end; da=0; for k=l to n do da=aa+sqr(a[1,k]); da=sqrt(da); for k=1 to n do D[1,k]=a[1,k]/da; for i=2 to n do begin for k=l to n do begin c[k]=a[i,k]; for j=1 to i-1 do begin ad=0 for l=1 to n do ad=ad+а[i,1]*D[j,1] c[k]=c[k]-ad*D[j,k]; end; end; dс=0; for k=l to n do dc=dc+sqr(c[k]); dc=sqrt(dc); for k=l to n do d[i,k]=c[k]/dc; end end;

Слайд 20





Методы спуска с перебором направлений 
Другая группа методов, нулевого порядка, представителями которых являются методы
 Последовательного покоординатного перебора
 Хука-Дживса 
 Нелдера-Мида
 иллюстрируют широкие возможности для творческого поиска разнообразных способов выбора направлений
Описание слайда:
Методы спуска с перебором направлений Другая группа методов, нулевого порядка, представителями которых являются методы Последовательного покоординатного перебора Хука-Дживса Нелдера-Мида иллюстрируют широкие возможности для творческого поиска разнообразных способов выбора направлений

Слайд 21





Метод Хука-Дживса
Описание слайда:
Метод Хука-Дживса

Слайд 22





Траектория Метода Нелдера-Мида
Описание слайда:
Траектория Метода Нелдера-Мида

Слайд 23





Отражение
Описание слайда:
Отражение

Слайд 24





Растяжение
Описание слайда:
Растяжение

Слайд 25


Методы нулевого порядка, слайд №25
Описание слайда:

Слайд 26


Методы нулевого порядка, слайд №26
Описание слайда:

Слайд 27





Конец
Описание слайда:
Конец



Похожие презентации
Mypresentation.ru
Загрузить презентацию