51124

Моделирование непрерывно-стохастической системы массового обслуживания

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

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

На вход n-канальной СМО с отказами поступает поток заявок с интенсивностью l = 6 заявок в час. Среднее время обслуживания одной заявки 0.8 часа. Каждая обслуженная заявка приносит доход 4у.е. Содержание одного канала обходится 2 у.е./час. Определить экономически целесообразное количество каналов.

Русский

2014-02-06

106.86 KB

3 чел.

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

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

«Белорусский государственный университет

информатики и радиоэлектроники»

Кафедра программного обеспечения

информационных технологий

ОТЧЕТ

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

“ Моделирование непрерывно-стохастической системы массового обслуживания ”

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

студент гр. 750503       Костюк Елена

Макаревич Владимир

Минск 2009


Задание

7)  На  вход n-канальной  СМО  с  отказами  поступает  поток  заявок  с

интенсивностью l = 6  заявок  в  час.  Среднее  время  обслуживания  одной

заявки 0.8  часа.  Каждая  обслуженная  заявка  приносит  доход 4у.е.

Содержание одного канала обходится 2 у.е./час. Определить экономически

целесообразное количество каналов.

Теоретическое моделирование

#include <conio.h>

#include <stdio.h>

double fact(long n)

{

 if ( n==0 ) return 1.0;

 else return n * fact(n-1);

}

double extent(double x, int n)

{

 if ( n==0 ) return 1.0;

 return x * extent(x, n-1);

}

//--------------------------------

double S(int n, double w)

{

 if ( n==0 ) return 1.0;

 return S(n-1,w) + extent(w, n) / fact(n);

}

double P0(int n, double w)

{

 double s = S(n, w);

 return 1 / s;

}

int main()

{

 double w, h = 6.0, u = 1 / 0.8, c = 4.0, d = 2.0, Pk, p, profit, max_p = 0;

 int max_ch;

w = h/u;

printf("Chanels | Profit\n");

printf("========|========\n");

 for (int k=0; k<16; k++)

{

 p = P0(k, w);

 Pk = p * extent(w, k) / fact(k);

 profit = h * (1-Pk) * c - k * d;

 if ( max_p<profit ) max_p = profit, max_ch = k;

 printf(" %6d | %2.3f -> %f\n", k, profit, Pk);

}

printf(" ----------------\n");

printf(" %6d | %2.3f  <- Optimal\n", max_ch, max_p);

 return _getch();

}

Практическое моделирование

#include <conio.h>

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

double RandExp(double h)

{

 double R = (double)rand()/RAND_MAX;

 return -log(1-R) / h;

}

class Channel

{

private: bool busy;

public: Channel()

 { busy = false; }

public: bool Busy()

 { return busy; }

public: bool Empty()

 { return !busy; }

public: void Occupy()

 { busy = true; }

public: void Liberate()

 { busy = false; }

};

class System

{

private: Channel **channel;

private: int n, state;

private: System() {}

public: System(int N)

 {

  state = 0;

  n = N;

  channel = new Channel*[n];

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

   channel[i] = new Channel();

 }

public: int State()

 { return state; }

public: bool InRequest()

 {

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

  {

   if ( channel[i]->Empty() )

   {

    channel[i]->Occupy();

    state++;

    return true;

   }

  }

  return false;

 }

public: bool OutRequest()

 {

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

  {

   if ( channel[i]->Busy() )

   {

    state--;

    channel[i]->Liberate();

    return true;

   }

  }

  return false;

 }

};

int main()

{

 double w, h = 6.0, u = 1 / 0.8, c = 4.0, d = 2.0, profit;

 double t1 = RandExp(h), t2 = RandExp(u), eps = 0.1;

 long k, N = 6, TotalTime = 1000000;

System *sys = new System(N);

k = N+1;

 double *P = new double[k];

 for(int i=0; i<k; i++) P[i] = 0;

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

{

 if( t1<=0 )

 {

  t1 = RandExp(h);

  sys->InRequest();

 }

 if( t2<=0 )

 {

  t2 = RandExp(u);

  sys->OutRequest();

 }

 t1-=eps, t2-=eps;

 P[sys->State()]++;

}

 for(int i=0; i<k; i++) P[i] = P[i] / TotalTime;

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

{

 printf("P[%d] = %2.8f\n", i, P[i]);

}

profit = h * (1-P[N]) * c - N * d;

printf("\n %6d | %2.8f\n", N, profit);

 return _getch();

}


 

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

38377. Транспортний маркетинг 414.5 KB
  Якщо державний залізничний транспорт – природний монополіст у сфері перевезень по сталевих коліях не задовольняє вимог замовників то вони звертаються до автомобільного чи водного транспорту. Згідно з законодавством залізничний транспорт України віднесено до природних монополій тобто послуги з перевезень вантажів та пасажирів по сталевих коліях надаються єдиною організацією. Так як “Укрзалізниця†здійснює управління цілою галуззю то до її структури входять різнопрофільні підприємства: власне залізниці – статутні територіальногалузеві...
38378. Трансформаційна економіка 448.5 KB
  Мета викладання дисципліни: вивчення закономірностей трансформації національних систем, основних типів та етапів трансформаційних циклів, можливостей постіндустріальної трансформації у постсоціалістичному світі.
38379. Трудове право 298.5 KB
  Конституційні основи права на працю. Предметом правового регулювання такої галузі права як трудове є насамперед трудові відносини тобто суспільні відносини що виникають у процесі застосування людиною своїх здібностей у виконанні певної трудової функції. Предметом правового регулювання норм трудового права є також відносини що тісно пов'язані з трудовими. Трудове право окрема галузь права України яка регулює відносини що виникають у процесі реалізації особою права на працю.
38380. Римское частное право 650 KB
  Понятие предмет римского частного права. Римское государство являлось крупнейшим государством древности которое наряду с Древней Грецией оказало значительное влияние на формирование европейской цивилизации культуры и права. В основу деления публичного и частного заложены прежде всего те интересы которые защищаются нормами права. В сферу правового регулирования частного права входят право собственности обязательства договор семейные отношения наследственное право.
38381. РИМСКОЕ ПРАВО 847.5 KB
  Понятие и предмет римского права Периодизация римского права. Предмет римского права. Определение римского права.
38382. ПОЛІТОЛОГІЯ 689.5 KB
  Мета вивчення навчальної дисципліни “Політологія” - формування у студентів наукових уявлень, знань про світ політики, його основні феномени, закономірності, взаємозв’язки з іншими сферами суспільного життя. Разом з тим, навчальний курс зорієнтований на формування зрілої демократичної свідомості майбутніх фахівців з менеджменту ЗЕД, міжнародної економіки, міжнародного права, правознавства та ін.
38383. Основы социологии 381.5 KB
  Основные агенты социализации личности. Особенности концепции личности Фрейда. Понятие личности в социологической науке. Социолизация личности: сущность основные этапы.
38384. СТАТИСТИКА. Опорный конспект лекций 1.26 MB
  Сводка и группировка материалов статистического наблюдения. На первой стадии любого статистического исследования сбор первичных статистических данных происходит методом массового статистического наблюдения. Требованием массовости единиц наблюдения обуславливается тем что изучаемые статистикой закономерности в силу закона больших чисел проявляются в достаточно больших совокупностях в которых случайные отклонения от общей меры свойственные отдельным единицам взаимно погашаются. На второй стадии статистического исследования...
38385. Економіка праці та соціально-трудові відносини (в схемах, таблицях, рисунках) 6.48 MB
  Економіка праці та соціальнотрудові відносини. Від знання економічних законів функціонування ринку праці зайнятості організації оплати праці залежить ефективність використання ресурсів праці та успіх підприємця й рівень життя населення країни в цілому. Подальший розвиток техніки та технології обумовлює необхідність ефективного використання трудового потенціалу кожного працівника і суспільства в...