- | 0.5 | 1 | - | 0.3 | 1
2300 | л | - | - | - | 1 | 1 | - | - | - | 2
Тоб | - | - | - | 0,5 | 0,5 | - | - | - | 0,5
ДОДАТОК Б
Значення показників системи масового обслуговування, отримані шляхом ручної імітації
В наступній таблиці наведені: згенеровані випадковим чином значення Ri на проміжку (0;1); значення часу обслуговування (Tobi), часу перебування в черзі (Wqi) та в системі (Wsi) кожної заявки для проведення обчислень статистичних даних.
Таблиця Б.1 – Значення показників системи масового обслуговування, отримані шляхом ручної імітації.
Ri | ln(Ri) | Tobi, хв. | Wqi, хв. | Wsi, хв.
0,12 | -2,12 | 1,36 | 0 | 0
0,47 | -0,76 | 1,81 | 0 | 0
0,68 | -0,39 | 2,08 | 0 | 0
0,01 | -4,61 | 1,21 | 0 | 0
0,25 | -1,39 | 1,53 | 0 | 0
0,98 | -0,02 | 2,47 | 0 | 0
0,46 | -0,78 | 1,80 | 0,1 | 1,46
0,64 | -0,45 | 2,03 | -0,1 | 1,71
0,15 | -1,90 | 1,40 | -0,22 | 1,18
0,96 | -0,04 | 2,45 | -2,19 | 0,26
0,45 | -0,80 | 1,79 | 0 | 3,87
0,53 | -0,63 | 1,89 | 0,26 | 2,15
0,59 | -0,53 | 1,97 | 0,61 | 2,58
0,41 | -0,89 | 1,73 | 0,61 | 2,34
0,55 | -0,60 | 1,92 | 0,84 | 2,76
0,22 | -1,51 | 1,49 | 1,22 | 2,71
0,67 | -0,40 | 2,07 | 1,35 | 3,42
0,55 | -0,60 | 1,92 | 1,39 | 3,31
0,02 | -3,91 | 1,23 | 1,67 | 2,9
0,57 | -0,56 | 1,94 | 1,17 | 3,11
0,12 | -2,12 | 1,36 | 1,49 | 2,85
0,58 | -0,54 | 1,95 | 1,19 | 3,14
Продовження таблиці Б.1
0,05 | -3,00 | 1,27 | 2,02 | 3,29
0,48 | -0,73 | 1,82 | 1,57 | 3,39
0,69 | -0,38 | 2,09 | 1,08 | 3,17
0,48 | -0,73 | 1,82 | 1,72 | 3,54
0,09 | -2,42 | 1,32 | 1,77 | 3,09
0,94 | -0,06 | 2,42 | 1,83 | 4,25
0,47 | -0,76 | 1,81 | 2,06 | 3,87
0,56 | -0,58 | 1,93 | 2,54 | 4,47
ДОДАТОК В
Схема алгоритму розробки
Рисунок В.1 – Схема алгоритму розробки.
ДОДАТОК Г
Програмний код розробки має наступний вигляд:
//--------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <math.h>
#include "Duplom_applic.h"
//---------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//----------------------------------------
double fact(int number)
{
double f=1;
int i;
for (i=2;i<=number;i++)
f *= i;
return f;
}
//-----------------------------------------
double a, T_ob, T_o4, m, s1, s2, nu, ro, b;
int N;
double P0,L,L_s,W,W_s,q,ab_zd,*P,P_vid;
int s, m_s;
//*********
double find_L(int N)
{
P0=0;
Продовження додатку Г
s1=0, s2=0;
m=60/T_ob,nu=60/T_o4,ro=a/m,b=nu/m;
P=new double[N];
int i;
for(s=1;s<=20;s++)
{
double p=1;
for (m_s=1;m_s<=s;m_s++)
p *= (N+m_s*b);
s1 += pow(ro,s)/p;
s2 += s*pow(ro,s)/p;
}
double sum;
int j;
for(j=0;j<N;j++)
{
sum=0;
for (i=0;i<=N;i++)
sum += (pow(ro,i)/fact(i));
P0 = 1/(sum+s1/fact(N)*pow(ro,N));
P[j] = (pow(ro,j)/fact(j))/(sum+s1/fact(N)*pow(ro,N));
}
L = (pow(ro,N)*s2/fact(N))/(sum+s1/fact(N)*pow(ro,N));
return L;
}
//*********
void __fastcall TForm1::Button1Click(TObject *Sender)
{
a=StrToFloat(Edit1->Text);
T_ob=StrToFloat(Edit2->Text);
T_o4=StrToFloat(Edit3->Text);
N=StrToInt(Edit4->Text);
double L = find_L(N);
int j;
Продовження додатку Г
for(j=0;j<N;j++)
Memo1->Lines->Append(FloatToStr(P[j])+'\n');
delete []P;
Edit5->Text=FloatToStr(P0);
Edit7->Text=FloatToStr(L);
P_vid = (b/ro)* L;
Edit12->Text=FloatToStr(P_vid);
q = 1-P_vid;
Edit11->Text=FloatToStr(q);
L_s = L + ro*q;
Edit8->Text=FloatToStr(L_s);
W = L*60/a;
Edit9->Text=FloatToStr(W);
W_s = W + T_ob;
Edit10->Text=FloatToStr(W_s);
}
//-------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
exit(1);
}
//---------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Memo1->Clear();
}
//--------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
a=StrToFloat(Edit1->Text);
T_ob=StrToFloat(Edit2->Text);
T_o4=StrToFloat(Edit3->Text);
N=StrToInt(Edit4->Text);
Продовження додатку Г
int j;
//***
Series1->Clear();
Series1->Title = FloatToStr(T_ob);
for(j=N-3;j<=N+3;j++)
{
Series1->AddXY(j,find_L(j));
delete []P;
}
T_ob-=1;
Series2->Clear();
Series2->Title = FloatToStr(T_ob);
for(j=N-3;j<=N+3;j++)
{
Series2->AddXY(j,find_L(j));
delete []P;
}
T_ob+=2;
Series3->Clear();
Series3->Title = FloatToStr(T_ob);
for(j=N-3;j<=N+3;j++)
{
Series3->AddXY(j,find_L(j));
delete []P;
}
//***
}
//-------------------------------------------
ДОДАТОК Д
Графіки залежностей вихідних показників від вхідних параметрів
Рисунок Д.1 – Залежність часу перебування заявки в черзі в залежності від різного часу обслуговування кожної заявки (від 1 до 5 хвилин) та різному вхідному потоці вимог.
Рисунок Д.2 – Залежність довжини черги від кількості каналів обслуговування (при л=360, T_ob = 1,2,3; T_o4=3; N=7)
Рисунок Д.3 – Залежність часу перебування заявки в системі в залежності від різного часу очікування кожної заявки (від 1 до 5 хвилин) та різному вхідному потоці вимог.
БІБЛІОГРАФІЧНА ДОВІДКА
Тема: Розробка комп’ютеризованої системи
для оптимізації роботи торгового центру з
використанням теорії масового обслуговування
Обсяг ПЗ складає 122 аркуші
Перелік креслень графічної частини
ДП. АУ – 92.00.00.000 ПЗ Структурна схема системи управління торговим центром
ДП. АУ – 92.00.00.000 ПЗ Структурна схема моделі торгового центру
ДП. АУ – 92.00.00.000 ПЗ Структурна схема механізму імітаційного моделювання
ДП. АУ – 92.00.00.000 ПЗ Схема алгоритму розробки
ДП. АУ – 92.00.00.000 ПЗ Вікно форми готової розробки з результатами
ДП. АУ – 92.00.00.000 ПЗ Графіки залежностей вихідних показників системи від вхідних параметрів
ДП. АУ – 92.00.00.000 ПЗ Схема вартісної моделі торгового центру
Виконала: А. Л. Яремчук
(підпис) (дата)