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();

}


 

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

13869. Кен Кизи «Полет над гнездом кукушки» 49.5 KB
  Ябуровой Натальи Политология 4 курс Эссе Кен Кизи Полет над гнездом кукушки Книга повествует о психбольнице в которой заправляет бывшая военная медсестра – мисс Гнусен. Военные сестры пытаются устроить военный госпиталь. Они сами немного больные1. Так
13870. Энгельс Ф. Положение рабочего класса в Англии 36 KB
  Энгельс Ф. Положение рабочего класса в Англии До начала промышленного переворота рабочие были людьми почтенными и хорошими отцами семейств вели нравственную жизнь. Дети целый день проводили дома с родителями и воспитывались в повиновении к ним и в страхе божием. Патр
13871. Языковая реальность как архепроявление бытия в «Чжуан-цзы», как форма жизни в философии Людвига Витгенштейна 79.76 KB
  Эссе на тему: Языковая реальность как архепроявление бытия в Чжуанцзы как форма жизни в философии Людвига Витгенштейна Часть 1. Языковая реальность как архепроявление бытия в Чжуанцзы В шестом веке до н. э. два направления китайской философии развились ...
13873. Ролан Барт. Система моды. Империя знака 57.5 KB
  Тема : Ролан Барт. Система моды. Империя знака. Ролан Барт наряду с Клодом ЛевиСтроссом Жаком Лаканом Мишелем Фуко считается одним из крупнейших представителей современного французского структурализма и такая репутация справедлива если только понимать стру
13874. То, что раньше для рыцаря был укрепленный замок, сегодня для рядового гражданина является социальное страхование 26.5 KB
  То что раньше для рыцаря был укрепленный замок сегодня для рядового гражданина является социальное страхование. В наше время социальное страхование – лучшая защита от непредвиденных ситуаций. Страхование – это финансовое обеспечение от возможного ущерба. Экономи
13875. Социология. Соц. статус. « Карьеры, пробитые собственно головой, всегда прочнее и шире карьер, проложенных низкими поклонами или заступничеством важного дядюшки» 25.5 KB
  Социология. Соц. статус. Карьеры пробитые собственно головой всегда прочнее и шире карьер проложенных низкими поклонами или заступничеством важного дядюшки. Человек всегда стоит перед выбором: какой социальный лифт использовать для достижения социального статуса....
13876. Все мы находимся за чертой бедности, только по разные ее стороны 26.5 KB
  Социология. Все мы находимся за чертой бедности только по разные ее стороны. М.Генин. Социальное неравенство – естественное состояние любого цивилизованного общества. Социальное неравенство – условия при которых люди не имеют равного доступа к социальным благам. С...
13877. Соглашения предотвращают конфликты 25.5 KB
  Социология. Соглашения предотвращают конфликты. Для предотвращения конфликтов людям приходится находить способы их решения. Конфликт – спор столкновение сторон изза того что одинаково ценится обеими сторонами. Участники конфликта называются субъектами конфликт...