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;

}


 

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

27932. Расчёт потребности АТП в смазочном масле 42.5 KB
  По содержанию перспективное планирование предприятия в новых условиях обычно включает долгосрочный прогноз на 515 лет обоснованное вероятностное предположение об изменениях в структуре и запросах рынка технике и технологии производства и их социальноэкономических последствиях план развития на 35 лет с разбивкой по годам и целевые программы решения важнейших проблем. Оперативное планирование заключается в разработке на основе годовых планов конкретных производственных заданий на короткие промежутки времени как для предприятия в...
27933. Технология очистки воды после мойки а/м для повторного использования 115.5 KB
  Размер запасов в основном определяется объемом производства транспортных услуг и временем между двумя поставками материальных ресурсов. Важность этой задачи в определенной степени обусловливается тем что сверхнормативные запасы материальных ресурсов вызывают финансовые затруднения снижают качество хранения материалов требуют дополнительных складских помещений. Образование значительных запасов сопряжено не только с появлением дополнительных складских расходов но и с риском устаревания материальных ресурсов а также с упущенной выгодой...
27934. Поточный метод. Дефектовка и ремонт пары «клапан-седло» газораспределительного механизма 42.5 KB
  2При расчетном числе рабочих постов ТО1 Д1 = 3 для одиночных а м 2 автопоездов ТО2 Д2 = 4 для одиночных 3 автопоездов 3Расчетное число линий обслуживания – целое число или меньше целого числа с отклонением не более 008 на 1 линию: 0 mцел – mрасч mцел= 008 При соблюдении всех этих условий для зон ТО экономически целесообразно является применение поточное производство с применением конвейера или других механизмов для принудительного перемещения автомобилей. Число поточных линий: m = такт ритм ритм = 60 ТсмС Nicфи фи – коэфт...