Численные методы оптимизации. Метод золотого сечения

Автор: Пользователь скрыл имя, 25 Мая 2013 в 19:02, лабораторная работа

Описание работы

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

Работа содержит 1 файл

Метод Золотого сечения.docx

— 204.32 Кб (Скачать)

Министерство  образования и науки Украины

Восточно-украинский  университет имени В.Даля

 

 

 

 

 

Кафедра «Системная инженерия»

 

 

 

 

 

Математические  методы в РТС

Лабораторная  работа №5

 

Тема: «Численные методы оптимизации. Метод золотого сечения.»

 

 

 

 

Выполнил:                                 студент группы КТ-202

Ганущак А.С.

 

Проверила:                                 Андросова С.И. 

 

 

 

 

 

 

Луганск 2013

Цель

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

Задание

Выполнение

 

Блок-схема алгоритма:

 

Исходный код программы:

Program Metod_Zolotogo_Secheniya;

uses crt;

var a,b,E,x,F1,F2,FM,T1,T2,x1,x2:real;

    c:integer;

 

function F(x:real):real;

begin

  F:=sqr(x)+4*exp(-0.25*x);

end;

 

begin

writeln('====Ганущак Александр гр. КТ-202====');

writeln('    ====Метод Золотого сечения====');

writeln;

write('Введите начало интервала а = ');

readln(a);

write('Введите конец интервала b = ');

readln(b);

write('Точность Е = ');

readln(E);

writeln('" 1" - поиск MIN');

writeln('"-1" - поиск MAX');

readln(c);

 

T1:=0.381966;

T2:=1-T1;

 

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

x2:=a+(b-a)*T2;

F1:=F(x1);

F2:=F(x2);

 

repeat

if (c*F1)<(c*F2) then

  begin

    b:=x2;

    x2:=x1;

    F2:=F1;

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

    F1:=F(x1);

  end

else

  begin

    a:=x1;

    x1:=x2;

    F1:=F2;

    x2:=a+(b-a)*T2;

    F2:=F(x2);

  end;

until abs(b-a)<=E;

 

x:=(a+b)/2;

FM:=F(x);

writeln('Точка экстремума целевой функции Х = ', x:3:3);

if c=1 then

    writeln('MIN в точке экстремума = ',FM:3:3)

    else

      writeln('MAX в точке экстремума = ',FM:3:3);

readln;

end.   

Скриншоты программы:

 


Информация о работе Численные методы оптимизации. Метод золотого сечения