Автор работы: Пользователь скрыл имя, 13 Февраля 2011 в 09:18, курсовая работа
Цель анализа – получение информации о характере функционирования объекта. Этот характер функционирования обычно описывается с помощью специальных характеристик, для которых могут быть указаны их количественные значения. Значения таких характеристик рассматриваются как значения некоторых величин.
Задачи анализа делятся на задачи одновариантного и многовариантного анализа.
Введение…………………………………………………………………………...3
1.Описание процесса функционирования объекта проектирования и задание его характеристик…………………………………………………...….10
2.Задание условия работоспособности……………………………….……11
3.Задание переменных проектирования…………………………………...12
4.Описание математической модели объекта проектирования………….13
5.Задание первого проектного решения………………………..………….16
6.Аналитическое моделирование системы, отвечающей первому проектному решению……………………………………………………...…….17
7.Проверка выполнения условия работоспособности системы, отвечающей первому проектному решению…………………………………..18
8.Синтез объекта проектирования……………………………………..…..19
9.Моделирование и синтез СМО методом статистического моделирования………………………………………………………………..….20
10.Формирование отчёта по результатам анализа и синтеза проектных решений……………………………………………………………………….….22
11.Список использованных источников…………..………………………..23
12.Приложение А…………………………………….…………………….…24
13.Приложение Б……………………………………………………………..25
где Pотк - вероятность отказа.
В
результате аналитического моделирования
установлено, что вероят-ность отказа
равна 0,31. Поскольку выполняется отношение
0,31>0,25, то условие работоспособнос-ти
системы не выполнено.
Для достижения выполнения условия работоспособности уменьшим среднее время обслуживания единицы техники на максимально допустимую величину, т.е. на 25%. Тогда данный показатель будет равен
tоб.= 2,4 ч.
Для выполнения аналитического моделирования в рамках расчетного задания была разработана специальная программа (см. приложение А). С ее помощью было выполнено аналитическое моделирование . Результат моделирования представлен на рисунке 2.
Рисунок 2 – Окно программы аналитического моделирования.
Условие работоспособности выполняется ,так как получена вероятность отказа равная 0,21, и 0,21<0,25. Таким образом, найдено проектное решение удовлетворяющее условиям работоспособности. Оно представляется следующим образом:
Было проведено статистическое моделирование СМО, отвечающее первому проектному решению. При этом было выполнено три сеанса. Результаты моделирования приведены ниже.
Для N=200:
Для N=500:
Для N=1000:
Во
всех трёх случаях процент не обслуженных
заявок оказался больше 0,25, следовательно,
условие работоспособности не выполнено.
Для
достижения выполнения условия работоспособности
выполнено
моделирование с изменёнными проектными параметрами.
Результаты
моделирования приведены ниже.
Для N=200:
Для N=500:
Для N=1000
Во
всех случаях условие
В результате аналитического моделирования системы было найдено проектное решение, удовлетворяющее условию работоспособности, как при аналитическом, так и при статистическом моделировании. Такое проектное решение отвечает следующим значениям переменных проектирования
Список использованных источников
Приложение А.
Окно программы моделирования СМО
Приложение Б.
Листинг.
#include <vcl.h>
#pragma hdrstop
#include <Math.h>
#include "Unit1.h"
//----------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//----------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//----------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
float t0=0, t1=0, tnj=0,tnj0=0,
tsvmin=0,tsvj01=0,tsvj02=0,
float l=1.25;
float M=0.3125;
float b=2;
float T=StrToFloat(Edit8->Text);
int N=StrToInt(Edit7->Text);
int m=0, n=0;
bool q1=false,q2=false,q3=false,q4=
for(int i=0;i<N;i++)
{tj=0; t1=0; tnj0=0;
for(;tj<=T;)
{j=random(5);
x=0+(b-0)*j;
tj=t1+x;
if(tj<T)
{ if(tj<tsvmin)
{ n++; t1=tj; goto a1;
}
else tnj=tj;
if(q1==true)
{j=random(100);
j=j/100;
x=0+(b-0)*j;
tsvj01=tnj0+x;}
else{j=random(100);
j=j/100;
x=0+(b-0)*j;
tsvj01+=x;} //1
if(q2==true)
{j=random(100);
j=j/100;
x=0+(b-0)*j;
tsvj02=tnj0+x;}
else{j=random(100);
j=j/100;
x=0+(b-0)*j;
tsvj02+=x;} //2
if(q3==true)
{j=random(100);
j=j/100;
x=0+(b-0)*j;
tsvj03=tnj0+x;}
else{j=random(100);
j=j/100;
x=0+(b-0)*j;
tsvj03+=x;} //3
if(q4==true)
{j=random(100);
j=j/100;
x=0+(b-0)*j;
tsvj04=tnj0+x;}
else{j=random(100);
j=j/100;
x=0+(b-0)*j;
tsvj04+=x;}
//4
if(tsvj01<tsvj02 && tsvj01<tsvj03 && tsvj01<tsvj04) {tsvmin=tsvj01; q1=true; q2=false; q3=false; q4=false;}
else if(tsvj02<tsvj01 && tsvj02<tsvj03 && tsvj02<tsvj04){tsvmin=tsvj02; q2=true; q1=false;q3=false; q4=false;}
else if(tsvj03<tsvj01 && tsvj03<tsvj02 && tsvj03<tsvj04){tsvmin=tsvj03; q2=false; q1=false;q3=true; q4=false;}
else {tsvmin=tsvj04; q4=true; q1=false; q2=false;q3=false;}
//выбор минимума
if(tsvmin<=T) {m++; tog=tnj-tj+tog;}
else n++ ;
float a,d,c,p,p0,P;
c=m+n;
a=m/c;
d=n/c;
p=l/M;
p0=1/(1+p+p*p/2+p*p*p/6+p*p*p*
P=pow(p,4)*p0/24;
Edit4->Text=a*100;
Edit6->Text=d*100;
Edit5->Text=c*100/(N*T);
t1=tj;
Edit1->Text=1-P;
Edit2->Text=l*(1-P);
Edit3->Text=P;
tnj0=tnj;
t1=tj;
}
a1:
}
}
}
//----------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
float t0=0, t1=0, tnj=0,tnj0=0,
tsvmin=0,tsvj01=0,tsvj02=0,
float l=1.25;
float M=0.417;
float b=2;
float T=StrToFloat(Edit8->Text);
int N=StrToInt(Edit7->Text);
int m=0, n=0;
bool q1=false,q2=false,q3=false,q4=
for(int i=0;i<N;i++)
{tj=0; t1=0; tnj0=0;
for(;tj<=T;)
{j=random(5);
x=0+(b-0)*j;
tj=t1+x;
if(tj<T)
{ if(tj<tsvmin)
{ n++; t1=tj; goto a1;
}
else tnj=tj;
if(q1==true)
{j=random(100);
j=j/100;
x=0+(b-0)*j;
tsvj01=tnj0+x;}
else{j=random(100);
j=j/100;
x=0+(b-0)*j;
tsvj01+=x;} //1
if(q2==true)
{j=random(100);
j=j/100;
x=0+(b-0)*j;
tsvj02=tnj0+x;}
else{j=random(100);
j=j/100;
x=0+(b-0)*j;
tsvj02+=x;} //2
if(q3==true)
{j=random(100);
j=j/100;
x=0+(b-0)*j;
tsvj03=tnj0+x;}
else{j=random(100);
j=j/100;
x=0+(b-0)*j;
tsvj03+=x;} //3
if(q4==true)
{j=random(100);
j=j/100;
x=0+(b-0)*j;
tsvj04=tnj0+x;}
else{j=random(100);
j=j/100;
x=0+(b-0)*j;
tsvj04+=x;}
//4
if(tsvj01<tsvj02 && tsvj01<tsvj03 && tsvj01<tsvj04) {tsvmin=tsvj01; q1=true; q2=false; q3=false; q4=false;}
else if(tsvj02<tsvj01 && tsvj02<tsvj03 && tsvj02<tsvj04){tsvmin=tsvj02; q2=true; q1=false;q3=false; q4=false;}
else if(tsvj03<tsvj01 && tsvj03<tsvj02 && tsvj03<tsvj04){tsvmin=tsvj03; q2=false; q1=false;q3=true; q4=false;}
else {tsvmin=tsvj04; q4=true; q1=false; q2=false;q3=false;}
//выбор минимума
if(tsvmin<=T) {m++; tog=tnj-tj+tog;}
else n++ ;
float a,d,c,p,p0,P;
c=m+n;
a=m/c;
d=n/c;
p=l/M;
p0=1/(1+p+p*p/2+p*p*p/6+p*p*p*
P=pow(p,4)*p0/24;
Edit4->Text=a*100;
Edit6->Text=d*100;
Edit5->Text=c*100/(N*T);