50342

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

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

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

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

Русский

2014-01-21

80 KB

7 чел.

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

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

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

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

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

Отчёт

по лабораторной работе №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;

}


 

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

82740. Определение рейтинга заемщика кредитной организации (на примере ОАО «Уралмашзавод») 1.15 MB
  Теоретическое обоснование необходимости и сущности определения рейтинга заемщика необходимость и сущность определения рейтинга заемщика источники аналитической информации для оценки финансовой устойчивости предприятия определение рейтинга заемщика кредитной организации расчет коэффициентов ликвидности...
82742. Анализ деятельности предприятия по производству живого пива 228 KB
  Одной из идей является производство живого пива. Ни для кого не секрет, что алкоголь является одним из самых продаваемых продуктов в мире, и в частности, пиво. Пивную продукцию употребляют почти все мужчины, но и женщины не исключения. Поэтому правильная организация этого бизнеса может принести достойную прибыль...
82744. ТЕХНОЛОГИИ И ОРГАНИЗАЦИЯ ПРОИЗВОДСТВА КОРМОВ 503 KB
  При решении кормовой проблемы необходимо увеличивать валовое производство кормов а также планировать мероприятия по ликвидации дефицита протеина в кормах. Резервы увеличения производства кормов у нас огромны: продуктивность кормовых угодий можно довести даже до 10 тыс. кормовых единиц.
82745. Економічна теорія Рікардо 150.5 KB
  Предметом свого дослідження він назвав закони розподілу доходів у суспільстві. Його цікавив не тільки спосіб виробництва вартості та її складових частин, скільки спосіб розподілу між різними класами прибутку, ренти, відсотка і заробітної плати.
82746. НАРОДЖЕННЯ ЗІРОК 122 KB
  Гершель наприклад був абсолютно упевнений що він не тільки знайшов множину хмар дозіркової речовини але навіть власними очима бачить як ця речовина під дією тяжіння поступово змінює свою форму і конденсується в зірки. З одного боку вони зрозуміли що зірки не можуть світити вічно.
82747. Типы ветроэнергетических установок 175.5 KB
  Посадки деревьев вблизи ветряных мельниц запрещались для обеспечения свободного ветра. Основные термины и понятия ветер: движение воздуха относительно земной поверхности вызванное неравномерным распределением атмосферного давления и характеризующееся скоростью и направлением средняя скорость ветра...
82748. ФИЛОСОФИЯ И НАУКА 106 KB
  Связи между наукой и философией фундаментальны. Науку и философию роднит то, что они являются сферами рациональной и доказательной духовной деятельности, ориентированными на достижение истины, которая в ее классическом понимании есть «форма согласования мысли с действительностью».