Решение задачи параметрической идентификации математической модели объекта управления

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 25.04.2022
Размер файла 251,1 K

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

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

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

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

Федеральное агентство по образованию

Государственное образовательное учреждение

высшего профессионального образования

Магнитогорский государственный технический университет им. Г.И. Носова

Кафедра промышленной кибернетики и систем управления

Контрольная работа

по дисциплине «Моделирование систем»

Решение задачи параметрической идентификации математической модели объекта управления

Выполнил студент: Сайров Александр Михайлович

Проверил преподаватель: Мухина Елена Юрьевна

Магнитогорск 2007

Задание 1

Решить задачу многомерной оптимизации 2-мя методами, найти оптимальное значение постоянной времени и времени запаздывания для указанной кривой разгона.

Рис. 1. Кривая разгона

Целевая функция:

min

0, при t < ф

hT (t) = при t > ф

Задание 2

Решение задач линейного программирования.

Задача 1

Максимизировать функцию

f = x1 + 2x2 max

x1, x2 ? 0;

2x1 + 2x2 ? 10;

x1 + 5x2 ? 20;

x1 - x2 ? 4.

Задача 2

Минимизировать функцию

f = 2x1 + x2 min

x1, x2 ? 0;

3x1 + x2 ? 2;

x1 + 5x2 ? 15

Задание 3

Метод покоординатного спуска (метод Гаусса - Зейделя)

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

Основным достоинством метода покоординатного спуска (метод Гаусса - Зейделя) является его простота. Что касается недостатков этого метода, то к ним можно отнести трудности в поиске точки экстремума при наличии ограничений и «оврагов». Также этот метод не обладает высокой точностью.

Программа 1

#include <stdio.h>

#include <conio.h>

#include <math.h>

#include <iostream.h>

const float e=0.001;

const int S=10;

const int N=3;

const float T=2.75;

const float tau=0.88;

const float k=0.02;

float t[10]={0,1.0,1.5,2.0,2.5,4.0,4.5,6.0,6.5,8.0},

he[10]={0, 0,00192, 0,0045, 0,0087, 0,015, 0,0181, 0,0196, 0,0199, 0,0199, 0,02},

m[N]={0.88,2.75,0.02};

float znach[2];

float fr;

int i;

float ht(float tau,float T,float k,float t)

{

if(t<tau)

return 0;

else

return fr=k*(1-exp(-((t-tau)/T)));

}

void f(float tau,float T,float k)

{

int j;

znach[0]=fabs(pow(he[0]-ht(tau,T,k,t[0]),2));

for(j=1;j<10;j++)

if(fabs(pow(he[j]-ht(tau,T,k,t[j]),2))>znach[0])

{znach[0]=fabs(pow(he[j]-ht(tau,T,k,t[j]),2));

znach[1]=t[j];

}

}

float func(float m,int n)

{switch(n)

{

case 1:f(m,T,k);break;

case 2:f(tau,m,k);break;

case 3:f(tau,T,m);break;

}

return 0;

}

double gold(double a,double b,int i)

{

double x1,x2,y1,y2;

x1=a+(1-tau)*(b-a);

y1=func(x1,i);

x2=a+(tau*(b-a));

y2=func(x2,i);

while(fabs(a-b)>e)

{

if(y1<y2)

{

b=x2;x2=x1;y2=y1;

x1=a+(1-tau)*(b-a);

y1=func(x1,i);

}

else

{ a=x1;

x1=x2;

y1=y2;

x2=a+(tau*(b-a));

y2=func(x2,i);

}

}

return (x1+x2)/2;

}

void min()

{

double x[N];

double h[N]={1.0,2.5,0.02},

m[N]={1.5,4.0,0.02};

int j;

float s,x0;

for(j=0;j<N;j++)

x[j]=(h[j]+m[j])/2;

do

{ s=0;

for(j=0;j<N;j++)

{

x0=gold(h[j],m[j],j++);

s+=pow((m[j]-x0),2);

m[j]=x0;

}

}

while(fabs(sqrt(s)>e));

}

int main()

{

double a[2]={0.5,2.0},b[2]={1.0,4.0},m[2]={0.88,2.75},x0,s;

int j;

clrscr();

do

{

s=0;

for(j=0;j<N;j++)

{

x0=gold(a[j],b[j],j++);

s+=pow((m[j]-x0),2);

m[j]=x0;

}

}

while(fabs(sqrt(s)>0.001));

printf("\n\n\t\t\t**********Metod 1**********\n\n\t\t\t");

printf("tau=%.1f,T=%.0f\n",tau,T);

printf("\min=%.5f\n",znach[0]);

for(j=0;j<10;j++)

{

printf("ht(t)=%.4f\n",ht(tau,T,k,t[j]));

}

getch();

return 0;

}

Результаты выполнения программы 1 заношу в сводную таблицу

Таблица 1

Время

Экспериментальные значения

Расчетные значения

(метод Гаусса - Зейделя)

t

he

ht

0

0

0

1

0,00192

0,0018

1.5

0,0045

0,0035

2

0,0087

0,0076

2.5

0,015

0,012

4

0,0181

0,0157

4.5

0,0196

0,0178

6

0,0199

0,0188

6.5

0,0199

0,019

8

0,02

0,0192

Динамические параметры

фз

0.88

1

Tоб

2.75

3

Минимальное значение функции

0,0082

Метод конфигураций (метод Хука - Дживса)

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

параметрическая идентификация математическая модель

Программа 2

#include <stdio.h>

#include <conio.h>

#include <math.h>

#include <iostream.h>

const float e=0.01;

const int S=10;

const int N=3;

const float T=2.75;

const float tau=0.88;

const float k=0.02;

float t[10]={0,1.0,1.5,2.0,2.5,4.0,4.5,6.0,6.5,8.0},

he[10]={0, 0,00192, 0,0045, 0,0087, 0,015, 0,0181, 0,0196, 0,0199, 0,0199, 0,02};

float znach[2],

bb[N],y[N],p[N],h=1.0;

float ps,bs,kk,fi,fb;

float xx[N]={0.88,2.75,0.02};

float fx;

float ht(float tau,float T,float k,float t)

{

if(t<tau)

return 0;

else

return fx=k*(1-exp(-((t-tau)/T)));

}

void f(float tau,float T,float k)

{

int j;

znach[0]=fabs(pow(he[0]-ht(tau,T,k,t[0]),2));

for(j=1;j<10;j++)

if(fabs(pow(he[j]-ht(tau,T,k,t[j]),2))>znach[0])

{znach[0]=fabs(pow(he[j]-ht(tau,T,k,t[j]),2));

znach[1]=t[j]; }

}

float func(float x,int n)

{switch(n)

{

case 1:f(x,T,k);break;

case 2:f(tau,x,k);break;

case 3:f(tau,T,x);break;

case 4:f(xx[0],xx[1],xx[2]);break;

}

return znach[0];

}

void min(void)

{

int i;

clrscr();

kk=h;

for(i=0;i<N;i++)

{y[i]=xx[i];

p[i]=xx[i];

bb[i]=xx[i];

}

fi=func(0,0.03);

ps=0;

bs=1;

int j=0;

fb=fi;

do

{xx[j]=y[j]+kk;

if(func(0,0.03)<fi) y[j]=xx[j];

else

{xx[j]=y[j]-kk;

if(func(0,0.03)<fi) y[j]=xx[j];

else xx[j]=y[j];

}

fi=func(0,0.03);

if(j!=N)

{j+=1;

continue;

}

if(fi<fb-1e-08)

{for(i=0;i<N;i++)

{p[i]=2*y[i]-bb[i];

bb[i]=y[i];

y[i]=xx[i];}

fb=fi;

ps=1;

bs=0;

fi=func(0,0.03);

j=0;

continue;}

if((ps==1)&&(bs==0))

{for(i=0;i<N;i++)

{ p[i]=bb[i];

y[i]=bb[i];

xx[i]=bb[i];}

bs=1;

ps=0;

fi=func(0,0.03);

fb=func(0,0.03);

j=0;

continue;}

else

{kk=h/10;

if(kk<e)break;

j=1;

continue;

}

}

while(1);

}

int main()

{

int j;

printf("\n\n\t\t\t**********Metod 2**********\n\n\t\t\t");

printf("tau=%.1f,T=%.1f\n",tau,T);

printf("\min=%.5f\n",znach[0]);

for(j=0;j<10;j++)

{

printf("ht(t)=%.4f\n",ht(tau,T,k,t[j]));

}

getch();

return 0;

}

Результаты выполнения программы 2 заношу в сводную таблицу

Таблица 2

Время

Экспериментальные значения

Расчетные значения

(метод Гаусса - Зейделя)

t

he

ht

0

0

0

1

0,00192

0,00182

1.5

0,0045

0,0015

2

0,0087

0,005

2.5

0,015

0,0096

4

0,0181

0,0137

4.5

0,0196

0,0164

6

0,0199

0,0178

6.5

0,0199

0,0185

8

0,02

0,0189

Динамические параметры

фз

0.88

0.9

Tоб

2.75

2.8

Минимальное значение функции

0,0056

Таблица 3 Сравнительная таблица

Время

Экспериментальные значения

Расчетные значения

(метод Гаусса - Зейделя)

Расчетные значения

(метод Хука - Дживса)

t

he

ht

ht

0

0

0

0

1

0.004

0,0018

0,00182

1.5

0.007

0,0035

0,0015

2

0.01

0,0076

0,005

2.5

0.013

0,012

0,0096

4

0.018

0,0157

0,0137

4.5

0.019

0,0178

0,0164

6

0.019

0,0188

0,0178

6.5

0.02

0,019

0,0185

8

0.02

0,0192

0,0189

Динамические параметры

фз

0.88

1

88

0.9

Tоб

2.75

3

2.8

Минимальное значение функции

0,0082

0,0056

Вывод

В процессе решения задачи многомерной оптимизации были использованы два метода: метод покоординатного спуска (метод Гаусса - Зейделя) и метод конфигураций (метод Хука - Дживса).

Все результаты, как экспериментальные, так и полученные в процессе расчетов, представлены в сравнительной таблице (таблица 3).

В качестве модели можно использовать кривую, полученную методом конфигураций (метод Хука - Дживса), так как эта кривая и её динамические параметры наиболее близки к кривой и динамическим параметрам, полученным экспериментально. Минимальное значение функции, полученное методом конфигураций (метод Хука - Дживса), равно 0,0056, что меньше, чем значение, полученное методом покоординатного спуска (метод Гаусса - Зейделя), которое равно 0,0082. Одним из условий задачи является получение наименьшего значения функции, поэтому метод конфигураций (метод Хука - Дживса) наиболее приемлем для применения в качестве модели.

Задание 2

Задача 1.

f = x1 + 2x2 max

x1, x2 ? 0;

2x1 + 2x2 ? 10;

x1 + 5x2 ? 20;

x1 - x2 ? 4.

f = 0; x1 + 2x2 = 0; 1; 2 /*вектор с координатами x1, x2*/

В точке А находится максимум функции. Для нахождения координат т. А решим систему уравнений:

2x1 + 2x2 = 10; /x(-1)

x1 + 5x2 = 20; /x(2)

-2x1 - 2x2 = -10;

2x1 + 10x2 = 40;

8x2 =30;

x2 = 3.75; x1 = 1.25;

f = 1.25 + 2*3.75 =8.75

Ответ: Линейная целевая функция принимает наибольшее значение в точке А (1.25; 3.75), максимальное значение функции fmax = 8.75.

Задача 2

f = 2x1 + x2 min

x1, x2 ? 0;

3x1 + x2 ? 2;

x1 + 5x2 ? 15

Ответ: ОДР не существует, потому что система неравенств противоречива. Решений нет.

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

...

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

  • Преобразование формулы и решение ее с помощью Метода Эйлера. Моделирование метода оптимизации с функцией Розенброка. Поиск модели зашумленного сигнала. Нахождение минимума заданной целевой функции методом покоординатного спуска нулевого порядка.

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

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

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

  • Функционирование систем массового обслуживания с разными типами заявок. Построение математической модели. Постановка задачи оптимизации среднего времени ожидания. Решение задачи оптимизации и разработка программного кода для оптимизации системы.

    курсовая работа [538,5 K], добавлен 11.08.2017

  • Сущность и назначение основных алгоритмов оптимизации. Линейное программирование. Постановка и аналитический метод решения параметрической транспортной задачи, математическая модель. Метод решения задачи об оптимальных перевозках средствами MS Excel.

    курсовая работа [465,6 K], добавлен 24.04.2009

  • Функционирование систем массового обслуживания с разными типами заявок. Построение математической модели, постановка задачи оптимизации среднего времени ожидания. Решение задачи оптимизации системы. Разработка программного кода для оптимизации системы.

    дипломная работа [581,7 K], добавлен 27.10.2017

  • Решение задачи линейного программирования симплекс-методом: постановка задачи, построение экономико-математической модели. Решение транспортной задачи методом потенциалов: построение исходного опорного плана, определение его оптимального значения.

    контрольная работа [118,5 K], добавлен 11.04.2012

  • Методы решения задач линейного программирования: планирования производства, составления рациона, задачи о раскрое материалов и транспортной. Разработка экономико-математической модели и решение задачи с использованием компьютерного моделирования.

    курсовая работа [607,2 K], добавлен 13.03.2015

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

    задача [472,9 K], добавлен 01.06.2013

  • Алгоритм решения задач линейного программирования симплекс-методом. Построение математической модели задачи линейного программирования. Решение задачи линейного программирования в Excel. Нахождение прибыли и оптимального плана выпуска продукции.

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

  • Краткий обзор решения транспортных задач. Экономическая интерпретация поставленной задачи. Разработка и описание алгоритма решения задачи. Построение математической модели. Решение задачи вручную и с помощью ЭВМ. Анализ модели на чувствительность.

    курсовая работа [844,3 K], добавлен 16.06.2011

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

    контрольная работа [191,1 K], добавлен 05.04.2016

  • Математические основы оптимизации. Постановка задачи оптимизации. Методы оптимизации. Решение задачи классическим симплекс методом. Графический метод. Решение задач с помощью Excel. Коэффициенты целевой функции. Линейное программирование, метод, задачи.

    реферат [157,5 K], добавлен 21.08.2008

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

    курсовая работа [2,4 M], добавлен 17.12.2014

  • Построение математической модели. Выбор, обоснование и описание метода решений прямой задачи линейного программирования симплекс-методом, с использованием симплексной таблицы. Составление и решение двойственной задачи. Анализ модели на чувствительность.

    курсовая работа [100,0 K], добавлен 31.10.2014

  • Основные цели и задачи построения систем распознавания. Построение математической модели системы распознавания образов на примере алгоритма идентификации объектов военной техники в автоматизированных телекоммуникационных комплексах систем управления.

    дипломная работа [332,2 K], добавлен 30.11.2012

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

    лабораторная работа [807,6 K], добавлен 18.01.2022

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

    задача [3,2 M], добавлен 15.02.2010

  • Алгоритм симплекс-метода. Задача на определение числа и состава базисных и свободных переменных, построение математической модели. Каноническая задача линейного программирования. Графический метод решения задачи. Разработки математической модели в Excel.

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

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

    дипломная работа [851,7 K], добавлен 11.09.2012

  • Решение задачи на составление компромиссного списка. Построение математической модели. Цена перемещения элементов. Вывод программы. Закреплении элемента а1 на первом месте, а а4 на пятом. Матрица оценок для задачи. Оптимальное решение в виде списка.

    курсовая работа [37,5 K], добавлен 30.01.2016

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