Мегаобучалка Главная | О нас | Обратная связь


РЕШЕНИЕ ОДНОМЕРНЫХ ЗАДАЧ ОПТИМИЗАЦИИ МЕТОДАМИ ПОСЛЕДОВАТЕЛЬНОГО ПОИСКА



2019-12-29 190 Обсуждений (0)
РЕШЕНИЕ ОДНОМЕРНЫХ ЗАДАЧ ОПТИМИЗАЦИИ МЕТОДАМИ ПОСЛЕДОВАТЕЛЬНОГО ПОИСКА 0.00 из 5.00 0 оценок




Цель задания: приобрести практические навыки разработки алгоритмов и программ для решения одномерных задач оптимизации методами последовательного поиска: дихотомии и золотого сечения.

Индивидуальное задание

Найти минимум функции f(x) на промежутке [a,b] с точностью . Исходные данные и номера вариантов приведены в таблице 2. Построить график минимизируемой функции.

Найдите минимум функции  на промежутке [a,b] c точностью ε = 10-4 , методом «золотого сечения»постройте график минимизируемой функции.

Блок-схема метода «Золотого сечения» представлена на рисунке3.


 

 

Рисунок 3 – Блок-схема метода «Золотого сечения»

 

На рисунке 4 изображено решение задачи на ЭВМ и график минимизируемой функции.

Вывод: Методы последовательного поиска строятся в предположении унимодальности функции на заданном интервале. Исходя из свойств, унимодальности строится такая стратегия последовательного поиска экстремальной точки Х*, при которой любая пара вычислений f(x) позволяет сузить область поиска (интервал неопределённости).

Процедура минимизации функции:

procedure TForm1.SpeedButton2Click(Sender: TObject);

label l2;

Var a,b,e,x,x1,x2,y,y1,y2,Xmin,Ymin :real ;

 n :integer;

 t:string;

Function f(x:real):real;

 begin

 f:=tan(x)+exp(-x)+x;

 { f:=x*x+sin(x);}

 end;

 

 begin

 Form1.Series1.Clear;

 try // ввод начальных условий

 a:=strtofloat(form1.Edit9.Text);

 b:=strtofloat(form1.Edit10.Text);

 e:=strtofloat(form1.Edit11.Text);

 except

 showMessage('Неправильно введены начальные условия');

 end;

 

 x1:=a+0.382*(b-a); x2:=b-0.382*(b-a);

 y1:=f(x1); y2:=f(x2);

 n:=1;

 

l2: n:=n+1;

 if y1<= y2 then

 begin

 b:=x2;

 if (b-a) >= e then

 begin

 x2:=x1;

 x1:=a+0.382*(b-a);

 y2:=y1;

 y1:=f(x1);

 goto l2;

 end;

 end

 else

 begin

 a:=x1;

 if (b-a)>=e then

 begin

 x1:=x2;

 x2:=b-0.382*(b-a);

 y1:=y2;

 Y2:=f(x2);

 goto l2;

 end;

 end;

 Xmin:=(a+b)/2;

 Ymin:=f(Xmin);

 str(Xmin:10:4,t);

 form1.Label20.Caption:='Xmin = '+t;

 str(Ymin:10:4,t);

 form1.Label21.Caption:='Ymin = '+t;

 form1.Label22.Caption:='n = '+Inttostr(n);

 x:=strtofloat(form1.Edit9.Text);

 while x < strtofloat(form1.Edit10.Text) do

 begin

 y:=f(x);

 form1.Series1.AddXY(x,y);

 x:=x+0.1;

 end;

 

end;

Задание 3

ГРАДИЕНТНЫЕ МЕТОДЫ РЕШЕНИЯ МНОГОМЕРНЫХ ЗАДАЧ ОПТИМИЗАЦИИ

 

Цель задания: закрепить теоретические сведения и приобрести практические навыки поиска безусловного экстремума функции многих переменных градиентным методом.

Индивидуальное задание

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

 

Решение

1) В точке  f(X0) = = -14,5

Вычислим координаты градиента функции в точке Х0 :

.

Поскольку , то Х0 не является точкой экстремума

2) Переместимся изХ0 вдоль градиента -  в новую точкуХ1 по формуле:

т.е. .

Для определения координат точки Х1 нужно выбрать значение шага . Получим :

Из соотношения ( , )=0 имеем:

(-3-3 )(-3)+(1+ )=10+10 =0

откуда =


Задание 4



2019-12-29 190 Обсуждений (0)
РЕШЕНИЕ ОДНОМЕРНЫХ ЗАДАЧ ОПТИМИЗАЦИИ МЕТОДАМИ ПОСЛЕДОВАТЕЛЬНОГО ПОИСКА 0.00 из 5.00 0 оценок









Обсуждение в статье: РЕШЕНИЕ ОДНОМЕРНЫХ ЗАДАЧ ОПТИМИЗАЦИИ МЕТОДАМИ ПОСЛЕДОВАТЕЛЬНОГО ПОИСКА

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

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



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (190)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.005 сек.)