50342

Построение аналитической и имитационной моделей системы массового обслуживания

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

Информатика, кибернетика и программирование

Если в свободную систему поступает заявка, то ее обслуживают совместно все каналы. Если во время обслуживания заявки поступает еще одна, то часть каналов переключается на ее обслуживание и т.д., пока все каналы не окажутся занятыми. Интенсивность совместного обслуживания заявки n каналами n . Каналы распределяются равномерно между заявками.

Русский

2014-01-21

80 KB

6 чел.

Министерство образования Республики Беларусь

Учреждение образования

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Кафедра программного обеспечения информационных технологий

Отчёт

по лабораторной работе №3

на тему:

 «Построение аналитической и имитационной моделей

системы массового обслуживания»

Выполнили:          Проверил:

студенты гр. 350503         Алексеев И.Г.

Зут К.В.

Сиротко О.Ю.

Минск 2006

  1.  Условие задачи

Многоканальная СМО со “взаимопомощью”

                                                                       

                            

                          

                                                      …..

 

  Если в свободную систему поступает заявка, то ее обслуживают совместно все каналы. Если во время обслуживания заявки поступает еще одна, то часть каналов переключается на ее обслуживание и т.д., пока все каналы не окажутся занятыми.  Интенсивность совместного обслуживания заявки n каналами n. Каналы распределяются равномерно между заявками. На вход поступает простейший поток заявок с интенсивностью . Время обслуживания – показательное с параметром .

= 7, = 1, n = 8.

Найти абсолютную и относительную пропускную способность cистемы

2. Построение аналитической модели

Диаграмма интенсивностей переходов выглядит следующим образом:

Составим по диаграмме переходов систему уравнений:


где,

 

Решая систему получим:

 p = =  

 p = 0.000062

Вычислим:

1)Относительную пропускную способность

 

 

 

2)Абсолютную пропускную способность 

При моделировании были получены следующие значения относительной и абсолютной пропускной способности:

  1.  Q = 0.112873

A = 0.790111

2)   Q = 0.122135

   A = 0.854945

3)   Q = 0.128903

     A = 0.902321

Значения A, Q зависят от числа пришедших заявок (величины модельного времени), а также от R0, при генерации случайных чисел, распределенных по экспоненциальному закону.

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

#ifndef _smo_KiOl

#define _smo_KiOl

#define  LIAMBDA  7

#define  N   8

#define  MIU   1

#define  OMEGA  (double)LIAMBDA / ((double)MIU * 8)

#define  MAX_RAND (double)RAND_MAX

#define  A   (long)69621

#define  M   (long)2147483647

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <time.h>

#include <math.h>

struct canal

{

 double t0;

 double proc;

};

void model ();

int  fact (int);

double degree (int);

void model_practice ();

double next_exp_L  ();

double next_exp_M  ();

double opt_period  ();

#endif

long Rn, Rn1;

int main ()

{

Rn = 2048;

Rn1 = 1019;

model ();

model_practice ();

 

getch ();

 return 0;

}

//////////////////////////////////////////////////////////

void model_practice ()

{

 double T = 0;

 double delta, tp;

 double t = 0;

 int  Kz = 0, Ko = 0, Km = 0;

canal *BT;

 int  i;

BT = (canal *) malloc (sizeof(canal) * N);

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

{

 BT [i].proc = 0;

 BT [i].t0 = 0;

}

delta = opt_period ();

T = delta * 1000000;

tp = next_exp_L ();

tp -= delta;

t += delta;

 while (t < T)

{

 if (Kz == 0)

 {

  if (tp < 0)

  {

   tp = next_exp_L ();

   BT [0].proc = 1;

   BT [0].t0 = next_exp_M ();

   Kz++;

  }

 }

 else

 {   

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

   BT [i].proc -= delta * 8 / BT [i].t0 / Kz;

  while (1)

  {

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

    if (BT [i].proc < 0)

     break;

   if (i < Kz)

   {

    for (i ; i < Kz - 1 ; i++)

     BT [i] = BT [i + 1];

    Kz--;

    Km++;

   }

   else break;

  }

  if (tp < 0)

  {

   tp = next_exp_L ();

   if (Kz == N)

    Ko++;

   else

   {

    BT [Kz].proc = 1;

    BT [Kz].t0 = next_exp_M ();

    Kz++;

   }

  }

 }

 tp -= delta;

 t += delta;

}

printf ("\nMissed = %d, ..... = %d\n", Ko, Km);

printf ("practical   Q = %lf\n", (double)Km / ((double)Km + (double)Ko));

printf ("\t    A = %lf\n", (double)LIAMBDA * (double)Km / ((double)Km + (double)Ko));

}

//////////////////////////////////////////////////////////

void model ()

{

 int i;

 double sum = 0;

 double smo_p0, smo_Q, smo_A;

 

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

 sum += (degree (i) * (double)fact (i));

 

smo_p0 = 1/sum;

smo_Q = 1 - (degree (N) * (double)fact (N)) * smo_p0;

smo_A = (double)LIAMBDA * smo_Q;

printf ("theoretical Q = %lf\n", smo_Q);

printf ("\t    A = %lf\n", smo_A);

 return;

}

//////////////////////////////////////////////////////////

int fact (int i)

{

 if (i == 0)

 return 1;

 else

 return i * fact (i-1);

}

double degree (int deg)

{

 double prod = 1;

 if (deg == 0)

 return 1;

 for (int i = 0 ; i < deg ; i++)

 prod *= OMEGA;

 return prod;

}

double opt_period ()

{

 return 1 / (double)LIAMBDA;

}

double next_exp_L ()

{

 double R;

Rn = (A * Rn) % M;

R = (double)Rn / (double)M;

 return - log (R) / (double)LIAMBDA;

}

double next_exp_M ()

{

 double R;

Rn = (A * Rn1) % M;

R = (double)Rn1 / (double)M;

 return - log (R) / (double)MIU;

}


 

А также другие работы, которые могут Вас заинтересовать

61239. Личность А. С. Грибоедова: «Всё в нём было необыкновенно привлекательно» (А. С. Пушкин) 25.36 KB
  Всё в нём было необыкновенно привлекательно А. Так вот ребята сегодня я вам предлагаю познакомиться или даже лучше подружиться с личностью замечательного русского драматурга автора самой цитируемой комедии...
61241. МАТЕРИАЛЫ ВЫСОКОЙ ПРОВОДИМОСТИ 305 KB
  Углеродистые материалы. Наиболее широкое применение среди этих материалов имеет графит – одна из разновидностей чистого углерода. К ценным свойствам графита относятся малое удельное сопротивление, хорошая теплопроводность, а также стойкость ко многим агрессивным химическим средам.
61243. THE IMPORTANCE OF LEARNING ENGLISH 15.57 KB
  What should we do? Who is to blame? These questions are regularly asked by any high school English teacher at least twice a year: after winter and summer academic sessions.