Безусловная оптимизация

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

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид лабораторная работа
Язык русский
Дата добавления 16.09.2021
Размер файла 448,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Факультет дистанционного обучения (ФДО)

Кафедра автоматизированных систем управления (АСУ)

Отчёт по лабораторной работе №1 по дисциплине «Методы оптимальных решений»

Безусловная оптимизация

Выполнил(а):

студент(ка) гр. 586П10-1

М.Ш. Набиева

«16» сентября 2021 г.

Ташкент 2021г.

Задание

Найти минимум функции: на [0,2] с точностью , при помощи следующих методов: алгоритм равномерного блочного поиска, метод Фибоначчи, метод касательных, метод парабол.

График функции:

Блок-схемы. Метод касательных.

Метод парабол.

Блочный метод

Метод Фибоначчи

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

Метод касательных

#include<iostream.h>

#include<conio.h>

#include<math.h>

#include<stdlib.h>

double f(double x);

double f(double x)

{

return -4*x+exp(fabs(x-0.2));

}

double df(double x)

{

return -4+exp(fabs(x-0.2));

}

void main()

{ double a,b,E,N,x,y,z1,z2,y1,y2,S,z;

int i,j;

a=0;

b=2;

E=0.0015;

N=4;

y1=f(a);

z1=df(a);

y2=f(b);

z2=df(b);

clrscr();

cout<<"\nMetod kasatel`nyh.";

do{

S=((z2*b-z1*a)-(y2-y1))/(z2-z1);

y=f(S);

z=df(S);

if(z==0){ x=S; cout<<"N="<<N<<" "<<"x="<<x<<" y="<<y; getch();exit(0);}

if(z>0) { b=S; y2=y; z2=z;}

else { a=S; y1=y; z1=z;}

N=N+2;

}while((b-a)>2*E);

x=(a+b)/2;

y=f(x);

cout<<endl;

cout<<"\nReshenie:";

cout<<"\nN="<<N;

cout<<"\nx="<<x;

cout<<"\ny="<<y;getch();

}

Метод парабол

#include<iostream.h>

#include<math.h>

#include<conio.h>

double f(double x);

double f(double x)

{ return -4*x+exp(fabs(x-0.2)); }

void main()

{ double N,a,b,E,c,ya,yb,yc,yt,S,t,x,y;

int i,j;

E=0.0015;

a=0.0;b=2.0;N=3;

ya=f(a);

yb=f(b);

cout<<"\nya="<<ya;

cout<<"\nyb="<<yb;

cout<<"\nc=";cin>>c;

yc=f(c);

do{

S=c+0.5*(pow((b-c),2)*(ya-yc)-(pow((c-a),2)*(yb-yc)))/((b-c)*(ya-yc)+(c-a)*(yb-yc));

if(S==c){ t=(a+c)/2;}

else{t=S;}

yt=f(t);

if(t>c){ if(yt<yc){a=c;ya=yc;c=t;yc=yt;}

else{ b=t;yb=yt;}

}

else{ if(yt<yc){b=c;yb=yc;c=t;yc=yt;}

else{a=t;ya=yt;}

}

N++;

}while((b-a)>E);

x=(a+b)/2;y=f(x);

cout<<"\nx="<<x;

cout<<"\ny="<<y;

cout<<"\nN="<<N;

getch();

}

Блочный метод

#include<iostream.h>

#include<conio.h>

#include<math.h>

double f(double x)

{ return -4*x+exp(fabs(x-0.2));

}

void main()

{

double delta,E,x[50],y[50],a,b,n,xR,yR;

int j,i,t,l,k,N;

E=0.0015;

delta=E/100;

a=0;b=2;

clrscr();

cout<<"\nBlocks metod.";

cout<<endl;

cout<<"\nVvedite razmer bloka n=";cin>>n;

t=n;

if(t%2==0){ k=n/2; N=0;

do{ for(j=1;j<=k;j++)

{ x[2*j]=a+j*((b-a)/(k+1));

x[2*j-1]=x[2*j]-delta; }

for(i=1;i<=n;i++)

y[i]=f(x[i]);

N=N+n;

x[0]=a;

x[n+1]=b;

l=1;

for(i=2;i<=n;i++)

if(y[i]<y[l]) l=i;

a=x[l-1];

b=x[l+1];

}while((b-a)>2*E);

xR=(a+b)/2;

yR=f(xR);

cout<<"\nђҐиҐ­ЁҐ.";

cout<<"\nN="<<N;

cout<<"\nx="<<xR;

cout<<"\ny="<<yR;

getch();

}

else{

k=(n+1)/2;

x[k]=(a+b)/2;

y[k]=f(x[k]);

N=1;

do{ for(i=1;i<=n;i++)

{x[i]=a+i*((b-a)/(n+1));

y[i]=f(x[i]);

}

for(i=1;i<=n;i++)

{if(i!=k)

y[i]=f(x[i]);

}

N=N+(n-1);

x[0]=a;

x[n+1]=b;

l=1;

for(i=2;i<=n;i++)

if(y[i]<y[l]) l=i;

a=x[l-1];

b=x[l+1];

}while((b-a)>2*E);

xR=(a+b)/2;

yR=f(xR);

cout<<"\nReshenie:";

cout<<"\nN="<<N;

cout<<"\nx="<<xR;

cout<<"\ny="<<yR;

cout<<endl;

getch();

}

}

Метод Фибоначчи

#include<iostream.h>

#include<math.h>

#include<conio.h>

double f(double x)

{ return -4*x+exp(fabs(x-0.2)); }

void main()

{

double a,b,F[16],x,y,x1,x2,y1,y2,E,delta;

int i,j,n,N,Fn;

clrscr();

E=0.0015;

n=1;

delta=E/100;

a=0;b=2;

F[0]=F[1]=1;

Fn=(b-a)/(2*E);

for(i=2;F[i]<Fn;i++)

{

F[i]=F[i-1]+F[i-2];

n++;

}

N=2;

x1=a+(F[n-2]/F[n])*(b-a);

y1=f(x1);

x2=a+(F[n-1]/F[n])*(b-a);

y2=f(x2);

j=2;

cout<<"\nMetod Fibonacci.";

cout<<endl;

do{ if(y1<=y2){ b=x2;x2=x1;y2=y1;

N++;j++;

x1=a+b-x2;

y1=f(x1);

}

else{ a=x1;x1=x2;y1=y2;

N++;j++;

x2=a+b-x1;

y2=f(x2);

}

}while(j<=n-3);

if(y1<=y2){ b=x2;x2=x1;y2=y1;}

else a=x1;

x1=x2-delta;

y1=f(x1);

N++;

if(y1<=y2) b=x2;

else a=x1;

x=(a+b)/2;

y=f(x);

cout<<"\Reshenie:";

cout<<"\nN="<<N;

cout<<"\nx="<<x;

cout<<"\ny="<<y;

getch();

}

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

Метод

x

y

N

Блочный

n=2

1,586867

-2,345177

20

n=3

1,585937

-2,345177

21

Фибоначчи

1,583607

-2,345163

13

Касательных

1,587135

-2,345176

22

Парабол c=1,59

1,586294

-2,345177

10

Вывод

безусловная оптимизация алгоритм программный

В ходе лабораторной работы была сделана программная реализация методов безусловной оптимизации.

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

Размещено на Allbest.ru


Подобные документы

  • Расчет переходного процесса на основе численных методов решения дифференциальных уравнений. Разработка математической модели и решение с использованием метода пространства состояний. Составление математической модели с помощью матрично-векторного метода.

    курсовая работа [161,1 K], добавлен 14.06.2010

  • Модель обработки радиоголографических изображений. Изображение объекта, находящегося за препятствием. Фильтр для практической реализации метода. Исследование эффективности метода пространственной фильтрации при малом поглощении и преломлении в стене.

    дипломная работа [4,1 M], добавлен 19.06.2013

  • Основные понятия оптимального проектирования. Этапы решения задачи проектирования радиоэлектронного устройства с оптимальными характеристиками с использованием методов параметрической оптимизации. Многокритериальная оптимизация в задачах с ограничениями.

    реферат [89,7 K], добавлен 04.03.2009

  • Структурный синтез и оптимизация в электронных схемах. Конструирование коэффициентов передаточной функции. Развитие метода компонентных уравнений. Преобразование подобия частных решений. Генетические и автоматизированные процедуры синтеза структур.

    курсовая работа [306,1 K], добавлен 03.03.2011

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

    курсовая работа [171,1 K], добавлен 19.12.2009

  • Необходимое условие применения СВЧ-методов. Варианты схем расположения антенн преобразователя по отношению к объекту контроля. Три группы методов радиоволновой дефектоскопии: на прохождение, отражение и на рассеяние. Аппаратура радиоволнового метода.

    реферат [2,8 M], добавлен 03.02.2009

  • Алгоритм определения параметров периодических решений в нелинейной системе автоматического регулирования. Разновидности оценки устойчивости САР. Особенности использования метода гармонического баланса (метода Гольдфарба) для проведения расчетов.

    контрольная работа [454,4 K], добавлен 05.11.2011

  • Исследование спектральных характеристик электроэнцефалограммы. Гармонический анализ периодических и непериодических сигналов, их фильтрация и прохождение через нелинейные цепи. Расчёт сигнала на выходе цепи с использованием метода интеграла Дюамеля.

    курсовая работа [1,7 M], добавлен 13.12.2013

  • Визначення значень та мінімізація булевої функції за допомогою метода карт Карно і метода Квайна-МакКласки. Аналіз комбінаційної схеми методом П-алгоритму. Проектування керуючих автоматів Мілі та Мура: кодування станів, побудування таблиці переходів.

    контрольная работа [58,3 K], добавлен 07.10.2013

  • Классификация методов радиоволнового контроля диэлектрических изделий и материалов. Измеряемые параметры и принципы измерений РВК. Возможности метода модулированного отражения при технологическом контроле. Элементы и устройства волноводных трактов.

    дипломная работа [1,9 M], добавлен 07.03.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.